As an instructor at the University of Tulsa, Christopher Swenson could find no relevant text for teaching modern cryptanalysis?so he wrote his own. This is the first book that brings the study of cryptanalysis into the 21st century. Swenson provides a foundation in traditional cryptanalysis, examines ciphers based on number theory, explores block ciphers, and teaches the basis of all modern cryptanalysis: linear and differential cryptanalysis. This time-honored weapon of warfare has become a key piece of artillery in the battle for information security.
"As an instructor at the University of Tulsa, Christopher Swenson could find no relevant text for teaching modern cryptanalysis. So he wrote his own." So says the blurb on the back of the book.
What he wrote is a pile of turds. Let me explain.
Indeed it is true that comprehensive, modern treatments of cryptanalysis are virtually nonexistent. But this can't be what Swenson was looking for because this is not what he ended up writing.
What he ended up writing is a nearly empty, mostly topical survey of some not-very-useful cryptanalytic techniques. Yes, he has fairly detailed chapters on the crown jewels, linear and differential cryptanalysis, but they offer nothing beyond what was already available at the time of writing, namely the well-known tutorial on these techniques by Howard Heys. Prepending these final two chapters are prosaic introductions to classic ciphers, number theory, asymmetric crypto, and block ciphers, arguably necessary background for all the awesome cryptanalysis he's going to serve up! Except, turds.
As the title declares, get ready to break some *advanced* codes! RSA? No problem. Let's review a bunch of irrelevant prime factorization techniques that in no way can even scratch RSA, and spend a closing paragraph only alluding to the most powerful modern sieve techniques that maybe can but probably can't.
Want to break MD5? Woops, sorry. "Going into the full analysis of hash functions is beyond the scope of this book" which is a book on cryptanalysis for advanced code breaking. Except of hash functions.
Want to break cryptographic PRNGs? Sorry, but here's how to break a linear congruential generator, a model so bad it's not even good for Monte Carlo simulations in particle physics, let alone mom's secret recipe for Hungarian goulash.
What gets me most about this text is the deception and buzziness of the title, the bait and switch that awaits inside. The material that is worth reading is found better elsewhere in more complete and honest presentations: Hoffstein for asymmetric crypto, Heys for cryptanalysis, and Schneier for everything else. There are also a range of more recent cryptanalysis texts on the market, some of which appear quite meaty and relevant and less stinking of turds.
Competent summary of modern cryptographic and code breaking methods, with an interesting introductory discussion of older, pre-computer methods for creating codes and how to break them. I'd have actually liked more of the latter (even though it's not the purpose of the book) going beyond the simpler polyalphabetic codes to the Second World War coding machines and the early computing technology used to break them. As a mathematician by background, I would have liked weightier mathematical content, but that's made up for by the coding examples, written in python.
If you've already read some of the cryptography canon (i.e. Schneier), the first three quarters or so of Modern Cryptanalysis, which, conceived as an introduction to cryptanalysis for the motivated but ultimately completely uninformed layperson as the book is, are spent explaining what cryptography is and looks like (including a whole chapter on factoring and discrete logarithms), won't be new to you. The main broad cryptanalytic techniques covered—linear and differential cryptanalysis—also won't hold any significant surprises, though Swenson obviously covers the material much more thoroughly and includes actual implementations (in moderately dubious Python) and exercises.
The main thing I got out of this book that I didn't get from any of the other, older books on crypto I've read was actually his description of elliptic curve cryptography (and ~ factorisation), which I'd obviously seen mentioned but not elaborated on before. If you haven't yet read Applied or Practical Cryptography or genuinely want to be able to perform linear or differential cryptanalysis yourself, you'll probably find this book much more useful, though it's a fun read either way. Because of its much shorter length (about 230 pages) compared to most other books worth reading on the subject, parts of it seem a lot more daunting than they are, but the whole thing is pretty well written and easy to follow.