Lecture
Elliptic curve cryptography is a cryptographic method based on the mathematical properties of elliptic curves. This approach to cryptography provides a high level of security with shorter keys than those used in classical cryptography.
An elliptic curve is a set of points (x, y) satisfying the equation:

where a and b are the coefficients of the curve. It has several properties that make it useful in cryptography:
Point addition: for two points on an elliptic curve one can define an addition operation that finds a third point on the curve lying on the line passing through the two given points. This provides the basis for encryption and digital-signature operations.
Discrete logarithm: in elliptic curve cryptography, security rests on the difficulty of computing the discrete logarithm. This means that even if an attacker knows the public key (a point on the elliptic curve), it is hard for them to compute the value of the private key (an integer) used for encryption or signing.
An elliptic curve — a set of points described by the Weierstrass equation:

You can see typical elliptic curve graphs under the spoiler:

The elliptic curves shown in the first 4 figures are called smooth. Whereas the two lower curves belong to the so-called singular elliptic curves.
For smooth elliptic curves the following inequality holds:

Whereas for singular curves this condition, surprise, does not hold.
If you are going to develop a cryptographic product supporting “elliptics” on your own, it is very important to remember the following fact:
Singular curves must not be used in digital-signature schemes. We will cover this topic in detail later; for now we will just say that using singular curves risks significantly reducing the strength of the digital-signature scheme.
Arithmetic operations in elliptic curve cryptography are performed on points of the curve. The main operation is “addition”.
Adding two points is easy to represent graphically:

As the figure shows, to add points P and Q you need to draw a straight line through them, which will necessarily intersect the curve at some third point R. Reflect point R across the horizontal axis and we get the desired point P+Q.
Let us write the addition of two points as a formula:

Let the coordinates of point P be (xp, yp), and the coordinates of point Q be (xq, yq) respectively. Let us compute

and then the coordinates of point P+Q will be equal to:


Only one more detail remains to clarify. All the curves considered above are elliptic curves over the real numbers. And this leads us to the rounding problem. That is, using curves over the real numbers, we cannot obtain a bijection between the plaintext and the encrypted data. To avoid dealing with rounding, cryptography uses only curves over finite fields. This means that an elliptic curve is understood to be a set of points whose coordinates belong to a finite field.
Cryptography considers two kinds of elliptic curves: over the finite field
— the ring of residues modulo a prime number. And over the field
— the binary finite field.
Elliptic curves over the field
have one important advantage: elements of the field
can easily be represented as n-bit code words, which makes it possible to increase the speed of hardware implementations of elliptic-curve algorithms.
All mathematical operations on elliptic curves over a finite field are performed according to the laws of the finite field over which the elliptic curve is built. That is, to compute, for example, the sum of two points of curve E over the ring of residues
, all operations are performed modulo the number p.
However, there are pitfalls here. If we add two identical elements from a binary finite field, we get 0 as a result, since addition is performed modulo 2. This means that the characteristic of such a field is 2. But an elliptic curve of the form

described over a field of characteristic 2 or 3 becomes singular, and as already noted above, it is a bad idea to use singular curves in cryptography.
Therefore, over a binary finite field, curves of the following form are used:

Another important concept in elliptic curve cryptography is the order of the elliptic curve, which shows the number of points of the curve over the finite field.
Hasse's theorem states that if N — is the number of points of a curve defined over the field Zq with q elements, then the following equality holds:

Since the binary finite field
consists of 2n elements, we can say that the order of the curve
is equal to
, where
.
The following definition is associated with the number t:
an elliptic curve over a binary finite field is called supersingular if t divides the characteristic of the field (in the case of a binary field, the characteristic equals 2) without remainder.
Of course, the point of all this is that supersingular curves must not be used in digital-signature schemes. The strict recommendation not to use singular and supersingular curves for digital signatures has one very good reason, but more on that later.
The points of an elliptic curve over a finite field form a group. And as we noted above, an addition operation is defined for this group.
Accordingly, we can represent multiplying the number k by the point G as G+G+..+G with k summands.
Now suppose we have a message M represented as an integer. We can encrypt it using the expression
C=M*G.
The question is how difficult it is to recover M knowing the curve parameters E(a,b), the ciphertext C, and the point G.
This problem is called the discrete logarithm problem on an elliptic curve and has no fast solution. Moreover, it is believed that the discrete logarithm problem on an elliptic curve is harder to solve than the discrete logarithm problem in finite fields.
The fastest methods developed for finite fields turn out to be useless in the case of elliptic curves.
For instance, to solve the discrete logarithm there exist fairly fast algorithms with complexity
, where c and d — are certain constants, and p — is the size of the field. Such algorithms are called subexponential and make it comparatively easy to break the discrete logarithm in a finite field if the field size is not chosen very large, on the order of 21024.
At the same time, the fastest methods for solving the discrete logarithm on an elliptic curve have complexity
, where q — is the number of points of the elliptic curve.
Thus, to ensure a security level of 280 operations, q=2160 is required. Let me remind you that to obtain a comparable level of complexity when computing the discrete logarithm in a finite field, a field of order q=21024 is required.
It should be noted, however, that since the power of computing technology keeps increasing, the value of q will keep increasing as well. But since the graphs of the functions
and
differ sharply from one another, in the group of points of the elliptic curve q will grow much more slowly than in an arbitrary finite field.
.
Based on everything said above, let us list the main advantages and disadvantages of elliptic curve cryptography:
So, the main advantages:
Based on everything said above, I concluded for myself that a universal transition to “elliptics” is not a necessity. After all, as long as ordinary RSA and DSA coexist peacefully on one side with GOST 34.10 and ECDSA on the other, there is a false but reassuring feeling of having an alternative, one we might lose by chasing after the most modern cryptographic methods.
Comments