Last modified 12/1/99 --PR
Class home page
You can do this assignment in pairs, but not in groups larger than two.
15.3, 16.2-16.3, 17.1-17.3
Reading on load balancing from HotWired.
Let me review the textbook's notation here for your use in answering the following questions. Label any operation performed by the sender as an "encryption" operation, with a capital E, whether that operation is a signature (using a private key) or an actual encryption (using a public key or a shared key). Any operation performed by the receiver we'll call a decryption operation, with a capital D, whether that operation is verifying a signature or actually decrypting a message. The subscrip will indicate whose key is used and, for public key systems, whether it is the public or the private part of the key pair that is used. For example EASK(M) is encryption of the message M using Alice's secret key: this creates a signature on the messaage M.
"Simon says" is a children's game played in the United States. A leader stands at the front and speaks commands like:
Everyone in the audience is supposed to follow the leader's commands, but only if it is prefaced by "Simon says". Anyone who fails to follow commands 1-3 loses the game. Anyone who does follow command 4 loses the game.
Our version is a little different, so pay attention. The userID "Simon" initially has Simon privileges. You should follow any instruction that is signed by Simon's key. An instruction will tell you one or more of the following:
First, download the zipped file and unzip it in a directory accessible to you from your UNIX prompt. You should have the following files:
keys.txt pgpdoc1.txt pgpdoc2.txt simon1.txt simon2.txt simon3.txt simon4.txt simon5.txt simon6.txt simon7.txt simon8.txt simon9.txt simonkey.txt
You should initially trust that the key in simonkey.txt is associated with the initial userID "Simon". Here's some further information about the key:
Type bits/keyID Date User ID
pub 1024/9B9A2E39 1998/01/20 Simon
Key fingerprint = B1 AA
26 20 BD F6 78 12 BF 0F E1 16 74 AB 45 C6
To be really safe, you should check this against the "key fingerprint" I wrote on the whiteboard in class. That way, you can be sure that one of your classmates has not broken into the web server and changed this document to make her own key appear to be Simon's. One semester someone impersonating Simon made all the students write that they disliked the professor of SI540 and you certainly wouldn't want to say something like that by mistake. (Actually, I forgot to put this information up on the whiteboard in class, so you'll have to take risk that the fingerprint listed in this file is correct.)
You will need to add the Simon key to your ring and certify that the key really belongs to the user "Simon". To initiate this command, type:
login% pgp -ka simonkey.txt
If prompted, you should tell PGP not to treat Simon as an "ultimately trusted introducer", which is a status reserved for your private key. You should, however, indicate that you always trust Simon to introduce other people's keys to you (this is analogous to saying that you trust Simon as a CA).
By the way, the relevant portion of the PGP documentation for understanding the relationship between certification, trust, validity, and introducers is titled "How Does PGP Keep Track of Which Keys are Valid?". In briefYou will need to add keys from the keyring file, keys.txt. The file is signed with Simon's key, so first decrypt it:
login% pgp keys.txt
You may be prompted to add the keys to a keyring. If not, you'll need to separately add them to a keyring:
login% pgp -ka keys.txt [keyring]
Next, take a look at the 9 instruction files. Based on what's in them, and whether you think they're valid according to Simon's instructions, decide what text to include in the homework you turn in. For each of the 9 instruction files, say why you ignored it or followed its instruction.
simon1.txt
Valid signature. Do whatever "Brian A. LaMacchia
<bal@martigny.ai.mit.edu>" says.
simon2.txt
Valid signature from the Brian specified in the previous message (even though the text
of the message says it's from a Brian with a different email address). Include the
following in your homework:
It was the dawn of the third age of mankind, and the solution
to the Certicom ECCp-89 challenge problem had just been discovered.
The answer is the residue class of 333373190151749761757285479 modulo
416363315556124458285894983.
simon3.txt
Valid signature, but not from Simon or anyone that Simon said to delegate to.
simon4.txt
Valid signature, but not from Simon or anyone that Simon said to delegate to.
simon5.txt
Valid signature, but not from Simon or anyone that Simon said to delegate to.
simon6.txt
Valid signature, but not from Simon or anyone that Simon said to delegate to.
simon7.txt
Valid signature from Simon.
simon8.txt
Invalid signature from Brian. This message was forged (I admit it; I did it) and
should be ignored.
simon9.txt
Invalid signature from Simon. I tried to cut and paste the signature from simon7.txt
onto this one, which is a much better message, but alas, PGP tells you that the signature
doesn't match the text.
------------
Your results should be:
It was the dawn of the third age of mankind, and the solution
to the Certicom ECCp-89 challenge problem had just been discovered.
The answer is the residue class of 333373190151749761757285479
modulo 416363315556124458285894983.
SI 540 is the worst class I've ever taken
Explain the idea of public-key encryption to someone else, making sure to explain what's public about it.