Upload
diana-welch
View
214
Download
0
Embed Size (px)
Citation preview
Public Key CryptosystemIntroduced in 1976 by Diffie and Hellman [2]
In PKC different keys are used for encryption and decryption1978: First Two Implementations
RSA: Rivest-Shamir-Adleman ACM 2002 Turing Award
Based on integer factorization
Merkle-Hellman Knapsack Cryptosystem [1]
Based on the subset-sum problem,
variant of knapsack problem
AdditiveKnapsack
Cryptosystem
MultiplicativeKnapsack
Cryptosystem
Multiply-IteratedKnapsack
Cryptosystem
Public Key Cryptosystems
Elliptic curve cryptography (ECC) is an approach to PKC based on the algebraic structure of elliptic curves over finite fields. The use of elliptic curves in cryptography was suggested independently by Neal Koblitz and Victor S. Miller in 1985.
The NTRUEncrypt public key cryptosystem, also known as the NTRU encryption algorithm, is a lattice-based alternative to RSA and ECC and is based on the shortest vector problem in a lattice.
Public Key Cryptosystems
ElGamal encryption system is an asymmetric key encryption algorithm for PKC which is based on the Diffie–Hellman key exchange. It was described by Taher Elgamal in 1985.
The Digital Signature Algorithm (DSA) is a United States Federal Government standard or FIPS for digital signatures.
Links
http://www.nytimes.com/keyword/adi-shamir http://simson.net/ref/1988/Landau_Zero_Knowledge.pdf http://en.wikipedia.org/wiki/Public-key_cryptography http://en.wikipedia.org/wiki/Zero-knowledge_proof
RSA
Alice: 1. Chooses secret (private) key2. Create and publishes public key 3. Receives ciphertext from Bob4. Decrypts ciphertext using secret key to recover the plaintext – original message
Bob 1. Uses Alice Public Key to encrypt the message2. Sends ciphertext – encrypted message to Alice
ALICE Preparation Step – Creates Private and Public Key Selects two primes p and q Calculates
m = pq n = ( p – 1 ) ( q – 1 )
Selects e that relatively prime to n, gcd (e, n ) = 1 Finds the multiplicative inverse of e mod n.
Denotes the multiplicative inverse by d:
ed 1 (mod n) Publishes e and m – this is the public key
BOB - Encryption
Plaintext is number x 0 x m -1 gcd (x, m) =1
Ciphertext y is calculated as follows: y = xe mod m
y is sent to Alice
Alice - Decryption
Alice receives the ciphertext y Calculates yd mod m and this is a plaintext x, so the
final formula is: x yd ( mod m ) Why is it working?
e-1 d ( mod n ) means: ed 1 (mod n) means:
ed = 1 + kn = 1 + k ( p -1 )( q -1 ) (for some integer k ) yd (xe mod m )d xed x 1 + k(p-1)(q-1) x (mod m)
(Theorem 4.3.2 from your textbook, x has to be relatively prime to m = pq)