I come from an engineering background, but not from computer science or anything to do with pure math. I studied applied math in college--never abstract algebra, number theory, or discrete math, formally. I have been a programmer most of my career.
Having developed a keen interest in cryptography, I learned number theory and abstract algebra on my own, and I get the role of number theory: in factoring prime numbers and the discrete logarithm problem for PKI. These are both hard problems.
However, why discrete log over a group? What is the significance of a group here? Why do we need a group?
Why use abstract algebra? I know AES uses Galois fields. I understand how, but I cannot figure out why.
I mean, why use finite field arithmetic?
Why should the arithmetic be done in a group? Why an Abelian group? Why a polynomial? Why are the closure, inverses, and identities necessary to AES?
Likewise, what other advantages do groups, rings, and fields have for cryptography? How exactly are the characteristics of finite fields indispensable for AES and cryptography in general? Why couldn't this be achieved without finite fields? Likewise, for other uses of abstract algebra in cryptography...