Notes - Computer Security MT24, Rabin cryptosystem
Flashcards
Describe the Rabin public-key encryption @algorithm by explaining how Alice would send a message to Bob, and how Bob would generate his keys.
Key generation:
- Bob generates two large primes $p$ and $q$.
- Let $n = pq$.
- The public key is $pk _ B = n$.
- The private key is $sk _ B = \langle p, q \rangle$.
Encryption:
- Alice has message $m$.
- Pad $m$.
- Calculate $E _ {pk _ B}(m) := m^2 \pmod n$.
Decryption:
- Bob has message $m$.
- Calculate $D _ {sk _ B} := \sqrt m \pmod n$ (this is easy with knowledge of $p$ and $q$, but difficult otherwise).
- Discard padding.
What “trapdoor function” does the Rabin public-key encryption algorithm make use of?
- Easy: Given $n$, it is easy to compute $m^2 \pmod n$ from $m$.
- Difficult: Find $m$ given $m^2 \pmod n$.
- Easy with extra info: Given the factors of $n$, it is easy to find $m$ given $m^2 \pmod n$.