Cryptography 101
vedaal at nym.hush.com
vedaal at nym.hush.com
Tue Oct 21 19:53:13 CEST 2025
Here's the simplified non-M.I.T. Group theory
101:https://www.geeksforgeeks.org/maths/group-theory/
=====
On 10/19/2025 at 10:26 PM, "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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gnupg.org/pipermail/gnupg-users/attachments/20251021/db45f0bd/attachment-0001.html>
More information about the Gnupg-users
mailing list