Information Theory Coding and Cryptography