number theory for cryptography
play

Number Theory for Cryptography - PowerPoint PPT Presentation

Number Theory for Cryptography Congruence Modulo Operation: Question: What is 12 mod 9? Answer: 12 mod 9 3 or 12 3 (mod 9) ( ) 12 is congruent to 3


  1. Number Theory for Cryptography 密碼學與應用 海洋大學資訊工程系 丁培毅 丁培毅

  2. Congruence  Modulo Operation:  Question: What is 12 mod 9?  Answer: 12 mod 9  3 or 12  3 (mod 9) ( ) “12 is congruent to 3 modulo 9”  Definition: Let a , r , m   (where  is the set of all  Definition: Let a , r , m   (where  is the set of all integers) and m  0. We write a  r (mod m ) if m divides a a  r (mod m ) if m divides a – r (i e m | a-r ) r (i.e. m | a r )   m is called the modulus  r is called the remainder r is called the remainder   0  r < m a = q ꞏ m + r   Example: a = 42 and m= 9  Example: a = 42 and m= 9 42 = 4 ꞏ 9 + 6 therefore 42  6 (mod 9)  2

  3. G Greatest Common Divisor t t C Di i  GCD of a and b is the largest positive integer  GCD of a and b is the largest positive integer dividing both a and b  gcd(a, b) or (a,b) d( b) ( b)  ex. gcd(6, 4) = 2, gcd(5, 7) = 1 g ( , ) , g ( , )  Euclidean algorithm remainder  divisor  dividend  ignore  ex. gcd(482  ex gcd(482 482 1180 482, 1180 1180) 1180) Why does it work? Why does it work? Let d = gcd(482, 1180) 1180 1180 = 2 ꞏ 482 482 + 216 d | 482 and d | 1180  d | 216 482 = 2 ꞏ 216 + 50 482 = 2 ꞏ 216 + 50 because 216 = 1180 - 2 ꞏ 482 216 = 4 ꞏ 50 + 16 d | 216 and d | 482  d | 50 50 = 3 ꞏ 16 + 2 2 50 3 16 2 d | 50 and d | 216  d | 16 | | | 2 d | 16 and d | 50  d | 2 16 = 8 ꞏ 2 + 0 gcd 2 | 16  d = 2 3

  4. Greatest Common Divisor (cont’d) G t t C Di i ( t’d)  Euclidean Algorithm: calculating GCD gcd(1180, 482) ( 輾轉相除法 ) 2 482 1180 2 432 964 3 50 216 4 48 48 200 200 2 2 16 8 16 0 4

  5. Greatest Common Divisor (cont’d) G t t C Di i ( t’d)  Def: a and b are relatively prime: gcd(a, b) = 1  Theorem: Let a and b be two integers, with at least one of a, b nonzero, and let d = gcd(a,b). Then there exist of a, b nonzero, and let d gcd(a,b). Then there exist integers x, y, gcd(x, y) = 1 such that a ꞏ x + b ꞏ y = d  Constructive proof: Using Extended Euclidean Algorithm to  Constructive proof: Using Extended Euclidean Algorithm to find x and y d = 2 d = 2 = 50 - 3 ꞏ 16 216 = 1180 1180 - 2 ꞏ 482 482 50 = 482 - 2 ꞏ 216 = (482 - 2 ꞏ 216) - 3 ꞏ (216 - 4 ꞏ 50) 16 = 216 - 4 ꞏ 50 = • • • • = 1180 1180 ꞏ (-29) + 482 ( ) 482 ꞏ 71 a x b y 5

  6. E t Extended Euclidean Algorithm d d E lid Al ith Let gcd(a, b) = d g ( , )  Looking for s and t, gcd(s, t) = 1 s.t. a ꞏ s + b ꞏ t = d  When d = 1 t  b -1 (mod a)  When d 1, t  b (mod a) Ex. 1180 1180 = 2 ꞏ 482 482 + 216 1180 1180 - 2 ꞏ 482 = 216 a a = q 1 ꞏ b + r 1 q 1 b + r 1 482 = 2 ꞏ 216 + 50  482 - 2 ꞏ (1180 - 2 ꞏ 482) = 50 b = q 2 ꞏ r 1 + r 2 q 2 -2 ꞏ 1180 + 5 ꞏ 482 = 50 2 1180 5 482 50 1 2 216 = 4 ꞏ 50 + 16   (1180 - 2 ꞏ 482) - r 1 = q 3 ꞏ r 2 + r 3 4 (-2 1180 + 5 482) = 16 4 ꞏ (-2 ꞏ 1180 + 5 ꞏ 482) = 16     9 ꞏ 1180 - 22 ꞏ 482 = 16 r 2 = q 4 ꞏ r 3 + d 50 = 3 ꞏ 16 + 2 ( 2 (-2 ꞏ 1180 + 5 ꞏ 482) - 1180 + 5 482) 3 ꞏ (9 ꞏ 1180 - 22 ꞏ 482) = 2 r 3 = q 5 ꞏ d + 0 -29 ꞏ 1180 + 71 ꞏ 482 = 2 6

  7. Greatest Common Divisor (cont’d) G t t C Di i ( t’d)  The above proves only the existence of integers x and y  Z  How about gcd(x, y)? d = a ꞏ x + b ꞏ y d a x + b y  1 = a/d ꞏ x + b/d ꞏ y d = gcd(a, b) 1 = a/d ꞏ (x ꞏr) + b/d ꞏ (y ꞏr) 1 = a/d ꞏ (x'ꞏr) + b/d ꞏ (y'ꞏr) If gcd(x y) = r then If gcd(x, y) = r then i.e. 1 = r ꞏ (a/dꞏx' + b/dꞏy') which means that r | 1 i.e. r = 1 gcd(x, y) = 1 ¶ ¶ Note: gcd(x, y) = 1 but (x, y) is not unique e.g. d = a x + b y = a (x-kb) + b (y+ka) d + b ( kb) + b ( +k ) 7

  8. Greatest Common Divisor (cont’d) G t t C Di i ( t’d) Lemma: gcd(a b) = gcd(x y) = gcd(a y) = gcd(x b) = 1  Lemma: gcd(a,b) gcd(x,y) gcd(a,y) gcd(x,b) 1   a, b, x, y s.t. 1 = a x + b y pf:(  ) following the previous theorem following the previous theorem (  ) Given a, b, z, if  x, y, gcd(x,y)=1 s.t. z = ax + by then gcd(a, b) | z (also gcd(a, y) | z, gcd(x, b) | z) ( let d = gcd(a, b)  d | a and d | b  d | a x + b y  d | z) especially given a b  x y s t 1 = a x + b y especially, given a, b,  x, y s.t. 1 = a x + b y  gcd(a, b) | 1  gcd(a, b) = 1 8

  9. O Operations under mod n ti d d  Proposition: Let a,b,c,d,n be integers with n  0, suppose , , , , g , pp a  b (mod n) and c  d (mod n) then a + c  b + d (mod n), ( ), a - c  b - d (mod n), a ꞏ c  b ꞏ d (mod n) a c b d (mod n)  Proposition: Let a,b,c,n be integers with n  0 and gcd(a,n) =1. L t b b i t ith 0 d d( ) 1 If a ꞏ b  a ꞏ c (mod n) then b  c (mod n) 9

  10. O Operations under mod n ti d d  What is the multiplicative inverse of a (mod n)?  What is the multiplicative inverse of a (mod n)? i.e. a ꞏ a -1  1 (mod n) or a ꞏ a -1 = 1 + k ꞏ n gcd(a, n) = 1   s and t such that a ꞏ s + n ꞏ t = 1  a -1  s (mod n) This expression also p  a ꞏ x  b (mod n), gcd(a, n) = 1, x  ? implies gcd(a,n)=1. x  b ꞏ a -1  b ꞏ s (mod n) ( )  a ꞏ x  b (mod n), gcd(a, n) = d  1, x  ? Are there any solutions? if d | b (a/d) ꞏ x  (b/d) (mod n/d) gcd(a/d,n/d) = 1 (a/d) ꞏ x  (b/d) (mod n/d) gcd(a/d n/d) = 1 if d | b x 0  (b/d) ꞏ (a/d) -1 (mod n/d)  there are d solutions to the equation a ꞏ x  b (mod n):  there are d solutions to the equation a x  b (mod n): x 0 , x 0 +(n/d) , ... , x 0 +(d-1)ꞏ(n/d) (mod n) 10

  11. M t i i Matrix inversion under mod n i d d  A square matrix is invertible mod n if and only if  A square matrix is invertible mod n if and only if its determinant and n are relatively prime  ex: in real field R -1 1 a d -b b = ad - bc c d -c a In a finite field Z (mod n)? we need to find the inverse for ad-bc (mod n) in order to calculate the inverse of the ( ) -1 matrix a b d -b (ad – bc) -1  (mod n) c d d -c a 11

  12. Group  A group G is a finite or infinite set of elements and a  A group G is a finite or infinite set of elements and a binary operation  which together satisfy 1. Closure:  a,b  G  a b  G a  b = c  G 封閉性 a  b = c  G 1 Closure: 封閉性 2. Associativity:  a,b,c  G (a  b)  c = a  (b  c) 結合性 3. Identity:  a  G  a 1  a = a  1 = a 單位元素 1  a a  1 3 Identit : G a 單位元素 a  a -1 = 1 = a -1  a 反元素 4. Inverse:  a  G  Abelian group 交換群  a,b  G a  b = b  a means g  g  g  …  g  Cyclic group G of order m: a group defined by an  Cyclic group G of order m: a group defined by an element g  G such that g, g 2 , g 3 , …. g m are all distinct elements in G (thus cover all elements of G) and g m = 1 elements in G (thus cover all elements of G) and g = 1, * the element g is called a generator of G. Ex: Z n (or Z/nZ) 12

  13. G Group (cont’d) ( t’d)  The order of a group : the number of elements in a group G denoted  The order of a group : the number of elements in a group G, denoted |G|. If the order of a group is a finite number, the group is said to be a finite group, note g |G| = 1 (the identity element). g p g ( y )  The order of an element g of a finite group G is the smallest power m such that g m = 1 (the identity element), denoted by ord G (g) g ( y ) y G (g)  ex: Z n : additive group modulo n is the set {0, 1, …, n-1} binary operation: + (mod n) size of Z n is n, , n id identity: 0 i 0 g+g+…+g  0 (mod n) inverse: -x  n-x (mod n) *  ex: Z n : multiplicative group modulo n is the set {i:0  i  n, gcd(i,n)=1}  ex: Z : multiplicative group modulo n is the set {i:0  i  n gcd(i n)=1} * binary operation:  (mod n) size of Z n is  (n), g  (n)  1 (mod n) identity: 1 y  1 (mod n) g inverse : x -1 can be found using extended Euclidean Algorithm 13

  14. Ring  m  Ri  Definition: The ring  m consists of  The set  m = {0, 1, 2, …, m -1}  The set  m {0, 1, 2, …, m 1}  Two operations “+ (mod m)” and “  (mod m)” for all a b   such that they satisfy the for all a , b   m such that they satisfy the properties on the next slide  Example: m = 9  9 = {0, 1, 2, 3, 4, 5, 6, 7, 8} 6 + 8 = 14  5 (mod 9) 6  8 = 48  3 (mod 9) 14

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend