I'm working on writing some simple code fora class, and I was wondering if anyone had some information on the RSA algorithm that I could look at. I don't know a lot about cryptology at the moment, so I'd need it in layman's terms. /|NGeL of |>eATH 21 keystrokes south of Seattle (on a clear day) Finger me for my PGP 2.3a public key. Have you terrorized a Republican today?
On Sun, 6 Mar 1994, ANGeL wrote:
I'm working on writing some simple code fora class, and I was wondering if anyone had some information on the RSA algorithm that I could look at. I don't know a lot about cryptology at the moment, so I'd need it in layman's terms.
/|NGeL of |>eATH 21 keystrokes south of Seattle (on a clear day) Finger me for my PGP 2.3a public key. Have you terrorized a Republican today?
From what I know, RSA thrives on the following formula. Every key in an RSA
public key system has two parts. One part is a very very large number, and the other is a relatively small number. We will call the large number 'l' and the small number 's'. These two numbers are calculated beforehand (shown in a later equation). To encrypt plaintext (which is what we call the stuff to be encrypted) with an RSA key, you use the following formula: [ E stands for encrypted text. P stands for plaintext ] P^s E = ------ l In this example. Let's use the letter 'A' for our plaintext. Let's say we have a key with l = 85 and s = 3. (don't worry about where those numbers came from, we'll make them later). If we use the ASCII standard, the character 'A' has a value of 65. So if we plug in all the values we get: 65^3 E = -------- = 2307 and a remainder of 92 119 To decrypt, you use the private key. In this case, the private key is l = 119 s = 32 and the new equation is: 92^32 D = ------- = 6937619471... and a remainder of 65 119 So we have encrypted with one key, and decrypted with the other. Now as to how we arrived at these two key parts, I will explain. When you make an RSA key, you generate three numbers. Two of them are prime and one is just odd. We'll name these P Q and E respectively. The first part of the key is P * Q, the second part of the key is E. In the above example, P = 17 Q = 7 E = 3. So we end up with the key {119, 3}. This is the public key. To make the private key, we keep the first part the same, but we change E. The new E now equals: (P - 1)(Q - 1) E = -------------- Eo (Eo means the old value of E) So the value of E for the private key is (16 * 6) / 3 = 32. Now that I think about it. I am sure to have messed something up. Please send a flame back attacking what I foobared. Thank you. _ . _ ___ _ . _ ===-|)/\\/|V|/\/\ (_)/_\|_|\_/(_)/_\|_| Stop by for an excursion into the-=== ===-|)||| | |\/\/ mud.crl.com 8888 (_) Virtual Bay Area! -===
Jeremy Cooper <jeremy@crl.com> wrote:
Now that I think about it. I am sure to have messed something up. Please send a flame back attacking what I foobared. Thank you.
okay... overall pretty good tho.
When you make an RSA key, you generate three numbers. Two of them are prime and one is just odd.
The encryption exponent must not contain any common factors with (p-1)(q-1). This means that it is always odd, but that's not necessarily the only factor that you need to check.
P^s E = ------ l
The remainder, not the quotient. Usually written as E = P^s mod l
participants (3)
-
ANGeL -
Jeremy Cooper -
Matthew J Ghio