CSE4303 Introduction to Computer Security (Lecture 13)
Asymmetric Encryption
Public-key building block: Trapdoor function (TDF)
Definition of trapdoor function
A trapdoor function is a triple of efficient algorithms such that:
- is randomized algorithm outputs a key pair .
- is a deterministic algorithm that takes as input a public key and a message and outputs a ciphertext .
- is a deterministic algorithm that takes as input a secret key and a ciphertext and outputs a message .
more precisely: outputs by , .
RSA cryptosystem
Setup
- , with and primes
- relatively prime to
- inverse of in
Keys
- **Public key:*-
- **Private key:*-
Encryption
- Plaintext
Decryption
Example
Setup
Keys
- **public key:*-
- **private key:*-
Encryption
Decryption
RSA cryptosystem: challenge
-
The implementation of the RSA cryptosystem requires various algorithms.
-
Overall
- Representation of integers of arbitrarily large size and arithmetic operations on them
-
Encryption
- Modular power
-
Decryption
- Modular power
-
Setup
- Generation of random numbers with a given number of bits (to generate candidates and )
- Primality testing (to check that candidates and are prime)
- Computation of the GCD (to verify that and are relatively prime)
- Computation of the multiplicative inverse (to compute from )
RSA: basis of security
For all efficient algorithms :
where -bit primes, , and .
Diffie-Hellman key exchange
Based on hardness of “discrete log problem”:
Given , , , what is ?
- Eavesdropper sees: , , , and .
- How hard is it to compute ?
- More generally: define .
Elliptic Curve Cryptography (ECC)
- Parameters: curve, modulus, initial point
- Curve:
- Modulus: large prime number
- Initial point: large
- Operations: addition, point doubling, dot (see tutorial)
- Repeated addition multiplication
- Point doubling multiplying by
- Repeated point doubling multiplying by powers of
Hard problem: analogue of discrete-log problem using elliptic curves in particular geometric space
- See ArsTechnica tutorial, or many videos online
- Reversing the dot and point-doubling operators in the finite field defined by the curve and modulus
- Example: Let the finite field be defined by with initial point .
- Question: Suppose we see a new point and we know . What is ?
- I.e., how many times must we add to itself to get ?
- Public key: and parameters of the ECC system
- Private key:
- Encryption: embed message as points on the EC, run EC ops on them
Public-key encryption from TDFs
Security Theorem:
- If is a secure trapdoor function (TDF),
- provides authenticated encryption,
- and is modeled as a random oracle (RO),
then is CCA secure.
- That is, it is CCA-secure in the random oracle model.
- An additional extension is required to obtain full CCA security in the standard model, and such constructions are known.
Summary
Wrapup: symmetric vs. asymmetric systems
- Symmetric: faster, but key distribution hard
- Asymmetric: slower, but key distribution/management easier
- Application: secure web sessions (e.g. online shopping visit)
- Use symmetric-key-encrypted sessions
- Exchange symmetric keys with asymmetric scheme
- Authenticate public keys (using PKI or web of trust)
Last updated on