By the end of today, you should:
We all know that identity theft is a big modern problem. How can you
prove you are who you are? How does the thief prove they are you?
Usually it's by having certain magic
numbers that only you are
supposed to have, like your Social Security Number (SSN) and
such. Unfortunately, in day to day life, we don't usually have anything
much better than that. Computer scientists have invented something
better, namely digital signatures.
First, digital signatures have nothing to do with privacy and security. Just the opposite. You may want to prove to the world that you signed something. Don't confuse these.
The same idea can be used for Alice to prove her identity! All she has to do is sign a message and anyone can verify that the message was signed by her.
Because digital signatures take significant computing time, in practice Alice doesn't sign M, but rather a message digest. A message digest algorithm puts M through a kind of deterministic cuisinart that reduces it to just a small number of bits, say 128 or 256. However, the digest is (essentially) unique, like fingerprints.
Just as your fingerprint is much smaller than you, but just as unique as you are, message digests are smaller but uniquely identify a message.
They have some really cool properties:
This makes message digests useful for a host of cryptographic techniques. We'll just explore them a little.
Something built in to all your Macs is md5. I'll demo using that.
When Bob signs a message he's sending to Alice, he uses:
Bob's secret key
Bob's public key
Alice's secret key
Alice's public key
Which of the following is FALSE about message digests:
it is infeasible to find two different messages with the same digest
it is infeasible to modify a message without changing the digest
it is infeasible to recreate a message knowing its digest
it is infeasible to compute the digest for any given message
Let's make this a bit more realistic. Use the same partner as you used before in the RSA exercise, so your partner already knows your public key. One of you will be the sender and the other the receiver. The receiver is the one who knows the sender's public key. If both of you know the other's public key, either can be the receiver.
I'll do this on the instructor station while you follow along.
The public key that your browser downloads is signed by a certificate authority.
This gives you some assurance:
Let's look at this page via https!
We'll break up into groups and discuss:
We hope that after these activities you can:
Will be posted later, visit again after .