[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