Lecture 12: Public Key Cryptography Part 1 Flashcards
What is a one-way function?
A function is one-way if f(x) = y is easily computed given x, but f^(-1)(f) = x is computationally hard to compute given y
What are two functions that are believe to be one-way?
1) Multiplication of large primes: the inverse function is integer factorisation
2) Exponentiation: the inverse function takes discrete logarithms
What is a trapdoor one-way function?
function f is a one-way function s.t. f^(-1)(y) is earliy computed given additional information, called trapdoor
Explain how modular squaring is a trapdoor one-way function
Given n = pq where p, q are 2 large primes, f(x) = x^2 mod n
If an algorithm takes square roots (i.e. computes f^(-1)) then it can be used to factorise n
The trapdoor is the factorisation of n
If the trapdoor is known the an efficient algorithm finds the square root
What is a public key cryptosystem design by using?
A trapdoor one-way function where the trapdoor is the decryption key
What are public key cryptosystems also know as?
asymmetric cryptography
Define what asymmetric means in asymmetric cryptography
encryption and decryption keys are different
Who knows the encryption key in asymmetric cryptography?
Known by anybody
What is the encryption key also called in asymmetric cryptography?
public key
Who knows the decryption key in asymmetric cryptography?
known ONLY to its owner
What is the decryption key also called in asymmetric cryptography?
private key
Comment on the needed hardness of finding the private key from the knowledge of the public key
MUST be a computationally hard problem
What are the pros of public key cryptography (in comparison to shared keys/symmetric cryptograpgy)
1) key management is simplified
- -> keys do not need to be transported confidentially
2) digital signatures can be obtained
In a public cipher, can encryption keys be made public?
yes
In practice, where does Alice store her public keys? What are the consequences of this?
Stores keys in public directory
–> anyone can obtain her public key and use it to form an encrypted message to Alice
–> since Alice has the private key (associated with her public key), she can decrypt and recover the message
What are RSA algorithms based on?
integer factorization problem
At a high level, what is RSA?
public key cryptosystem and digital signature scheme
Explain key generation for RSA algorithms
See slide 13, set 12
What is the encryption process for RSA?
See slide 14, set 12
What is the decryption process for RSA?
See slide 14, set 12
Explain the numerical example of key generation, encryption and decryption for RSA on slide 15 of set 38
See slide 15, set 12
Eplain the RSA proof of encryption correctness on slides 16-19 in set 12
See slide 16-19, set 12
What are four of the applications of RSA?
1) message encryption
2) digital signatures
3) distributed of a shared key for symmetric key encryption (hybrid encryption)
4) user authentication by proving knowledge of the private key corresponding to an authenticated public key
What are some challenges with RSA in terms of trying to optimise it?
key generation
–> generating large primes p, q and choice of e
encryption and decryption
–> fast exponentiation and faster decryption using CTR
data formatting
–> padding
What is the requirements for primes p, q i.t.o RSA?
should be random of a chosen length –> one at least 1024 bits
What is the simple algorithm for generating large primes p,q for RSA?
1) select a random odd number r of the required length
2) check whether r is prime:
- > if so, the output r and halt
- > otherwise, increment r by 2 and go to step 2