Blockchain Engineer and a Cryptography Researcher
Blockchain Engineer and a Cryptography Researcher

Subscribe to Bless Hukporti

Subscribe to Bless Hukporti
Share Dialog
Share Dialog
<100 subscribers
<100 subscribers


The goal of this research based article is to help us understand group theory the backbone of cryptography. This would be a primer for further study on elliptic curve groups, BLS signatures, zkSNARKS, and amongst others.
Goals
Understanding groups
Understanding fields, finite fields, generators and the discrete logarithm problem
Elliptic curve groups
Group theory as we all know is a branch of mathematics that studies algebraic structures known as groups. The concept of a group is central to abstract algebra and has applications in various fields such as physics, chemistry, and computer science. Group theory is very fundamental in cryptography.
Understanding group theory gives you a strong fundamental understanding of the math behind cryptography and zk proofs. Before reading further I assume you have refreshed yourself with basic modular arithmetic. If not I would advice you refresh yourself on it before continuing.
You will see me using these quite a lot
∈ which means belongs to
∀ which means For all or for any
∃ which means there exists
↦ which also means maps to
Now that you know these we’re now set to roll.
A group is a set with a single binary operation (usually called multiplication, but it could be any operation such as addition) that satisfies four fundamental properties : closure, associativity, identity, and invertibility (inverse).
or
Let G be a non-empty set together with the operation * is said to be a group if the following conditions or axioms are satisfied:
Closure: For all a and b which belong to the non-empty set G, there exists the product of a and b which also belongs to the non-empty set G. Expressed mathematically as ∀ a, b ∈ G ∃ a * b ∈ G.
Associativity: For all, ∀ a, b, c ∈ G , (a * b) * c = b * (a * c)
Identity: For all, ∀ a ∈ G there exists some element e such that a * e = e * a = a
Inverse: For all, ∀ a ∈ G there exist some element b ∈ G such that a * b = b * a = e
If these four conditions hold then the non-empty set together with the operation * is said to be a group.
Groups can be classified in several ways based on additional properties they may have.
Abelian (or Commutative) Groups: A group is called Abelian if the operation is commutative, i.e., for all :
Finite and Infinite Groups: Groups can have a finite number of elements (finite groups) or an infinite number (infinite groups). The number of elements in a group is called the order of the group.
The Integers under Addition: The set of integers ℤ with the operation of addition is an infinite Abelian group. The identity element is 0, and the inverse of any integer n is -n.
Symmetric Group: The set of all permutations of a finite set {1, 2, …, n} forms a group under the operation of composition of permutations. This group is called the symmetric group.
Now that we know what a group is and its characteristics, let solve some problems.
Prove whether the additive integers mod 6 is a group.
Answer
Now based on the definition of groups above, we need to show that the members or elements of the additive integer mod 6 is
Closed under the operation *
Associative under the operation *
Has an identity element
Has an inverse
We let G = the set of elements of the additive integer mod 6. The set of elements of the additive integer mod 6 are G = { 0, 1, 2, 3, 4, 5 }.
Now proving that it is closed under the operation * i.e. ∀ a, b ∈ G ∃ a * b ∈ G. We let a = 2, b = 5 ∈ G. Now 2 * 5 = ( 10 mod 6 ) = 4 ∈ G . Since 4 is in the set G the first condition is satisfied.
Proving that the non-empty set G is associative i.e. ∀ a, b, c ∈ G , ( a * b ) * c = b * ( a * c ). We let a = 2, b = 5 and c = 1, ∈ G. Now ( 2 * 5 ) * 1 = 5 * ( 2 * 1 ) which is equal to ( 10 mod 6 ) = ( 10 mod 6 ) which is 4 ∈ G. Hence associativity holds.
Proving that there exist an identity element in G i.e. ∀ a ∈ G there exists some element e such that a * e = e * a = a. We let a = 2 ∈ G now we want an element that when we multiply it to a we get the same value of a. Not that generally the multiplicative identity of any element is 1, hence e = 1. This implies that 2 * 1 = 1 * 2 = 2 ∈ G. Hence identity element exists.
Proving that there exists a multiplicative inverse in G i.e. ∀ a ∈ G there exist some element b ∈ G such that a * b = b * a = e. Here we realize that G has no inverse under mod 6 because there is no two element in G when we multiply them we get e.
Hence since the fourth condition is not satisfied the set G is not a group.
Fields are fundamental algebraic structures that generalize the familiar concepts of arithmetic operations like addition, subtraction, multiplication, and division.
Fields are set of elements that are abelian under + and * operation and has the distributive property.
Abelian groups are groups that are commutative, i.e. ∀ a, b ∈ G if a * b = b * a ∈ G then G is an abelian group.
Rational Numbers (ℚ): The set of rational numbers with the usual addition and multiplication operations is a field.
Real Numbers (ℝ): The set of real numbers with standard addition and multiplication forms a field.
Complex Numbers (ℂ): The set of complex numbers is a field under the usual operations of addition and multiplication.
Finite Fields: Fields with a finite number of elements are called finite fields or Galois fields. The simplest example is the field with two elements, , where the operations are defined modulo 2.
Finite fields, also known as Galois fields (after the mathematician Évariste Galois), are fields that contain a finite number of elements.
A finite field is a commutative ring with only finitely many elements. For example, with p prime is a field, which we denote . Let take a quick look on the properties of finite fields.
Order of a Finite Field:
The number of elements in a finite field is called its order. If a finite field has elements, we say that the order of is
A fundamental result is that the order of a finite field is always a power of a prime number. Hence, where is a prime number (called the characteristic of the field) and is a positive integer.
Prime Fields:
The simplest finite fields are those with elements, where is a prime number. These fields are denoted
Extension Fields:
Addition and Multiplication:
Addition in a finite field is performed element-wise, modulo the characteristic .
Multiplication is performed using polynomial arithmetic, followed by reduction modulo the irreducible polynomial
Inverses:
Every non-zero element in a finite field has a multiplicative inverse. The inverse can be found using the Extended Euclidean Algorithm.
Field with 4 Elements:
can be constructed using the polynomial over .
Using Polynomials:
To construct , one needs an irreducible polynomial of degree
A generator of a group is an element from which every other element of the group can be derived by repeatedly applying the group operation (and its inverse, if applicable). A group can have one or more generators.
Cyclic Groups:
A group is cyclic if there exists an element such that every element in can be written as for some integer This element is called a generator of the cyclic group.
In the context of finite fields (or Galois fields), generators are related to the multiplicative group of the field.
Multiplicative Group of a Finite Field:
The non-zero elements of a finite field forms a cyclic group under multiplication.
A generator of this multiplicative group is an element such that every non-zero element of the field can be written as for some integer .
For instance, in the field which has elements , the element 3 is a generator of the multiplicative group since the powers of 3 modulo 7 generate all non-zero elements of the field:
For Cyclic Groups:
To find a generator of a cyclic group, identify an element whose powers produce all elements of the group.
For example, in the group (integers modulo 7), the element 3 is a generator since
Elliptic curve groups are algebraic structures used in number theory and cryptography. They are defined by the set of points that satisfy a given elliptic curve equation, which typically takes the form for some constants and over a field. The points on this curve, together with a defined point at infinity, form a group under a defined addition operation.
Group Operation: The addition of two points on the curve is defined geometrically. Given two points and on the elliptic curve, the sum is found by drawing a line through and This line intersects the curve at a third point, which is then reflected over the x-axis to get the result
The goal of this research based article is to help us understand group theory the backbone of cryptography. This would be a primer for further study on elliptic curve groups, BLS signatures, zkSNARKS, and amongst others.
Goals
Understanding groups
Understanding fields, finite fields, generators and the discrete logarithm problem
Elliptic curve groups
Group theory as we all know is a branch of mathematics that studies algebraic structures known as groups. The concept of a group is central to abstract algebra and has applications in various fields such as physics, chemistry, and computer science. Group theory is very fundamental in cryptography.
Understanding group theory gives you a strong fundamental understanding of the math behind cryptography and zk proofs. Before reading further I assume you have refreshed yourself with basic modular arithmetic. If not I would advice you refresh yourself on it before continuing.
You will see me using these quite a lot
∈ which means belongs to
∀ which means For all or for any
∃ which means there exists
↦ which also means maps to
Now that you know these we’re now set to roll.
A group is a set with a single binary operation (usually called multiplication, but it could be any operation such as addition) that satisfies four fundamental properties : closure, associativity, identity, and invertibility (inverse).
or
Let G be a non-empty set together with the operation * is said to be a group if the following conditions or axioms are satisfied:
Closure: For all a and b which belong to the non-empty set G, there exists the product of a and b which also belongs to the non-empty set G. Expressed mathematically as ∀ a, b ∈ G ∃ a * b ∈ G.
Associativity: For all, ∀ a, b, c ∈ G , (a * b) * c = b * (a * c)
Identity: For all, ∀ a ∈ G there exists some element e such that a * e = e * a = a
Inverse: For all, ∀ a ∈ G there exist some element b ∈ G such that a * b = b * a = e
If these four conditions hold then the non-empty set together with the operation * is said to be a group.
Groups can be classified in several ways based on additional properties they may have.
Abelian (or Commutative) Groups: A group is called Abelian if the operation is commutative, i.e., for all :
Finite and Infinite Groups: Groups can have a finite number of elements (finite groups) or an infinite number (infinite groups). The number of elements in a group is called the order of the group.
The Integers under Addition: The set of integers ℤ with the operation of addition is an infinite Abelian group. The identity element is 0, and the inverse of any integer n is -n.
Symmetric Group: The set of all permutations of a finite set {1, 2, …, n} forms a group under the operation of composition of permutations. This group is called the symmetric group.
Now that we know what a group is and its characteristics, let solve some problems.
Prove whether the additive integers mod 6 is a group.
Answer
Now based on the definition of groups above, we need to show that the members or elements of the additive integer mod 6 is
Closed under the operation *
Associative under the operation *
Has an identity element
Has an inverse
We let G = the set of elements of the additive integer mod 6. The set of elements of the additive integer mod 6 are G = { 0, 1, 2, 3, 4, 5 }.
Now proving that it is closed under the operation * i.e. ∀ a, b ∈ G ∃ a * b ∈ G. We let a = 2, b = 5 ∈ G. Now 2 * 5 = ( 10 mod 6 ) = 4 ∈ G . Since 4 is in the set G the first condition is satisfied.
Proving that the non-empty set G is associative i.e. ∀ a, b, c ∈ G , ( a * b ) * c = b * ( a * c ). We let a = 2, b = 5 and c = 1, ∈ G. Now ( 2 * 5 ) * 1 = 5 * ( 2 * 1 ) which is equal to ( 10 mod 6 ) = ( 10 mod 6 ) which is 4 ∈ G. Hence associativity holds.
Proving that there exist an identity element in G i.e. ∀ a ∈ G there exists some element e such that a * e = e * a = a. We let a = 2 ∈ G now we want an element that when we multiply it to a we get the same value of a. Not that generally the multiplicative identity of any element is 1, hence e = 1. This implies that 2 * 1 = 1 * 2 = 2 ∈ G. Hence identity element exists.
Proving that there exists a multiplicative inverse in G i.e. ∀ a ∈ G there exist some element b ∈ G such that a * b = b * a = e. Here we realize that G has no inverse under mod 6 because there is no two element in G when we multiply them we get e.
Hence since the fourth condition is not satisfied the set G is not a group.
Fields are fundamental algebraic structures that generalize the familiar concepts of arithmetic operations like addition, subtraction, multiplication, and division.
Fields are set of elements that are abelian under + and * operation and has the distributive property.
Abelian groups are groups that are commutative, i.e. ∀ a, b ∈ G if a * b = b * a ∈ G then G is an abelian group.
Rational Numbers (ℚ): The set of rational numbers with the usual addition and multiplication operations is a field.
Real Numbers (ℝ): The set of real numbers with standard addition and multiplication forms a field.
Complex Numbers (ℂ): The set of complex numbers is a field under the usual operations of addition and multiplication.
Finite Fields: Fields with a finite number of elements are called finite fields or Galois fields. The simplest example is the field with two elements, , where the operations are defined modulo 2.
Finite fields, also known as Galois fields (after the mathematician Évariste Galois), are fields that contain a finite number of elements.
A finite field is a commutative ring with only finitely many elements. For example, with p prime is a field, which we denote . Let take a quick look on the properties of finite fields.
Order of a Finite Field:
The number of elements in a finite field is called its order. If a finite field has elements, we say that the order of is
A fundamental result is that the order of a finite field is always a power of a prime number. Hence, where is a prime number (called the characteristic of the field) and is a positive integer.
Prime Fields:
The simplest finite fields are those with elements, where is a prime number. These fields are denoted
Extension Fields:
Addition and Multiplication:
Addition in a finite field is performed element-wise, modulo the characteristic .
Multiplication is performed using polynomial arithmetic, followed by reduction modulo the irreducible polynomial
Inverses:
Every non-zero element in a finite field has a multiplicative inverse. The inverse can be found using the Extended Euclidean Algorithm.
Field with 4 Elements:
can be constructed using the polynomial over .
Using Polynomials:
To construct , one needs an irreducible polynomial of degree
A generator of a group is an element from which every other element of the group can be derived by repeatedly applying the group operation (and its inverse, if applicable). A group can have one or more generators.
Cyclic Groups:
A group is cyclic if there exists an element such that every element in can be written as for some integer This element is called a generator of the cyclic group.
In the context of finite fields (or Galois fields), generators are related to the multiplicative group of the field.
Multiplicative Group of a Finite Field:
The non-zero elements of a finite field forms a cyclic group under multiplication.
A generator of this multiplicative group is an element such that every non-zero element of the field can be written as for some integer .
For instance, in the field which has elements , the element 3 is a generator of the multiplicative group since the powers of 3 modulo 7 generate all non-zero elements of the field:
For Cyclic Groups:
To find a generator of a cyclic group, identify an element whose powers produce all elements of the group.
For example, in the group (integers modulo 7), the element 3 is a generator since
Elliptic curve groups are algebraic structures used in number theory and cryptography. They are defined by the set of points that satisfy a given elliptic curve equation, which typically takes the form for some constants and over a field. The points on this curve, together with a defined point at infinity, form a group under a defined addition operation.
Group Operation: The addition of two points on the curve is defined geometrically. Given two points and on the elliptic curve, the sum is found by drawing a line through and This line intersects the curve at a third point, which is then reflected over the x-axis to get the result
Cyclic Groups: A group is cyclic if there exists an element such that every element of the group can be written as raised to some integer power. This is called a generator of the group.
Subgroups: A subgroup of a group is a subset of that is itself a group under the operation defined on .
Remark: The operation * is mostly a binary operation i.e. * is a map * : .
Alternatively * takes in two elements in G and produces a third element in .
Existence and Uniqueness:
For each prime power there exists a finite field with elements, denoted
All finite fields of a given order are isomorphic, meaning there is essentially only one finite field of each order up to isomorphism.
For the field is an extension field of . It contains elements and can be constructed using a polynomial of degree that is irreducible over .
Elements can be represented as where is a root of the polynomial.
For example, to construct , one can use the polynomial over .
Representation of Elements:
Elements of can be represented as polynomials of degree less than with coefficients in .
The cyclic group generated by is denoted
For example, the integers under addition, , form a cyclic group with 1 as a generator since every integer can be written as where
Multiple Generators:
Not all groups are cyclic, and some groups require more than one generator.
For example, the Klein four-group can be generated by the elements and since and are already in the group.
Additive Group of a Finite Field:
The additive group of a finite field is not cyclic for . Instead, it is isomorphic to the direct sum of cyclic groups of order
For Finite Fields:
To find a generator of the multiplicative group of a finite field , look for an element such that for all
Typically, algorithms such as brute force (checking elements one by one) or more sophisticated methods like using properties of field extensions are used.
Identity Element: The point at infinity serves as the identity element for the group. For any point on the curve,
Inverse Element: For any point on the curve, its inverse is This means that
Elliptic Curve over Finite Fields: When elliptic curves are used in cryptography, they are often defined over finite fields (also known as Galois fields). The curve equation is considered modulo a prime or for some integer .
Cyclic Groups: A group is cyclic if there exists an element such that every element of the group can be written as raised to some integer power. This is called a generator of the group.
Subgroups: A subgroup of a group is a subset of that is itself a group under the operation defined on .
Remark: The operation * is mostly a binary operation i.e. * is a map * : .
Alternatively * takes in two elements in G and produces a third element in .
Existence and Uniqueness:
For each prime power there exists a finite field with elements, denoted
All finite fields of a given order are isomorphic, meaning there is essentially only one finite field of each order up to isomorphism.
For the field is an extension field of . It contains elements and can be constructed using a polynomial of degree that is irreducible over .
Elements can be represented as where is a root of the polynomial.
For example, to construct , one can use the polynomial over .
Representation of Elements:
Elements of can be represented as polynomials of degree less than with coefficients in .
The cyclic group generated by is denoted
For example, the integers under addition, , form a cyclic group with 1 as a generator since every integer can be written as where
Multiple Generators:
Not all groups are cyclic, and some groups require more than one generator.
For example, the Klein four-group can be generated by the elements and since and are already in the group.
Additive Group of a Finite Field:
The additive group of a finite field is not cyclic for . Instead, it is isomorphic to the direct sum of cyclic groups of order
For Finite Fields:
To find a generator of the multiplicative group of a finite field , look for an element such that for all
Typically, algorithms such as brute force (checking elements one by one) or more sophisticated methods like using properties of field extensions are used.
Identity Element: The point at infinity serves as the identity element for the group. For any point on the curve,
Inverse Element: For any point on the curve, its inverse is This means that
Elliptic Curve over Finite Fields: When elliptic curves are used in cryptography, they are often defined over finite fields (also known as Galois fields). The curve equation is considered modulo a prime or for some integer .
No activity yet