Asymmetric Algorithms (Public Key Encryption)
What's Going On Here?
One of the most common ways to provide secure communications is through
the use of public keys. Here are the steps involved in using keys:
- A user chooses a private key
- A mathematical algorithm is applied to that key to create a public
key
- The public key is distributed to people wishing to send the user
encrypted messages
- Messages are encrypted using the public key and sent to the user
- The user applies the private key to the encrypted message to decrypt
it
If you know a user's public key, can't you use that knowledge to decrypt
messages? No. Only the private key, which is kept secret, can be used
to decrypt messages.
EXPERIMENT: Try this
Each of the color balls at the top of the diagram represents three bits
of data. We'll use public key encryption to encrypt them.
- Enter in the public key values of 62 81 and 37 (from left to right)
- Notice the values of the encrypted message
- Try to enter a private key that will decrypt that message resulting
in the balls at the bottom being the same colors as the balls at the
top
- Try entering the public key values in the private key area
- Try any combination of numbers in the private key area and see what
happens
- How easy is it for you, knowing the public key, to decrypt the message?
Explanation
The algorithm used for creating the public key was simple. We took each
number in the private key and multiplied it by 31, divided the product
by 105, and determined the remainder. Knowing this very well known and
published algorithm should help you reverse engineer the private key from
the public key, shouldn't it?
Well, no. That's the secret of why this is an excellent method for secure
communications in an unsecure world. The computation on the private key
to obtain the public key is simple, but it is very difficult to invert
the function.
The algorithm shown here is a simplification of algorithms known as
"knapsack" algorithms. These types of algorithms have, in fact,
been broken by clever hackers over the years and that is why today, we
use more complex variants of these schemes. Similar to the DES algorithm,
security is dependent on the length of the key sequence we use and the
number of permutations applied to each segment of data.
By the way, the private key for the above problem is: 2 6 52

|