An algebraic group is:
- a set
$\mathbb{S}$ with - a binary operation
$\circ$ and - an identity element
$E$
such that the group
- is closed:
$\forall_{A,B \in \mathbb{S}}, \exists_{C \in \mathbb{S}}, A \circ B = C$ - is associative:
$\forall_{A,B,C \in \mathbb{S}}, (A \circ (B \circ C))=((A \circ B) \circ C)$ - the identity element implies
$\forall_{A \in \mathbb{S}}, A \circ E = A$ - has an inverse for each element:
$\forall_{A \in \mathbb{S}}, \exists_{I \in \mathbb{S}}, A \circ I = E \text{ or } A = E \ominus I$ . Remark the use of$\ominus$ to represent the inverse operation in the group.
The group
A field is
- a set
$\mathbb{F}$ with - two compatible binary operations
$+, \times$
and where
-
$(\mathbb{F}, +)$ is a group -
$(\mathbb{F}-\{0\}, \times)$ is a group, where$0$ is the identity element of$(\mathbb{F}, +)$ -
$+$ is commutative:$\forall_{a,b \in \mathbb{F}}, a + b = b + a$ -
$\times$ is commutative:$\forall_{a,b \in \mathbb{F}}, a \times b = b \times a$ -
$+, \times$ are compatible:$\forall_{a,b,c \in \mathbb{F}}, a \times (b + c) = (a \times b) + (a \times c)$
Remark that we use capital letters
- Let
$\mathbb{Z}$ denote the set of integers,$\{-\infty, \dots, -2,-1,0,1,2, \dots, +\infty\}$ . - Let
$n\mathbb{Z}$ denote the set of integers divisible by$n$ , where$n \in \mathbb{Z}$ . For example$\mathbb{_2Z}$ is the set of all even numbers.
The notation
The equivalence calss of
If
For notational simplification, we refer to the field
We will be looking deeper into the concept of a group, as modular arithmetic allows the formation of groups that are essential for the construction of cryptographically relevant hardness assumptions.
A cyclic group is a group
-
$n$ is an element of the field$\mathbb{Z}$ and -
$G$ is an element of the group$(\mathbb{G}, \circ, E, G)$ , -
$\forall_{N \in \mathbb{G}}, \exists_{n \in \mathbb{Z}}$ , such that$N= nG$
For example, if
As displayed above, in this document, we will use the
The group element
This is a group
-
$E$ is the identity element, -
$\forall_{i \in \mathbb{Z_p}, j \in {\mathbb{Z}}}, i \equiv j \pmod p \implies iG=jG$ , -
$pG=0G=E$ and -
$(-1)G = (p-1)G$ is the inverse of the generator, meaning
It turns out that
Let
Keeping simple for the purpose of this work, elliptic curve are a special types of equation with the form
There is a point
On an elliptic-curve, a straight line can cross up to
The following figure displays a line that crosses only two points
ECA assumes it also crosses the identity point
Therefore
In the weierstrass form, this also means the point
ECA states that the the subsequent application of the group operation on
Per consequence, the sum of any
The following figure displays a straight line, tangent to the curve at point
This geometrie can be used to produce the doubling of
With the addition operation and the additive inverse defined above, the ECA allows the construction of finite groups over elements of an elliptic curve
Therefore, from a generator point
-
$\circ$ is the points addition operation defined above, including the additive inverse and the identity element at$O$ , -
$G$ is the generator point, -
$p$ is the order of the group generator$G$ , or the number of points on curve$\mathbb{E}$ that can be generated from$G$ , -
$\mathbb{Z_q}$ is the field of integers of order$q \in \mathbb{Z}$ such that$\forall_{P=(x_P,y_P)}, \forall_{Q=nP=(x_Q, y_Q)}, x_P, y_P, n, x_Q, y_Q \in \mathbb{Z_q}$ . With this, we mean not only the number of operations$n$ , but also all point coordinates$x$ and$y$ have to be elements of$\mathbb{Z_q}$ . This means$q$ is used to keep the computation of group elements in bounds. This also means that all relevant operations are performed modulo$q$ . - Elements of
$\mathbb{Z_q}$ are integer numbers and always written using small letters, e.g.:$a, r$ . - In some cases,
$\mathbb{Z_q} \equiv \mathbb{Z_{c^n}}$ , where$c$ is the characteristic of the field and$n$ the degree of the field. We will keep using$\mathbb{Z_q}$ for simplicity of presentation in this document. -
$\mathbb{E_{(\mathbb{Z_q})}}$ is the set of all points computed on the curve equation$E(y,x)$ using the generator$G$ . - Elements of
$\mathbb{E_{(\mathbb{Z_q})}}$ are therefore points on that curve and always written using capital letters. e.g.:$G, A, R$ , where$x_R, y_R$ are integer coordinates of the point$R$ . Point coordinates$x_R, y_R$ are also elements of$\mathbb{Z_q}$ .
- the expression
$a + b$ denotes the addition of two integers$a, b \in \mathbb{Z_q}$ . They are always performed modulo$q$ even if omitted. - the expression
$a \times b$ denotes the multiplication of two integers$a, b \in \mathbb{Z_q}$ . They are always performed modulo$q$ even if omitted.
-
$A \circ B$ denotes the addition of two points$A=(x_A, y_A) \text{ and } B=(x_B, y_B)$ , both$A, B \in \mathbb{E}$ . Operations on points coordinates$x_A, y_A, x_B, y_B$ are performed in$\mathbb{Z_q}$ , which means modulo$q$ . -
$A \ominus B$ denotes the subtraction of the point$B$ from the point$A$ . It is our invention for presentation purpose. The real operation is$A \ominus B \equiv A \circ (-B)$ , where$(-B)$ is the additive inverse of$B$ in the group. -
$nA$ is the$n$ -times addition of the point$A$ to itself. This is called the scalar multiplication of the point$A \in \mathbb{E}$ by the integer$n \in \mathbb{Z_q}$ and display as
- We also use the
$\sum$ symbol to display the aggregated group operation
The linearity of the group operation allows the performance of following equivalences in
-
$nG \circ mG = (n + m)G$ and $n(mG) = (n \times m)G$
The first statement
The second statement
This detail is essential for an effective understanding of resulting hardness assumptions defined below.
Working on the cyclic, finite elliptic-curve group
Following integer arithmetic, we would say
If
ECDH is built on top of the ECDLP and assumes that:
- given the group
$(\mathbb{E_{(\mathbb{Z_q})}}, \circ, O, G, p)$ , where$O$ is the identity element, and - given two group elements
$aG$ and$bG$ , - it is hard to compute
$(a \times b)G$ , without knowing either$a$ or$b$ .
For example:
- Alice randomly selects a number
$a \in \mathbb{Z_q}$ , computes and sends the group element$aG$ to Bob, and - Bob randomly selects a number
$b \in \mathbb{Z_q}$ , computes and sends the group element$bG$ to Alice, - Alice compute
$S = O \circ_{1} bG, \dots, \circ_{a-1} bG \circ_{a} bG$ , where$\circ_{i}$ stands for the$i^{th}$ application of$bG$ to the cumulative result, - Bob compute
$S = O \circ_{1} aG, \dots, \circ_{b-1} aG \circ_{b} aG$ , where$\circ_{j}$ stands for the$j^{th}$ application of$G$ to the cumulative result, - Alice and Bob would have applied
$G$ to the initial identity element$(a \times b)$ -times and will both obtain the same group element$(a \times b)G$ .
For disambiguation recall that:
-
$(a \times b)G = a(bG) = b(aG)$ (see above), -
$a, b \in \mathbb{Z_q}$ , results to$(a \times b) \in \mathbb{Z_q}$ , as$\mathbb{Z_q}$ is a field, so$(a \times b)G$ is an element of$\mathbb{E_{(\mathbb{Z_q})}}$ , - it is easy to compute
$(a+b)G = aG \circ bG$ , as it is simply a point addition operation.
Knowing
ECDH can be extended to run among
Proceed with Threshold signature scheme (TSS) on ECDSA.