Earlier quoted context omitted.
Custom crypto primitives (ciphers, hashes, etc.) is a big red flag to me unless the designers are cryptographers. I know a fair bit about crypto. I would implement (and have implemented) higher order constructions like encrypted and authenticated protocols according to design patterns and principles put forward by competent cryptographers. I would never ever even attempt to design a cipher or a cryptographically stro…
> Actual deep cryptography such as cipher design is an area where truly extreme and very esoteric expertise is required to even get started I hear this every time cryptography is brought up. I think I get that it's hard, but people make it sound like it's the hardest thing ever . Where does this extreme complexity stem from? And what's the field of knowledge required? (Mathematics I imagine)
* Computer science, specifically complexity theory and circuits
* Galois field theory (AKA finite field theory)
* Group theory
* Number theory
* Specialities include elliptic curves and modular forms, lattices (in the ordered/on-the-plane way, not the algebraic structures)
In general, cryptographic design and analysis is all about a guess that we have in mathematics: We think that one-way functions exist. We think that we have certain specific tools, such as the discrete logarithm problem and Feistel networks, which can be carried from one domain to another reusably, and as a result the bleeding edge of research is currently concerned with finding new domains, as quantum computers will rapidly be obsoleting our current ones.
This isn't the hardest thing ever, but you're going to have to spend a few years getting your maths up to snuff. I've personally spent over a decade and while I've done a lot of things, I've still yet to contribute usefully to the cryptographic community; I haven't accrued enough knowledge to do more than analyze basic protocols and read some classic cryptanalysis papers.
Hope this helps; everything should be Googlable or on Wikipedia.