The Haunted House

Thursday, September 13, 2007

Good Cryptography Books

I have recently read 2 very good books on cryptography. They are not hardcore techie books but more in the realm of history/popular science. The first book (The Code Book by Simon Singh) was recommended to me by Carl a colleage at work. The book is a historical account of the history of code breaking and cryptography. I would say that this book is the baby brother of David Kahns 'The CodeBreakers', which is on my reading list, but weighing in at 1200 pages might take me a while to finish.


The book starts off in the day of Mary Queen of Scotts and takes you on a tour of warfare in the past and how codes and codebreaking helped. The book also gives a lot of information on the cryptanalysis of a lot of these algorithms, including a good description on frequency analysis. There is a lot if information about poly and mono-alphabetic ciphers, as well as homophonic ciphers. The section on how Charles Babbage cracked the Vigenere cipher was also very good. If you're interested in the implementation of some of these ciphers refer to a previous post of mine called 'Fun With Cryptography' where I posted some source code.

The book also discusses modern cryptography. By modern I mean upto the 70's and 80's. Particular highlights are the discussion on the invention of the Diffie-Hellman key exchange algorithm and DES. It is interesting to see how invasive the NSA were, who back then was a much more secret organisation. The final section of the book is a very brief wirlwind tour of quantum cryptography.



The second book I have read recently is called Crypto by Steve Levy. This book is also a historical account of cryptography but concentrates more in the discoveries from the 1970's. Again this discusses the Diffie-Hellman key exchange algorithm and the public key protocols designed by RSA. Both books where excellent and if you are even slightly interested in the subject then these books are a good place to start. They are not too technical so can be understood by people with a non computer science / mathematics background.

Labels:

0 Comments:

Post a Comment

<< Home