Ch. 9 Public Key Cryptography and RSA
9.1 Principles of Public-Key Cryptosystems
Use of a key distribution center defeats the purpose of encryption as a means of secret communication
It must be computationally infeasible to determine the decryption key given the algorithm and the encryption key
Some algorithms (such as RSA) allow either key to encrypt and the other decrypt
6 ingredients
Plaintext
Encryption Algorithm
Public and Private Keys
Ciphertext
Decryption Algorithm
Essential Steps
Each user generates a pair of keys
Each user places one of them in a public file or register. This is the public key
Bob encrypts a message using Alice’s public key
When Alice receives the message, she decrypts using her private key. No keys are distributed
Requirements for Public Key Encryption
It is computationally easy to generate a key pair
It is easy for a sender, knowing the public key, to generate a ciphertext
It is easy for the recipient to decrypt the ciphertext using their private key
It is infeasible for an adversary, knowing the public key, to determine the private key
It is infeasible for an adversary, knowing the public key and the ciphertext to recover the message
OPTIONAL: The keys can be applied in either order
Limitations
One-way trapdoor functions are hard to find and scale poorly with key size
Keys need to be large to prevent brute force
These make public key encryption slow
9.2 The RSA Algorithm
Plaintext is encrypted in blocks