(3) The Extended Euclidean Algorithm In order to solve the type of equations represented by Bézout s identity, as shown below where , , , and are integers, it is often useful to use the extended Euclidean algorithm. Equations of the form above occur in public key encryption algorithms such as RSA (Rivest-Shamir-Adleman) in the form where . There are two methods in which to implement the extended Euclidean algorithm; the iterative method and the recursive method. As an example, we shall solve an RSA key generation problem with e = 216 + 1, p = 3,217, q = 1,279. Thus, 62,537d + 51,456w = 1. Methods The Iterative Method This method computes expressions of the form ri = axi + byi for the remainder in each step i of the Euclidean algorithm. Each modulus can be written in terms of the previous two remainders and their whole quotient as follows: By substitution, this gives: The first two values are the initial arguments to the algorithm: The expression for the last non-zero remainder gives the desired results since this method computes every remainder in terms of a and b, as desired. Example Step Quotient Remainder Substitute Combine terms 1 4,110,048 = a 4,110,048 = 1a + 0b 2 65,537 = b 65,537 = 0a + 1b 3 62 46,754 = 4,110,048 - 65,537 62 46,754 = (1a + 0b) - (0a + 1b) 62 46,754 = 1a - 62b 4 1 18,783 = 65,537 - 46,754 1 18,783 = (0a + 1b) - (1a - 62b) 1 18,783 = -1a + 63b 5 2 9,188 = 46,754 - 18,783 2 9,188 = (1a - 62b) - (-1a + 62b) 2 9,188 = 3a - 188b 6 2 407 = 18,783 - 9,188 2 407 = (-1a + 63b) - (3a - 188b) 2 407 = -7a + 439b 7 22 234 = 9,188 - 407 22 234 = (3a - 188b) - (-7a + 439b) 22 234 = 157a - 9,846b 8 1 173 = 407 - 234 1 173 = (-7a + 439b) - (157a - 9,846b) 1 173 = -164a + 10,285b 9 1 61 = 234 - 173 1 61 = (157a - 9,846b) - (-164a + 10,285b) 1 61 = 321a + 20,131b 10 2 51 = 173 - 61 2 51 = (-164a + 10,285b) - (321a +20,131b) 2 51 = -806a + 50,547b 11 1 10 = 61 - 51 1 61 = (321a +20,131b) - (-806a + 50,547b) 1 10 = 1,127a - 70,678b 12 5 1 = 51 -10 5 1 = (-806a + 50,547b) - (1,127a - 70,678b) 5 1 = -6,441a + 403,937b 13 10 0 End of algorithm Putting the equation in its original form yields , it is shown that and . During the process of key generation for RSA encryption, the value for w is discarded, and d is retained as the value of the private key In this case d = 0x629e1 = 01100010100111100001 The Recursive Method This is a direct method for solving Diophantine equations of the form . Using this method, the dividend and the divisor are reduced over a series of steps. At the last step, a trivial value is substituted into the equation, and is then worked backward until the solution is obtained. Example Using the previous RSA vales of and Euclidean Expansion Collect Terms Substitute Retrograde Substitution Solve For dx 4,110,048 w0 + 65,537d0 = 1 (62 65,537 + 46,754) w0 + 65,537d0 = 1 65,537 (62w0 + d0) + 46,754w0 = 1 w1 = 62w0 + d0 4,595 = (62)(-6441) + d0 d0 = 403,937 65,537 w1 + 46,754d1 = 1 d1 = w0 w1 = -6,441 (1 46,754 + 18,783) w1 + 46,754d1 = 1 46,754 (w1 + d1) + 18,783w1 = 1 w2 = w1 + d1 -1,846 = 4,595 + d1 d1 = -6,441 46,754 w2 + 18,783d2 = 1 d2 = w1 (2 18,783 + 9,188) w2 + 18,783d2 = 1 18,783 (2w2 + d2) + 9,188w2 = 1 w3 = 2w2 + d2 903 = (2)(-1,846) + d2 d2 = 4,595 18,783 w3 + 9,188d3 = 1 d3 = w2 (2 9,188 + 407) w3 + 9,188d3 = 1 9,188 (2w3 + d3) + 407w3 = 1 w4 = 2w3 + d3 -40 = (2)(903) + d3 d3 = -1846 9,188 w4 + 407d4 = 1 d4 = w3 (22 407 + 234) w4 + 407d4 = 1 407 (22w4 + d4) + 234w4 = 1 w5 = 22w4 +d4 23 = (22)(-40) + d4 d4 = 903 407 w5 + 234d5 = 1 d5 = w4 (1 234 + 173) w5 + 234d5 = 1 234 (w5 + d5) + 173w5 = 1 w6 = w5 +d5 -17 = 23 + d5 d5 = -40 234 w6 + 173d6 = 1 d6 = w5 (1 173 + 61) w6 + 173d6 = 1 173 (w6 + d6) + 61w6 = 1 w7 = w6 +d6 6 = -17 + d6 d6 = 23 173 w7 + 61d7 = 1 d7 = w6 (2 61 + 51) w7 + 61d7 = 1 61 (2w7 + d7) + 51w7 = 1 w8 = 2w7 +d7 -5 = (2)(6) + d7 d7 = -17 61 w8 + 51d8 = 1 d8 = w7 (1 51 + 10) w8 + 51d8 = 1 51 (w8 + d8) + 10w8 = 1 w9 = w8 +d8 1 = -5 + d8 d8 = 6 51 w9 + 10d9 = 1 d9 = w8 (5 10 + 1) w9 + 10d9 = 1 10 (5w9 + d9) + 1w9 = 1 w10 = 5w9 +d9 0 = (5)(1) + d9 d9 = -5 10 w10 + 1d10 = 1 d10 = w9 (1 10 + 0) w10 + 1d10 = 1 1 (10w10 + d10) + 0w10 = 1 w11 = 10w10 +d10 1 = (10)(0) + d10 d10 = 1 1 w11 + 0d11 = 1 d11 = w10 w11 = 1, d11 = 0
المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .
|