Cryptography 101
John Z.
johnz at pleasantnightmare.com
Tue Oct 21 18:23:31 CEST 2025
I absolutely share your sentiments about group theory. It elevated my
thinking and problem solving like nothing else, and I don't mean just
cryptography, but software engineering as a whole.
According to my own experience, I strongly believe that advanced math
studies would be an essential thing for any sweng to engage in.
(P.S. Lurking this group for nearly a decade, but never have anything
useful to add - much like right now. Loving nearly everything I read,
tho.)
--
John Z.
"All my thoughts are burning,
and I like how warm the fire can be..."
On Sun, Oct 19, 2025 at 10:23:41PM -0400, Robert J. Hansen via Gnupg-users wrote:
> (For non-US readers: in the United States university system, classes have
> departments, names, and numbers. In any department, the 101 class is almost
> always "Introduction to...". Hence, Computer Science 101 is Introduction to
> Computer Science, and Cryptography 101 would be...)
>
> I've said a lot recently about how important it is to be able to ask basic
> questions about whether a cipher forms a mathematical group. I figure people
> might benefit from hearing a little bit about it.
>
> Group theory is to mathematics what Perl scripting is to system
> administration: it doesn't get much respect but knowing it is an essential,
> non-negotiable skill purely because of how much it glues the whole system
> together.
>
> Put broadly, group theory is the study of absolutely anything that has these
> properties: well-defined inputs and outputs taken from the same set, and a
> function that obeys the associative property and can be used to do
> identities and inverses.
>
> For instance, do the integers form a group under addition?
>
> * Inputs: and outputs are from the same set? Yes, integers!
> * Can addition do identities? Yes, add zero!
> * Can addition invert itself? Yes, add a negative!
> * Does addition associate? Yes!
>
> Therefore, we would say the integers form a group under addition, and that
> means anything involving adding two integers together can be studied with
> group theory.
>
> Hmm.
>
> Do Rubik's cubes form groups under rotations?
>
> * Inputs and outputs are from the same set? Yes, cube configs!
> * Can you rotate a face such that the cube doesn't change? Yes!
> * Can rotations invert themselves? Yes, twist it the other way!
> * Do cubes associate? Yes! (higher math proof omitted)
>
> So wait, we've got a single coherent mathematical theory that describes not
> just numbers like arithmetic, but big complicated objects like Rubik's
> cubes.
>
> When considering a mathematical concept, one of the very first things
> mathematicians -- and every cryptographer is a mathematician -- ask is,
> "does this thing form a group?" Because if so, wow, you can do the
> mathematical equivalent of running off to look at CPAN to see all the stuff
> people have *already proved about your problem* just by nature of the fact
> it's a group.
>
> The moment you say "oh, it's a group," you have something like 3,500 major
> results in mathematics pre-proven for your problem. Answer four questions,
> get 3,500 theorems about your problem. That is *breathtaking* power.
>
> For instance, with respect to layering ciphers: there's a theorem which says
> "if your cipher is a group, nope, you're fooling yourself." You can prove
> ROT is a group (go ahead: try to prove it yourself!), so we know layering is
> ineffective.
>
> =====
>
> Another good reason to study group theory: it is the foundation of RSA,
> Diffie-Hellman, DSA, and Elgamal, including elliptical curve variants. All
> of those algorithms are based on the "hidden subgroup problem", which, as
> you might guess from the name, is a part of group theory best described with
> tools from group theory.
>
> =====
>
> If you're interested, MIT makes their entire abstract algebra curriculum
> ("abstract algebra" being the branch of math that contains group theory)
> available via their Open CourseWare site:
>
> https://ocw.mit.edu/courses/18-703-modern-algebra-spring-2013/pages/lecture-notes/
>
> It will be hard. It will challenge you. But if you can understand the basics
> of group theory, you will have in your mathematical repertoire the
> equivalent of Perl and a copy of the Camel book. It is powerful, it is
> useful, and it's there for the taking.
>
>
> _______________________________________________
> Gnupg-users mailing list
> Gnupg-users at gnupg.org
> https://lists.gnupg.org/mailman/listinfo/gnupg-users
More information about the Gnupg-users
mailing list