SlideShare a Scribd company logo
1 of 26
Cryptography and
Network Security
Chapter 4
Introduction
 will now introduce Algebraic structures
 of increasing importance in cryptography



1.
2.
3.

AES, Elliptic Curve, IDEA, Public Key
Common algebraic structures are:
Groups
Rings
Fields
Group
 a set of elements or “numbers”


may be finite or infinite

 with some operation whose result is also

in the set (closure)
 obeys:




associative law: (a.b).c = a.(b.c)
has identity e:
e.a = a.e = a
has inverses a-1: a.a-1 = e

 if commutative


a.b = b.a

then forms an abelian group
 The set of residue integers with the

addition operator, G = <Zn, +>, is a
commutative group. We can perform
addition and subtraction on the elements
of this set without moving out of the set.
 Checking the properties:
1. Closure is satisfied. 3+5 = 8
2. Associativity is satisfied. (3+5)+ 4=
3+(5+4)= 12
3. Commutativity is satisfied. 3+5= 5+3
4. Identity element exists. 3+0=0+3=3
5. Inverse exists for 3 its -3
 Finite group: A group is called a finite

group if the set has a finite number of
elements; other wise it is an infinte group.
 Order of a group: NO. of elements present
in the group.
 Subgroup: A subset H of a group G is a
subgroup of G if H itself is a group , with
respect to the operations on G.
 Is the group H= <Z10, +> a subgroup of
the group G= <Z12,+>????
Cyclic Group
 define exponentiation

as repeated

application of operator


example:

a3 = a.a.a

 and let identity be:

e=a0
 a group is cyclic if every element is a
power of some fixed element


ie b = ak

for some a and every b in group

 a is said to be a generator of the group
Cyclic Sub group
 If a subgroup can be generated using the

power of an element, the subgroup is
called the cyclic subgroup.




example: an = a.a.a.a.......a(n times)
The set made from this process is
referred to as <a>.
a0 = e.
 Four cyclic subgroups can be made from

group G= <Z6, +>
 They are H1=<{0},+>
 H2=<{0,2,4},+>
 H3=<{0,3},+>
 H4=G
 Suppose a group has only 4 elements

{1,3,7,9} and is denoted by Z10*.
 Find the elements of these subgroups.
 Suppose a group has only 4 elements

{1,3,7,9} and is denoted by Z10*.
 Find the elements of these subgroups.
H1=1
H2=1,9
H3=1,3,9,7
Ring





a set of “numbers”
with two operations (addition and multiplication)
which form:
an abelian group with addition operation
and multiplication:







has closure
is associative
distributive over addition:

a(b+c) = ab + ac

if multiplication operation is commutative, it
forms a commutative ring
if multiplication operation has an identity(a1 =
1a= a) and no zero divisors(ab=0 either a or
b=0), it forms an integral domain
Field
 a set of numbers
 with two operations(addition,

multiplication) which follows all the rules of
groups and rings and one more condition:
 MI= For each a in F, except zero, there is
an element a.a(^-1)= a(^-1).a =1
 have hierarchy with more axioms/laws


group -> ring -> field
Finite (Galois) Fields
 finite fields play a key role in cryptography
 can show number of elements in a finite

field must be a power of a prime pn
 known as Galois fields
 denoted GF(pn)
 in particular often use the fields:



GF(p)
GF(2n)
Galois Fields GF(p)
 GF(p) is the set of integers {0,1, … , p-1}

with arithmetic operations modulo prime p
 these form a finite field



since have multiplicative inverses
find inverse with Extended Euclidean algorithm

 hence arithmetic is “well-behaved” and can

do addition, subtraction, multiplication, and
division without leaving the field GF(p)
GF(7) Multiplication Example
× 0 1 2 3 4 5 6
0 0 0 0 0 0 0 0
1 0 1 2 3 4 5 6
2 0 2 4 6 1 3 5
3 0 3 6 2 5 1 4
4 0 4 1 5 2 6 3
5 0 5 3 1 6 4 2
6 0 6 5 4 3 2 1
Polynomial Arithmetic
 can compute using polynomials

f(x) = anxn + an-1xn-1 + … + a1x + a0 = ∑ aixi
• nb. not interested in any specific value of x
• which is known as the indeterminate

 several alternatives available




ordinary polynomial arithmetic
poly arithmetic with coords mod p
poly arithmetic with coords mod p and
polynomials mod m(x)
Ordinary Polynomial Arithmetic
 add or subtract corresponding coefficients
 multiply all terms by each other
 eg

let f(x) = x3 + x2 + 2 and g(x) = x2 – x + 1
f(x) + g(x) = x3 + 2x2 – x + 3
f(x) – g(x) = x3 + x + 1
f(x) x g(x) = x5 + 3x2 – 2x + 2
Polynomial Arithmetic with
Modulo Coefficients
 when computing value of each coefficient

do calculation modulo some value


forms a polynomial ring

 could be modulo any prime
 but we are most interested in mod 2



ie all coefficients are 0 or 1
eg. let f(x) = x3 + x2 and g(x) = x2 + x + 1
f(x) + g(x) = x3 + x + 1
f(x) x g(x) = x5 + x2
Polynomial Division
 can write any polynomial in the form:




f(x) = q(x) g(x) + r(x)
can interpret r(x) as being a remainder
r(x) = f(x) mod g(x)

 if have no remainder say

g(x) divides f(x)
 if g(x) has no divisors other than itself & 1
say it is irreducible (or prime) polynomial
 arithmetic modulo an irreducible
polynomial forms a field
Polynomial GCD


can find greatest common divisor for polys




c(x) = GCD(a(x), b(x)) if c(x) is the poly of greatest
degree which divides both a(x), b(x)

can adapt Euclid’s Algorithm to find it:
Euclid(a(x), b(x))
if (b(x)=0) then return a(x);
else return
Euclid(b(x), a(x) mod b(x));



all foundation for polynomial fields as see next
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(23)
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)
Computational Example



in GF(23) have (x2+1) is 1012 & (x2+x+1) is 1112
so addition is





and multiplication is






(x2+1) + (x2+x+1) = x
101 XOR 111 = 0102
(x+1).(x2+1) = x.(x2+1) + 1.(x2+1)
= x3+x+x2+1 = x3+x2+x+1
011.101 = (101)<<1 XOR (101)<<0 =
1010 XOR 101 = 11112

polynomial modulo reduction (get q(x) & r(x)) is



(x3+x2+x+1 ) mod (x3+x+1) = 1.(x3+x+1) + (x2) = x2
1111 mod 1011 = 1111 XOR 1011 = 01002

More Related Content

What's hot

Group homomorphism
Group homomorphismGroup homomorphism
Group homomorphismNaliniSPatil
 
Double Integral Powerpoint
Double Integral PowerpointDouble Integral Powerpoint
Double Integral Powerpointoaishnosaj
 
Complex numbers org.ppt
Complex numbers org.pptComplex numbers org.ppt
Complex numbers org.pptOsama Tahir
 
Greedy Algorithm - Knapsack Problem
Greedy Algorithm - Knapsack ProblemGreedy Algorithm - Knapsack Problem
Greedy Algorithm - Knapsack ProblemMadhu Bala
 
Modular arithmetic
Modular arithmeticModular arithmetic
Modular arithmeticJanani S
 
Linear Algebra and Matrix
Linear Algebra and MatrixLinear Algebra and Matrix
Linear Algebra and Matrixitutor
 
Matlab polynimials and curve fitting
Matlab polynimials and curve fittingMatlab polynimials and curve fitting
Matlab polynimials and curve fittingAmeen San
 
L1 functions, domain &amp; range
L1 functions, domain &amp; rangeL1 functions, domain &amp; range
L1 functions, domain &amp; rangeJames Tagara
 

What's hot (20)

Group homomorphism
Group homomorphismGroup homomorphism
Group homomorphism
 
Boolean Algebra
Boolean AlgebraBoolean Algebra
Boolean Algebra
 
Chapter 22 Finite Field
Chapter 22 Finite FieldChapter 22 Finite Field
Chapter 22 Finite Field
 
Double Integral Powerpoint
Double Integral PowerpointDouble Integral Powerpoint
Double Integral Powerpoint
 
Fuzzy Logic
Fuzzy LogicFuzzy Logic
Fuzzy Logic
 
LinearAlgebra.ppt
LinearAlgebra.pptLinearAlgebra.ppt
LinearAlgebra.ppt
 
Introduction to Graph Theory
Introduction to Graph TheoryIntroduction to Graph Theory
Introduction to Graph Theory
 
Graph theory presentation
Graph theory presentationGraph theory presentation
Graph theory presentation
 
Divide and Conquer
Divide and ConquerDivide and Conquer
Divide and Conquer
 
Homomorphisms
HomomorphismsHomomorphisms
Homomorphisms
 
Complex numbers org.ppt
Complex numbers org.pptComplex numbers org.ppt
Complex numbers org.ppt
 
Graphs - Discrete Math
Graphs - Discrete MathGraphs - Discrete Math
Graphs - Discrete Math
 
Greedy Algorithm - Knapsack Problem
Greedy Algorithm - Knapsack ProblemGreedy Algorithm - Knapsack Problem
Greedy Algorithm - Knapsack Problem
 
Chapter 4 Cyclic Groups
Chapter 4 Cyclic GroupsChapter 4 Cyclic Groups
Chapter 4 Cyclic Groups
 
Maxima and minima
Maxima and minimaMaxima and minima
Maxima and minima
 
Modular arithmetic
Modular arithmeticModular arithmetic
Modular arithmetic
 
Abstract Algebra
Abstract AlgebraAbstract Algebra
Abstract Algebra
 
Linear Algebra and Matrix
Linear Algebra and MatrixLinear Algebra and Matrix
Linear Algebra and Matrix
 
Matlab polynimials and curve fitting
Matlab polynimials and curve fittingMatlab polynimials and curve fitting
Matlab polynimials and curve fitting
 
L1 functions, domain &amp; range
L1 functions, domain &amp; rangeL1 functions, domain &amp; range
L1 functions, domain &amp; range
 

Similar to 11848 ch04

Similar to 11848 ch04 (20)

CH04.ppt
CH04.pptCH04.ppt
CH04.ppt
 
Ch04
Ch04Ch04
Ch04
 
Cryptography and Network Security chapter 4.ppt
Cryptography and Network Security chapter 4.pptCryptography and Network Security chapter 4.ppt
Cryptography and Network Security chapter 4.ppt
 
Finite fields
Finite fields Finite fields
Finite fields
 
Logarithms
LogarithmsLogarithms
Logarithms
 
Functions
FunctionsFunctions
Functions
 
Introduction to Functions
Introduction to FunctionsIntroduction to Functions
Introduction to Functions
 
Number theory
Number theoryNumber theory
Number theory
 
Goldie chapter 4 function
Goldie chapter 4 functionGoldie chapter 4 function
Goldie chapter 4 function
 
Note introductions of functions
Note introductions of functionsNote introductions of functions
Note introductions of functions
 
Introduction to functions
Introduction to functionsIntroduction to functions
Introduction to functions
 
Project in Calcu
Project in CalcuProject in Calcu
Project in Calcu
 
Sets, functions and groups
Sets, functions and groupsSets, functions and groups
Sets, functions and groups
 
01. Functions-Theory & Solved Examples Module-4.pdf
01. Functions-Theory & Solved Examples Module-4.pdf01. Functions-Theory & Solved Examples Module-4.pdf
01. Functions-Theory & Solved Examples Module-4.pdf
 
Algorithms DM
Algorithms DMAlgorithms DM
Algorithms DM
 
The integral
The integralThe integral
The integral
 
gbapplfinal.pdf
gbapplfinal.pdfgbapplfinal.pdf
gbapplfinal.pdf
 
Calculus - Functions Review
Calculus - Functions ReviewCalculus - Functions Review
Calculus - Functions Review
 
Introduction to Elliptic Curve Cryptography
Introduction to Elliptic Curve CryptographyIntroduction to Elliptic Curve Cryptography
Introduction to Elliptic Curve Cryptography
 
Operation on Functions.pptx
Operation on Functions.pptxOperation on Functions.pptx
Operation on Functions.pptx
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 

11848 ch04

  • 2. Introduction  will now introduce Algebraic structures  of increasing importance in cryptography   1. 2. 3. AES, Elliptic Curve, IDEA, Public Key Common algebraic structures are: Groups Rings Fields
  • 3. Group  a set of elements or “numbers”  may be finite or infinite  with some operation whose result is also in the set (closure)  obeys:    associative law: (a.b).c = a.(b.c) has identity e: e.a = a.e = a has inverses a-1: a.a-1 = e  if commutative  a.b = b.a then forms an abelian group
  • 4.  The set of residue integers with the addition operator, G = <Zn, +>, is a commutative group. We can perform addition and subtraction on the elements of this set without moving out of the set.  Checking the properties: 1. Closure is satisfied. 3+5 = 8 2. Associativity is satisfied. (3+5)+ 4= 3+(5+4)= 12 3. Commutativity is satisfied. 3+5= 5+3 4. Identity element exists. 3+0=0+3=3 5. Inverse exists for 3 its -3
  • 5.  Finite group: A group is called a finite group if the set has a finite number of elements; other wise it is an infinte group.  Order of a group: NO. of elements present in the group.  Subgroup: A subset H of a group G is a subgroup of G if H itself is a group , with respect to the operations on G.  Is the group H= <Z10, +> a subgroup of the group G= <Z12,+>????
  • 6. Cyclic Group  define exponentiation as repeated application of operator  example: a3 = a.a.a  and let identity be: e=a0  a group is cyclic if every element is a power of some fixed element  ie b = ak for some a and every b in group  a is said to be a generator of the group
  • 7. Cyclic Sub group  If a subgroup can be generated using the power of an element, the subgroup is called the cyclic subgroup.    example: an = a.a.a.a.......a(n times) The set made from this process is referred to as <a>. a0 = e.
  • 8.  Four cyclic subgroups can be made from group G= <Z6, +>  They are H1=<{0},+>  H2=<{0,2,4},+>  H3=<{0,3},+>  H4=G
  • 9.  Suppose a group has only 4 elements {1,3,7,9} and is denoted by Z10*.  Find the elements of these subgroups.
  • 10.  Suppose a group has only 4 elements {1,3,7,9} and is denoted by Z10*.  Find the elements of these subgroups. H1=1 H2=1,9 H3=1,3,9,7
  • 11. Ring     a set of “numbers” with two operations (addition and multiplication) which form: an abelian group with addition operation and multiplication:      has closure is associative distributive over addition: a(b+c) = ab + ac if multiplication operation is commutative, it forms a commutative ring if multiplication operation has an identity(a1 = 1a= a) and no zero divisors(ab=0 either a or b=0), it forms an integral domain
  • 12. Field  a set of numbers  with two operations(addition, multiplication) which follows all the rules of groups and rings and one more condition:  MI= For each a in F, except zero, there is an element a.a(^-1)= a(^-1).a =1  have hierarchy with more axioms/laws  group -> ring -> field
  • 13.
  • 14. Finite (Galois) Fields  finite fields play a key role in cryptography  can show number of elements in a finite field must be a power of a prime pn  known as Galois fields  denoted GF(pn)  in particular often use the fields:   GF(p) GF(2n)
  • 15. Galois Fields GF(p)  GF(p) is the set of integers {0,1, … , p-1} with arithmetic operations modulo prime p  these form a finite field   since have multiplicative inverses find inverse with Extended Euclidean algorithm  hence arithmetic is “well-behaved” and can do addition, subtraction, multiplication, and division without leaving the field GF(p)
  • 16. GF(7) Multiplication Example × 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0 1 0 1 2 3 4 5 6 2 0 2 4 6 1 3 5 3 0 3 6 2 5 1 4 4 0 4 1 5 2 6 3 5 0 5 3 1 6 4 2 6 0 6 5 4 3 2 1
  • 17.
  • 18. Polynomial Arithmetic  can compute using polynomials f(x) = anxn + an-1xn-1 + … + a1x + a0 = ∑ aixi • nb. not interested in any specific value of x • which is known as the indeterminate  several alternatives available    ordinary polynomial arithmetic poly arithmetic with coords mod p poly arithmetic with coords mod p and polynomials mod m(x)
  • 19. Ordinary Polynomial Arithmetic  add or subtract corresponding coefficients  multiply all terms by each other  eg let f(x) = x3 + x2 + 2 and g(x) = x2 – x + 1 f(x) + g(x) = x3 + 2x2 – x + 3 f(x) – g(x) = x3 + x + 1 f(x) x g(x) = x5 + 3x2 – 2x + 2
  • 20. Polynomial Arithmetic with Modulo Coefficients  when computing value of each coefficient do calculation modulo some value  forms a polynomial ring  could be modulo any prime  but we are most interested in mod 2   ie all coefficients are 0 or 1 eg. let f(x) = x3 + x2 and g(x) = x2 + x + 1 f(x) + g(x) = x3 + x + 1 f(x) x g(x) = x5 + x2
  • 21. Polynomial Division  can write any polynomial in the form:    f(x) = q(x) g(x) + r(x) can interpret r(x) as being a remainder r(x) = f(x) mod g(x)  if have no remainder say g(x) divides f(x)  if g(x) has no divisors other than itself & 1 say it is irreducible (or prime) polynomial  arithmetic modulo an irreducible polynomial forms a field
  • 22. Polynomial GCD  can find greatest common divisor for polys   c(x) = GCD(a(x), b(x)) if c(x) is the poly of greatest degree which divides both a(x), b(x) can adapt Euclid’s Algorithm to find it: Euclid(a(x), b(x)) if (b(x)=0) then return a(x); else return Euclid(b(x), a(x) mod b(x));  all foundation for polynomial fields as see next
  • 23. 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
  • 25. 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)
  • 26. Computational Example   in GF(23) have (x2+1) is 1012 & (x2+x+1) is 1112 so addition is    and multiplication is    (x2+1) + (x2+x+1) = x 101 XOR 111 = 0102 (x+1).(x2+1) = x.(x2+1) + 1.(x2+1) = x3+x+x2+1 = x3+x2+x+1 011.101 = (101)<<1 XOR (101)<<0 = 1010 XOR 101 = 11112 polynomial modulo reduction (get q(x) & r(x)) is   (x3+x2+x+1 ) mod (x3+x+1) = 1.(x3+x+1) + (x2) = x2 1111 mod 1011 = 1111 XOR 1011 = 01002

Editor's Notes

  1. Lecture slides by Lawrie Brown for “Cryptography and Network Security”, 5/e, by William Stallings, Chapter Chapter 4 – “Basic Concepts in Number Theory and Finite Fields”.
  2. Finite fields have become increasingly important in cryptography. A number of cryptographic algorithms rely heavily on properties of finite fields, notably the Advanced Encryption Standard (AES) and elliptic curve cryptography. The main purpose of this chapter is to provide the reader with sufficient background on the concepts of finite fields to be able to understand the design of AES and other cryptographic algorithms that use finite fields. We begin, in the first three sections, with some basic concepts from number theory that are needed in the remainder of the chapter; these include divisibility, the Euclidian algorithm, and modular arithmetic.
  3. Groups, rings, and fields are the fundamental elements of a branch of mathematics known as abstract algebra, or modern algebra. In abstract algebra, we are concerned with sets on whose elements we can operate algebraically; that is, we can combine two elements of the set, perhaps in several ways, to obtain a third element of the set. These operations are subject to specific rules, which define the nature of the set. By convention, the notation for the two principal classes of operations on set elements is usually the same as the notation for addition and multiplication on ordinary numbers. However, it is important to note that, in abstract algebra, we are not limited to ordinary arithmetical operations. A group G, sometimes denoted by {G, • }, is a set of elements with a binary operation, denoted by •, that associates to each ordered pair (a, b) of elements in G an element (a • b) in G, such that the following axioms are obeyed: Closure, Associative, Identity element, Inverse element. Note - we have used . as operator: could be addition +, multiplication x or any other mathematical operator. A group can have a finite (fixed) number of elements, or it may be infinite. Note that integers (+ve, -ve and 0) using addition form an infinite abelian group. So do real numbers using multiplication.
  4. Define exponentiation in a group as the repeated use of the group operator. Note that we are most familiar with it being applied to multiplication, but it is more general than that. If the repeated use of the operator on some value a in the group results in every possible value being created, then the group is said to be cyclic, and a is a generator of (or generates) the group G.
  5. Next describe a ring. In essence, a ring is a set in which we can do addition, subtraction [a – b = a + (–b)], and multiplication without leaving the set, and which obeys the associative and distributive laws. We denote a Ring as {R,+,.} With respect to addition and multiplication, the set of all n-square matrices over the real numbers form a ring. The set of integers with addition &amp; multiplication form an integral domain.
  6. Lastly define a field. In essence, a field is a set in which we can do addition, subtraction, multiplication, and division without leaving the set. Division is defined with the following rule: a/b = a (b–1). We denote a Field as {F,+,.} Examples of fields are: rational numbers, real numbers, complex numbers. Note that integers are NOT a field since there are no multiplicative inverses (except for 1).
  7. Infinite fields are not of particular interest in the context of cryptography. However, finite fields play a crucial role in many cryptographic algorithms. It can be shown that the order of a finite field (number of elements in the field) must be a positive power of a prime, &amp; these are known as Galois fields, in honor of the mathematician who first studied finite fields, &amp; are denoted GF(p^n). We are most interested in the cases where either n=1 - GF(p), or p=2 - GF(2^n).
  8. Start by considering GF(p) over the set of integers {0…p-1} with addition &amp; multiplication modulo p. This forms a “well-behaved” finite field. Can find an inverse using the Extended Euclidean algorithm.
  9. Table 4.5 shows arithmetic operations in GF(7). This is a field of order 7 using modular arithmetic modulo 7. As can be seen, it satisfies all of the properties required of a field (Figure 4.2). Compare this table with Table 4.2. In the latter case, we see that using modular arithmetic modulo 8, is not a field.
  10. Next introduce the interesting subject of polynomial arithmetic, using polynomials in a single variable x, with several variants as listed above. Note we are usually not interested in evaluating a polynomial for any particular value of x, which is thus referred to as the indeterminate.
  11. Polynomial arithmetic includes the operations of addition, subtraction, and multiplication, defined in the usual way, ie add or subtract corresponding coefficients, or multiply all terms by each other. The examples are from the text.
  12. Consider variant where now when computing value of each coefficient do the calculation modulo some value, usually a prime. If the coefficients are computed in a field (eg GF(p)), then division on the polynomials is possible, and we have a polynomial ring. Are most interested in using GF(2) - ie all coefficients are 0 or 1, and any addition/subtraction of coefficients is done mod 2 (ie 2x is the same as 0x!), which is just the common XOR function.
  13. Note that we can write any polynomial in the form of f(x) = q(x) g(x) + r(x), where division of f(x) by g(x) results in a quotient q(x) and remainder r(x). Can then extend the concept of divisors from the integer case, and show that the Euclidean algorithm can be extended to find the greatest common divisor of two polynomials whose coefficients are elements of a field. Define an irreducible (or prime) polynomial as one with no divisors other than itself &amp; 1. If compute polynomial arithmetic modulo an irreducible polynomial, this forms a finite field, and the GCD &amp; Inverse algorithms can be adapted for it.
  14. We can extend the analogy between polynomial arithmetic over a field and integer arithmetic by defining the greatest common divisor as shown. We began this section with a discussion of arithmetic with ordinary polynomials. Arithmetic operations are performed on polynomials (addition, subtraction, multiplication, division) using the ordinary rules of algebra. Polynomial division is not allowed unless the coefficients are elements of a field. Next, we discussed polynomial arithmetic in which the coefficients are elements of GF(p). In this case, polynomial addition, subtraction, multiplication, and division are allowed. However, division is not exact; that is, in general division results in a quotient and a remainder. Finally, we showed that the Euclidean algorithm can be extended to find the greatest common divisor of two polynomials whose coefficients are elements of a field. All of the material in this section provides a foundation for the following section, in which polynomials are used to define finite fields of order pn.
  15. Consider now the case of polynomial arithmetic with coordinates mod 2 and polynomials mod an irreducible polynomial m(x). That is Modular Polynomial Arithmetic uses the set S of all polynomials of degree n-1 or less over the field Zp. With the appropriate definition of arithmetic operations, each such set S is a finite field. The definition consists of the following elements: Arithmetic follows the ordinary rules of polynomial arithmetic using the basic rules of algebra, with the following two refinements. Arithmetic on the coefficients is performed modulo p. If multiplication results in a polynomial of degree greater than n-1, then the polynomial is reduced modulo some irreducible polynomial m(x) of degree n. That is, we divide by m(x) and keep the remainder. This forms a finite field. And just as the Euclidean algorithm can be adapted to find the greatest common divisor of two polynomials, the extended Euclidean algorithm can be adapted to find the multiplicative inverse of a polynomial.
  16. Example shows addition &amp; multiplication in GF(23) modulo (x3+x+1), from Stallings Table 476.
  17. A key motivation for using polynomial arithmetic in GF(2n) is that the polynomials can be represented as a bit string, using all possible bit values, and the calculations only use simple common machine instructions - addition is just XOR, and multiplication is shifts &amp; XOR’s. See text for additional discussion. The shortcut for polynomial reduction comes from the observation that if in GF(2n) then irreducible poly g(x) has highest term xn , and if compute xn mod g(x) answer is g(x)- xn
  18. Show here a few simple examples of addition, multiplication &amp; modulo reduction in GF(23). Note the long form modulo reduction finds p(x)=q(x).m(x)+r(x) with r(x) being the desired remainder.