Download presentation
Presentation is loading. Please wait.
1
Josh Benaloh Brian LaMacchia Winter 2011
2
January 6, 2011Practical Aspects of Modern Cryptography Cryptography is... Protecting Privacy of Data Authentication of Identities Preservation of Integrity … basically any protocols designed to operate in an environment absent of universal trust. 2
3
January 6, 2011Practical Aspects of Modern Cryptography Characters 3
4
January 6, 2011Practical Aspects of Modern Cryptography Characters Alice 4
5
January 6, 2011Practical Aspects of Modern Cryptography Characters Bob 5
6
January 6, 2011Practical Aspects of Modern Cryptography Basic Communication Alice talking to Bob 6
7
January 6, 2011Practical Aspects of Modern Cryptography Another Character Eve 7
8
January 6, 2011Practical Aspects of Modern Cryptography Basic Communication Problem Eve listening to Alice talking to Bob 8
9
January 6, 2011Practical Aspects of Modern Cryptography Two-Party Environments Alice Bob 9
10
January 6, 2011Practical Aspects of Modern Cryptography Remote Coin Flipping Alice and Bob decide to make a decision by flipping a coin. Alice and Bob are not in the same place. 10
11
January 6, 2011Practical Aspects of Modern Cryptography Ground Rule Protocol must be asynchronous. We cannot assume simultaneous actions. Players must take turns. 11
12
January 6, 2011Practical Aspects of Modern Cryptography Is Remote Coin Flipping Possible? 12
13
January 6, 2011Practical Aspects of Modern Cryptography Is Remote Coin Flipping Possible? Two-part answer: 13
14
January 6, 2011Practical Aspects of Modern Cryptography Is Remote Coin Flipping Possible? Two-part answer: NO – I will sketch a formal proof. 14
15
January 6, 2011Practical Aspects of Modern Cryptography Is Remote Coin Flipping Possible? Two-part answer: NO – I will sketch a formal proof. YES – I will provide an effective protocol. 15
16
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: 16
17
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: B B A BA A B BAB B B BA BA BB A AB 17
18
January 6, 2011Practical Aspects of Modern Cryptography Pruning the Tree A B A B A BB A 18
19
January 6, 2011Practical Aspects of Modern Cryptography Pruning the Tree A B A B A: B: 19
20
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: B B A BA A B BAB B B BA BA BB A AB 20
21
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: B B A BA A BB B BA BA BB A AB 21
22
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: B B A BA A BB B BA BA BBB 22
23
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: B A BA A BB B BA BA BBB 23
24
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: B A BA A B BA BA BBB 24
25
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: B A BA A B A BA BBB 25
26
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: B A BA A B A BA B 26
27
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: B A A B A BA B 27
28
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: BA B A BA B 28
29
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: BAB BA B 29
30
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: BABB 30
31
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A: B: A: B: A 31
32
January 6, 2011Practical Aspects of Modern Cryptography A Protocol Flow Tree A 32
33
January 6, 2011Practical Aspects of Modern Cryptography Completing the Pruning When the pruning is complete one will end up with either 33
34
January 6, 2011Practical Aspects of Modern Cryptography Completing the Pruning When the pruning is complete one will end up with either a winner before the protocol has begun, or 34
35
January 6, 2011Practical Aspects of Modern Cryptography Completing the Pruning When the pruning is complete one will end up with either a winner before the protocol has begun, or a useless infinite game. 35
36
January 6, 2011Practical Aspects of Modern Cryptography Conclusion of Part I Remote coin flipping is utterly impossible!!! 36
37
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin 37
38
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin The INTEGERS 38
39
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin The INTEGERS 0 4 8 12 16 … 39
40
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin The INTEGERS 0 4 8 12 16 … 1 5 9 13 17 … 40
41
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin The INTEGERS 0 4 8 12 16 … 1 5 9 13 17 … 2 6 10 14 18 … 41
42
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin The INTEGERS 0 4 8 12 16 … 1 5 9 13 17 … 2 6 10 14 18 … 3 7 11 15 19 … 42
43
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin The INTEGERS 0 4 8 12 16 … 1 5 9 13 17 … 2 6 10 14 18 … 3 7 11 15 19 … Even 43
44
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin The INTEGERS 0 4 8 12 16 … 1 5 9 13 17 … 2 6 10 14 18 … 3 7 11 15 19 … 4n + 1: 4n - 1: 44
45
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin The INTEGERS 0 4 8 12 16 … 1 5 9 13 17 … 2 6 10 14 18 … 3 7 11 15 19 … Type +1: Type - 1: 45
46
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Fact 1 Multiplying two (odd) integers of the same type always yields a product of Type +1. (4p+1)(4q+1) = 16pq+4p+4q+1 = 4(4pq+p+q)+1 (4p–1)(4q–1) = 16pq–4p–4q+1 = 4(4pq–p–q)+1 46
47
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Fact 2 There is no known method (other than factoring) to distinguish a product of two “Type +1” integers from a product of two “Type –1” integers. 47
48
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Fact 3 Factoring large integers is believed to be much harder than multiplying large integers. 48
49
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin 49
50
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin AliceBob 50
51
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Alice Randomly select a bit b { 1} and two large integers P and Q – both of type b. Bob 51
52
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Alice Randomly select a bit b { 1} and two large integers P and Q – both of type b. Compute N = PQ. Bob 52
53
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Alice Randomly select a bit b { 1} and two large integers P and Q – both of type b. Compute N = PQ. Send N to Bob. Bob 53
54
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Alice Bob N 54
55
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Alice Randomly select a bit b { 1} and two large integers P and Q – both of type b. Compute N = PQ. Send N to Bob. Bob 55
56
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Bob After receiving N from Alice, guess the value of b and send this guess to Alice. Alice Randomly select a bit b { 1} and two large integers P and Q – both of type b. Compute N = PQ. Send N to Bob. 56
57
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Alice Bob b 57
58
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Bob After receiving N from Alice, guess the value of b and send this guess to Alice. Alice Randomly select a bit b { 1} and two large integers P and Q – both of type b. Compute N = PQ. Send N to Bob. 58
59
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Bob After receiving N from Alice, guess the value of b and send this guess to Alice. Bob wins if and only if he correctly guesses the value of b. Alice Randomly select a bit b { 1} and two large integers P and Q – both of type b. Compute N = PQ. Send N to Bob. 59
60
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Bob After receiving N from Alice, guess the value of b and send this guess to Alice. Bob wins if and only if he correctly guesses the value of b. Alice Randomly select a bit b { 1} and two large integers P and Q – both of type b. Compute N = PQ. Send N to Bob. After receiving b from Bob, reveal P and Q. 60
61
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Alice Bob P,QP,Q 61
62
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Bob After receiving N from Alice, guess the value of b and send this guess to Alice. Bob wins if and only if he correctly guesses the value of b. Alice Randomly select a bit b { 1} and two large integers P and Q – both of type b. Compute N = PQ. Send N to Bob. After receiving b from Bob, reveal P and Q. 62
63
January 6, 2011Practical Aspects of Modern Cryptography Let’s Play The INTEGERS 0 4 8 12 16 … 1 5 9 13 17 … 2 6 10 14 18 … 3 7 11 15 19 … Type +1: Type - 1: 63
64
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Bob After receiving N from Alice, guess the value of b and send this guess to Alice. Bob wins if and only if he correctly guesses the value of b. Alice Randomly select a bit b { 1} and two large integers P and Q – both of type b. Compute N = PQ. Send N to Bob. After receiving b from Bob, reveal P and Q. 64
65
January 6, 2011Practical Aspects of Modern Cryptography How to Remotely Flip a Coin Bob After receiving N from Alice, guess the value of b and send this guess to Alice. Bob wins if and only if he correctly guesses the value of b. Alice Randomly select a bit b { 1} and two large primes P and Q – both of type b. Compute N = PQ. Send N to Bob. After receiving b from Bob, reveal P and Q. 65
66
January 6, 2011Practical Aspects of Modern Cryptography Checking Primality Basic result from group theory – If p is a prime, then for integers a such that 0 < a < p, then a p - 1 mod p = 1. This is almost never true when p is composite. 66
67
January 6, 2011Practical Aspects of Modern Cryptography How are the Answers Reconciled? 67
68
January 6, 2011Practical Aspects of Modern Cryptography The impossibility proof assumed unlimited computational ability. How are the Answers Reconciled? 68
69
January 6, 2011Practical Aspects of Modern Cryptography The impossibility proof assumed unlimited computational ability. The protocol is not 50/50 – Bob has a small advantage. How are the Answers Reconciled? 69
70
January 6, 2011Practical Aspects of Modern Cryptography Applications of Remote Flipping Remote Card Playing Internet Gambling Various “Fair” Agreement Protocols 70
71
January 6, 2011Practical Aspects of Modern Cryptography Bit Commitment We have implemented remote coin flipping via bit commitment. Commitment protocols can also be used for Sealed bidding Undisclosed contracts Authenticated predictions 71
72
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions We have implemented bit commitment via one-way functions. One-way functions can be used for Authentication Data integrity Strong “randomness” 72
73
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions 73
74
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions Two basic classes of one-way functions 74
75
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions Two basic classes of one-way functions Mathematical 75
76
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions Two basic classes of one-way functions Mathematical Multiplication: Z=X Y 76
77
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions Two basic classes of one-way functions Mathematical Multiplication: Z=X Y Modular Exponentiation: Z = Y X mod N 77
78
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions Two basic classes of one-way functions Mathematical Multiplication: Z=X×Y Modular Exponentiation: Z = Y X mod N Ugly 78
79
January 6, 2011Practical Aspects of Modern Cryptography The Fundamental Equation Z=Y X mod N 79
80
January 6, 2011Practical Aspects of Modern Cryptography Modular Arithmetic 80
81
Modular Arithmetic Z mod N is the integer remainder when Z is divided by N. January 6, 2011Practical Aspects of Modern Cryptography81
82
Modular Arithmetic Z mod N is the integer remainder when Z is divided by N. The Division Theorem For all integers Z and N>0, there exist unique integers Q and R such that Z = Q N + R and 0 R N. January 6, 2011Practical Aspects of Modern Cryptography82
83
Modular Arithmetic Z mod N is the integer remainder when Z is divided by N. The Division Theorem For all integers Z and N>0, there exist unique integers Q and R such that Z = Q N + R and 0 R N. By definition, this unique R = Z mod N. January 6, 2011Practical Aspects of Modern Cryptography83
84
January 6, 2011Practical Aspects of Modern Cryptography Modular Arithmetic To compute (A+B) mod N, compute (A+B) and take the result mod N. 84
85
January 6, 2011Practical Aspects of Modern Cryptography Modular Arithmetic To compute (A+B) mod N, compute (A+B) and take the result mod N. To compute (A-B) mod N, compute (A-B) and take the result mod N. 85
86
January 6, 2011Practical Aspects of Modern Cryptography Modular Arithmetic To compute (A+B) mod N, compute (A+B) and take the result mod N. To compute (A-B) mod N, compute (A-B) and take the result mod N. To compute (A×B) mod N, compute (A×B) and take the result mod N. 86
87
January 6, 2011Practical Aspects of Modern Cryptography Modular Arithmetic To compute (A+B) mod N, compute (A+B) and take the result mod N. To compute (A-B) mod N, compute (A-B) and take the result mod N. To compute (A×B) mod N, compute (A×B) and take the result mod N. To compute (A÷B) mod N, … 87
88
January 6, 2011Practical Aspects of Modern Cryptography Modular Division 88
89
January 6, 2011Practical Aspects of Modern Cryptography Modular Division What is the value of (1÷2) mod 7? We need a solution to 2x mod 7 = 1. 89
90
January 6, 2011Practical Aspects of Modern Cryptography Modular Division What is the value of (1÷2) mod 7? We need a solution to 2x mod 7 = 1. Try x = 4. 90
91
January 6, 2011Practical Aspects of Modern Cryptography Modular Division What is the value of (1÷2) mod 7? We need a solution to 2x mod 7 = 1. Try x = 4. What is the value of (7÷5) mod 11? We need a solution to 5x mod 11 = 7. 91
92
January 6, 2011Practical Aspects of Modern Cryptography Modular Division What is the value of (1÷2) mod 7? We need a solution to 2x mod 7 = 1. Try x = 4. What is the value of (7÷5) mod 11? We need a solution to 5x mod 11 = 7. Try x = 8. 92
93
January 6, 2011Practical Aspects of Modern Cryptography Modular Division 93
94
January 6, 2011Practical Aspects of Modern Cryptography Modular Division Is modular division always well-defined? 94
95
January 6, 2011Practical Aspects of Modern Cryptography Modular Division Is modular division always well-defined? (1÷3) mod 6 = ? 95
96
January 6, 2011Practical Aspects of Modern Cryptography Modular Division Is modular division always well-defined? (1÷3) mod 6 = ? 3x mod 6 = 1 has no solution! 96
97
January 6, 2011Practical Aspects of Modern Cryptography Modular Division Is modular division always well-defined? (1÷3) mod 6 = ? 3x mod 6 = 1 has no solution! Fact (A÷B) mod N always has a solution when gcd(B,N) = 1. 97
98
January 6, 2011Practical Aspects of Modern Cryptography Modular Division Fact 1 (A÷B) mod N always has a solution when gcd(B,N) = 1. 98
99
January 6, 2011Practical Aspects of Modern Cryptography Modular Division Fact 1 (A÷B) mod N always has a solution when gcd(B,N) = 1. Fact 2 (A÷B) mod N never has a solution when gcd(A,B) = 1 and gcd(B,N) ≠ 1. 99
100
January 6, 2011Practical Aspects of Modern Cryptography Greatest Common Divisors 100
101
January 6, 2011Practical Aspects of Modern Cryptography Greatest Common Divisors gcd(A, B) = gcd(B, A – B) 101
102
January 6, 2011Practical Aspects of Modern Cryptography Greatest Common Divisors gcd(A, B) = gcd(B, A – B) since any common factor of A and B is also a factor of A – B and since any common factor of B and A – B is also a factor of A. 102
103
January 6, 2011Practical Aspects of Modern Cryptography Greatest Common Divisors gcd(A, B) = gcd(B, A – B) gcd(21,12) = gcd(12,9) = gcd(9,3) = gcd(3,6) = gcd(6,3) = gcd(3,3) = gcd(3,0) = 3 103
104
January 6, 2011Practical Aspects of Modern Cryptography Greatest Common Divisors gcd(A, B) = gcd(B, A – B) 104
105
January 6, 2011Practical Aspects of Modern Cryptography Greatest Common Divisors gcd(A, B) = gcd(B, A – B) gcd(A, B) = gcd(B, A – kB) for any integer k. 105
106
January 6, 2011Practical Aspects of Modern Cryptography Greatest Common Divisors gcd(A, B) = gcd(B, A – B) gcd(A, B) = gcd(B, A – kB) for any integer k. gcd(A, B) = gcd(B, A mod B) 106
107
January 6, 2011Practical Aspects of Modern Cryptography Greatest Common Divisors gcd(A, B) = gcd(B, A – B) gcd(A, B) = gcd(B, A – kB) for any integer k. gcd(A, B) = gcd(B, A mod B) gcd(21,12) = gcd(12,9) = gcd(9,3) = gcd(3,0) = 3 107
108
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm Given integers A and B, find integers X and Y such that AX + BY = gcd(A,B). 108
109
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm Given integers A and B, find integers X and Y such that AX + BY = gcd(A,B). When gcd(A,B) = 1, solve AX mod B = 1, by finding X and Y such that AX + BY = gcd(A,B) = 1. 109
110
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm Given integers A and B, find integers X and Y such that AX + BY = gcd(A,B). When gcd(A,B) = 1, solve AX mod B = 1, by finding X and Y such that AX + BY = gcd(A,B) = 1. Compute (C÷A) mod B as C×(1÷A) mod B. 110
111
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm gcd(35, 8) = gcd(8, 35 mod 8) = gcd(8, 3) = gcd(3, 8 mod 3) = gcd(3, 2) = gcd(2, 3 mod 2) = gcd(2, 1) = gcd(1, 2 mod 1) = gcd(1, 0) = 1 111
112
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm 35 = 8 4 + 3 112
113
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm 35 = 8 4 + 3 8 = 3 2 + 2 113
114
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm 35 = 8 4 + 3 8 = 3 2 + 2 3 = 2 1 + 1 114
115
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm 35 = 8 4 + 3 8 = 3 2 + 2 3 = 2 1 + 1 2 = 1 2 + 0 115
116
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm 35 = 8 4 + 3 3 = 35 – 8 4 8 = 3 2 + 2 2 = 8 – 3 2 3 = 2 1 + 1 1 = 3 – 2 1 2 = 1 2 + 0 116
117
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm 3 = 35 – 8 4 2 = 8 – 3 2 1 = 3 – 2 1 117
118
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm 3 = 35 – 8 4 2 = 8 – 3 2 1 = 3 – 2 1 = (35 – 8 4) – (8 – 3 2) 1 118
119
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm 3 = 35 – 8 4 2 = 8 – 3 2 1 = 3 – 2 1 = (35 – 8 4) – (8 – 3 2) 1 = (35 – 8 4) – (8 – (35 – 8 4) 2) 1 119
120
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm 3 = 35 – 8 4 2 = 8 – 3 2 1 = 3 – 2 1 = (35 – 8 4) – (8 – 3 2) 1 = (35 – 8 4) – (8 – (35 – 8 4) 2) 1 = 35 3 – 8 13 120
121
January 6, 2011Practical Aspects of Modern Cryptography Extended Euclidean Algorithm 121
122
January 6, 2011Practical Aspects of Modern Cryptography The Fundamental Equation Z=Y X mod N 122
123
January 6, 2011Practical Aspects of Modern Cryptography The Fundamental Equation Z=Y X mod N When Z is unknown, it can be efficiently computed. 123
124
January 6, 2011Practical Aspects of Modern Cryptography The Fundamental Equation Z=Y X mod N When X is unknown, the problem is known as the discrete logarithm and is generally believed to be hard to solve. 124
125
January 6, 2011Practical Aspects of Modern Cryptography The Fundamental Equation Z=Y X mod N When Y is unknown, the problem is known as discrete root finding and is generally believed to be hard to solve... 125
126
January 6, 2011Practical Aspects of Modern Cryptography The Fundamental Equation Z=Y X mod N … unless the factorization of N is known. 126
127
January 6, 2011Practical Aspects of Modern Cryptography The Fundamental Equation Z=Y X mod N The problem is not well-studied for the case when N is unknown. 127
128
January 6, 2011Practical Aspects of Modern Cryptography Implementation Z=Y X mod N 128
129
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N 129
130
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Compute Y X and then reduce mod N. 130
131
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Compute Y X and then reduce mod N. If X, Y, and N each are 2,048-bit integers, Y X consists of ~2 2059 bits. 131
132
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Compute Y X and then reduce mod N. If X, Y, and N each are 2,048-bit integers, Y X consists of ~2 2059 bits. Since there are roughly 2 250 particles in the universe, storage is a problem. 132
133
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N 133
134
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Repeatedly multiplying by Y (followed each time by a reduction modulo N) X times solves the storage problem. 134
135
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Repeatedly multiplying by Y (followed each time by a reduction modulo N) X times solves the storage problem. However, we would need to perform ~2 900 64-bit multiplications per second to complete the computation before the sun burns out. 135
136
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N 136
137
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Multiplication by Repeated Doubling 137
138
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Multiplication by Repeated Doubling To compute X × Y, 138
139
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Multiplication by Repeated Doubling To compute X × Y, compute Y, 2Y, 4Y, 8Y, 16Y,… 139
140
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Multiplication by Repeated Doubling To compute X × Y, compute Y, 2Y, 4Y, 8Y, 16Y,… and sum up those values dictated by the binary representation of X. 140
141
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Multiplication by Repeated Doubling To compute X × Y, compute Y, 2Y, 4Y, 8Y, 16Y,… and sum up those values dictated by the binary representation of X. Example: 26Y = 2Y + 8Y + 16Y. 141
142
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N 142
143
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Exponentiation by Repeated Squaring 143
144
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Exponentiation by Repeated Squaring To compute Y X, 144
145
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Exponentiation by Repeated Squaring To compute Y X, compute Y, Y 2, Y 4, Y 8, Y 16, … 145
146
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Exponentiation by Repeated Squaring To compute Y X, compute Y, Y 2, Y 4, Y 8, Y 16, … and multiply those values dictated by the binary representation of X. 146
147
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N Exponentiation by Repeated Squaring To compute Y X, compute Y, Y 2, Y 4, Y 8, Y 16, … and multiply those values dictated by the binary representation of X. Example: Y 26 = Y 2 × Y 8 × Y 16. 147
148
January 6, 2011Practical Aspects of Modern Cryptography How to compute Y X mod N We can now perform a 2,048-bit modular exponentiation using ~3,072 2,048-bit modular multiplications. 2,048 squarings: y, y 2, y 4, …, y 2 2048 ~1024 “ordinary” multiplications 148
149
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Operations Addition and Subtraction Multiplication Division and Remainder (Mod N) Exponentiation 149
150
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Addition + 150
151
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Addition + 151
152
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Addition + 152
153
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Addition + 153
154
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Addition + 154
155
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Addition + 155
156
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Addition In general, adding two large integers – each consisting of n small blocks – requires O(n) small-integer additions. Large-integer subtraction is similar. 156
157
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Multiplication 157
158
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Multiplication 158
159
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Multiplication 159
160
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Multiplication 160
161
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Multiplication 161
162
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Multiplication 162
163
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Multiplication In general, multiplying two large integers – each consisting of n small blocks – requires O(n 2 ) small-integer multiplications and O(n) large-integer additions. 163
164
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Squaring 164
165
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Squaring 165
166
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Squaring 166
167
January 6, 2011Practical Aspects of Modern Cryptography Large-Integer Squaring Careful bookkeeping can save nearly half of the small-integer multiplications (and nearly half of the time). 167
168
January 6, 2011Practical Aspects of Modern Cryptography Recall computing Y X mod N About 2/3 of the multiplications required to compute Y X are actually squarings. Overall, efficient squaring can save about 1/3 of the small multiplications required for modular exponentiation. 168
169
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 169
170
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD Given 4 coefficients A, B, C, and D, 170
171
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD Given 4 coefficients A, B, C, and D, we need to compute 3 values: 171
172
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD Given 4 coefficients A, B, C, and D, we need to compute 3 values: AC, AD+BC, and BD. 172
173
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD Given 4 coefficients A, B, C, and D, we need to compute 3 values: AC, AD+BC, and BD. 173
174
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD Given 4 coefficients A, B, C, and D, we need to compute 3 values: AC, AD+BC, and BD. 174
175
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD Given 4 coefficients A, B, C, and D, we need to compute 3 values: AC, AD+BC, and BD. 175
176
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition 176
177
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition 177
178
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition 178
179
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition 179
180
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition 180
181
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition 181
182
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition 182
183
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD 183
184
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 184
185
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 3 multiplications, 2 additions, 2 subtractions 185
186
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 3 multiplications, 2 additions, 2 subtractions 186
187
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 3 multiplications, 2 additions, 2 subtractions 187
188
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 3 multiplications, 2 additions, 2 subtractions 188
189
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 3 multiplications, 2 additions, 2 subtractions 189
190
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 3 multiplications, 2 additions, 2 subtractions 190
191
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 3 multiplications, 2 additions, 2 subtractions 191
192
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 3 multiplications, 2 additions, 2 subtractions 192
193
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (Ax+B)(Cx+D) = ACx 2 + (AD+BC)x + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 3 multiplications, 2 additions, 2 subtractions 193
194
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication This can be done on integers as well as on polynomials, but it’s not as nice on integers because of carries. The larger the integers, the larger the benefit. 194
195
January 6, 2011Practical Aspects of Modern Cryptography Karatsuba Multiplication (A 2 k +B)(C 2 k +D) = AC 2 2k + (AD+BC) 2 k + BD 4 multiplications, 1 addition (A+B)(C+D) = AC + AD + BC + BD (A+B)(C+D) – AC – BD = AD + BC 3 multiplications, 2 additions, 2 subtractions 195
196
January 6, 2011Practical Aspects of Modern Cryptography Chinese Remaindering If X = A mod P, X = B mod Q, and gcd(P,Q) = 1, then X mod P·Q can be computed as X = A·Q·(Q -1 mod P) + B·P·(P -1 mod Q). 196
197
January 6, 2011Practical Aspects of Modern Cryptography Chinese Remaindering If N = PQ, then a computation mod N can be accomplished by performing the same computation mod P and again mod Q and then using Chinese Remaindering to derive the answer to the mod N computation. 197
198
January 6, 2011Practical Aspects of Modern Cryptography Chinese Remaindering Since modular exponentiation of n-bit integers requires O(n 3 ) time, performing two modular exponentiations on half size values requires only about one quarter of the time of a single n-bit modular exponentiation. 198
199
January 6, 2011Practical Aspects of Modern Cryptography Modular Reduction Generally, computing (A B) mod N requires much more than twice the time to compute A B. 199
200
January 6, 2011Practical Aspects of Modern Cryptography Modular Reduction Generally, computing (A B) mod N requires much more than twice the time to compute A B. Large-integer division is … 200
201
January 6, 2011Practical Aspects of Modern Cryptography Modular Reduction Generally, computing (A B) mod N requires much more than twice the time to compute A B. Large-integer division is … slow … 201
202
January 6, 2011Practical Aspects of Modern Cryptography Modular Reduction Generally, computing (A B) mod N requires much more than twice the time to compute A B. Large-integer division is … slow … cumbersome 202
203
January 6, 2011Practical Aspects of Modern Cryptography Modular Reduction Generally, computing (A B) mod N requires much more than twice the time to compute A B. Large-integer division is … slow … cumbersome … disgusting 203
204
January 6, 2011Practical Aspects of Modern Cryptography Modular Reduction Generally, computing (A B) mod N requires much more than twice the time to compute A B. Large-integer division is … slow … cumbersome … disgusting … wretched 204
205
January 6, 2011Practical Aspects of Modern Cryptography The Montgomery Method The Montgomery Method performs a domain transform to a domain in which the modular reduction operation can be achieved by multiplication and simple truncation. Since a single modular exponentiation requires many modular multiplications and reductions, transforming the arguments is well justified. 205
206
January 6, 2011Practical Aspects of Modern Cryptography Montgomery Multiplication Let A, B, and M be n-block integers represented in base x with 0 M x n. Let R = x n. GCD(R,M) = 1. The Montgomery Product of A and B modulo M is the integer ABR –1 mod M. Let M = –M –1 mod R and S = ABM mod R. Fact: (AB+SM)/R ABR –1 (mod M). 206
207
January 6, 2011Practical Aspects of Modern Cryptography Using the Montgomery Product The Montgomery Product ABR –1 mod M can be computed in the time required for two ordinary large-integer multiplications. Montgomery transform: A AR mod M. The Montgomery product of (AR mod M) and (BR mod M) is (ABR mod M). 207
208
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions Z=Y X mod N 208
209
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions Informally, F : X Y is a one-way if Given x, y = F(x) is easily computable. Given y, it is difficult to find any x for which y = F(x). 209
210
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions The family of functions F Y,N (X) = Y X mod N is believed to be one-way for most N and Y. 210
211
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions The family of functions F Y,N (X) = Y X mod N is believed to be one-way for most N and Y. No one has ever proven a function to be one-way, and doing so would, at a minimum, yield as a consequence that P NP. 211
212
January 6, 2011Practical Aspects of Modern Cryptography One-Way Functions When viewed as a two-argument function, the (candidate) one-way function F N (Y,X) = Y X mod N also satisfies a useful additional property which has been termed quasi-commutivity: F(F(Y,X 1 ),X 2 ) = F(F(Y,X 2 ),X 1 ) since Y X 1 X 2 = Y X 2 X 1. 212
213
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange AliceBob 213
214
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange Alice Randomly select a large integer a and send A = Y a mod N. Bob Randomly select a large integer b and send B = Y b mod N. 214
215
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange Alice Bob A B 215
216
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange Alice Randomly select a large integer a and send A = Y a mod N. Bob Randomly select a large integer b and send B = Y b mod N. 216
217
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange Alice Randomly select a large integer a and send A = Y a mod N. Compute the key K = B a mod N. Bob Randomly select a large integer b and send B = Y b mod N. Compute the key K = A b mod N. 217
218
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange Alice Randomly select a large integer a and send A = Y a mod N. Compute the key K = B a mod N. Bob Randomly select a large integer b and send B = Y b mod N. Compute the key K = A b mod N. B a = Y ba = Y ab = A b 218
219
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange 219
220
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange What does Eve see? 220
221
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange What does Eve see? Y, Y a, Y b 221
222
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange What does Eve see? Y, Y a, Y b … but the exchanged key is Y ab. 222
223
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange What does Eve see? Y, Y a, Y b … but the exchanged key is Y ab. Belief: Given Y, Y a, Y b it is difficult to compute Y ab. 223
224
January 6, 2011Practical Aspects of Modern Cryptography Diffie-Hellman Key Exchange What does Eve see? Y, Y a, Y b … but the exchanged key is Y ab. Belief: Given Y, Y a, Y b it is difficult to compute Y ab. Contrast with discrete logarithm assumption: Given Y, Y a it is difficult to compute a. 224
225
January 6, 2011Practical Aspects of Modern Cryptography More on Quasi-Commutivity Quasi-commutivity has additional applications. decentralized digital signatures membership testing digital time-stamping 225
226
January 6, 2011Practical Aspects of Modern Cryptography One-Way Trap-Door Functions Z=Y X mod N 226
227
January 6, 2011Practical Aspects of Modern Cryptography One-Way Trap-Door Functions Z=Y X mod N Recall that this equation is solvable for Y if the factorization of N is known, but is believed to be hard otherwise. 227
228
January 6, 2011Practical Aspects of Modern Cryptography RSA Public-Key Cryptosystem AliceAnyone 228
229
January 6, 2011Practical Aspects of Modern Cryptography RSA Public-Key Cryptosystem Alice Select two large random primes P & Q. Anyone 229
230
January 6, 2011Practical Aspects of Modern Cryptography RSA Public-Key Cryptosystem Alice Select two large random primes P & Q. Publish the product N=PQ. Anyone 230
231
January 6, 2011Practical Aspects of Modern Cryptography RSA Public-Key Cryptosystem Alice Select two large random primes P & Q. Publish the product N=PQ. Anyone To send message Y to Alice, compute Z=Y X mod N. 231
232
January 6, 2011Practical Aspects of Modern Cryptography RSA Public-Key Cryptosystem Alice Select two large random primes P & Q. Publish the product N=PQ. Anyone To send message Y to Alice, compute Z=Y X mod N. Send Z and X to Alice. 232
233
January 6, 2011Practical Aspects of Modern Cryptography RSA Public-Key Cryptosystem Alice Select two large random primes P & Q. Publish the product N=PQ. Use knowledge of P & Q to compute Y. Anyone To send message Y to Alice, compute Z=Y X mod N. Send Z and X to Alice. 233
234
January 6, 2011Practical Aspects of Modern Cryptography RSA Public-Key Cryptosystem In practice, the exponent X is almost always fixed to be X = 65537 = 2 16 + 1. 234
235
January 6, 2011Practical Aspects of Modern Cryptography Some RSA Details When N=PQ is the product of distinct primes, Y X mod N = Y whenever X mod (P-1)(Q-1) = 1 and 0 Y N. 235
236
January 6, 2011Practical Aspects of Modern Cryptography Some RSA Details When N=PQ is the product of distinct primes, Y X mod N = Y whenever X mod (P-1)(Q-1) = 1 and 0 Y N. Alice can easily select integers E and D such that E D mod (P-1)(Q-1) = 1. 236
237
January 6, 2011Practical Aspects of Modern Cryptography Some RSA Details Encryption: E(Y) = Y E mod N. Decryption: D(Y) = Y D mod N. D(E(Y)) = (Y E mod N) D mod N = Y ED mod N = Y 237
238
January 6, 2011Practical Aspects of Modern Cryptography RSA Signatures 238
239
January 6, 2011Practical Aspects of Modern Cryptography RSA Signatures An additional property 239
240
January 6, 2011Practical Aspects of Modern Cryptography RSA Signatures An additional property D(E(Y)) = Y ED mod N = Y 240
241
January 6, 2011Practical Aspects of Modern Cryptography RSA Signatures An additional property D(E(Y)) = Y ED mod N = Y E(D(Y)) = Y DE mod N = Y 241
242
January 6, 2011Practical Aspects of Modern Cryptography RSA Signatures An additional property D(E(Y)) = Y ED mod N = Y E(D(Y)) = Y DE mod N = Y Only Alice (knowing the factorization of N) knows D. Hence only Alice can compute D(Y) = Y D mod N. 242
243
January 6, 2011Practical Aspects of Modern Cryptography RSA Signatures An additional property D(E(Y)) = Y ED mod N = Y E(D(Y)) = Y DE mod N = Y Only Alice (knowing the factorization of N) knows D. Hence only Alice can compute D(Y) = Y D mod N. This D(Y) serves as Alice’s signature on Y. 243
244
January 6, 2011Practical Aspects of Modern Cryptography Public Key Directory 244
245
January 6, 2011Practical Aspects of Modern Cryptography Public Key Directory (Recall that E is commonly fixed to be E=65537.) 245
246
January 6, 2011Practical Aspects of Modern Cryptography Certificate Authority “Alice’s public modulus is N A = 331490324840…” -- signed CA. 246
247
January 6, 2011Practical Aspects of Modern Cryptography Trust Chains Alice certifies Bob’s key. Bob certifies Carol’s key. If I trust Alice should I accept Carol’s key? 247
248
January 6, 2011Practical Aspects of Modern Cryptography Authentication 248
249
January 6, 2011Practical Aspects of Modern Cryptography Authentication How can I use RSA to authenticate someone’s identity? 249
250
January 6, 2011Practical Aspects of Modern Cryptography Authentication How can I use RSA to authenticate someone’s identity? If Alice’s public key E A, just pick a random message m and send E A (m). 250
251
January 6, 2011Practical Aspects of Modern Cryptography Authentication How can I use RSA to authenticate someone’s identity? If Alice’s public key E A, just pick a random message m and send E A (m). If m comes back, I must be talking to Alice. 251
252
January 6, 2011Practical Aspects of Modern Cryptography Authentication Should Alice be happy with this method of authentication? 252
253
January 6, 2011Practical Aspects of Modern Cryptography Authentication Should Alice be happy with this method of authentication? Bob sends Alice the authentication string y = “I owe Bob $1,000,000 - signed Alice.” 253
254
January 6, 2011Practical Aspects of Modern Cryptography Authentication Should Alice be happy with this method of authentication? Bob sends Alice the authentication string y = “I owe Bob $1,000,000 - signed Alice.” Alice dutifully authenticates herself by decrypting (putting her signature on) y. 254
255
January 6, 2011Practical Aspects of Modern Cryptography Authentication What if Alice only returns authentication queries when the decryption has a certain format? 255
256
January 6, 2011Practical Aspects of Modern Cryptography 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? 256
257
January 6, 2011Practical Aspects of Modern Cryptography RSA Cautions D(Y 1 ) D(Y 2 ) = D(Y 1 Y 2 ) Thus, if I’ve decrypted (or signed) Y 1 and Y 2, I’ve also decrypted (or signed) Y 1 Y 2. 257
258
January 6, 2011Practical Aspects of Modern Cryptography The Hastad Attack Given E 1 (x) = x 3 mod n 1 E 2 (x) = x 3 mod n 2 E 3 (x) = x 3 mod n 3 one can easily compute x. 258
259
January 6, 2011Practical Aspects of Modern Cryptography The Bleichenbacher Attack PKCS#1 Message Format: 00 01 XX XX... XX 00 YY YY... YY random non-zero bytes message 259
260
January 6, 2011Practical Aspects of Modern Cryptography “Man-in-the-Middle” Attacks 260
261
January 6, 2011Practical Aspects of Modern Cryptography The Practical Side 261
262
January 6, 2011Practical Aspects of Modern Cryptography The Practical Side RSA can be used to encrypt any data. 262
263
January 6, 2011Practical Aspects of Modern Cryptography 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. 263
264
January 6, 2011Practical Aspects of Modern Cryptography The Practical Side 264
265
January 6, 2011Practical Aspects of Modern Cryptography The Practical Side For efficiency, one generally uses RSA (or another public-key algorithm) to transmit a private (symmetric) key. 265
266
January 6, 2011Practical Aspects of Modern Cryptography The Practical Side For efficiency, one generally uses RSA (or another public-key algorithm) to transmit a private (symmetric) key. The private session key is used to encrypt any subsequent data. 266
267
January 6, 2011Practical Aspects of Modern Cryptography The Practical Side For efficiency, one generally uses RSA (or another public-key algorithm) 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. 267
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.