Added section about elliptic curves

This commit is contained in:
2023-05-18 19:55:42 +02:00
parent 61efaa4f9c
commit a62747d61c

View File

@@ -28,6 +28,12 @@ This means that the advantage to distinguish between two identical-until-bad gam
\subsection{Elliptic Curves} \subsection{Elliptic Curves}
The EdDSA signature scheme has been defined using twisted Edwards curves as the underlying group structure. Twisted Edwards curves are a special form of elliptic curves. For the proofs performed in this thesis, no specific properties of twisted Edwards curves are used. Therefore, they will not be introduced in great detail. For more details on twisted Edwards curves the paper "Twisted Edwards Curves" by Bernstein et. al, may be refereed \cite{EPRINT:BBJLP08}. The use of twisted Edwards curves in EdDSA is mainly for performance reasons \cite{CHES:BDLSY11}.
The proofs assume two properties of the underlying group structure, which are true for every elliptic curve. The first is that the underlying group is a generic group, which means that it is only possible to perform the well-defined group operation on the group elements, which is widely assumed to be true for elliptic curves. Elliptic curves often use additive group notation, which means that the group operation is called addition. The second assumption is, that the underlying group is an abelian group. Every elliptic curve is an abelian group.
Elliptic curves also have a property called the cofactor. The cofactor of an elliptic curve refers to the number of points on the elliptic curve divided by the number of points in a particular subgroup. The EdDSA signature scheme is not defined to use the entire twisted Edwards curve but instead uses the largest prime order subgroup of that twisted Edwards curve. Therefore, if the number of points on the twisted Edwards curve is $N$ and the order of the prime order subgroup is $L$, the cofactor with respect to this subgroup is $\frac{N}{L}$.
\subsection{Random Oracle Model (ROM)} \subsection{Random Oracle Model (ROM)}
\label{sec:rom} \label{sec:rom}