[Cryptography] PGP -- Can someone help me understand something?
Kent Borg
kentborg at borg.org
Thu Aug 9 13:36:31 EDT 2018
On 08/09/2018 02:45 AM, Matt Maxson wrote:
> The question was, basically, if someone has access to both a PGP
> encrypted email and a plain text version of the same email, can an
> attacker determine the key. The answer given was "no".
>
> I don't understand. Why can't that happen? For example, if I have 10
> + x = 50 (this can be replaced with any formula that has exactly one
> unknown), I can solve for X. In my thinking, isn't the unknown in the
> equation simply the key? Sure, the maths are more complex, but it
> should be a trivial issue to work backwards and solve for the key.
For simple equations, sure. But have you ever been confronted with an
equation you could not solve?
Some problems are easier than others. Your example is addition, which is
simple. More complicated would be multiplication. Worse would be
exponentiation. Worse still would be a nasty combination of the above,
with lots of other functions included. There are plenty of "natural"
math equations that have not been solved.
Cryptography design is the art of conspiring to come up with contrived
equations that are as hard as possible to solve. Equations that are so
nasty as to make brute force is the best known way to solve them.
Part of how this is done is to make these algorithms (the "equation" is
so complicated it has to be described in many steps) as chaotic as
possible.
Consider a block cypher that encrypts 128-bits at a time. Change just
one of these inputs bits and the encrypted output block will change
completely: about half of the output bits will flip. Change just one bit
in the key and the same thing will happen: the output will change
entirely. By being so chaotic the idea is to make it impossible for the
person analyzing it to know whether s/he getting closer or not.
To appreciate how hard this can be, try designing your own encryption
algorithm. How would you break it? Okay, make it harder. Can you still
break it? Steal some ideas from public algorithms, that should slow you
down.
A warning: It is pretty easy to design an encryption algorithm that is
too hard for the designer to break. But that doesn't mean others won't
find it easier. Don't trust your own encryption designs to be worth
anything beyond stumping you. Assume that those who have spent decades
studying this stuff understand things you don't.
Good encryption algorithms need to be looked at (looked at hard) by a
lot of clever people working hard to find flaws.
Does this mean there isn't some clever solution just around the corner
that will crack the AES algorithm? No. Maybe you can find it. If you do
you will be way famous.
But probably not: Some very clever people have done their best to make
this as difficult as possible.
-kb
More information about the cryptography
mailing list