15.08.2013 Views

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

General Computer Science 320201 GenCS I & II Lecture ... - Kwarc

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Preparation: The person who anticipates receiving messages first creates both a public key<br />

and an associated private key, and publishes the public key.<br />

Application: Confidential Messaging: To send a confidential message the sender encrypts<br />

it using the intended recipient’s public key; to decrypt the message, the recipient uses the<br />

private key.<br />

Application: Digital Signatures: A message signed with a sender’s private key can be verified<br />

by anyone who has access to the sender’s public key, thereby proving that the sender had<br />

access to the private key (and therefore is likely to be the person associated with the public<br />

key used), and the part of the message that has not been tampered with.<br />

c○: Michael Kohlhase 381<br />

The confidential messaging is analogous to a locked mailbox with a mail slot. The mail slot is<br />

exposed and accessible to the public; its location (the street address) is in essence the public key.<br />

Anyone knowing the street address can go to the door and drop a written message through the<br />

slot; however, only the person who possesses the key can open the mailbox and read the message.<br />

An analogy for digital signatures is the sealing of an envelope with a personal wax seal. The<br />

message can be opened by anyone, but the presence of the seal authenticates the sender.<br />

Note: For both applications (confidential messaging and digitally signed documents) we have only<br />

stated the basic idea. Technical realizations are more elaborate to be more efficient. One measure<br />

for instance is not to encrypt the whole message and compare the result of decrypting it, but only<br />

a well-chosen excerpt.<br />

Let us now look at the mathematical foundations of encryption. It is all about the existence of<br />

natural-number functions with specific properties. Indeed cryptography has been a big and somewhat<br />

unexpected application of mathematical methods from number theory (which was perviously<br />

thought to be the ultimate pinnacle of “pure math”.)<br />

Encryption by Trapdoor Functions<br />

Idea: Mathematically, encryption can be seen as an injective function. Use functions for<br />

which the inverse (decryption) is difficult to compute.<br />

Definition 576 A one-way function is a function that is “easy” to compute on every input,<br />

but “hard” to invert given the image of a random input.<br />

In theory: “easy” and “hard” are understood wrt. computational complexity theory, specifically<br />

the theory of polynomial time problems. E.g. “easy” ˆ= O(n) and “hard” ˆ= Ω(2 n )<br />

Remark: It is open whether one-way functions exist ( ˆ≡ to P = NP conjecture)<br />

In practice: “easy” is typically interpreted as “cheap enough for the legitimate users” and<br />

“prohibitively expensive for any malicious agents”.<br />

Definition 577 A trapdoor function is a one-way function that is easy to invert given a<br />

piece of information called the trapdoor.<br />

Example 578 Consider a padlock, it is easy to change from “open” to closed, but very<br />

difficult to change from “closed” to open unless you have a key (trapdoor).<br />

c○: Michael Kohlhase 382<br />

Of course, we need to have one-way or trapdoor functions to get public key encryption to work.<br />

Fortunately, there are multiple candidates we can choose from. Which one eventually makes it<br />

into the algorithms depends on various details; any of them would work in principle.<br />

219

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!