This textbook forms an introduction to codes, cryptography and information theory as it has developed since Shannon's original papers.