0% found this document useful (0 votes)
21 views

Foundations of Computer Security: Lecture 49: Public Key Encryption II

This document summarizes key points about public key encryption from Lecture 49. It discusses the RSA algorithm, which relies on the difficulty of factoring large numbers. It also mentions other public key algorithms based on hard problems like the knapsack problem. Additionally, it explains how public key encryption provides either privacy or authenticity, but not both simultaneously, and different key pairs are typically needed for each.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views

Foundations of Computer Security: Lecture 49: Public Key Encryption II

This document summarizes key points about public key encryption from Lecture 49. It discusses the RSA algorithm, which relies on the difficulty of factoring large numbers. It also mentions other public key algorithms based on hard problems like the knapsack problem. Additionally, it explains how public key encryption provides either privacy or authenticity, but not both simultaneously, and different key pairs are typically needed for each.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Foundations of Computer Security

Lecture 49: Public Key Encryption II

Dr. Bill Young


Department of Computer Sciences
University of Texas at Austin

Lecture 49: 1 Public Key Encryption II


RSA Algorithm

The Rivest-Shamir-Adelman (RSA) algorithm relies on the


difficulty of factoring large numbers.
Two keys, e and d, are used for encryption and decryption. The
algorithm is such that:

{{P}d }e = P = {{P}e }d .

A plaintext block P is encrypted as (P e mod n). d is chosen so


that:
(P e )d mod n = P.

An interceptor would have to factor P e to recover the plaintext.


The legitimate receiver knows d and merely computes
(P e )d mod n = P, which is much easier.

Lecture 49: 2 Public Key Encryption II


Other Public Key Algorithms

A public key system can be based on any one-way function. A rich


source is the set of NP-complete problems. These are infeasible to
solve, but a solution can be checked in polynomial time.

Merkle and Hellman proposed a public key system based on the


knapsack problem: given a set of integers and a target sum, find a
subset of the integers that sum to the target.

The algorithm is theoretically very secure, but has practical


weaknesses.

Lecture 49: 3 Public Key Encryption II


Authentication with Public Keys

Assume Ka is A’s public key. Suppose B sends the following


message to A: {M}Ka . What assurances does A have?
1 No-one intercepting the message could read it. Why?
2 He can’t be sure it actually came from B. Why not?

Thus, encryption with the public key is a privacy transformation,


but not an authenticity transformation.

Lecture 49: 4 Public Key Encryption II


Authentication with Public Keys

Using RSA, B send {M}K −1 to A. If A can decrypt it using Kb ,


b
what assurance is gained?
1 A is sure it originated with B. Why?
2 But, someone intercepting the message might read it. Why?

Thus, encryption with the private key is an authenticity


transformation, not a privacy transformation.

Note this only works in RSA, because:

{{P}d }e = P = {{P}e }d .

In other public key systems, you typically need two pairs of keys:
one pair for privacy and the other pair for “signing” (authenticity).

Lecture 49: 5 Public Key Encryption II


Lessons

RSA is the most widely used public key cryptosystem.


RSA is symmetric in the use of keys; most public key schemes
are not.
A public key encryption can be used for authenticity or for
privacy but not both at once.

Next lecture: Cryptographic Hash Functions

Lecture 49: 6 Public Key Encryption II

You might also like