electronic+signatures

This is our last idea of the semester. All of a sudden, it's the last week and we don't have time for elliptic curves. That's my fault.

Exchanging information in order to verify the source person is really a logic problem, rather than a math problem. But we have to consider this aspect of cryptography to finish the process. We know how to encrypt and decrypt and why RSA and ElGamal work. Since encrypted information can be intercepted and decrypted, establishing the identity of the correspondent becomes very valuable.

We will follow the literature and refer to the two correspondents as Bob and Alice. They will use RSA to create a pair of moves so that 1) One of which only Bob can perform but Alice can verify that Bob performed it correctly. and 2) The other of which only Alice can do but Bob can verify that Alice did it correctly.

Please note that this two-way verification would make it impossible for Bob to forge Alice's signature! Pretty neat, huh?

Here are the steps. Both Bob and Alice have prepared their own RSA encryption and decryption numbers. Bob wants to send Alice a message using her RSA information, which is the usual deal. It's what we've been doing. Bob wants to then sign the message with a separate message/number using **both** their RSA information. Then Alice can decrypt the message as we've done, using just her RSA decryption. Then she takes Bob's electronic signature message/number, uses Bob's public RSA information and hers together to decrypt his signature number. Only Bob could have prepared this signature message/number because it used his secret RSA encryption information. And only Alice could decrypt it because it has been encrypted with her RSA numbers as well.

Here's an example. Bob's preparation. P1 = 13 Q1 = 29 Public number P1*Q1 = N1 = 377 Secret number Phi1 = (P1 - 1)(Q1 - 1) = 336 Public number e1 = 715, chosen so that gcd(e1,Phi1) = 1 Secret number d1 = e1^(-1) mod Phi1 = 211

Alice's preparation P2 = 41 Q2 = 19 Public number N2 = P2*Q2 = 779 Secret number Phi2 = 720 Public number e2 = 1001, chosen as above. secret number d2 = e2^(-1) mod Phi2 = 41

Bob's signature is a text message meant to assure Alice that he is indeed Bob. Maybe it's something like, "I smell like a goat." The numerical version of this signature is 12. Bob then prepares his signature number: First, C1 = signature^Phi1 mod N1 = 12^211 mod 377 = 220. Second, C = C1^e2 mod N2 (Bob just used Alice's public RSA info) to get 220^1001 mod 779 = 425.

That 425 is Bob's signature. Note he used HIS RSA moves along with Alice's.

Alice decrypts the message. The signature, 425, is a separate number from the message. She knows to handle it differently.

Alice does M1 = 425^41 mod779. That's her RSA decryption first. M1 = 220 She doesn't know that her first step worked. But if Bob was sitting next to her, he'd know that Alice herself just applied her secret decryption information because he'd recognize that 220 as HIS encrypted signature. Alice doesn't recognize the 220, however. Then she does 220^715 mod 377.

She used Bob's public ENCRYPTION info to undo Bob's secret decryption move. She reads, "I smell like a goat," and knows Bob is just another guy, nothing special. But really, doing the signature verification moves ended in an English sentence. Either Bob and Alice are the people they claim to be or both their RSA systems have been compromised.

Our last homework uses these numbers. We could use the big numbers as we've been using lately. But all I want you to do is use the signature sequence.

Write a 2 or 3 digit number to be your signature. Use the Bob and Alice numbers to create an encrypted sigaature and decrypt it. Feel free to start with Alice instead of Bob, if you want.

user:D_Sweeney Good. Dave would send the 441 as his signature. The receiver would do the steps Dave has done to reveal the signature, 18.user:mcdaniel30

user:LauraShuman

x:= 93 93 cl:=x&^211 mod 377 180 c:= cl&^1001 mod 779 385 Ml:= c&^41 mod 779 180 Ml&^715 mod 377 93 user:TrevorBarton

x = 13 C1 = 13^211 mod 377 = 61 C = 61^1001 mod 779 = 225 225 is sent M1 = 225^1001 mod 779 = 61 M = 61^715 mod 377 = 13 user:MattJohnson1013

x=23 c1 = (23^211)mod 377 = 23 (hehe) c = (23^1001)mod 779 = 187 187 is my signature with Bob's numbers. m1 = (259^41) mod 779 = 23 (728^715) mod 377 = 23 user:wrighann

COURSE EVALUATIONS can be done in Brian Matzke's office. I'd also love feedback in person, by email or encrypted to hide your identity. I know we have not done much computer science and the math was a small bundle of tough ideas instead of a big bundle of easy ideas. I learned a lot myself. See you in the real world.user:mcdaniel30