Introduction to the principle of ECC encryption algorithms

Source: Internet
Author: User

Preface

Like RSA (names of Ron Rivest, Adi Shamir, And Len Adleman), ECC (elliptic curves cryptography, Elliptic Curve Cryptography) is also a public key algorithm. At present, there are not many public documents about ECC in China (I have not found them ). There are some general introductions, but I still cannot understand the essence of ECC after reading it (maybe I have a poor understanding ). I found some materials from a foreign website a few days ago. After reading the materials, I seem to be confused about ECC. So I want to sort out my understanding of ECC and share it with you. Of course, ECC is profound and profound, and my understanding is still superficial. There may be many mistakes in the article. You are welcome to criticize and correct them. The article will be serialized, And I will post a little bit after writing it. This article focuses on theory, and code implementation is not involved at the moment. This requires you to have a Math skill. We recommend that you understand the RSA algorithm and the Public Key algorithm. It is helpful to understand this article. Don't be afraid. I try to make the language more popular. I hope this article will become a stepping stone for learning ECC.

1. Start with parallel lines.

Parallel lines. No one is skeptical. :) However, this conclusion has been questioned in modern times. Will parallel lines interwork in distant places? In fact, no one has ever seen it. So "parallel lines, never intersection" is just a hypothesis (we think about the parallel principle of junior high school learning, there is no proof ). Now that we can assume that the parallel lines will never meet each other, we can also assume that the parallel lines will meet each other far away. That is to say, parallel lines intersect at infinity P ∞ (close your eyes and imagine that infinity P ∞ is not illusory. In fact, it is not so much a mathematical exercise of abstract capabilities, it is better to exercise your imagination ). Give a graph to help you understand:

P ∞ occurs on a straight line. The benefit is that all the straight lines are intersecting and there is only one intersection. This unifies the parallel and intersection of a straight line. The point on the original plane is called a common point, which is different from an infinitely far point.

The following are several properties of infinity.

▲There can be only one infinity point on line L.
(Can be obtained directly from the definition)
▲A group of parallel straight lines on the plane have public infinity points.
(Can be obtained directly from the definition)
▲Any intersection of two straight lines L1 on the plane, L2 has different infinity points.
(Otherwise, if L1 and L2 have public infinity P, L1 and L2 have two intersections, A and P. Therefore, the assumption is false .)
▲All infinity points on the plane constitute oneInfinite straight line. (Imagine this line)
▲All infinity points on the plane and all common pointsProjection plane.

Ii. projective plane coordinate system

The projective plane coordinate system is an extension of the normal plane Cartesian coordinate system (that is, the flute plane Cartesian coordinate system we learned in junior high school. We know that the normal Cartesian coordinate system of a plane is not designed for an infinitely distant coordinate, and cannot represent an infinitely distant coordinate. In order to represent the Infinity point, a projective plane coordinate system is generated. Of course, the projective plane coordinate system can also well represent the old common points (mathematics is also "downward compatible ).

The coordinate (x, y) of point A in the normal Cartesian coordinate system is transformed as follows:
So that X = x/Z, y = y/z (Z = 0); then a can be expressed as (X: Y: Z ).
It becomes the coordinate point with three parameters, which establishes a new coordinate system for points on the plane.

Example 2.1: Calculate the coordinates of a vertex () in the new coordinate system.
Solution: ∵ x/z = 1, y/z = 2 (Z = 0) ∴ x = z, y = 2Z ∴ coordinate is (Z: 2Z: Z ), z = 0. () (1.2: 2.4: 1.2). For example, the coordinates of (Z: 2Z: Z) and Z = 0 are) coordinates under the new coordinate system.

We can also obtain the linear equation AX + by + cz = 0 (think about why? Tip: the normal linear equation in the normal Cartesian coordinate system is AX + by + c = 0 ). Can the new coordinate system represent infinitely distant points? Let's first think about where the infinite distance is. Based on the knowledge in the previous section, we know that the Infinity point is the intersection of two parallel lines. So how can we find the coordinates of the intersection of two straight lines? This is junior high school knowledge, that is, solving the equations corresponding to the two straight lines simultaneously. The equation of a parallel line is:
Ax + by + c1z = 0; AX + by + c2z = 0 (C1 = c2 );
(Why? Tip: You can consider the slope because the slope of parallel lines is the same );

Combine the two equations to solve the problem. There are c2z = c1z =-(AX + by), and then C1 =c2 then z = 0 Then AX + by = 0;
Therefore, infinity is expressed in this form (X: Y: 0. Note that the common point is Z = 0, and the Infinity point is Z = 0. Therefore, the equation corresponding to the infinity line is Z = 0.

For example, 2.2: Obtain the Infinity point at which the parallel line L1: x + 2y + 3z = 0 and L2: x + 2y + z = 0 intersect.
Solution: Because L1 L2 contains z = 0, x + 2y = 0, the coordinates are (-2y: Y: 0), and Y = 0. That is, the coordinates of (-) (-2.4: 1.2: 0), such as (-2y: Y: 0), Y = 0, all indicate this infinity.

It seems that this new coordinate system can represent all vertices on the inner plane, so we call this coordinate system that can represent all vertices on the inner planeProjective plane coordinate system.

Exercise:
1. Calculate the coordinates of Point A (2, 4) in the coordinate system of the projective plane.
2. Calculate the coordinates of points (4.5: 3: 0.5) in the normal Cartesian coordinate system of the projective plane.
3. Calculate the coordinate of the Infinity point on the X + Y + z = 0 line.
4. Judgment: is the point of intersection between the Infinity point and the infinity line on the straight line AX + by + cz = 0 and that of the straight line AX + by = 0 the same point?

Iii. Elliptic Curve

In the previous section, we established the projective plane coordinate system, in which we will create an elliptic curve equation. As we know, curves in coordinates can be expressed by equations (for example, the Unit Circle equation is X2 + y2 = 1 ). An elliptic curve is a curve, and a natural elliptic curve also has an equation.

Elliptic Curve definition:
An elliptic curve satisfies the equation on the inner plane.
Y2z + a1xyz + a3yz2 = X3 + a2x2z + a4xz2 + a6z3 -------------- [3-1]
And every point on the curve is non-singular (or smooth.

Detailed definition:

▲Y2z + a1xyz + a3yz2 = X3 + a2x2z + a4xz2 + a6z3 is the Weierstrass equation (weststrass, Karl Theodor Wilhelm Weierstrass, 1815-1897), which is a homogeneous equation.

▲The shape of an elliptic curve is not an elliptic curve. It's just because the describing equation of an elliptic curve is similar to the equation for calculating an elliptical perimeter (I have never seen the equation for calculating an elliptical perimeter, but for an elliptic line integral (Set Density to 1) it cannot be obtained. Who knows this equation, please tell me? ^_^), hence the name.

Let's take a look at what an elliptic curve looks like.


▲The so-called "non-singular" or "smooth" refers to the partial derivatives FX (x, y, z), Fy (x, y, z), Fz (x, y, z) cannot be 0 at the same time. If you have not studied advanced mathematics, you can understand this word in this way, that is, there is a tangent to any point that satisfies the equation.

Neither of the following two equations is an elliptic curve, even though they are in the form of an equation [3-1.


Because they have no tangent at () points (that is, the origin point.

▲There is an infinitely distant o ∞ (0: 1) on the elliptic curve, because this point satisfies the equation [3-1].

Knowing the Infinity points on an elliptic curve. We can place the elliptic curve in the normal Cartesian coordinate system. This is because the normal Cartesian coordinate system is infinitely far less than the projective plane coordinate system. In the normal Cartesian coordinate system of the plane, we can find the curve equation composed of all the common points on the elliptic curve, plus the infinite point O ∞ (0: 0: 1), does it not constitute the elliptic curve?

Let's set X = x/Z, y = y/z to the equation [3-1] to get:
Y2 + a1xy + a3y = X3 + a2x2 + a4x + A6 ----------------------- [3-2]

That is to say, the smoothing curve that satisfies the equation [3-2] is added with an infinitely far point O ∞, forming an elliptical curve. In order to facilitate calculation, expression, and understanding, we will discuss in the future that the elliptic curve will be mainly in the form of [3-2.

At the end of this section, we will discuss the question of the tangent slope at the point of the elliptic curve.
It can be seen from the definition of an elliptic curve that the elliptic curve is smooth, so the common points on the elliptic curve have tangent. The most important parameter of the tangent is the slope k.

Example 3.1: Obtain the slope k of the tangent of A (x, y) on the elliptic curve equation y2 + a1xy + a3y = X3 + a2x2 + a4x + A6.
Solution: make f (x, y) = y2 + a1xy + a3y-x3-a2x2-a4x-a6
Partial Derivative
FX (x, y) = a1y-3x2-2a2x-a4
FY (x, y) = 2y + a1x + A3
Then the derivative is: f' (x) =-Fx (x, y)/fy (x, y) =-(a1y-3x2-2a2x-a4)/(2y + a1x + A3)
= (3x2 + 2a2x + a4-a1y)/(2y + a1x + A3)
So k = (3x2 + 2a2x + a4-a1y)/(2y + a1x + A3) ---------------------- [3-3]

It doesn't matter if you don't understand the problem-solving process. Remember the conclusion [3-3.

Exercise:
1. Convert the elliptic curve equation y2z = X3-XZ2 and y2z = X3 + xz2 + Z3 in the legend to the equation in the normal Cartesian coordinate system.

Iv. Addition on an elliptic curve

In the previous section, we have seen an image of an elliptic curve, but there seems to be no relationship between points. Can we create an algorithm similar to the addition on the real number axis? A genius mathematician found this algorithm

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
Since the introduction of the concepts of group, ring, and domain in the last century, the algebra has achieved a high degree of unification. For example, mathematicians summarize the main features of ordinary addition and propose addition groups (also called exchange groups or Abel (Abel) groups. There is no difference between the addition of real numbers and the addition of elliptic curves. This may be a mathematical abstraction :). For more information about the concept of group and addition, see mathematical books on modern algebra.
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

Algorithm: any two points p and q on the elliptic curve (if the two points p and q overlap, the tangent of the P point is made) and the line is handed over to another point R' of the elliptic curve ', the parallel lines that pass through R' to do the Y axis are handed over to R. We specify p + q = R. ()


Rule details:
▲Here, ++ is not a common addition in a real number, but an addition abstracted from a common addition. It has some properties of a common addition, but the specific algorithm is obviously different from a common addition.

▲According to this law, we can know that the infinite point of the elliptic curve o ∞ is connected to the point P on the elliptic curve p ', and the line over p' is used as the parallel line of the Y axis to P, therefore, there are infinite infinity o ∞ + P = P. In this way, the function of infinity o ∞ is equivalent to that of normal addition (0 + 2 = 2). We call infinity o ∞Zero RMB. We also call P' P'sNegative element(Abbreviation, negative P; note,-P ). (See)

▲According to this rule, we can draw the following conclusion: if the three points A, B, and C on the elliptic curve are in the same straight line, their sum is equal to zero yuan, that is, A + B + C = O ∞

▲K same vertices P are added, and we are recorded as KP. For example, P + P = 2 p + P = 3 p.

Next, we use the coordinates of p and q points (x1, Y1), (X2, Y2) to obtain the coordinates of R = p + q (X4, Y4 ).

Example 4.1: Obtain the elliptic curve equation y2 + a1xy + a3y = X3 + a2x2 + a4x + A6. The common points are P (x1, Y1), Q (X2, Y2) and the coordinates of R (X4, Y4.
Solution: (1) Calculate point-R (X3, Y3) first)
Because p, q, and-R are three-point collinearity, we set the collinearity equation to Y = kx + B, where
If P =q (p, q two points do not overlap ),
Linear slope k = (y1-y2)/(x1-x2)
If P = Q (p, q two-point coincidence), the straight line is the tangent of the elliptic curve, so we can see from example 3.1:
K = (3x2 + 2a2x + A4-a1y)/(2y + a1x + A3)

Therefore, the coordinate values of P, Q, and-R are equations:
Y2 + a1xy + a3y = X3 + a2x2 + a4x + A6 --------------- [1]
Y = (kx + B) --------------- [2]
.

Replace [2] with [1]
(Kx + B) 2 + a1x (kx + B) + A3 (kx + B) = X3 + a2x2 + a4x + A6 -------- [3]
For [3] as a general equation, based on the root and coefficient relationship of the cubic equation (when the cubic coefficient is 1;-x1x2x3 is equal to the constant coefficient, x1x2 + x2x3 + x3x1 is equal to the item coefficient, and-(X1 + X2 + X3) is equal to the quadratic coefficient .)
-(X1 + X2 + X3) = a2-ka1-k2
X3 = k2 + KA1 + A2 + X1 + x2; ------------------- obtain the abscissa of point-R
Because k = (y1-y3)/(x1-x3) So
Y3 = y1-k (x1-x3); ------------------------------- obtain the Y coordinate of point-R

(2) Evaluate r using-R
Obviously, X4 = X3 = k2 + KA1 + A2 + X1 + x2; ------------ obtains the abscissa of point R.
The solution of the equation y2 + a1xy + a3y = X3 + a2x2 + a4x + A6 when Y3 Y4 is X = X4
To the general equation y2 + (a1x + A3) Y-(X3 + a2x2 + a4x + A6) = 0, according to the relationship between the root and coefficient of the quadratic equation:
-(A1x + A3) = Y3 + Y4
So Y4 =-Y3-(a1x + A3) = K (x1-x4)-Y1-(a1x4 + A3); --------------- obtain the ordinate of point R
That is:
X4 = k2 + KA1 + A2 + X1 + x2;
Y4 = K (x1-x4)-y1-a1x4-a3;

At the end of this section, I would like to remind you that the previously provided images may give you the illusion that the elliptic curve is symmetric on the X axis. In fact, the elliptic curve is not necessarily symmetrical about the X axis. Such as y2-xy = X3 + 1

V. Elliptic Curve in cryptography

We now have a preliminary understanding of the elliptic curve, which is worth noting. But please note that the elliptic curve we learned is continuous and not suitable for encryption. Therefore, we must convert the elliptic curve into discrete points.
Let's think about why the elliptic curve is continuous? It is because the coordinate of the point on the elliptic curve is a real number (that is to say, the elliptic curve mentioned above is defined on the real number field), and the real number is continuous, resulting in the continuity of the curve. Therefore, we need to define an elliptic curve in a finite field (as the name suggests, a finite field is a field only composed of finite elements ).

☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
The concept of a domain is abstracted from our rational number and real number operations. For strict definitions, see the number of modern algebra. Simply put, the elements in a field have their own addition, multiplication, division, Unit Element (1), zero element (0), and meet the exchange rate and allocation rate, just like rational numbers.
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

Below, we provide a finite field FP, which has only limited elements.

In FP, only P (P is a prime number) elements 0, 1, 2 ...... P-2, P-1;
The addition (A + B) of FP is a + B ≡ C (mod P); that is, the remainder of (A + C) ÷ P is the same as that of C ÷ p.
The multiplication (A × B) Law of FP is a × B ≡ C (mod P );
The Division (a ÷ B) Law of FP is a/B ≡ C (mod P); that is, a × B-1 ≡ C (mod P ); (The B-1 is also an integer between P-1, But it satisfies B × B-1 limit 1 (mod p). For specific method, refer to elementary number theory, or my other article ).
The Unit Element of FP is 1, and the zero element is 0.

At the same time, not all elliptic curves are suitable for encryption. Y2 = X3 + ax + B is a type of elliptic curve that can be encrypted and the simplest type. Next we will define the curve y2 = X3 + ax + B on FP:

Select two non-negative integers A and B that meet the following conditions and are less than P (P is a prime number)
4a3 + 27b2 = 0 (mod P)
All vertices (x, y) that satisfy the following equation, plus infinity o ∞, constitute an elliptic curve.
Y2 = X3 + ax + B (mod P)
Here, X and Y belong to the integer between 0 and p-1, and this elliptic curve is recorded as EP (A, B ).

Let's take a look at the image of y2 = X3 + x + 1 (mod 23)

Is that incredible? How does an elliptic curve look like this and become a discrete point?
An elliptic curve may look different in different number fields, but its essence is still an elliptic curve. An inappropriate example is water. at normal temperature, it is a liquid. When it reaches zero, water turns into ice and becomes solid. when the temperature rises to one hundred degrees, water turns into water vapor. However, its essence is still H2O.

The Elliptic Curve on FP is also added, but it cannot be explained in geometric sense. However, the addition rules are similar to those in the real number field. Please compare them by yourself.

1 infinity o ∞ is zero RMB, with O ∞ + O ∞ = O ∞, O ∞ + P = P
The negative element of 2 p (x, y) is (x,-y), with P + (-P) = O ∞
3 P (x1, Y1), Q (X2, Y2) and R (X3, Y3) have the following relationships:
X3 platinum k2-x1-x2 (mod P)
Y3 ≡ K (x1-x3)-y1 (mod P)
Where if p = Q then k = (3x2 + a)/2y1 if p = Q, then k = (y2-y1)/(x2-x1)


For example, 5.1 We know that two points P (), Q (), 1)-P, 2) p + q, 3) 2 P on E23.
Solution 1) the value of-P is (3,-10)
2) K = (7-10)/(9-3) =-1/2, the multiplication inverse element of 2 is 12 because 2*12 then 1 (mod 23)
K bytes-1*12 (mod 23) So k = 11.
X = 112-3-9 = 109 limit 17 (mod 23 );
Y = 11 [3-(-6)]-10 = 89 then 20 (mod 23)
Therefore, the coordinates of p + q are)
3) k = [3 (32) + 1]/(2*10) = 1/4 limit 6 (mod 23)
X = 62-3-3 = 30 limit 20 (mod 23)
Y = 6 (3-7)-10 =-34 listen 12 (mod 23)
So the coordinates of 2 P are (7, 12)

Finally, let's talk about the order of points on an elliptic curve.
If P on an elliptic curve has the smallest positive integer N, so that the number is NP = O ∞, n is called the PLevelIf n does not exist, P is infinite.
In fact, the Order N of all vertices in an elliptic curve defined over a finite field exists (for proof, refer to modern algebra)


Exercise:
1. Find all vertices on E11.
2. If we know a point G () on E11 (), evaluate all values from 2g to 13g.

6. Simple encryption/decryption on an elliptic curve

Public key algorithms are always based on a mathematical difficulty. For example, RSA is based on the fact that given two prime numbers, p and q, it is very easy to multiply to obtain N, but it is relatively difficult to perform factorization on N. What are the problems on the elliptic curve?

Consider the following equation:
K = kg [where K and G are the points on EP (a, B), and K is an integer smaller than n (n is the order of the point G)]
Given K and G, it is easy to calculate k According to the addition law. However, given K and G, it is relatively difficult to calculate K.
This is the difficulty of using the elliptic curve encryption algorithm. We call point G a base point, K (K
Now we describe a process of encrypted communication using an elliptic curve:

1. User A selects an elliptic curve EP (A, B) and takes the point above the elliptic curve as the base point G.
2. User A selects a private key K and generates a public key K = kg.
3. User A transmits EP (a, B), vertex K, and g to user B.
4. After receiving the information, user B will encode the plain text to EP (a, B) a little m (there are many encoding methods, which will not be discussed here ), and generates a random integer r (R
5. User B's computing point C1 = m + rk; C2 = RG.
6. User B transmits C1 and C2 to user.
7. After receiving the information, user a calculates the C1-kC2 and the result is M. Because
C1-kC2 = m + rk-K (RG) = M + rk-R (kg) = m
Then decode the point M to obtain the plaintext.

In this encrypted communication, if a hacker h can only see EP (A, B) k, G, C1, C2 and K or R through C2 or G are relatively difficult. Therefore, H cannot obtain the plaintext information transmitted between A and B.

In cryptography, an elliptic curve on FP is described, which is commonly used as six parameters:
T = (P, A, B, G, N, H ).
(P, A, and B are used to determine an elliptic curve,
G is the base point,
N is the order of vertex G,
H is the number of all vertices on an elliptic curve. M is an integer that is divided by N)

The selection of these parameter values directly affects the encryption security. Generally, the parameter value must meet the following conditions:

1. Of course, the larger the P value, the safer it is. However, the larger the P value, the slower the computing speed. About 200 BITs can meet general security requirements;
2. p = n × H;
3. PT =1 (mod N), 1 ≤ T <20;
4. 4a3 + 27b2 =0 (mod P );
5. N is a prime number;
6. h ≤ 4.

VII. Application of elliptic curves in software registration Protection

We know that the benefit of using public key algorithms as software registration algorithms is that cracker is difficult to get a registration machine through tracking verification algorithms. Next, we will introduce a method for software registration using the FP (a, B) elliptic curve.

The software author creates a registration machine (also known as the signature process) as follows)

1. Select an elliptic curve EP (A, B) and base point G;
2. Select the private key K (K
3. Generate a random integer r (R
4. Take the username and coordinate value x and y of the vertex R as the parameter and calculate the SHA (secure hash algorithm security hash algorithm, similar to MD5) value, that is, hash = Sha (username, x, Y );
5. Calculate the SN using R-Hash * K (mod N)
6. Use Sn and hash as the serial number of username

The software verification process is as follows: (the software contains the elliptic curve EP (A, B), and the base point G, public key K)

1. Extract the Sn and hash from the serial number entered by the user;
2. calculation point: R branch Sn * g + hash * K (mod p). If Sn and hash are correct, the value is equal to the point R (x, y) in the signature process of the software author) because
SN ≡ R-Hash * K (mod N)
So
SN * g + hash * k
= (R-Hash * k) * g + hash * k
= Rg-Hash * kg + hash * k
= Rg-Hash * k + hash * k
= Rg = R;
3. Take the coordinate values X and Y of the user name and vertex R as parameters and calculate H = Sha (username, x, y );
4. If H = hash, the registration is successful. If H = hash, registration fails (why? Note the correlation between R and hash ).

A brief comparison of the two processes:
The author's signature uses the elliptic curve EP (a, B), base point G, private key K, and random number R.
Software verification uses: Elliptic Curve EP (a, B), base point G, public key K.
To create a registration machine, cracker can only use the EP (a, B), vertex g, public key K in the software, and obtain K using the k = kg relationship. However, K is very difficult.


Exercise:
The following is a registration algorithm often used for software protection. Please read it carefully and try to answer the questions about the parameters used in the signature process and verification process. How should cracker create a registration machine.

The software author creates a registration machine (also known as the signature process) as follows)
1. Select an elliptic curve EP (A, B) and base point G;
2. Select the private key K (K
3. Generate a random integer r (R
4. Use the user name as the parameter and calculate hash = Sha (username );
5. Calculate x' = x (mod N)
6. Calculate the Sn (hash + x' * k)/R (mod N)
7. Use Sn and X' as the serial number of username

The software verification process is as follows: (the software contains the elliptic curve EP (A, B), and the base point G, public key K)
1. Extract Sn and X' from the serial number entered by the user ';
2. Use the user name as the parameter and calculate hash = Sha (username );
3. Calculate the r = (hash * g + x' * k)/SN. If the Sn and hash are correct, the value is equal to the point R (x, y) in the signature process of the software author, because
SN trim (hash + x' * k)/R (mod N)
So
(Hash * g + x' * k)/Sn
= (Hash * g + x' * k)/[(hash + x' * k)/R]
= (Hash * g + x' * k)/[(hash * g + x' * K * G)/(RG)]
= RG * [(hash * g + x' * k)/(hash * g + x' * k)]
= Rg = R (mod P)
4. v limit x (mod N)
5. If v = x', the registration is successful. If v = x', registration fails.
</N), computing point R (x, y) = RG;/> </N), using the baseline g to calculate the public key K = kg;/>

VIII. Conclusion

After more than half a month of intermittent writing, this notebook finally came to an end. To write this article, I have checked a lot of information, but in order to make it easier to understand, I try to avoid the use of terminology. This article does not cover elliptical curves in the f2n domain. However, some terms may not be accurate yet. I hope that readers will criticize and correct the article. I only use this article as the first draft, and I will keep revising it. Finally, I would like to thank all the members of the Snow watching, sunbird, CCG, and Snow watching forums for their support. I would like to thank all those who have helped me. Without your encouragement, I have no motivation to write this article, thank you!

First draft from-3 to see the snow Forum
-7-11, revised an image

<Full text>


References

Zhang herui, modern algebra basics, Higher Education Press, 1978
Yan shjian, Yan shjian, elementary number theory, Higher Education Press, 1982
Duan yunsuo, Network Information Security Lecture 3, Peking University computer department
Michael Rosing, Chapter5 implementing Elliptic Curve Cryptography, softbound, 1998
Sec 1: Elliptic Curve Cryptography, certicom Corp., 2000
IEEE p1363a/D9, 2001

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.