Cryptography and Network Security, Finite Fields From Third Edition by William Stallings Lecture slides by Mustafa Sakalli so much modified..

Slides:



Advertisements
Similar presentations
1 Lect. 12: Number Theory. Contents Prime and Relative Prime Numbers Modular Arithmetic Fermat’s and Euler’s Theorem Extended Euclid’s Algorithm.
Advertisements

Finite Fields Rong-Jaye Chen. p2. Finite fields 1. Irreducible polynomial f(x)  K[x], f(x) has no proper divisors in K[x] Eg. f(x)=1+x+x 2 is irreducible.
Mathematics of Cryptography Part II: Algebraic Structures
Cryptography and Network Security, Finite Fields From Third Edition by William Stallings Lecture slides by Mustafa Sakalli so much modified..
Cryptography and Network Security
Chapter 4 Finite Fields. Introduction of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key concern operations on “numbers”
Cryptography and Network Security Chapter 4 Fourth Edition by William Stallings.
Chapter 4 – Finite Fields. Introduction will now introduce finite fields of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key.
Cryptography and Network Security Chapter 4 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Information and Coding Theory Finite fields. Juris Viksna, 2015.
Math 3121 Abstract Algebra I
Chap. 4: Finite Fields Jen-Chang Liu, 2005 Adapted from lecture slides by Lawrie Brown.
1 Chapter 7– Introduction to Number Theory Instructor: 孫宏民 Room: EECS 6402, Tel: , Fax :
Cryptography and Network Security Chapter 4
Cryptography and Network Security Chapter 4 Fourth Edition by William Stallings.
Introduction to Modern Cryptography Lecture 3 (1) Finite Groups, Rings and Fields (2) AES - Advanced Encryption Standard.
Chapter 4 – Finite Fields Introduction  will now introduce finite fields  of increasing importance in cryptography AES, Elliptic Curve, IDEA, Public.
Peter Lam Discrete Math CS.  Sometimes Referred to Clock Arithmetic  Remainder is Used as Part of Value ◦ i.e Clocks  24 Hours in a Day However, Time.
M. Khalily Dermany Islamic Azad University.  finite number of element  important in number theory, algebraic geometry, Galois theory, cryptography,
Number Theory and Advanced Cryptography 1. Finite Fields and AES
FINITE FIELDS 7/30 陳柏誠.
CPSC 3730 Cryptography and Network Security
1 Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown Chapter 4 – Finite Fields.
Information Security and Management 4. Finite Fields 8
Cryptography and Network Security Introduction to Finite Fields.
By: Hector L Contreras SSGT / USMC
Prelude to Public-Key Cryptography Rocky K. C. Chang, February
Monoids, Groups, Rings, Fields
Basic Number Theory Divisibility Let a,b be integers with a≠0. if there exists an integer k such that b=ka, we say a divides b which is denoted by a|b.
Data Security and Encryption (CSE348) 1. Lecture # 11 2.
Chapter 4 – Finite Fields
Data Security and Encryption (CSE348) 1. Lecture # 12 2.
Great Theoretical Ideas in Computer Science.
Rational Numbers and Fields
Fall 2002CS 395: Computer Security1 Chapters 4 and 8: The Mathematics Required for Public Key Cryptography In case you’re beginning to worry that this.
Information Security Lab. Dept. of Computer Engineering 87/121 PART I Symmetric Ciphers CHAPTER 4 Finite Fields 4.1 Groups, Rings, and Fields 4.2 Modular.
MA/CSSE 473 Day 08 Extended Euclid's Algorithm Modular Division Fermat's little theorem.
Cryptography and Network Security Chapter 4. Introduction  will now introduce finite fields  of increasing importance in cryptography AES, Elliptic.
The Pennsylvania State University CSE597B: Special Topics in Network and Systems Security The Miscellaneous Instructor: Sencun Zhu.
Ref: Pfleeger96, Ch.31 Properties of Arithmetic Reference: Pfleeger, Charles P., Security in Computing, 2nd Edition, Prentice Hall, 1996.
Lecture 3.1: Public Key Cryptography I CS 436/636/736 Spring 2015 Nitesh Saxena.
Pertemuan #5 Pengantar ke Number Theory Kuliah Pengaman Jaringan.
15-499Page :Algorithms and Applications Cryptography II – Number theory (groups and fields)
Cryptography and Network Security Chapter 4 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Cryptography Lecture 14 Arpita Patra © Arpita Patra.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Multiplicative Group The multiplicative group of Z n includes every a, 0
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Chapter 4 With Question/Answer Animations 1. Chapter Motivation Number theory is the part of mathematics devoted to the study of the integers and their.
CSCE 715: Network Systems Security Chin-Tser Huang University of South Carolina.
Cryptography and Network Security Chapter 4
Chapter4: Finite Fields
Discrete Math II Howon Kim
CS480 Cryptography and Information Security
MATH301- DISCRETE MATHEMATICS Copyright © Nahid Sultana Dr. Nahid Sultana Chapter 4: Number Theory and Cryptography.
Cryptography and Network Security Chapter 4
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Cryptography and Network Security
Lecture 3.1: Public Key Cryptography I
I. Finite Field Algebra.
Cryptography and Network Security Chapter 4
Cryptography and Network Security Chapter 4
Cryptography and Network Security Chapter 4
Applied Cryptography II (Finite Fields)
Mathematical Background: Extension Finite Fields
Presentation transcript:

Cryptography and Network Security, Finite Fields From Third Edition by William Stallings Lecture slides by Mustafa Sakalli so much modified..

Chapter 4 – Finite Fields The next morning at daybreak, Star flew indoors, seemingly keen for a lesson. I said, "Tap eight." She did a brilliant exhibition, first tapping it in 4, 4, then giving me a hasty glance and doing it in 2, 2, 2, 2, before coming for her nut. It is astonishing that Star learned to count up to 8 with no difficulty, and of her own accord discovered that each number could be given with various different divisions, this leaving no doubt that she was consciously thinking each number. In fact, she did mental arithmetic, although unable, like humans, to name the numbers. But she learned to recognize their spoken names almost immediately and was able to remember the sounds of the names. Star is unique as a wild bird, who of her own free will pursued the science of numbers with keen interest and astonishing intelligence. — Living with Birds, Len Howard

Introduction of increasing importance in cryptography –AES, Elliptic Curve, IDEA, Public Key concern operations on “numbers” –where what constitutes a “number” and the type of operations varies considerably start with concepts of groups, rings, fields from abstract algebra

A Group G A set of elements and some generic operation/s, with some certain relations: Axioms:  –A1 (Closure) If {a,b}  G, operated(a,b)  G –A2 (Associative) law: (a · b) · c = a · (b · c) –A3 (has identity) e : e · a = a · e = a –A4 (has inverses) a’ : a · a’= e A G is a finite group if has a finite number of elements A G is abelian if it is commutative, –A5 (has commutative) a · b = b · a, for example; –The set of positive, negative, 0, integers under addition, identity is 0, inverse element is ‘–’, inverse a = -a, a-b= a+(-b) –The set of nonzero real numbers under multiplication, identity is I, inverse element is division

Suppose S n is to be the set of permutations of n distinct symbols: {1,2,...,n}. S n is a group!!:  Suppose  S n ; permutation operation  and a group of S n is  S n  –A1  1 ·  1 ·  ·   S n –Change operator to arithmetic operators.. –A2  2 ·(  1 ·  )  ·   (  2 ·  1 ) ·  ·  ·   –A3 identity  n  S n –A4 inverse that undoes  1 is {3,2,1}, recovering earlier positions. {1,2,3}·{2,3,1}={2,3,1},  1 ·  1 ={3,2,1}·{3,2,1} = {1,2,3} –A5 commutative!!.. {3,2,1}·{2,3,1}  {2,3,1}·{3,2,1}, so S n is a group but not abelian

Cyclic Group A G is cyclic if every element b  G is a power of some fixed element a –ie b = a k a is said to be a generator of the group G –example: a 3 =a.a.a and identity be: e=a 0 =1, and a -n = (a’) n  a n a -n = 1; The additive group of integers is an infinite cyclic group generated by the element 1. In this case, powers are interpreted additively, so that n is the n th power of 1.

A Ring R is an abelian group with two operations (addition and multiplication), satisfies A1 to A5 –A1-A5: for additiveness, identity is 0 and inverse is –a  –M1: Closure under multiplication: if a,b  R, then ab  R.   –M2: Associativity of multiplication: a(bc)=(ab)c  R for all a,b,c  R. –M3: Distributive: a(b+c)=ab+ac, (a+b)c=ac+bc –WITHOUT LEAVING THE SET M4: commutative ring if ba=ab for all a,b,ab  R, M5: Multiplicative identity: 1a=a1=a for all a,1,ab  R M6: No zero divisors: If a and b  R and ab = 0, then either a = 0 or b = 0. An integral domain is the one satisfies all the A1-5 and M1-6, which is then a commutative ring???, and abelian gr, and obeying M5-6. Cyclic??!!!

Field a set of numbers with two operations: –abelian group for addition: commutative for addition –abelian group for multiplication (ignoring 0): commutative for multiplication –It is a ring (A1-5, M1-6), F is an integral domain.  M7: Multiplicative inverse. For each a  F, except 0, there is an element a -1  F such that aa -1 = (a -1 )a = 1

Modular Operations Clock, uses a finite number of values, and loops back from either end Associative, Distributive, Commutative, Identities: (0 + w)%n = w%n, (1·w)%n = w%n additive inv (-w) If a=mb ( a,b,m all integers), b|a, b is divisor (*) Any group of integers: Z n ={0,1, …,n-1} Form a commutative ring for addition with a multiplicative identity note some peculiarities –if (a+b)≡(a+c)%(n) then b≡c%(n)  –but (ab)≡(ac)%(n) for all a,b,c  Z n then b≡ c%(n) only if a is relatively prime to n

%8 Example

Multiplication and inverses

a%(7), residue classes [0] [1][2] [3] [4] [5] [6]

Table 4.2. Properties of Modular Arithmetic for Integers in Z n Commutative laws Associative laws Distributive laws Identities Additive inverse (-w) (w + x) mod n = (x + w) mod n (w x x) mod n = (x x w) mod n [(w + x) + y] mod n = [w + (x + y)] mod n [(w x x) x y] mod n = [w x (x x y)] mod n [w + (x + y)] mod n = [(w x x) + (w x y)] mod n [w + (x x y)] mod n = [(w + x) x (w + y)] mod n  For each w  Z n, there exists a z such that w + z ≡ 0 mod n (0 + w) mod n = w mod n (1 + w) mod n = w mod n

Relatively prime, Euclid's GCD Algorithm Numbers with gcd(a,b)=1 are relatively prime –eg GCD(8,15) = 1 an efficient way to find the GCD(a,b), uses theorem that: gcd(a,b) = gcd(b, a % b), (*) Euclid's Algorithm to compute GCD(a,b): gcd(A, B) 1.While(B>0){ 1.r  A % B; 2.A  B; 3.B  r;} 2.return A Question is it possible to execute these in one line? floor(r i-2 / r i-1 ) = r i

Multiplicative inverse (w -1 ) For a given prime, p, the finite field of order p, GF(p) is defined as the set Z p of integers {0, 1,..., p - 1}, together with the arithmetic operations modulo p.  For each w  Z p, w≠0, there exists a w  Z p, such that w x z ≡1 (mod p). Because w is relatively prime to p, if we multiply all the elements of Z p by w, the resulting residues are all of the elements of Z p permuted. Thus, exactly one of the residues has the value 1.

Galois Fields Galois fields are for polynomial eqns (group thry, number theory, Euclidian geometry): Algebraic solution to a polynomial eqn is related to the structure of a group of permutations associated with the roots of the polynomial, and an equation could be solvable in radicals if one can find a series of normal subgroups of its Galois group which are abelian, or its Galois group is solvable. (wikipedia) Maths et histoire, evariste-galois.asp.htm The finite field of order p n is written GF(p n ).

A field Z n = {0,1,...,n-1} is a commutative ring in which every nonzero element is assumed to have a multiplicative inverse. ‘a’ is multiplicative inverse to n, iff integer is relatively prime to n. Definition: If n is a prime p, then GF(p) is defined as the set of integers Z p ={0, 1,..., p-1}, + operations in mod(p), then we can say the set Z n of integers {0,1,...,n-1}, + operations in mod(n), is a commutative ring. “Well-behaving”: the results of operations obtained are confined in the field of GF(p) We are interested in two finite fields of p n, where p is prime, –GF(p) –GF(2 n )

GF(7) The simplest finite field is GF(2).

Inverse of 550 in GF(1759) EXTENDED EUCLID(m, b) 1.[A1,A2,A3; B1,B2,B3]  [1,0,m;0,1,b]; 2. if B3==0; return(A3=gcd(m,b));//no inverse 3. if B3==1; return(B3=gcd(m,b)); B2=b –1 %m; 4. Q =  A3/B3  ; 5. [r1,r2,r3]  [A1–QB1, A2–QB2, A3–QB3]; 6. [A1,A2,A3]  [B1,B2,B3]; 7. [B1,B2,B3]  [r1,r2,r3]; 8. goto 2 Finding the Multiplicative Inverse in GF(p) If (m, b) are relatively prime, then gcd(m, b) = 1, then b has a multiplicative inverse modulo m.

Following the algorithm. Starting with step 0. Denote the quotient at step i by q i. Carry out each step of the Euclidean algorithm. After the 2 nd step, calculate p i = p i-2 – p i-1 q i-2 %(n); p 0 =0, p 1 =1, Continue to calculate for p i one step more beyond the last step of the Euclidean algorithm. If the last nonzero remainder occurs at step k, then if this remainder is 1, x has an inverse and it is p k+2. (If the remainder is not 1, then x does not have an inverse.).. (21, 26) p i = p i-2 – p i-1 q i-2 %(m); 26 =1(21)+5; q 0 =1;p 0 = 0; 21 =4(5) +1; q 1 =4;p 1 = 1; 5 =5(1) +0; q 2 =5;p 2 = 0 -1(1)%(26) =-1%26=25. p 3 = 1 -25(4)%(26) =1-22%26=25. =-21%26=5. (5, 26) 26 = 5(5)+1; q 0 =5;p 0 =0; 5 = 5(1)+0; q 1 =5;p 1 =1; p 2 = p i-2 – p i-1 q i-2 %(m) = 0-1(5)mod(26)=21; ******************************************************************************************* Inverse of 550 in GF(1759) p i = p i-2 – p i-1 q i-2 %(m); 1759 = 3(550)+109;q 0 = 3; p 0 = 0; 550 = 5(109)+5; q 1 = 5; p 1 = 1; 109 = 21(5)+4; q 2 = 21; p 2 = (3) %(550) = = 1(4)+1; q 3 = 1; p 3 = 1 -(-3) (5) %(550) = 16 4 = 4(1)+0; q 4 = 4; p 4 = (21) %(550) = -339 p 5 = (1)%(550) = 355

Ordinary Polynomial Arithmetic

Polynomial Arithmetic in Z p Polynomial in which the coefficients are elements of some field F, is referred as a polynomial over the field F. Such polynomials set is referred to as a polynomial ring. Division is possible if the polynomial operations are performed on polynomials over a field, but exact division might not be possible. Tricky?..!! Within a field, two elements a and b, the quotient a/b is also an element of the field. However, given a ring R that is not a field, division will result in a quotient and a remainder; this is not exact division. 5, 3 within a set S. If S is the set of rational numbers, which is a field, then the result is simply expressed as 5/3 and is an element of S???. Suppose that S is the field Z 7. p=7. In this case, 5/3 = (5 x 3 -1 ) mod 7 = (5 x 5) mod 7 = 4 which is an exact solution. Suppose that S is the set of integers, which is a ring but not a field. Then 5/3 produces a quotient and a remainder: 5/3 = 1 + 2/3; 5 = 1 x 3 + 2, division is not exact over the set of integers. Division is not always defined, if it is over a coefficient set that is not a field.

If the coefficient set is the integers, then (5x 2 )/(3x) does not have a solution, since not in the coefficient set. Suppose it is performed over Z 7. Then (5x 2 )/(3x) = 4x which is a valid polynomial over Z 7. Suppose, degree of f(x) is n, and of g(x) is m, n ≥ m, then degree of the quotient q(x), is (m-n) and of remainder is at most (m–1). Polynomial division is possible if the coefficient set is a field. –r(x) = f(x) mod g(x) Polynomial Arithmetic in Z p if r(x) = 0, g(x)|f(x), g(x) is divisor. f(x) = x 3 + x and g(x) = x 2 - x + 1 q(x)g(x) + r(x) = (x + 2)(x 2 - x + 1) + x = (x 3 + x 2 - x + 2) + x = x 3 + x = f(x) Not convenient for logical operations such as XOR.

GF(7) The simplest finite field is GF(2).

Integer Occurrences in Z 8 Occurrences in GF(2 3 ) Z8Z8 GF(2 3 )

In GF(2), addition and multiplication are equivalent to the XOR, and the logical AND, respectively. Addition and subtraction are equivalent. Therefore GF(2 n ) is of most interest in.

Consider the set S of all polynomials of degree n-1 or less over the field Z p. Thus, each polynomial has the form where each a i takes on a value in the set {0, 1,..., p -1}. There are a total of p n different polynomials in S. For p = 3 and n = 2, the 3 2 = 9 polynomials in the set are 0 x2x 1x + 12x + 1 2x + 22x + 2 For p = 2 and n = 3, the 2 3 = 8 the polynomials in the set are 0x + 1x 2 + x 1x 2 x 2 + x + 1 Xx 2 + 1

mod 2: = 1-1 = 0; = = 1; = = 1. if f(x) has no divisors other than itself & 1 it is said irreducible (or prime) polynomial, an irreducible polynomial forms a field. f(x) = x over GF(2) is reducible, –because x = (x + 1)(x 3 + x 2 + x + 1) f(x) = x 3 + x + 1 is irreducible residual 1. eg. let f(x) = x 3 + x 2 and g(x) = x 2 + x + 1 f(x) + g(x) = x 3 + x + 1 f(x) x g(x) = x 5 + x 2

Finite Fields Of the Form GF(2 n ) Polynomials over p n, with n > 1, operations modulo p n do not produce a field. There are structures satisfies the axioms for a field in a set with p n elements, and concentrate on GF(2 n ). Motivation Virtually all encryption algorithms, both symmetric and public key, involve arithmetic operations on integers with divisions. For efficiency: integers that fit exactly into a given number of bits, with no wasted bit patterns, integers in the range 0 through 2^(n)-1, fitting into an n-bit word. Z 256 versus Z 251

Polynomial GCD gcd[a(x), b(x)] is the polynomial of maximum degree that divides both a(x) and b(x). gcd[a(x), b(x)] = gcd[b(x), a(x)mod(b(x))] Euclid[a(x), b(x)] 1.A(x)  a(x); B(x)  b(x) 2.if B(x) = 0 return A(x) = gcd[a(x), b(x)] 3.R(x) = A(x) mod B(x) 4.A(x)  B(x) 5.B(x)  R(x) 6.goto 2

Example of GCD in Z 2 or in GF(2), Step1, gcd(A(x), B(x)) A(x) = x 6 + x 5 + x 4 + x 3 + x 2 + 1, B(x) = x 4 + x 2 + x + 1; D(x)= x 2 + x; R(x) = x 3 + x Step 2, A(x) = B(x) = x 4 + x 2 + x + 1; B(x) = R(x) = x 3 + x 2 + 1, D(x) = x + 1; R(x) =0; Step 3, A(x) = B(x) = x 3 + x 2 + 1; B(x) = R(x) = 0; gcd(A(x), B(x)) = x 3 + x 2 + 1

GF(2 3 )

Modular Polynomial Arithmetic can compute in field GF(2 n ) –polynomials with coefficients modulo 2 –whose degree is less than n –hence must reduce modulo an irreducible poly of degree n (for multiplication only) form a finite field can always find an inverse –can extend Euclid’s Inverse algorithm to find

Example GF(2 3 )

Computational Considerations since coefficients are 0 or 1, can represent any such polynomial as a bit string addition becomes XOR of these bit strings multiplication is shift & XOR –cf long-hand multiplication modulo reduction done by repeatedly substituting highest power with remainder of irreducible poly (also shift & XOR)

Example why mod( x 3 +x+1)!!! for gf(2^3) in GF(2 3 ) have (x 2 +1) is & (x 2 +x+1) is so addition is –(x 2 +1) + (x 2 +x+1) = x –101 XOR 111 = and multiplication is –(x+1).(x 2 +1) = x.(x 2 +1) + 1.(x 2 +1) = x 3 +x+x 2 +1 = x 3 +x 2 +x+1 – = (101)<<1 XOR (101)<<0 = 1010 XOR 101 = polynomial modulo reduction (get q(x) & r(x)) is – (x 3 +x 2 +x+1 ) mod (x 3 +x+1) = 1.(x 3 +x+1) + (x 2 ) = x 2 – 1111 mod 1011 = 1111 XOR 1011 =

Summary have considered: –concept of groups, rings, fields –modular arithmetic with integers –Euclid’s algorithm for GCD –finite fields GF(p) –polynomial arithmetic in general and in GF(2 n )