Description:

  • By Ronald Rivest, Adi Shamir, Leonard Adleman
  • RSA works based on modulo of the product of two large primes
  • A message is relatively prime to (with very high probability, except for about )
  • Public key and Private key are different but mathematically linked

Gen:

  • Creation of Public key and Private key
    • Picks two random -bit primes and , set
      • This is also the private key
    • Pick a random that
    • The public key is
    • The private/secret key is
      • the factorization of N
    • is called the modulus of the scheme.
  • Through the definition of Gen:
    • we already have a implicit definition of the key space
      • The message space for a Public key is:
      • This happens with high probability except for is multiple of or

Enc & Dec:

    • Encryption using public key
  • ,
    • where
    • Decryption using private key

Efficiency:

  • Verify that all three algorithms, Gen, Enc and Dec, can be efficiently computed
  • Gen involves picking two n-bit primes, and , and an exponent relatively prime to
  • Enc and Dec are both modular exponentiations which can be efficiently computed.
  • Dec also requires to compute

Correctness:

  • Verify that decryption is able to recover encrypted messages.
  • Given message and , we have :
    • by modular arithmetic , by corollary and since we need

Example:

  • Encrypt “STOP” with Public key (2537,13)
  • Enc:
    • “STOP” 18 19 14 15 1819 1415 so each of the block is smaller than N (2537)
    • Encrypted message is 2081 2182
  • Dec:
    • Decrypt 0981 0461 with private key is (43,59) and public
    • find by

Padded RSA:

  • The encryption function is deterministic. That is, once the public-key is fixed, the encryption of each message is unique!
  • Only one encryption for the word “YES”, and one encryption for the word “NO”.
  • Anyone can compute these encryptions (using the public-key) and compare with the encrypted message from Alice to Bob!
  • Solution: Alice to pad each of her message with a long random string:
  • Then encrypt padded message as before:

slide 11