cryptography slides. it consists of all the lecture notes of ankur sodhi. students of lpu final year btech computer sc. can take it as a reference if needed
1. understand the terms function, domain, range, one-one function,inverse function and composition of functions
2. identify the range of a given function in simple cases, and find the
composition of two given functions
3. determine whether or not a given function is one-one, and find the inverse of a one-one function in simple cases
4. illustrate in graphical terms the relation between a one-one function and its inverse.
Basic galois field arithmatics required for error control codesMadhumita Tamhane
Knowledge of Galois Fields is must for understanding Error Control Codes. This presentation undertakes concepts of Galois Field required for understanding Error Control Codes in very simple manner, explaining its complex mathematical intricacies in a structured manner.
A detailed description about Cryptography explaining the topic from the very basics. Explaining how it all started, and how is it currently being applied in the real world. Mostly useful for students in engineering and mathematics.
1. understand the terms function, domain, range, one-one function,inverse function and composition of functions
2. identify the range of a given function in simple cases, and find the
composition of two given functions
3. determine whether or not a given function is one-one, and find the inverse of a one-one function in simple cases
4. illustrate in graphical terms the relation between a one-one function and its inverse.
Basic galois field arithmatics required for error control codesMadhumita Tamhane
Knowledge of Galois Fields is must for understanding Error Control Codes. This presentation undertakes concepts of Galois Field required for understanding Error Control Codes in very simple manner, explaining its complex mathematical intricacies in a structured manner.
A detailed description about Cryptography explaining the topic from the very basics. Explaining how it all started, and how is it currently being applied in the real world. Mostly useful for students in engineering and mathematics.
I presented this overview lecture at Computer Applications for the 21st century – Synergies and Vistas organized by Vidyasagar College, Kolkata in 2008
–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(2n)
(a) Natural Numbers : N = {1,2,3,4,...}
(b) Whole Numbers : W = {0,1,2,3,4, }
(c) Integer Numbers :
or Z = {...–3,–2,–1, 0,1,2,3, },
Z+ = {1,2,3,....}, Z– = {–1,–2,–3, }
Z0 = {± 1, ± 2, ± 3, }
(d) Rational Numbers :
p
Q = { q ; p, q z, q 0 }
(i) R0 : all real numbers except 0 (Zero).
(j) Imaginary Numbers : C = {i,, }
(k) Prime Numbers :
These are the natural numbers greater than 1 which is divisible by 1 and itself only, called prime numbers.
Ex. 2,3,5,7,11,13,17,19,23,29,31,37,41,...
(l) Even Numbers : E = {0,2,4,6, }
(m) Odd Numbers : O = {1,3,5,7, }
Ex. {1,
Note :
5
, –10, 105,
3
22 20
7 , 3
, 0 ....}
The set of the numbers between any two real numbers is called interval.
(a) Close Interval :
(i) In rational numbers the digits are repeated after decimal.
(ii) 0 (zero) is a rational number.
(e) Irrational numbers: The numbers which are not rational or which can not be written in the form of p/q ,called irrational numbers
Ex. { , ,21/3, 51/4, ,e, }
Note:
(i) In irrational numbers, digits are not repeated after decimal.
(ii) and e are called special irrational quantities.
(iii) is neither a rational number nor a irrational number.
(f) Real Numbers : {x, where x is rational and irrational number}
20
[a,b] = { x, a x b }
(b) Open Interval:
(a, b) or ]a, b[ = { x, a < x < b }
(c) Semi open or semi close interval:
[a,b[ or [a,b) = {x; a x < b}
]a,b] or (a,b] = {x ; a < x b}
Let A and B be two given sets and if each element a A is associated with a unique element b B under a rule f , then this relation is called function.
Here b, is called the image of a and a is called the pre- image of b under f.
Note :
(i) Every element of A should be associated with
Ex. R = { 1,1000, 20/6, ,
, –10, –
,.....}
3
B but vice-versa is not essential.
(g) Positive Real Numbers: R+ = (0,)
(h) Negative Real Numbers : R– = (– ,0)
(ii) Every element of A should be associated with a unique (one and only one) element of but
any element of B can have two or more rela- tions in A.
3.1 Representation of Function :
It can be done by three methods :
(a) By Mapping
(b) By Algebraic Method
(c) In the form of Ordered pairs
(A) Mapping :
It shows the graphical aspect of the relation of the elements of A with the elements of B .
Ex. f1:
f2 :
f3 :
f4 :
In the above given mappings rule f1 and f2
shows a function because each element of A is
associated with a unique element of B. Whereas
f3 and f4 are not function because in f 3, element c is associated with two elements of B, and in f4 , b is not associated with any element
of B, which do not follow the definition of function. In f2, c and d are associated with same element, still it obeys the rule of definition of function because it does not tell that every element of A should be associated with different elements of B.
(B) Algebraic Method :
It shows the relation between the elem
Students, digital devices and success - Andreas Schleicher - 27 May 2024..pptxEduSkills OECD
Andreas Schleicher presents at the OECD webinar ‘Digital devices in schools: detrimental distraction or secret to success?’ on 27 May 2024. The presentation was based on findings from PISA 2022 results and the webinar helped launch the PISA in Focus ‘Managing screen time: How to protect and equip students against distraction’ https://www.oecd-ilibrary.org/education/managing-screen-time_7c225af4-en and the OECD Education Policy Perspective ‘Students, digital devices and success’ can be found here - https://oe.cd/il/5yV
This is a presentation by Dada Robert in a Your Skill Boost masterclass organised by the Excellence Foundation for South Sudan (EFSS) on Saturday, the 25th and Sunday, the 26th of May 2024.
He discussed the concept of quality improvement, emphasizing its applicability to various aspects of life, including personal, project, and program improvements. He defined quality as doing the right thing at the right time in the right way to achieve the best possible results and discussed the concept of the "gap" between what we know and what we do, and how this gap represents the areas we need to improve. He explained the scientific approach to quality improvement, which involves systematic performance analysis, testing and learning, and implementing change ideas. He also highlighted the importance of client focus and a team approach to quality improvement.
Read| The latest issue of The Challenger is here! We are thrilled to announce that our school paper has qualified for the NATIONAL SCHOOLS PRESS CONFERENCE (NSPC) 2024. Thank you for your unwavering support and trust. Dive into the stories that made us stand out!
Ethnobotany and Ethnopharmacology:
Ethnobotany in herbal drug evaluation,
Impact of Ethnobotany in traditional medicine,
New development in herbals,
Bio-prospecting tools for drug discovery,
Role of Ethnopharmacology in drug evaluation,
Reverse Pharmacology.
Unit 8 - Information and Communication Technology (Paper I).pdfThiyagu K
This slides describes the basic concepts of ICT, basics of Email, Emerging Technology and Digital Initiatives in Education. This presentations aligns with the UGC Paper I syllabus.
Palestine last event orientationfvgnh .pptxRaedMohamed3
An EFL lesson about the current events in Palestine. It is intended to be for intermediate students who wish to increase their listening skills through a short lesson in power point.
The French Revolution, which began in 1789, was a period of radical social and political upheaval in France. It marked the decline of absolute monarchies, the rise of secular and democratic republics, and the eventual rise of Napoleon Bonaparte. This revolutionary period is crucial in understanding the transition from feudalism to modernity in Europe.
For more information, visit-www.vavaclasses.com
Synthetic Fiber Construction in lab .pptxPavel ( NSTU)
Synthetic fiber production is a fascinating and complex field that blends chemistry, engineering, and environmental science. By understanding these aspects, students can gain a comprehensive view of synthetic fiber production, its impact on society and the environment, and the potential for future innovations. Synthetic fibers play a crucial role in modern society, impacting various aspects of daily life, industry, and the environment. ynthetic fibers are integral to modern life, offering a range of benefits from cost-effectiveness and versatility to innovative applications and performance characteristics. While they pose environmental challenges, ongoing research and development aim to create more sustainable and eco-friendly alternatives. Understanding the importance of synthetic fibers helps in appreciating their role in the economy, industry, and daily life, while also emphasizing the need for sustainable practices and innovation.
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdfTechSoup
In this webinar you will learn how your organization can access TechSoup's wide variety of product discount and donation programs. From hardware to software, we'll give you a tour of the tools available to help your nonprofit with productivity, collaboration, financial management, donor tracking, security, and more.
The Art Pastor's Guide to Sabbath | Steve ThomasonSteve Thomason
What is the purpose of the Sabbath Law in the Torah. It is interesting to compare how the context of the law shifts from Exodus to Deuteronomy. Who gets to rest, and why?
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
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)
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
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”.
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.
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.
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.
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 & multiplication form an integral domain.
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).
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, & these are known as Galois fields, in honor of the mathematician who first studied finite fields, & are denoted GF(p^n). We are most interested in the cases where either n=1 - GF(p), or p=2 - GF(2^n).
Start by considering GF(p) over the set of integers {0…p-1} with addition & multiplication modulo p. This forms a “well-behaved” finite field. Can find an inverse using the Extended Euclidean algorithm.
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.
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.
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.
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.
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 & 1. If compute polynomial arithmetic modulo an irreducible polynomial, this forms a finite field, and the GCD & Inverse algorithms can be adapted for it.
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.
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.
Example shows addition & multiplication in GF(23) modulo (x3+x+1), from Stallings Table 476.
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 & 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
Show here a few simple examples of addition, multiplication & 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.