I’ve long been interested in cryptography, and I’ve probably read a good majority of the books on the subject oriented towards the laymen. I’m long past trivial things like enigma style-ciphers and there breaking, freqency analysis, yada, yada.

After reading everything I could find on “The Basics,” I tried moving on to something more advanced, and ended up getting in way over my head. I’ve tried reading vast portions of “Applied Cryptography” and similar works, and everything but the C code in the apendices is gibberish to me.

Does anyone know of resources that cover the middle ground? Something that has actual mathematical content, but isn’t comically obfuscated. I’m particularly interested in say, how patterns are found to break cryptographic systems. I understand it’s a very hard subject, but surely there is something between ROT13 and “Differential Analysis: A Guide for the truly cerebral.”

What areas of mathematics are most relevant to cryptography?

A reference to RSA public-key encryption? I don’t know if you include this in “basics” (though I’d hope most intro cryptography books, layman or otherwise, would cover this) – if not, you might try “The mathematical guts of RSA encyption”](http://world.std.com/~franl/crypto/rsa-guts.html) (not tough math, don’t worry).

have you read the de la vinci code and digital fortress (ok they dont help much but are good books anyway)
The RSA code is basically down to the factorising into primes of realllllyyyyyy huge numbers into reaalllyyy huge primes…
if you find a prime greater than about 9 digits long, the fbi etc ill pay a ton for it lol

I know a little bit about cryptography. Most of the “middle ground” that you’re interested in is truly just pure math. You need to learn the pure math before you can deal with the cryptography.

There are a variety of different ways that cryptography has been implemented; both in the past and currently. The most secure of cryptography is the one-time pad which uses a simple replacement cypher. By not reusing any elements of the key, it is theoretecially (not practically) impossible to break the encryption. If any of the key is repeated, it then becomes possible to break the encryption. This is done by looking at the frequency of certain parts of the encrypted text. There are references on line about this (I once looked them up).

The two encryption systems used most often on the internet are public key encryption and symmetrical encryption systems. Symmetrical encryption systems use the same key for encrypting something and the same key for decrypting something. Public key encryption uses one key for encryption (the public key) and one key for decryption. RSA is a public key encryption system. It does involve the factoring of large psuedo-primes into primes. Currently, this is a hard problem (in the mathematical sense of hard). There are other public key encryption systems that use different hard problems in them (elliptical encryption for one).

That’s about the sum total of my encryption knowledge.

Your best bet is to try to find some kind of introduction to Number Theory book. Note that number theory is not exactly an easy subject, even when taught at an introductory level. For my Number Theory class (it’s a 400-level (meaning intended for seniors) math class), we’re using a book titled Introduction to the Theory of Numbers by Niven, Montgomery, and Zuckerman (ISBN: 0471625469). As I said, number theory is an advanced topic in high-level mathematics, so this book may not be what you’re looking for, but it certainly is a rigourous mathematical foundation for crypto.