Classic Computer Magazine Archive CREATIVE COMPUTING VOL. 9, NO. 6 / JUNE 1983 / PAGE 308

Codes, ciphers and computers: an introduction to information security. (book reviews) Steve Gray.

Codes, Ciphers and Computers: An Introduction to Information Security

This introduction to both traditional and recent cryptographic techniques includes over 80 Basic programs for writing and cracking many types of codes and ciphers. (A code uses words or symbols to represent the message words; a cipher substitutes characters for the original letters or transposes the characters of the original message.)

After two chapters that introduce the subject and look into code systems, there are chapters on Cipher Systems, Cryptography and Computer Operations, Cryptoanalysis Security and the Data Encryption Standard, Public-Key Cryptography, and Cryptographic Security Systems. A 22-page primer on Basic is provided in an appendix for those not familiar with the language, followed by answers and solutions to the dozen or two questions at the end of each chapter. For those who want to read further, each chapter includes a long list of references to books and articles.

Despite a slight tendency to wordiness, this book is a gold mine of information for anybody interested in the basics of using a computer to write or read ciphers. The programs range from a simple one that generates a three-letter code word dictionary to one that can "crack' a Caesar ciphertext message using trial and error. In between are programs for reversed zigzag transposition cipher, algebraic file scrambling encryption, Vignere table encryption, linear function encryption, etc.

No programs are included in the last three chapters, but there is a fine description of how DES works (a rather complicated system, but if you have understood the previous chapters, you should get it) and also of PKA, the public-key algorithm, which may soon rival the DES.

If you're interested in codes and/or ciphers, and have a computer you can program in Basic, buy this book.

Review Grade: B