Covers optimal authentication codes, unconditionally secure authentication schemes, and both symmetric and asymmetric authentication codes. This book ties together the notion of authentication codes and combinatorial designs and demonstrates how ideas from combinatorics can be used for cryptographic applications.