Algebraic Structures Monoids, Groups, Rings, Fields
Algebraic Structures
Monoids, Groups, Rings, Fields
Algebraic Structures 2
Monoid
For a set G and an operator : G × G → G, a pair (G, ·) is a monoid iff the following properties are satisfied:IdentityThere is e ∈ G such that for all a ∈ G, a · e = a.AssociativityFor all a, b, c ∈ G, a · (b · c)=(a · b) · c.
2301233
Algebraic Structures 32301233
Monoid
Closure Associativity Identity
Algebraic Structures 4
ExampleLet N be the set of non-negative integers.
(N, +) is a monoid because:• For any a and b in N, a + b is in N.• For any a, b and c in N, (a + b) + c = a + (b + c).• There is 0 such that for any a in N, a + 0 = a.
(N, ) is a monoid because:• For any a and b in N, a b is in N.• For any a, b and c in N, (a b) c = a (b c).• There is 1 such that for any a in N, a 1 = a.
2301233
Algebraic Structures 5
ExampleLet N be the set of of non-negative integers.
(N, -) is not a monoid because:• There are a and b in N such that a - b is in not N.• There are a, b and c in N such that (a - b) - c a -
(b - c).
(N, ) is not a monoid because:• There are a and b in N, such that a b is in not
N.• There are a, b and c in N such that (a b) c a
(b c).2301233
Algebraic Structures 6
GroupA monoid (G, ·) is a group iff for all a ∈ G, there exists an element b ∈ G such that a · b = e.
Let I be the set of integers.(I, +) is a group because:• For any a and b in I, a + b is in I.• For any a, b and c in I, (a + b) + c = a + (b +
c).• There is 0 such that for any a in I, a + 0 = a.• For any a in I, there is a-1 = -a such that a + a-1
= 0.
2301233
Algebraic Structures 7
GroupA monoid (G, ·) is a group iff for all a ∈ G, there exists an element b ∈ G such that a · b = e.
(I, ) is not a group because:• For any a and b in I, a b is in I.• For any a, b and c in I, (a b) c = a (b
c).• There is 1 such that for any a in I, a 1 = a.• For some a in I, there is no a-1 such that a
a-1 = 1.2301233
Algebraic Structures 82301233
Group
closure associativity identity inverse
Algebraic Structures 9
Commutative GroupA group (G, ·) is commutative or Abelian iff for all a, b ∈ G, a · b = b · a.
Let I be the set of integers.(I, +) is a commutative group because:• it is a group.• For any a and b in I, a + b = b + a.
(I, ) is not a commutative group because:• it is not a group.• For any a and b in I, a b = b a.
2301233
Algebraic Structures 102301233
Commutative Group
closure
associative identity invers
ecommutativ
e
Algebraic Structures 11
Relationship
Monoid
group
Commutative group
2301233
Algebraic Structures 12
RingFor a set R and binary operators · and + over R, the triple (R, +, ·) is a ring iff the following properties are satisfied:Commutative addition (R, +) is an Abelian group with identity element 0.Multiplication (R, ·) is a monoid with identity element 1.DistributivityFor all a, b, c ∈ R, a · (b + c) = a · b + a · c.
2301233
Algebraic Structures 13
Field• A non-empty set F with two binary
operation + (addition) and (multiplication) is called a field if
• (F, +) is a commutative (additive) group, and
• (F – {0}, ) is a commutative (multiplicative) group.
2301233
Algebraic Structures 14
Cryptography and Finite Fields• Cryptography focuses on finite fields.• For any prime integer p and any integer
n greater than or equal to 1, there is a unique field, called Galios field, with pn elements in it, denoted by GF(pn).
• “Unique” means that any two fields with the same number of elements must be essentially the same, except perhaps for giving the elements of the field different names.
2301233
Algebraic Structures 15
Galois Fields in Cryptography
GF(p1) : ({0,1,2,…,p-1}, +, *) for integers modulo p.Example Let p = 7. Z7 = {0,1,2,3,4,5,6}.GF(7) = (Z7 , +, *).
(Z7, +) is a commutative group with identity 0, and the inverse of a is 7-a.(Z7, *) is a commutative group with identity 1, and the inverse of a is x such that ax 1 mod 7.
2301233
Algebraic Structures 16
Galois Fields in AESGF(28) : (Z256, +, *) where Z256 = {0,1,…,255}.
Each element b=b7 b6 b5 b4 b3 b2 b1 b0in Z256
is a polynomial b7 x7 + b6x6 + b5x5 + b4x4 + b3x3 + b2x2 + b1x + b0.
2301233
Algebraic Structures 17
AES SpecificationsInput & output block length: 128 bits.State: 128 bits, arranged in a 4-by-4 matrix of bytes.
Each byte is viewed as an element in a field.
2301233
A0,0 A0,1 A0,2 A0,3
A1,0 A1,1 A1,2 A1,3
A2,0 A2,1 A2,2 A2,3
A3,0 A3,1 A3,2 A3,3
Algebraic Structures 18
Addition in GF(28)a7 a6 a5 a4 a3 a2 a1 a0
b7 b6 b5 b4 b3 b2 b1 b0
a7 x7 + a6x6 +…+ a1x+ a0
b7 x7 + b6x6 +…+ b1x+ b0
(a7+b7)x7+ (a6+b6)x6+ …+ (a1+b1)x+ (a0+b0)
All additions of polynomial coefficient are modulo 2. 1 + 1 =0 1 – 1 = 0 1 1 = 01 + 0 = 1 1 – 0 = 1 1 0 = 00 + 1 = 1 0 – 1 = 1 0 1 = 00 + 0 = 0 0 – 0 = 0 0 0 = 0
2301233
Algebraic Structures 19
Multiplication in GF(28) a7 x7 + a6x6 +…+ a1x+ a0
b7 x7 + b6x6 +…+ b1x+ b0
--------------------------------------------------------------------
(a7 b0) x7 + (a6b0) x6+ …+ (a1b0) x+ (a0b0)
(a7 b1) x8 + (a6b1) x7 + (a5b1) x6+ …+ (a0b1)x
(a7 b2)x9 +(a6b2) x8 +(a5b2) x7+ (a4b2)x6 +…
…------------------------------------------------------------------------
…
(ai bj) xi+j . i=0,…,7 j=0,…,7
2301233
Algebraic Structures 20
Multiplication in GF(28)The result can be a degree k polynomial, where k 14.Divide the result by a degree 8 polynomial .AES uses x8 + x4 + x3 + x +1.
2301233
Algebraic Structures 21
Examplex7 + x5 + x4 + x2 + x =>
(75421) x6 + x4 + x + 1 =>
(6410)
(7 5 4 2 1) * (6 4 1 0)(7 5 4 2 1) * (6) = (13 11 10 8 7)(7 5 4 2 1) * (4) = ( 11 9 8 6 5)(7 5 4 2 1) * (1) = ( 8 6 5 3 2)(7 5 4 2 1) * (0) = + 7 5 4 2 1) ---------------------------- (13 10 9 8 5 4 3 1)
2301233
Algebraic Structures 22
Example(x13 + x10 + x9 + x8+ x5 + x4 + x3 + x )/ (x8 + x4 + x3
+ x +1)
=> (13 10 9 8 5 4 3 1)/(8 4 3 1 0)
(13 10 9 8 5 4 3 1)(8 4 3 1 0) * (5) = (13 9 8 6 5) -------------------------
(10 6 4 3 1)(8 4 3 1 0) * (2) = (10 6 5 3 2)
-------------------------the remainder (5 4 2 1)
2301233