Download presentation
Presentation is loading. Please wait.
1
Practical Aspects of Modern Cryptography
Fall 2016 Tolga Acar Josh Benaloh
2
Diffie-Hellman Key Exchange
Alice Randomly select a large integer π and send π΄= π π mod π. Compute the key πΎ= π΅ π mod π. Bob Randomly select a large integer π and send π΅= π π mod π. Compute the key πΎ= π΄ π mod π. π΅ π = π ππ = π ππ = π΄ π October 11, 2016 Practical Aspects of Modern Cryptography
3
The Fundamental Equation
π= π π mod π October 11, 2016 Practical Aspects of Modern Cryptography
4
π= π π mod π One-Way Functions October 11, 2016
Practical Aspects of Modern Cryptography
5
π= π π mod π One-Way Functions
When π is unknown, the problem is known as the discrete logarithm and is generally believed to be hard to solve. October 11, 2016 Practical Aspects of Modern Cryptography
6
One-Way Trap-Door Functions
π= π π mod π October 11, 2016 Practical Aspects of Modern Cryptography
7
One-Way Trap-Door Functions
π= π π mod π Recall that this equation is solvable for π if the factorization of π is known, but is believed to be hard otherwise. October 11, 2016 Practical Aspects of Modern Cryptography
8
RSA Public-Key Cryptosystem
Alice Anyone October 11, 2016 Practical Aspects of Modern Cryptography
9
RSA Public-Key Cryptosystem
Alice Select two large random primes π & π. Anyone October 11, 2016 Practical Aspects of Modern Cryptography
10
RSA Public-Key Cryptosystem
Alice Select two large random primes π & π. Publish the product π=ππ. Anyone October 11, 2016 Practical Aspects of Modern Cryptography
11
RSA Public-Key Cryptosystem
Alice Select two large random primes π & π. Publish the product π=ππ. Anyone To send message π to Alice, compute π= π π mod π. October 11, 2016 Practical Aspects of Modern Cryptography
12
RSA Public-Key Cryptosystem
Alice Select two large random primes π & π. Publish the product π=ππ. Anyone To send message π to Alice, compute π= π π mod π. Send π and π to Alice. October 11, 2016 Practical Aspects of Modern Cryptography
13
RSA Public-Key Cryptosystem
Alice Select two large random primes π & π. Publish the product π=ππ. Use knowledge of π & π to compute π. Anyone To send message π to Alice, compute π= π π mod π. Send π and π to Alice. October 11, 2016 Practical Aspects of Modern Cryptography
14
π mod (πβ1)(πβ1)=1 and 0β€π<π.
Some RSA Details When π=ππ is the product of distinct primes, π π mod π=π whenever π mod (πβ1)(πβ1)=1 and 0β€π<π. October 11, 2016 Practical Aspects of Modern Cryptography
15
π mod (πβ1)(πβ1)=1 and 0β€π<π.
Some RSA Details When π=ππ is the product of distinct primes, π π mod π=π whenever π mod (πβ1)(πβ1)=1 and 0β€π<π. Alice can easily select integers πΈ and π· such that πΈΓπ· mod (πβ1)(πβ1)=1. October 11, 2016 Practical Aspects of Modern Cryptography
16
Some RSA Details Encryption: πΈ(π) = π πΈ mod π.
Decryption: π· π = π π· mod π. π·(πΈ(π)) = π πΈ mod π π· mod π = π πΈπ· mod π = π October 11, 2016 Practical Aspects of Modern Cryptography
17
Some RSA Details In practice, the encryption exponent πΈ is almost always fixed to be πΈ=65537= October 11, 2016 Practical Aspects of Modern Cryptography
18
Some RSA Details In practice, the encryption exponent πΈ is almost always fixed to be πΈ=65537= The decryption exponent π· is then computed as π·=(1Γ·πΈ) mod πβ1 (πβ1). October 11, 2016 Practical Aspects of Modern Cryptography
19
Public-Key Directory October 11, 2016
Practical Aspects of Modern Cryptography
20
Public-Key Directory (Recall that πΈ is commonly fixed to be πΈ=65537.)
October 11, 2016 Practical Aspects of Modern Cryptography
21
RSA Signatures October 11, 2016
Practical Aspects of Modern Cryptography
22
RSA Signatures An additional property October 11, 2016
Practical Aspects of Modern Cryptography
23
RSA Signatures An additional property π·(πΈ(π))= π πΈπ· mod π=π
October 11, 2016 Practical Aspects of Modern Cryptography
24
RSA Signatures An additional property π·(πΈ(π))= π πΈπ· mod π=π
October 11, 2016 Practical Aspects of Modern Cryptography
25
RSA Signatures An additional property π·(πΈ(π))= π πΈπ· mod π=π
Only Alice (knowing the factorization of π) knows π·. Hence only Alice can compute π·(π)= π π· mod π. October 11, 2016 Practical Aspects of Modern Cryptography
26
RSA Signatures An additional property π·(πΈ(π))= π πΈπ· mod π=π
Only Alice (knowing the factorization of π) knows π·. Hence only Alice can compute π·(π)= π π· mod π. This π·(π) serves as Aliceβs signature on π. October 11, 2016 Practical Aspects of Modern Cryptography
27
Certificate Authority
βAliceβs public modulus is ππ΄= β¦β -- signed CA. October 11, 2016 Practical Aspects of Modern Cryptography
28
Trust Chains Alice certifies Bobβs key. Bob certifies Carolβs key.
If I trust Alice should I accept Carolβs key? October 11, 2016 Practical Aspects of Modern Cryptography
29
Basic Authentication October 11, 2016
Practical Aspects of Modern Cryptography
30
Basic Authentication How can I use RSA to authenticate someoneβs identity? October 11, 2016 Practical Aspects of Modern Cryptography
31
Basic Authentication How can I use RSA to authenticate someoneβs identity? If Aliceβs public key πΈ π΄ , just pick a random message π and send πΈ π΄ (π). October 11, 2016 Practical Aspects of Modern Cryptography
32
Basic Authentication How can I use RSA to authenticate someoneβs identity? If Aliceβs public key πΈ π΄ , just pick a random message π and send πΈ π΄ (π). If π comes back, I must be talking to Alice. October 11, 2016 Practical Aspects of Modern Cryptography
33
Basic Authentication Should Alice be happy with this method of authentication? October 11, 2016 Practical Aspects of Modern Cryptography
34
Basic Authentication Should Alice be happy with this method of authentication? Bob sends Alice the authentication string π¦= βI owe Bob $1 million - signed Alice.β October 11, 2016 Practical Aspects of Modern Cryptography
35
Basic Authentication Should Alice be happy with this method of authentication? Bob sends Alice the authentication string π¦= βI owe Bob $1 million - signed Alice.β Alice dutifully authenticates herself by decrypting (putting her signature on) π¦. October 11, 2016 Practical Aspects of Modern Cryptography
36
Basic Authentication What if Alice only returns authentication queries when the decryption has a certain format? October 11, 2016 Practical Aspects of Modern Cryptography
37
RSA Cautions Is it reasonable to sign/decrypt something given to you by someone else? Note that RSA is multiplicative. Can this property be used/abused? October 11, 2016 Practical Aspects of Modern Cryptography
38
RSA Cautions π· π 1 Γπ·( π 2 )=π·( π 1 Γ π 2 )
π· π 1 Γπ·( π 2 )=π·( π 1 Γ π 2 ) Thus, if Iβve decrypted (or signed) π 1 and π 2 , Iβve also decrypted (or signed) π 1 Γ π 2 . October 11, 2016 Practical Aspects of Modern Cryptography
39
The Hastad Attack Given πΈ 1 (π₯) = π₯ 3 mod π 1 πΈ 2 (π₯) = π₯ 3 mod π 2
one can easily compute π₯. October 11, 2016 Practical Aspects of Modern Cryptography
40
The Bleichenbacher Attack
PKCS#1 Message Format: 00 01 XX XX ... XX 00 YY YY ... YY random non-zero bytes message October 11, 2016 Practical Aspects of Modern Cryptography
41
βMan-in-the-Middleβ Attacks
October 11, 2016 Practical Aspects of Modern Cryptography
42
The Practical Side October 11, 2016
Practical Aspects of Modern Cryptography
43
The Practical Side RSA can be used to encrypt any data.
October 11, 2016 Practical Aspects of Modern Cryptography
44
The Practical Side RSA can be used to encrypt any data.
Public-key (asymmetric) cryptography is very inefficient when compared to traditional private-key (symmetric) cryptography. October 11, 2016 Practical Aspects of Modern Cryptography
45
The Practical Side October 11, 2016
Practical Aspects of Modern Cryptography
46
The Practical Side For efficiency, one generally uses RSA or DH to transmit a private (symmetric) key. October 11, 2016 Practical Aspects of Modern Cryptography
47
The Practical Side For efficiency, one generally uses RSA or DH to transmit a private (symmetric) key. The private session key is used to encrypt any subsequent data. October 11, 2016 Practical Aspects of Modern Cryptography
48
The Practical Side For efficiency, one generally uses RSA or DH to transmit a private (symmetric) key. The private session key is used to encrypt any subsequent data. Digital signatures are only used to sign a digest of the message. October 11, 2016 Practical Aspects of Modern Cryptography
49
Public-Key History Whit Diffie and Marty Hellman
1976 New Directions in Cryptography Whit Diffie and Marty Hellman One-Way functions Diffie-Hellman Key Exchange 1978 RSA paper Ron Rivest, Adi Shamir, and Len Adleman RSA Encryption System RSA Digital Signature Mechanism October 11, 2016 Practical Aspects of Modern Cryptography
50
Authenticated Channels
October 11, 2016 Practical Aspects of Modern Cryptography
51
Authenticated Channels
If Alice send a key or other data to Bob using Bobβs certified RSA key, then they have one-sided authentication. October 11, 2016 Practical Aspects of Modern Cryptography
52
Authenticated Channels
If Alice send a key or other data to Bob using Bobβs certified RSA key, then they have one-sided authentication. One-sided authentication is good enough for many applications, but not all. October 11, 2016 Practical Aspects of Modern Cryptography
53
Authenticated Channels
If Alice send a key or other data to Bob using Bobβs certified RSA key, then they have one-sided authentication. One-sided authentication is good enough for many applications, but not all. Alice can take an additional step to authenticate herself to Bob October 11, 2016 Practical Aspects of Modern Cryptography
54
Authenticated Diffie-Hellman
October 11, 2016 Practical Aspects of Modern Cryptography
55
Authenticated Diffie-Hellman
Raw Diffie-Hellman is unauthenticated. October 11, 2016 Practical Aspects of Modern Cryptography
56
Authenticated Diffie-Hellman
Raw Diffie-Hellman is unauthenticated. Several options are available to add one-sided of full authentication. October 11, 2016 Practical Aspects of Modern Cryptography
57
Authenticated Diffie-Hellman
Raw Diffie-Hellman is unauthenticated. Several options are available to add one-sided of full authentication. One or both parties can sign the (unauthenticated) exchanged key. October 11, 2016 Practical Aspects of Modern Cryptography
58
Authenticated Diffie-Hellman
Raw Diffie-Hellman is unauthenticated. Several options are available to add one-sided of full authentication. One or both parties can sign the (unauthenticated) exchanged key. One or both parties can include an authenticate public key in the exchange. October 11, 2016 Practical Aspects of Modern Cryptography
59
Forward Secrecy October 11, 2016
Practical Aspects of Modern Cryptography
60
Forward Secrecy Stuff happens October 11, 2016
Practical Aspects of Modern Cryptography
61
Forward Secrecy Stuff happens β¦ keys get compromised. October 11, 2016
Practical Aspects of Modern Cryptography
62
Forward Secrecy Stuff happens β¦ keys get compromised.
Best practices suggest mitigating damage. October 11, 2016 Practical Aspects of Modern Cryptography
63
Forward Secrecy Stuff happens β¦ keys get compromised.
Best practices suggest mitigating damage. If an RSA decryption key is leaked, β¦ October 11, 2016 Practical Aspects of Modern Cryptography
64
Forward Secrecy Stuff happens β¦ keys get compromised.
Best practices suggest mitigating damage. If an RSA decryption key is leaked, β¦ everything it was ever used for is at risk. October 11, 2016 Practical Aspects of Modern Cryptography
65
Forward Secrecy Stuff happens β¦ keys get compromised.
Best practices suggest mitigating damage. If an RSA decryption key is leaked, β¦ everything it was ever used for is at risk. With DH, a fresh exchange key is generated with each session. October 11, 2016 Practical Aspects of Modern Cryptography
66
Forward Secrecy The principle of forward secrecy is that while a compromised key will reveal all messages from the time of compromise until the keyβs replacement, β¦ October 11, 2016 Practical Aspects of Modern Cryptography
67
Forward Secrecy The principle of forward secrecy is that while a compromised key will reveal all messages from the time of compromise until the keyβs replacement, β¦ it should not reveal data exchanged prior to the keyβs compromise. October 11, 2016 Practical Aspects of Modern Cryptography
68
π mod (πβ1)(πβ1)=1 and 0β€π<π.
Why Does RSA Work? Fact When π=ππ is the product of distinct primes, ππ mod π=π whenever π mod (πβ1)(πβ1)=1 and 0β€π<π. October 11, 2016 Practical Aspects of Modern Cryptography
69
Fermatβs Little Theorem
If π is prime, then π₯ πβ1 mod π=1 for all 0<π₯<π. Equivalently β¦ If π is prime, then π₯π mod π = π₯ mod π for all integers π₯. October 11, 2016 Practical Aspects of Modern Cryptography
70
Proof of Fermatβs Little Theorem
The Binomial Theorem π₯+π¦ π = π=0 π π π π₯ π π¦ πβπ where π π = π! π! πβπ ! October 11, 2016 Practical Aspects of Modern Cryptography
71
Proof of Fermatβs Little Theorem
The Binomial Theorem π₯+π¦ π = π=0 π π π π₯ π π¦ πβπ where π π = π! π! πβπ ! If π is prime, then π π =0 for 0<π<π. October 11, 2016 Practical Aspects of Modern Cryptography
72
Proof of Fermatβs Little Theorem
The Binomial Theorem π₯+π¦ π = π=0 π π π π₯ π π¦ πβπ where π π = π! π! πβπ ! If π is prime, then π π =0 for 0<π<π. Thus, π₯+π¦ π mod π=( π₯ π + π¦ π ) mod π. October 11, 2016 Practical Aspects of Modern Cryptography
73
Proof of Fermatβs Little Theorem
π₯ π mod π=π₯ mod π October 11, 2016 Practical Aspects of Modern Cryptography
74
Proof of Fermatβs Little Theorem
π₯ π mod π=π₯ mod π By induction on π₯β¦ October 11, 2016 Practical Aspects of Modern Cryptography
75
Proof of Fermatβs Little Theorem
π₯ π mod π=π₯ mod π By induction on π₯β¦ Basis October 11, 2016 Practical Aspects of Modern Cryptography
76
Proof of Fermatβs Little Theorem
π₯ π mod π=π₯ mod π By induction on π₯β¦ Basis If π₯=0, then π₯π mod π=0=π₯ mod π. October 11, 2016 Practical Aspects of Modern Cryptography
77
Proof of Fermatβs Little Theorem
π₯ π mod π=π₯ mod π By induction on π₯β¦ Basis If π₯=0, then π₯π mod π=0=π₯ mod π. If π₯=1, then π₯π mod π=1=π₯ mod π. October 11, 2016 Practical Aspects of Modern Cryptography
78
Proof of Fermatβs Little Theorem
Inductive Step October 11, 2016 Practical Aspects of Modern Cryptography
79
Proof of Fermatβs Little Theorem
Inductive Step Assume that π₯π mod π = π₯ mod π. October 11, 2016 Practical Aspects of Modern Cryptography
80
Proof of Fermatβs Little Theorem
Inductive Step Assume that π₯π mod π = π₯ mod π. Then (π₯+1)π mod π=(π₯π+1π) mod π (by the binomial theorem) October 11, 2016 Practical Aspects of Modern Cryptography
81
Proof of Fermatβs Little Theorem
Inductive Step Assume that π₯π mod π = π₯ mod π. Then (π₯+1)π mod π=(π₯π+1π) mod π =(π₯+1) mod π (by inductive hypothesis). October 11, 2016 Practical Aspects of Modern Cryptography
82
Proof of Fermatβs Little Theorem
Inductive Step Assume that π₯π mod π = π₯ mod π. Then (π₯+1)π mod π=(π₯π+1π) mod π =(π₯+1) mod π (by inductive hypothesis). Hence, π₯π mod π=π₯ mod π for integers π₯β₯0. October 11, 2016 Practical Aspects of Modern Cryptography
83
Proof of Fermatβs Little Theorem
Inductive Step Assume that π₯π mod π = π₯ mod π. Then (π₯+1)π mod π=(π₯π+1π) mod π =(π₯+1) mod π (by inductive hypothesis). Hence, π₯π mod π=π₯ mod π for integers π₯β₯0. Also true for negative π₯, since (βπ₯)π=(β1)ππ₯π. October 11, 2016 Practical Aspects of Modern Cryptography
84
Proof of RSA October 11, 2016 Practical Aspects of Modern Cryptography
85
π π mod π=π whenever 0β€π<π
Proof of RSA We have shown β¦ π π mod π=π whenever 0β€π<π and π is prime. October 11, 2016 Practical Aspects of Modern Cryptography
86
Proof of RSA We have shown β¦ π π mod π=π whenever 0β€π<π
and π is prime. This can be generalized to show β¦ π πΎ πβ1 πβ1 +1 mod ππ=π when 0β€π<ππ π and π are distinct primes and πΎβ₯0. October 11, 2016 Practical Aspects of Modern Cryptography
87
Corollary of Fermat π₯π mod π = π₯ mod π β π₯ π πβ1 +1 mod π = π₯ mod π For all prime π and πβ₯0. October 11, 2016 Practical Aspects of Modern Cryptography
88
Finding Primes October 11, 2016
Practical Aspects of Modern Cryptography
89
Finding Primes Euclidβs proof of the infinity of primes
October 11, 2016 Practical Aspects of Modern Cryptography
90
Finding Primes Euclidβs proof of the infinity of primes
Suppose that the set of all primes were finite. October 11, 2016 Practical Aspects of Modern Cryptography
91
Finding Primes Euclidβs proof of the infinity of primes
Suppose that the set of all primes were finite. Let π be the product of all of the primes. October 11, 2016 Practical Aspects of Modern Cryptography
92
Finding Primes Euclidβs proof of the infinity of primes
Suppose that the set of all primes were finite. Let π be the product of all of the primes. Consider π+1. October 11, 2016 Practical Aspects of Modern Cryptography
93
Finding Primes Euclidβs proof of the infinity of primes
Suppose that the set of all primes were finite. Let π be the product of all of the primes. Consider π+1. Is π+1 prime or composite? October 11, 2016 Practical Aspects of Modern Cryptography
94
Finding Primes Euclidβs proof of the infinity of primes
Suppose that the set of all primes were finite. Let π be the product of all of the primes. Consider π+1. Is π+1 prime or composite? The prime factors of π+1 are not among the finite set of primes multiplied to form π. October 11, 2016 Practical Aspects of Modern Cryptography
95
Finding Primes Euclidβs proof of the infinity of primes
Suppose that the set of all primes were finite. Let π be the product of all of the primes. Consider π+1. Is π+1 prime or composite? The prime factors of π+1 are not among the finite set of primes multiplied to form π. So π must be a prime not in the set. October 11, 2016 Practical Aspects of Modern Cryptography
96
Finding Primes Euclidβs proof of the infinity of primes
Suppose that the set of all primes were finite. Let π be the product of all of the primes. Consider π+1. Is π+1 prime or composite? The prime factors of π+1 are not among the finite set of primes multiplied to form π. So π must be a prime not in the set. This contradicts the assumption that the set of all primes is finite. October 11, 2016 Practical Aspects of Modern Cryptography
97
The Prime Number Theorem
October 11, 2016 Practical Aspects of Modern Cryptography
98
The Prime Number Theorem
The number of primes less than π is approximately π ( ln π ) . October 11, 2016 Practical Aspects of Modern Cryptography
99
The Prime Number Theorem
The number of primes less than π is approximately π ( ln π ) . Thus, approximately 1 out of every π randomly selected π-bit integers will be prime. October 11, 2016 Practical Aspects of Modern Cryptography
100
But How Do We Find Primes?
October 11, 2016 Practical Aspects of Modern Cryptography
101
Testing Primality October 11, 2016
Practical Aspects of Modern Cryptography
102
Testing Primality Recall Fermatβs Little Theorem
If π is prime, then π πβ1 mod π=1 for all π in the range 0<π<π. October 11, 2016 Practical Aspects of Modern Cryptography
103
Testing Primality Recall Fermatβs Little Theorem
If π is prime, then π πβ1 mod π=1 for all π in the range 0<π<π. Fact For almost all composite π and π>1, π πβ1 mod πβ 1. October 11, 2016 Practical Aspects of Modern Cryptography
104
The Miller-Rabin Primality Test
October 11, 2016 Practical Aspects of Modern Cryptography
105
The Miller-Rabin Primality Test
To test an integer π for primality, write πβ1 as πβ1=π2π where π is odd. October 11, 2016 Practical Aspects of Modern Cryptography
106
The Miller-Rabin Primality Test
To test an integer π for primality, write πβ1 as πβ1=π2π where π is odd. Repeat several (many) times October 11, 2016 Practical Aspects of Modern Cryptography
107
The Miller-Rabin Primality Test
To test an integer π for primality, write πβ1 as πβ1=π2π where π is odd. Repeat several (many) times Select a random π in 1<π<πβ1 October 11, 2016 Practical Aspects of Modern Cryptography
108
The Miller-Rabin Primality Test
To test an integer π for primality, write πβ1 as πβ1=π2π where π is odd. Repeat several (many) times Select a random π in 1<π<πβ1 Compute π π , π 2π , π 4π , β¦, π (πβ1) 2 all mod π. October 11, 2016 Practical Aspects of Modern Cryptography
109
The Miller-Rabin Primality Test
To test an integer π for primality, write πβ1 as πβ1=π2π where π is odd. Repeat several (many) times Select a random π in 1<π<πβ1 Compute π π , π 2π , π 4π , β¦, π (πβ1) 2 all mod π. If π π =Β±1 or if some π 2 π π =β1, then π is probably prime β continue. October 11, 2016 Practical Aspects of Modern Cryptography
110
The Miller-Rabin Primality Test
To test an integer π for primality, write πβ1 as πβ1=π2π where π is odd. Repeat several (many) times Select a random π in 1<π<πβ1 Compute π π , π 2π , π 4π , β¦, π (πβ1) 2 all mod π. If π π =Β±1 or if some π 2 π π =β1, then π is probably prime β continue. Otherwise, π is composite β stop. October 11, 2016 Practical Aspects of Modern Cryptography
111
Sieving for Primes Sieving out multiples of 2
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 2 October 11, 2016 Practical Aspects of Modern Cryptography
112
Sieving for Primes Sieving out multiples of 2
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 2 October 11, 2016 Practical Aspects of Modern Cryptography
113
Sieving for Primes Sieving out multiples of 2
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 2 October 11, 2016 Practical Aspects of Modern Cryptography
114
Sieving for Primes Sieving out multiples of 2
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 2 October 11, 2016 Practical Aspects of Modern Cryptography
115
Sieving for Primes Sieving out multiples of 2
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 2 October 11, 2016 Practical Aspects of Modern Cryptography
116
Sieving for Primes Sieving out multiples of 2
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 2 October 11, 2016 Practical Aspects of Modern Cryptography
117
Sieving for Primes Sieving out multiples of 2
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 2 October 11, 2016 Practical Aspects of Modern Cryptography
118
Sieving for Primes Sieving out multiples of 3
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 3 October 11, 2016 Practical Aspects of Modern Cryptography
119
Sieving for Primes Sieving out multiples of 3
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 3 October 11, 2016 Practical Aspects of Modern Cryptography
120
Sieving for Primes Sieving out multiples of 3
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 3 October 11, 2016 Practical Aspects of Modern Cryptography
121
Sieving for Primes Sieving out multiples of 3
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 3 October 11, 2016 Practical Aspects of Modern Cryptography
122
Sieving for Primes Sieving out multiples of 3
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 3 October 11, 2016 Practical Aspects of Modern Cryptography
123
Sieving for Primes Sieving out multiples of 5
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 5 October 11, 2016 Practical Aspects of Modern Cryptography
124
Sieving for Primes Sieving out multiples of 5
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 5 October 11, 2016 Practical Aspects of Modern Cryptography
125
Sieving for Primes Sieving out multiples of 5
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 5 October 11, 2016 Practical Aspects of Modern Cryptography
126
Sieving for Primes Sieving out multiples of 5
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 5 October 11, 2016 Practical Aspects of Modern Cryptography
127
Sieving for Primes Sieving out multiples of 5
Pick a random starting point π. N N+1 N+2 N+3 N+4 N+5 N+6 N+7 N+8 N+9 N+10 N+11 Sieving out multiples of 5 Only a few βgoodβ candidate primes will survive. October 11, 2016 Practical Aspects of Modern Cryptography
128
Reprise of RSA Set-Up October 11, 2016
Practical Aspects of Modern Cryptography
129
Reprise of RSA Set-Up Use sieving to find large candidate primes.
October 11, 2016 Practical Aspects of Modern Cryptography
130
Reprise of RSA Set-Up Use sieving to find large candidate primes.
Use Miller-Rabin on candidate primes to find two almost certainly prime integers π and π. October 11, 2016 Practical Aspects of Modern Cryptography
131
Reprise of RSA Set-Up Use sieving to find large candidate primes.
Use Miller-Rabin on candidate primes to find two almost certainly prime integers π and π. Form public modulus π=ππ. October 11, 2016 Practical Aspects of Modern Cryptography
132
Reprise of RSA Set-Up Use sieving to find large candidate primes.
Use Miller-Rabin on candidate primes to find two almost certainly prime integers π and π. Form public modulus π=ππ. Select public exponent π (usually π=65537). October 11, 2016 Practical Aspects of Modern Cryptography
133
Reprise of RSA Set-Up Use sieving to find large candidate primes.
Use Miller-Rabin on candidate primes to find two almost certainly prime integers π and π. Form public modulus π=ππ. Select public exponent π (usually π=65537). Use extended Euclidean algorithm to compute private exponent π= π β1 mod (πβ1)(πβ1). October 11, 2016 Practical Aspects of Modern Cryptography
134
Reprise of RSA Set-Up Use sieving to find large candidate primes.
Use Miller-Rabin on candidate primes to find two almost certainly prime integers π and π. Form public modulus π=ππ. Select public exponent π (usually π=65537). Use extended Euclidean algorithm to compute private exponent π= π β1 mod (πβ1)(πβ1). Publish public key π (and π). October 11, 2016 Practical Aspects of Modern Cryptography
135
Reprise of RSA Encryption
October 11, 2016 Practical Aspects of Modern Cryptography
136
Reprise of RSA Encryption
Use public key to encrypt message 0β€π<π as October 11, 2016 Practical Aspects of Modern Cryptography
137
Reprise of RSA Encryption
Use public key to encrypt message 0β€π<π as πΈ π = π π mod π. October 11, 2016 Practical Aspects of Modern Cryptography
138
Reprise of RSA Encryption
Use public key to encrypt message 0β€π<π as πΈ π = π π mod π. Use private decryption exponent π to decrypt October 11, 2016 Practical Aspects of Modern Cryptography
139
Reprise of RSA Encryption
Use public key to encrypt message 0β€π<π as πΈ π = π π mod π. Use private decryption exponent π to decrypt π· πΈ π = (π π mod π ) π mod π October 11, 2016 Practical Aspects of Modern Cryptography
140
Reprise of RSA Encryption
Use public key to encrypt message 0β€π<π as πΈ π = π π mod π. Use private decryption exponent π to decrypt π· πΈ π = (π π mod π ) π mod π = π ππ mod π October 11, 2016 Practical Aspects of Modern Cryptography
141
Reprise of RSA Encryption
Use public key to encrypt message 0β€π<π as πΈ π = π π mod π. Use private decryption exponent π to decrypt π· πΈ π = (π π mod π ) π mod π = π ππ mod π =π October 11, 2016 Practical Aspects of Modern Cryptography
142
Reprise of RSA Signatures
October 11, 2016 Practical Aspects of Modern Cryptography
143
Reprise of RSA Signatures
Use private decryption exponent π to sign message 0β€π<π as October 11, 2016 Practical Aspects of Modern Cryptography
144
Reprise of RSA Signatures
Use private decryption exponent π to sign message 0β€π<π as π· π = π π mod π. October 11, 2016 Practical Aspects of Modern Cryptography
145
Reprise of RSA Signatures
Use private decryption exponent π to sign message 0β€π<π as π· π = π π mod π. Verify signature by using public key to compute October 11, 2016 Practical Aspects of Modern Cryptography
146
Reprise of RSA Signatures
Use private decryption exponent π to sign message 0β€π<π as π· π = π π mod π. Verify signature by using public key to compute πΈ π· π = (π π mod π ) π mod π October 11, 2016 Practical Aspects of Modern Cryptography
147
Reprise of RSA Signatures
Use private decryption exponent π to sign message 0β€π<π as π· π = π π mod π. Verify signature by using public key to compute πΈ π· π = (π π mod π ) π mod π = π ππ mod π October 11, 2016 Practical Aspects of Modern Cryptography
148
Reprise of RSA Signatures
Use private decryption exponent π to sign message 0β€π<π as π· π = π π mod π. Verify signature by using public key to compute πΈ π· π = (π π mod π ) π mod π = π ππ mod π =π October 11, 2016 Practical Aspects of Modern Cryptography
149
The Digital Signature Algorithm
In 1991, the National Institute of Standards and Technology published a Digital Signature Standard that was intended as an option free of intellectual property constraints. October 11, 2016 Practical Aspects of Modern Cryptography
150
The Digital Signature Algorithm
DSA uses the following parameters Prime π β anywhere from 512 to 1024 bits Prime π β 160 bits such that π divides πβ1 Integer β in the range 1<β<πβ1 Integer π= β (πβ1) π mod π Secret integer π₯ in the range 1<π₯<π Integer π¦= π π₯ mod π October 11, 2016 Practical Aspects of Modern Cryptography
151
The Digital Signature Algorithm
October 11, 2016 Practical Aspects of Modern Cryptography
152
The Digital Signature Algorithm
To sign a 160-bit message π, October 11, 2016 Practical Aspects of Modern Cryptography
153
The Digital Signature Algorithm
To sign a 160-bit message π, Generate a random integer π with 0<π<π, October 11, 2016 Practical Aspects of Modern Cryptography
154
The Digital Signature Algorithm
To sign a 160-bit message π, Generate a random integer π with 0<π<π, Compute π = ( π π mod π) mod π, October 11, 2016 Practical Aspects of Modern Cryptography
155
The Digital Signature Algorithm
To sign a 160-bit message π, Generate a random integer π with 0<π<π, Compute π = ( π π mod π) mod π, Compute π = ((π+π₯π)/π) mod π. October 11, 2016 Practical Aspects of Modern Cryptography
156
The Digital Signature Algorithm
To sign a 160-bit message π, Generate a random integer π with 0<π<π, Compute π = ( π π mod π) mod π, Compute π = ((π+π₯π)/π) mod π. The pair (π,π ) is the signature on π. October 11, 2016 Practical Aspects of Modern Cryptography
157
The Digital Signature Algorithm
October 11, 2016 Practical Aspects of Modern Cryptography
158
The Digital Signature Algorithm
A signature (π,π ) on π is verified as follows: October 11, 2016 Practical Aspects of Modern Cryptography
159
The Digital Signature Algorithm
A signature (π,π ) on π is verified as follows: Compute π€ = 1/π πππ π, October 11, 2016 Practical Aspects of Modern Cryptography
160
The Digital Signature Algorithm
A signature (π,π ) on π is verified as follows: Compute π€ = 1/π πππ π, Compute π = π€π πππ π, October 11, 2016 Practical Aspects of Modern Cryptography
161
The Digital Signature Algorithm
A signature (π,π ) on π is verified as follows: Compute π€ = 1/π πππ π, Compute π = π€π πππ π, Compute π = π€π πππ π, October 11, 2016 Practical Aspects of Modern Cryptography
162
The Digital Signature Algorithm
A signature (π,π ) on π is verified as follows: Compute π€ = 1/π πππ π, Compute π = π€π πππ π, Compute π = π€π πππ π, Compute π£ = ( π π π¦ π mod π) mod π. October 11, 2016 Practical Aspects of Modern Cryptography
163
The Digital Signature Algorithm
A signature (π,π ) on π is verified as follows: Compute π€ = 1/π πππ π, Compute π = π€π πππ π, Compute π = π€π πππ π, Compute π£ = ( π π π¦ π mod π) mod π. Accept the signature only if π£ = π. October 11, 2016 Practical Aspects of Modern Cryptography
164
Elliptic Curve Cryptosystems
October 11, 2016 Practical Aspects of Modern Cryptography
165
Elliptic Curve Cryptosystems
An elliptic curve October 11, 2016 Practical Aspects of Modern Cryptography
166
Elliptic Curve Cryptosystems
An elliptic curve π¦ 2 = π₯ 3 +π΄π₯+π΅ October 11, 2016 Practical Aspects of Modern Cryptography
167
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves October 11, 2016
Practical Aspects of Modern Cryptography
168
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves October 11, 2016
Practical Aspects of Modern Cryptography
169
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves y x October 11, 2016
Practical Aspects of Modern Cryptography
170
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves y x October 11, 2016
Practical Aspects of Modern Cryptography
171
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves y x October 11, 2016
Practical Aspects of Modern Cryptography
172
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves y x October 11, 2016
Practical Aspects of Modern Cryptography
173
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves y x October 11, 2016
Practical Aspects of Modern Cryptography
174
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves y x October 11, 2016
Practical Aspects of Modern Cryptography
175
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves y x October 11, 2016
Practical Aspects of Modern Cryptography
176
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves y x October 11, 2016
Practical Aspects of Modern Cryptography
177
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Curves y x October 11, 2016
Practical Aspects of Modern Cryptography
178
Elliptic Curves Intersecting Lines
π¦ 2 = π₯ 3 +π΄π₯+π΅ y x π¦=ππ₯+π October 11, 2016 Practical Aspects of Modern Cryptography
179
Elliptic Curves Intersecting Lines
Non-vertical Lines π¦ 2 = π₯ 3 +π΄π₯+π΅ π¦=ππ₯+π ππ₯+π 2 = π₯ 3 +π΄π₯+π΅ π₯ 3 + π΄ β² π₯ 2 + π΅ β² π₯+ πΆ β² =0 October 11, 2016 Practical Aspects of Modern Cryptography
180
Elliptic Curves Intersecting Lines
π₯ 3 + π΄ β² π₯ 2 + π΅ β² π₯+ πΆ β² =0 y x October 11, 2016 Practical Aspects of Modern Cryptography
181
Elliptic Curves Intersecting Lines
π₯ 3 + π΄ β² π₯ 2 + π΅ β² π₯+ πΆ β² =0 y x 3 solutions October 11, 2016 Practical Aspects of Modern Cryptography
182
Elliptic Curves Intersecting Lines
π₯ 3 + π΄ β² π₯ 2 + π΅ β² π₯+ πΆ β² =0 y x 1 solution October 11, 2016 Practical Aspects of Modern Cryptography
183
Elliptic Curves Intersecting Lines
π₯ 3 + π΄ β² π₯ 2 + π΅ β² π₯+ πΆ β² =0 y x 1 solution October 11, 2016 Practical Aspects of Modern Cryptography
184
Elliptic Curves Intersecting Lines
π₯ 3 + π΄ β² π₯ 2 + π΅ β² π₯+ πΆ β² =0 y x 2 solutions October 11, 2016 Practical Aspects of Modern Cryptography
185
Elliptic Curves Intersecting Lines
Non-vertical Lines 1 intersection point (typical case) 2 intersection points (tangent case) 3 intersection points (typical case) October 11, 2016 Practical Aspects of Modern Cryptography
186
Elliptic Curves Intersecting Lines
Vertical Lines π¦ 2 = π₯ 3 +π΄π₯+π΅ π₯=π π¦ 2 = π 3 +π΄π+π΅ π¦ 2 = πΆ β² October 11, 2016 Practical Aspects of Modern Cryptography
187
Elliptic Curves Intersecting Lines
Vertical Lines 0 intersection point (typical case) 1 intersection points (tangent case) 2 intersection points (typical case) October 11, 2016 Practical Aspects of Modern Cryptography
188
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups y x October 11, 2016
Practical Aspects of Modern Cryptography
189
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups y x October 11, 2016
Practical Aspects of Modern Cryptography
190
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups π¦=ππ₯+π y x October 11, 2016
Practical Aspects of Modern Cryptography
191
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups π¦=ππ₯+π y x October 11, 2016
Practical Aspects of Modern Cryptography
192
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups π¦=ππ₯+π y x October 11, 2016
Practical Aspects of Modern Cryptography
193
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups π¦=ππ₯+π y x October 11, 2016
Practical Aspects of Modern Cryptography
194
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups y x October 11, 2016
Practical Aspects of Modern Cryptography
195
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups π¦=ππ₯+π y x October 11, 2016
Practical Aspects of Modern Cryptography
196
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups π¦=ππ₯+π y x October 11, 2016
Practical Aspects of Modern Cryptography
197
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups y x October 11, 2016
Practical Aspects of Modern Cryptography
198
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups π₯=π y x October 11, 2016
Practical Aspects of Modern Cryptography
199
Elliptic Groups Add an βartificialβ point πΌ to handle the vertical line case. This point πΌ also serves as the group identity value. October 11, 2016 Practical Aspects of Modern Cryptography
200
π¦ 2 = π₯ 3 +π΄π₯+π΅ Elliptic Groups π₯=π y x October 11, 2016
Practical Aspects of Modern Cryptography
201
Elliptic Groups π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=( π₯ 3 , π¦ 3 )
π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=( π₯ 3 , π¦ 3 ) π₯ 3 = π¦ 2 β π¦ 1 π₯ 2 β π₯ β π₯ 1 β π₯ 2 π¦3= βπ¦ π¦ 2 β π¦ 1 π₯ 2 β π₯ 1 ( π₯ 1 β π₯ 3 ) when π₯ 1 β π₯ 2 October 11, 2016 Practical Aspects of Modern Cryptography
202
Elliptic Groups π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=( π₯ 3 , π¦ 3 )
π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=( π₯ 3 , π¦ 3 ) π₯ 3 = 3 π₯ 1 2 +π΄ 2π¦1 2 β2 π₯ 1 π¦3=β π¦ π₯ 1 2 +π΄ 2 π¦ 1 ( π₯ 1 β π₯ 3 ) when π₯ 1 = π₯ 2 and π¦ 1 = π¦ 2 β 0 October 11, 2016 Practical Aspects of Modern Cryptography
203
Elliptic Groups π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=πΌ when π₯ 1 = π₯ 2
π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=πΌ when π₯ 1 = π₯ 2 but π¦ 1 β π¦2 or π¦ 1 = π¦ 2 =0 π₯ 1 , π¦ 1 ΓπΌ= π₯ 1 , π¦ 1 =πΌΓ( π₯ 1 , π¦ 1 ) πΌΓπΌ=πΌ October 11, 2016 Practical Aspects of Modern Cryptography
204
Finite Elliptic Groups
October 11, 2016 Practical Aspects of Modern Cryptography
205
Finite Elliptic Groups
The equations use basic arithmetic operations (addition, subtraction, multiplication, and division) on real values. October 11, 2016 Practical Aspects of Modern Cryptography
206
Finite Elliptic Groups
The equations use basic arithmetic operations (addition, subtraction, multiplication, and division) on real values. But we know how to do modular operations, so we can do the same computations modulo a prime π. October 11, 2016 Practical Aspects of Modern Cryptography
207
The Elliptic Group πΈ π (π΄,π΅)
π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=( π₯ 3 , π¦ 3 ) π₯ 3 = π¦ 2 β π¦ 1 π₯ 2 β π₯ β π₯ 1 β π₯ 2 π¦3= βπ¦ π¦ 2 β π¦ 1 π₯ 2 β π₯ 1 ( π₯ 1 β π₯ 3 ) when π₯ 1 β π₯ 2 October 11, 2016 Practical Aspects of Modern Cryptography
208
The Elliptic Group πΈ π (π΄,π΅)
π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=( π₯ 3 , π¦ 3 ) π₯ 3 = π¦ 2 β π¦ 1 π₯ 2 β π₯ β π₯ 1 β π₯ 2 mod π π¦3= βπ¦ π¦ 2 β π¦ 1 π₯ 2 β π₯ π₯ 1 β π₯ 3 mod π when π₯ 1 β π₯ 2 October 11, 2016 Practical Aspects of Modern Cryptography
209
The Elliptic Group πΈ π (π΄,π΅)
π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=( π₯ 3 , π¦ 3 ) π₯ 3 = 3 π₯ 1 2 +π΄ 2π¦1 2 β2 π₯ 1 π¦3=β π¦ π₯ 1 2 +π΄ 2 π¦ 1 ( π₯ 1 β π₯ 3 ) when π₯ 1 = π₯ 2 and π¦ 1 = π¦ 2 β 0 October 11, 2016 Practical Aspects of Modern Cryptography
210
The Elliptic Group πΈ π (π΄,π΅)
π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=( π₯ 3 , π¦ 3 ) π₯ 3 = 3 π₯ 1 2 +π΄ 2π¦1 2 β2 π₯ 1 mod π π¦3=β π¦ π₯ 1 2 +π΄ 2 π¦ π₯ 1 β π₯ 3 mod π when π₯ 1 = π₯ 2 and π¦ 1 = π¦ 2 β 0 October 11, 2016 Practical Aspects of Modern Cryptography
211
The Elliptic Group πΈ π (π΄,π΅)
π₯ 1 , π¦ 1 Γ( π₯ 2 , π¦ 2 )=πΌ when π₯ 1 = π₯ 2 but π¦ 1 β π¦2 or π¦ 1 = π¦ 2 =0 π₯ 1 , π¦ 1 ΓπΌ= π₯ 1 , π¦ 1 =πΌΓ( π₯ 1 , π¦ 1 ) πΌΓπΌ=πΌ October 11, 2016 Practical Aspects of Modern Cryptography
212
The Fundamental Equation
π= π π mod π π October 11, 2016 Practical Aspects of Modern Cryptography
213
The Fundamental Equation
π= π π in πΈ π (π΄,π΅) October 11, 2016 Practical Aspects of Modern Cryptography
214
The Fundamental Equation
π= π π in πΈ π (π΄,π΅) When π is unknown, it can be efficiently computed by repeated squaring. October 11, 2016 Practical Aspects of Modern Cryptography
215
The Fundamental Equation
π= π π in πΈ π (π΄,π΅) When π is unknown, this version of the discrete logarithm is believed to be quite hard to solve. October 11, 2016 Practical Aspects of Modern Cryptography
216
The Fundamental Equation
π= π π in πΈ π (π΄,π΅) When π is unknown, it can be efficiently computed by βsophisticatedβ means. October 11, 2016 Practical Aspects of Modern Cryptography
217
Diffie-Hellman Key Exchange
Alice Randomly select a large integer π. Send π΄= π π mod π. Compute the key πΎ= π΅ π mod π. Bob Randomly select a large integer π. Send π΅= π π mod π. Compute the key πΎ= π΄ π mod π. π΅ π = π ππ = π ππ = π΄ π October 11, 2016 Practical Aspects of Modern Cryptography
218
Diffie-Hellman Key Exchange
Alice Randomly select a large integer π. Send π΄= π π in πΈ π (π΄,π΅). Compute the key πΎ= π΅ π in πΈ π (π΄,π΅). Bob Randomly select a large integer π. Send π΅= π π in πΈ π (π΄,π΅). Compute the key πΎ= π΄ π in πΈ π (π΄,π΅). π΅ π = π ππ = π ππ = π΄ π October 11, 2016 Practical Aspects of Modern Cryptography
219
DSA on Elliptic Curves October 11, 2016
Practical Aspects of Modern Cryptography
220
DSA on Elliptic Curves Almost identical to DSA over the integers.
October 11, 2016 Practical Aspects of Modern Cryptography
221
DSA on Elliptic Curves Almost identical to DSA over the integers.
Replace operations mod π and π with operations in πΈ π (π΄,π΅) and πΈ π (π΄,π΅). October 11, 2016 Practical Aspects of Modern Cryptography
222
Why use Elliptic Curves?
October 11, 2016 Practical Aspects of Modern Cryptography
223
Why use Elliptic Curves?
The best currently known algorithm for EC discrete logarithms would take about as long to find a 256-bit EC discrete log as the best currently known algorithm for integer discrete logarithms would take to find a 3072-bit discrete log. October 11, 2016 Practical Aspects of Modern Cryptography
224
Why use Elliptic Curves?
The best currently known algorithm for EC discrete logarithms would take about as long to find a 256-bit EC discrete log as the best currently known algorithm for integer discrete logarithms would take to find a 3072-bit discrete log. 256-bit EC algorithms are somewhat faster and use shorter keys than 3072-bit βtraditionalβ algorithms. October 11, 2016 Practical Aspects of Modern Cryptography
225
Why not use Elliptic Curves?
October 11, 2016 Practical Aspects of Modern Cryptography
226
Why not use Elliptic Curves?
EC discrete logarithms have been studied far less than integer discrete logarithms. October 11, 2016 Practical Aspects of Modern Cryptography
227
Why not use Elliptic Curves?
EC discrete logarithms have been studied far less than integer discrete logarithms. It is likely that a fundamental break in integer discrete logs would also yield a fundamental break in EC discrete logs, although the reverse may not be true. October 11, 2016 Practical Aspects of Modern Cryptography
228
Why not use Elliptic Curves?
EC discrete logarithms have been studied far less than integer discrete logarithms. It is likely that a fundamental break in integer discrete logs would also yield a fundamental break in EC discrete logs, although the reverse may not be true. Basic EC operations are more cumbersome than integer operations, so EC is only faster if the keys are much smaller. October 11, 2016 Practical Aspects of Modern Cryptography
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.