8
Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] C different keys are used for encryption and decryp 1978: 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 Additive Knapsack Cryptosystem Multiplicative Knapsack Cryptosystem Multiply-Iterated Knapsack Cryptosystem

Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations

Embed Size (px)

Citation preview

Page 1: Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations

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

Page 2: Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations

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.

Page 3: Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations

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.

Page 4: Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations

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

Page 5: Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations

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

Page 6: Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations

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

Page 7: Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations

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

Page 8: Public Key Cryptosystem Introduced in 1976 by Diffie and Hellman [2] In PKC different keys are used for encryption and decryption 1978: First Two Implementations

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)