The RSACIPHER: Introduction and Challenge
You are now leaving the zone of easily breakable,
historical ciphers. You are about to enter modern FBI and NSA securitylevel encryption. Here,
the inconceivable becomes reality: Two keys are involved: a publicly known
encoding key e and a different secret decoding key d known only to the
recipient. The keys are related such that the decoding key d is used to
decode the eencoded message. However, they are not the same keys,
and one can not be derived from the other.
Figure 1 (source: www.PGPi.com):
PublicKey Encryption Scheme. The encoding key is used to encode the
plain text, the decoding key is used to decode the cipher text. Knowing the
encoding key does not yield the decoding key
Mathematicians call such miraculous 2key ciphers "asymmetric ciphers". By
contrast, all previously studied ciphers such as the Caesar, the One Time Pad,
the Linear Cipher or the Vigenere Cipher are "symmetric" Ciphers since the knowledge
of the encoding key quickly produces the decoding key.
Mathematically, the difference between asymmetric
and symmetric ciphers does not seem
dramatic at first sight: The previously studied ciphers are based on
MODaddition and MODmultiplication to encode plain letters. The RSA Cipher,
however, is based on MODexponentiation. Read
here to learn how to perform MODexponentiation. Below, you can perform the RSA
encryption and decryption. Your challenge is to try to understand how
it works by answering the following 3 questions:
Exercise 1:
En and decode
"safe", verify the computations mod
33 below. The modulus (commonly huge numbers consisting of at least
100digit numbers) is crucial for the security
of the RSA Cipher. We will explore this on the next page.
Exercise 2:
Using the same exponents (=keys) as in exercise 1, en and decode "cat"
and "cryptography"
using paper and pencil and the provided calculator for the MOD
exponentiations. Afterwards, verify your answers below. Check
below.
Exercise 3:
What number(s) must the sender have knowledge of in order to encode the message properly?
How about the recipient? Encoding key
(e,n) = (3,33), decoding key (7,33).
