KR19990053158A - How to calculate constant multiples on elliptic curves using Provenius map - Google Patents

How to calculate constant multiples on elliptic curves using Provenius map Download PDF

Info

Publication number
KR19990053158A
KR19990053158A KR1019970072749A KR19970072749A KR19990053158A KR 19990053158 A KR19990053158 A KR 19990053158A KR 1019970072749 A KR1019970072749 A KR 1019970072749A KR 19970072749 A KR19970072749 A KR 19970072749A KR 19990053158 A KR19990053158 A KR 19990053158A
Authority
KR
South Korea
Prior art keywords
elliptic curve
map
equal
equation
constant
Prior art date
Application number
KR1019970072749A
Other languages
Korean (ko)
Inventor
천정희
박성모
박상준
김대호
Original Assignee
정선종
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 정선종, 한국전자통신연구원 filed Critical 정선종
Priority to KR1019970072749A priority Critical patent/KR19990053158A/en
Publication of KR19990053158A publication Critical patent/KR19990053158A/en

Links

Landscapes

  • Complex Calculations (AREA)

Abstract

본 발명은 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법에 관한 것이다.The present invention relates to a method of calculating a constant multiple on an elliptic curve using a Provenius map.

일반적인 타원 곡선에 사용하는 상수배 연산의 경우에는 이진 방법을 사용하는데, 이 경우 최대 2n번의 연산이 필요하고 이 방법을 개선한 덧셈-뺄셈 방법의 경우에도 최대 3n/2번의 연산이 필요하다. 또한 메모리를 이용하는 경우에도 필요한 타원 곡선 덧셈 연산의 수를 n 이하로 줄이지 못하며, 타원 곡선 연산을 바탕체 위의 연산과 연결하는 방법을 사용하는 경우 메모리 사용이 허용되더라도 n번의 타원 곡선 덧셈 연산보다 빠른 속도를 갖지 못하는 문제점이 있다. 한편, 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법을 적용하여 n번 또는 n/2번의 연산으로 상수배 연산을 수행하는 방법이 있으나, 이는 원소의 수가 2인 유한체위에 정의되는 특수한 2개의 타원 곡선에만 적용할 수 있는 문제점이 있다.In the case of constant elliptic curves, the binary method is used. In this case, a maximum of 2n operations are required, and the addition-subtraction method, which has improved the method, requires a maximum of 3n / 2 operations. In addition, even when using memory, the number of elliptic curve addition operations required cannot be reduced to less than n. When using the method of connecting elliptic curve operations with operations on the substrate, the speed is faster than n elliptic curve addition operations even if the memory usage is allowed. There is a problem that does not have. On the other hand, there is a method of performing constant multiple operations on n or n / 2 operations by applying the constant multiple operation method on an elliptic curve using the Provenance map, but this is a special method defined in a finite position having 2 elements. There is a problem that can be applied only to two elliptic curves.

이러한 문제점을 해결하기 위하여 본 발명에서는, 타원 곡선 위의 점의 상수배 연산을 대응되는 프로비니어스 맵의 연산으로 바꾸고, 타원 곡선 위의 상수배 연산 과정을 축소 절차, 프로비니어스 맵에 의한 전개 절차 및 타원 곡선 위의 점의 상수배 연산 절차의 3단계로 나누어 수행하므로써 계산 속도를 향상시킬 수 있는 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법이 제시된다.In order to solve this problem, in the present invention, the constant multiplex operation of the point on the elliptic curve is replaced with the operation of the corresponding Provenence map, and the constant multiplex operation process on the elliptic curve is reduced by the reduction procedure and the provenant map. A method of calculating a constant on an elliptic curve using a Provenius map which can improve the calculation speed by performing the procedure and the step-by-step procedure of a constant on the elliptic curve is presented.

Description

프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법How to calculate constant multiples on elliptic curves using Provenius map

본 발명은 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법에 관한 것으로 특히, 타원 곡선 위의 점의 상수배 연산을 대응되는 프로비니어스 맵의 연산으로 바꾸어 계산 속도를 향상시킬 수 있는 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법에 관한 것이다.The present invention relates to a method of calculating a constant multiple on an elliptic curve using a Provenian map. In particular, a program capable of improving the calculation speed by changing a constant multiple operation of a point on an elliptic curve to a corresponding Provenian map operation. A method of calculating a constant multiple on an elliptic curve using a veneer map.

일반적으로, supersinfular가 아닌 타원 곡선 위의 상수배 연산의 경우 주어진 상수의 2진 수열 비트 수가 n 이라 할 때, 특수한 형태의 타원 곡선을 사용하는 경우에는 최대 n번의 타원 곡선 덧셈 연산이 필요한 Meier-Staffelbach 방법과, 이 방법을 개선하여 최대 n/2번의 타원 곡선 덧셈 연산이 필요한 Solinas의 방법을 사용한다. 그러나 이 방법들은 프로비니어스 맵을 이용하지만, 원소의 개수가 2인 유한체 GF(2) 위에 정의되는 특수한 2개의 타원 곡선 즉, Anomalous 타원 곡선과 그것을 꼰(twist) 타원 곡선에만 적용되는 방법이다. 즉, 주어진 상수의 2진 수열 비트 수의 1/2의 타원 곡선 덧셈 연산만으로 상수배 연산을 수행할 수 있는 타원 곡선은 GF(2) 위에서 정의되는 Anomalous 타원 곡선과 그것을 꼰(twist) 타원 곡선의 경우로 한정되어 있는 것이다.Generally, Meier-Staffelbach requires a maximum of n elliptic curve addition operations when using a special elliptic curve, given that the number of binary sequence bits of a given constant is n for a non-supersinfular elliptic curve. And Solinas' method that refines this method and requires up to n / 2 elliptic curve additions. However, these methods use the Provenian map but apply only to the two special elliptic curves defined on the finite field GF (2) with the number of elements 2. Anomalous elliptic curves and twisted elliptic curves. . That is, an elliptic curve capable of performing constant multiple operations with only an elliptic curve addition operation of 1/2 of the binary sequence bits of a given constant is an anomalous elliptic curve defined above GF (2) and a twisted elliptic curve. It is limited to the case.

한편, Anomalous 타원 곡선과 supersingular 타원 곡선이 아닌 일반적인 타원 곡선 위의 상수배 연산의 경우에는 이진 방법(binary method)을 사용하는데, 이진 방법을 사용할 경우에는 최대 2n번의 연산이 필요다. 또한 이진 방법을 개선한 덧셈-뺄셈(addition-subtraction) 방법의 경우에도 최대 3n/2번의 연산이 필요하다. 메모리를 이용하는 경우에는 필요한 타원 곡선 덧셈 연산의 수를 줄일 수 있지만, 현실적인 용량의 메모리를 사용하는 경우, 메모리를 사용함에도 불구하고 필요한 타원 곡선 덧셈 연산의 수를 n 이하로 줄이지는 못한다. 또 다른 타원 곡선 위의 상수배 연산 방법으로는, 타원 곡선 덧셈 연산을 바탕체 위의 연산과 연결하여 연산 속도를 개선하는 방법이 있는데, 이 경우에도 메모리의 사용을 허용하더라도 n번의 타원 곡선 덧셈 연산보다 빠른 속도를 얻을 수 없는 문제점이 있다. 즉, 일반적인 타원 곡선에 사용하는 상수배 연산은 주어진 상수의 2진 수열 비트 수 이상의 타원 곡선 연산을 필요로 하여, 이로 인해 계산 속도가 저하되는 문제점이 있다.On the other hand, the binary method is used for constant multiple operations on general elliptic curves that are not Anomalous elliptic curves and supersingular elliptic curves. When using binary methods, a maximum of 2n operations are required. In addition, the addition-subtraction method, which improves the binary method, requires a maximum of 3n / 2 operations. If the memory is used, the number of elliptic curve addition operations required can be reduced. However, if the memory of a realistic capacity is used, the number of elliptic curve addition operations required even though the memory is used cannot be reduced to n or less. Another method of constant multiplication on elliptic curves is to combine the elliptic curve addition operation with the operation on the substrate to improve the operation speed. In this case, even if the memory is allowed, There is a problem that can not get fast speed. That is, the constant multiplication operation used for a general elliptic curve requires an elliptic curve operation equal to or greater than the number of binary sequence bits of a given constant, which causes a problem in that the calculation speed is lowered.

따라서, 본 발명은 타원 곡선 위의 점의 상수배 연산을 대응되는 프로비니어스 맵의 연산으로 바꾸고, 타원 곡선 위의 상수배 연산 과정을 축소 절차, 프로비니어스 맵에 의한 전개 절차 및 타원 곡선 위의 점의 상수배 연산 절차의 3단계로 나누어 수행하므로써 계산 속도를 향상시킬 수 있는 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention replaces the constant multiplication operation of the point on the elliptic curve with the operation of the corresponding Provenius map, and the process of the constant multiplication operation on the elliptic curve, the reduction procedure, the unfolding procedure by the Provenian map, and the elliptic curve. The purpose of this paper is to provide a constant multiplication method on an elliptic curve using the Provenian map which can improve the computation speed by dividing into three steps of the constant multiplication procedure of the point of.

상술한 목적을 달성하기 위한 본 발명에 따른 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법은 상수배 연산을 수행하는 상수 m을 축소하여 프로비니어스 맵 전개시 항의 수가 적은 X+Yα를 구하는 축소 절차와, 상기 축소 절차에서 구한 X+Yα를 입력으로 하여 전개식의 계수의 크기가 유한체의 위수 q 미만이 되면서 총 항의 개수가 logqm+3 이하가 되도록 하여 프로비니어스 맵 전개를 모든 q에 대해 이용할 수 있게 하는 프로비니어스 맵에 의한 전개 절차와, 상기 프로비니어스 맵에 의한 전개 절차에서 구한 전개식을 이용하여 곡선 위의 임의의 점을 직접 m배 연산하는 상수배 연산 절차를 포함하여 이루어지는 것을 특징으로 한다.In order to achieve the above object, the constant multiplication operation method on an elliptic curve using the Provenian map according to the present invention reduces the constant m for performing the constant multiplication operation to obtain X + Yα having a small number of terms when developing a Provenius map. Using the reduction procedure and X + Yα obtained in the reduction procedure as inputs, the magnitude of the coefficient of the expansion equation is less than the upper limit q of the finite field, and the total number of terms is less than or equal to log q m + 3. The expansion procedure using the Provenance map, which is available for all q, and the constant multiple operation procedure that directly calculates m points of arbitrary points on the curve using the expansion formula obtained from the above development process by the Provenance map. It is characterized by comprising.

도 1은 본 발명에 따른 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연상 방법 중 축소 절차를 설명하기 위해 도시한 흐름도.1 is a flowchart illustrating a reduction procedure in a method of concatenating constant constants on an elliptic curve using a Provenance map according to the present invention.

도 2는 본 발명에 따른 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연상 방법 중 전개 절차를 설명하기 위해 도시한 흐름도.Figure 2 is a flow chart illustrating the development procedure of the constant multiple association method on the elliptic curve using the Provenance map according to the present invention.

도 3은 본 발명에 따른 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연상 방법 중 상수배 연산 절차를 설명하기 위해 도시한 흐름도.3 is a flowchart illustrating a constant multiplication operation procedure of the constant multiple association method on an elliptic curve using the Provenance map according to the present invention.

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.

본 발명은 바탕체 GF(q), GF(q)의 원소를 계수로 갖는 타원 곡선 방정식 E 및 정수 m이 주어졌을 때, E(GF(qn))의 임의의 점 P를 m 배 연산한 mP를 구하는 것으로 3개의 알고리즘으로 구성되어 있다. 본 발명의 입력은 유한체의 위수 q, 타원 곡선 E, 정수 m, E(GF(qn))의 원소 P, 타원 곡선군 E(GF(q))의 위수 N1및 타원 곡선군 E(GF(qn))의 위수 Nn이며, 출력은 타원 곡선 위의 한 점인 mP이다. q와 E가 주어졌을 때 N1은 슈프(Schoof) 알고리즘에 의해 구할 수 있고, Nn은 N1으로부터 간단한 계산에 의해 구할 수 있다. 본 발명의 계산을 수행함에 있어 E(GF(qn))의 임의의 점은, GF(qn)의 두 원소의 순서쌍으로 구성되며 각 원소들은 정규 기저를 사용하여 표시한다. 또한 E(GF(qn))의 임의의 두 점을 더하는 연산은, 타원 곡선 E의 방정식의 계수들을 이용하여 잘 알려진 기존의 타원 곡선 덧셈연산으로 수행한다.In the present invention, mP is calculated by m times an arbitrary point P of E (GF (q n )) when an elliptic curve equation E having an element of GF (q) and GF (q) as a coefficient and an integer m is given. The algorithm consists of three algorithms. The input of the present invention is the finite body of the water q, elliptic curve E, the constant m, the element P of the E (GF (q n )), the elliptic curve group E (GF (q)) of the number N 1 and the elliptic curve group E ( GF (q n )) is N n and the output is mP, which is a point on the elliptic curve. Given q and E, N 1 can be found by the Schof algorithm, and N n can be found by simple calculation from N 1 . Any point of E (GF (q n )) in performing the calculations of the present invention consists of an ordered pair of two elements of GF (q n ) and each element is represented using a normal basis. The addition of any two points of E (GF (q n )) is also performed by the well-known existing elliptic curve addition operation using the coefficients of the equation of the elliptic curve E.

도 1은 본 발명에 따른 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연상 방법 중 축소 절차를 설명하기 위해 도시한 흐름도로서, 유한체의 위수 q, 정수 m, 타원 곡선군 E(GF(q))의 위수 N1과 타원 곡선군 E(GF(qn))의 위수 Nn을 입력으로 하여, m을 축소(reduction)한 X+Yα(X,Y는 정수)를 출력하는 과정을 나타낸다.1 is a flowchart illustrating a reduction procedure in a method of associating constants on an elliptic curve using a Provenian map according to the present invention, and includes a finite field power q, an integer m, and an elliptic curve group E (GF (q). It shows the process of outputting X + Yα (X, Y is an integer) by reducing m by inputting the power level N 1 of)) and the power level N n of the elliptic curve group E (GF (q n )). .

유한체의 위수 q, 정수 m, 타원 곡선군 E(GF(q))의 위수 N1과 타원 곡선군 E(GF(qn))의 위수 Nn을 입력받는다(101). 이후, 타원 곡선 E(GF(q))를 고정하고 E(GF(q))의 위수 N1에서 q+1을 뺀 수를 t라 한다. 즉, t는 q+1-N1이 된다. 한편, α를 정수 방정식 x2-tx+q=0의 한 근이라 하고 D를 라 놓으면(102) α는 (t+Di)/2가 되며 이때 i= 이다(103). 이후, 복소수 를 계산하여 그것의 실수 부분을 a, 허수 부분을 b라 놓는다(104). 원래 Nn=|αn-1|2 이고 이므로 a+bi=m/(αn-1)이고 따라서 m은 n-1)(a+bi) 가 된다. 이후, a-tb/D를 반올림하여 x라 놓고 2b/D를 반올림하여 y라 놓는다(105). 이때, x+yα는 m을 αn-1 로 나눈 몫이 되므로, 구하고자 하는 m을 αn-1 로 나눈 나머지 X+Yα는 m-(x+yα)(αn-1)이 된다. 따라서 X=m+x, Y=yαn+xαn-1-y이 출력이 된다(106).The number of finite bodies q, the constant m, the number N 1 of the elliptic curve group E (GF (q)) and the number N n of the elliptic curve group E (GF (q n )) are input (101). Then, the elliptic curve E (GF (q)) is fixed and the number N 1 of the E (GF (q)) minus q + 1 is called t. I.e., t is the q + 1-N 1. Α is the root of the integer equation x 2 -tx + q = 0 and D is (102) α becomes (t + Di) / 2, where i = (103). Then complex Calculate and place the real part of it as a and the imaginary part as b (104). originally N n = | α n -1 | 2 ego Since a + b i = m / (α n -1) and m is n -1) (a + bi) Becomes After that, a-tb / D is rounded to x and 2b / D is rounded to y (105). In this case, x + yα the remaining X + Yα divided by m to obtain, since the quotient obtained by dividing the m by α n -1 to the n α -1 is the m- (x + yα) (α n -1). Therefore, X = m + x and Y = yα n + xα n-1 -y are output (106).

도 2는 본 발명에 따른 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연상 방법 중 전개 절차를 설명하기 위해 도시한 흐름도로서, 도 1의 출력인 정수 X, Y 및 도 1의 입력인 q와 t를 입력으로 받아 X+Yα= 를 만족하는 -q보다 크고 q보다 작은 계수 c(0), c(1), c(2), …, c(n+2)를 출력하는 과정을 나타낸다.FIG. 2 is a flowchart illustrating an unfolding procedure in a method of associating constants on an elliptic curve using a Provenian map according to the present invention. FIG. Take t as input X + Yα = Coefficients c (0), c (1), c (2),. , c (n + 2).

먼저, 정수 X, Y 및 q와 t를 입력(201)받은 후 k를 0으로 설정(202)하고 정수 X를 유한체의 위수 q로 나눈 나머지를 u라 한다(203). 이후, u가 0이거나 2X+tY가 2u-q보다 크거나 같은지 검사(204)하여 조건을 만족할 경우에는 (X,Y)를 (t(X-u)/q+Y, -(X-u)/q)로, u를 u-q로 치환(205)하고 c(k)를 u로 놓는다(206). u가 0이거나 2X+tY가 2u-q보다 크거나 같은지 검사(204)하여 조건을 만족하지 않을 경우, 즉 u는 0이 아니고 2X+tY가 2u-q보다 작으면 (X,Y)를 (t(X-u)/q+Y+t, -(X-u)/q-1)로 치환하고(207) c(k)를 u로 놓는다(206). 이후, X와 Y 모두 0인지 검사(208)하여, X와 Y가 동시에 모두 0이 아닌 경우에는 k의 값을 1 증가(209)시고 u를 계산하는 단계(203)부터 되풀이한다. 이러한 순환식은 n+3번 이내에 끝난다. 즉 n+2이하의 k에서 X와 Y가 모두 0이 된다. X와 Y가 모두 0이면 이때의 k값 및 c(0), c(1), c(2), ... , c(k)를 출력한다(210). 이때 X+Yα= 이며, 타원 곡선 위의 임의의 점 P에 대한 m배 연산은 GF(q)위의 프로비니어스맵 φ:(x,y) → (x^q , y^q )을 사용하여 mP= 와 같이 표시된다.First, after inputting the integers X, Y, and q and t (201), k is set to 0 (202), and the remainder obtained by dividing the integer X by the number q of the finite body is u (203). Then, if u is 0 or 2X + tY is greater than or equal to 2u-q (204) and the condition is satisfied, (X, Y) is (t (Xu) / q + Y,-(Xu) / q) U is replaced by uq (205) and c (k) is replaced by u (206). If u is not equal to 0 or 2X + tY is greater than or equal to 2u-q (204) and the condition is not satisfied, i.e. u is not 0 and 2X + tY is less than 2u-q, then (X, Y) t (Xu) / q + Y + t,-(Xu) / q-1) (207) and c (k) is set to u (206). Then, if X and Y are both zero (208), if X and Y are not both zero at the same time, the value of k is increased by one (209) and it is repeated from step 203 to calculate u. This cycle ends within n + 3 times. That is, in k below n + 2, both X and Y become zero. If both X and Y are 0, then the value of k and c (0), c (1), c (2), ..., c (k) are output (210). Where X + Yα = The m-fold operation for any point P on the elliptic curve is mP = using the prominence map φ: (x, y) → (x ^ q, y ^ q) on GF (q). Is displayed as:

도 3은 본 발명에 따른 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연상 방법 중 상수배 연산 절차를 설명하기 위해 도시한 흐름도로서, log2q 보다 크거나 같은 최소의 정수 r과 도 2의 출력 k, c(0), c(1), c(2), ..., c(k)를 입력으로 Q=mP를 출력하는 과정을 나타낸다.3 is a flowchart shown for explaining the present invention pro beanie elliptical constant multiple associative method constant times the operation procedure of the above curve using the Earth map according to, greater than log 2 q, or at least of the integer r and 2, such as The output k, c (0), c (1), c (2), ..., c (k) are input and Q = mP is output.

먼저, 정수 r과 k, c(0), c(1), c(2), ..., c(k)를 입력받아(301) 1≤i<q인 정수 i에 대하여 정수들의 집합인 S(i)={j| c(j)=i, 0≤j≤k}와 S`(i)={j| c(j)=-i, 0≤j≤k}를 구한다(302). 이후, r개의 타원곡선위의 점 Q, Q(1), Q(2), ... , Q(r)을 모두 타원 곡선군의 항등원인 O으로 놓고 i를 1이라 놓는다(303). S(i)에 속하는 j에 대하여 φj(P) 를 모두 더한 점에서, S'(i)에 속하는 j에 대하여 φj(P) 를 모두 더한 점을 뺀다(304). 즉, R은 이 된다. 이때 φj(P) 는 P점의 x좌표와 y좌표를 정규 기저를 사용하여 표시한 후 각 좌표를 jq비트 만큼씩 좌회전하여 구한다. 이후, h를 1으로 설정(305)하고, i의 h번째 비트가 1인지 검사(306)하여, i의 h번째 비트가 1이 아닌 경우에는 h를 1씩 증가(307)시키면서 i의 h번째 비트가 1인지를 검사하는 단계(306)를 반복한다. i의 h번째 비트가 1인 경우에는 Q(h)에 R을 더한다(307). 이후, h가 r인지 검사(309)하여 h가 r이 아닌 경우에는 h를 1씩 증가(307)시키면서 i의 h번째 비트가 1인지를 검사하고 Q(h)를 재설정하는 단계를 반복한다. 즉, i를 2진법으로 전개했을 때 1이 나타나는 자리(h)마다 Q(h)에 R을 더하는 것이다. 이 과정이 끝나면 i가 q와 같은지 검사(310)하여 같지 않은 경우에는 i를 1만큼 증가(311)시키고 새로운 i 에 대한 R 구하기 위한 단계(304)로 진행한다. 이러한 과정 즉, 새로운 i에 대한 R을 구하는 과정을 i가 q보다 작은 동안 반복적으로 수행하면 타원곡선위의 r개의 점 Q(1), Q(2), ..., Q(r)이 결정된다. 이때 편의상 R(i)을 라 놓으면 mP는 가 되고, Q(h)는 i의 h 비트가 1인 i에 대하여 R(i)점을 모두 더한 점이므로, mP는 이 된다. i와 q가 같은지를 검사하는 단계(310)로부터, i와 q가 같은 경우에는 h를 r-1이라 설정(312)하고, Q에 2Q+Q(h)를 입력한다(313). 이후, h가 0인지를 검사(314)하여 h가 0이 아닐 경우에는 h값을 1씩 감소(315)시키면서 Q값을 재설정하는 단계(313)를 h가 0일때까지 반복한다. 이후, h가 0이 되면 Q를 출력한다(316). 이때 출력되는 Q는 가 되어 mP와 같게 된다.First, the integers r and k, c (0), c (1), c (2), ..., c (k) are input (301), which is a set of integers for the integer i with 1≤i <q. S (i) = {j | c (j) = i, 0≤j≤k} and S` (i) = {j | c (j) = − i, 0 ≦ j ≦ k} is obtained (302). Then, the points Q, Q (1), Q (2), ..., Q (r) on the r elliptic curves are all set to O, which is the identity of the elliptic curve group, and i is set to 1 (303). For j belonging to S (i) φ j (P) In terms of all the sums, for j belonging to S '(i) φ j (P) Subtract all the points (304). That is, R is Becomes At this time φ j (P) The x- and y-coordinates of P point are expressed using a normal basis, and each coordinate is left-turned by jq bits. Subsequently, h is set to 1 (305), and if the h-th bit of i is 1 (306), if the h-th bit of i is not 1, h is incremented by 1 (307) and the h-th of i Repeat step 306 to check if the bit is one. If the h-th bit of i is 1, R is added to Q (h) (307). Thereafter, if h is not r (309) and if h is not r, the step of checking whether the h-th bit of i is 1 while repeating h by 1 (307) is repeated, and the step of resetting Q (h) is repeated. That is, R is added to Q (h) for every place h where 1 appears when i is expanded in binary. At the end of this process, check 310 if i is equal to q, if it is not equal, increase i by 311 and proceed to step 304 to obtain R for a new i. This process, i.e., the process of finding R for the new i, is performed repeatedly while i is less than q, and r points Q (1), Q (2), ..., Q (r) on the elliptic curve are determined. do. For convenience, R (i) Releasing mP Since Q (h) is the point where all the R (i) points are added to i with the h bit of i equal to 1, Becomes From step 310 of checking whether i is equal to q, if i is equal to q, h is set to r-1 (312), and 2Q + Q (h) is input to Q (313). Thereafter, if h is not 0, 314 is checked, and if h is not 0, the step 313 of resetting the Q value while decreasing the value of h by 315 is repeated until h is 0. Thereafter, when h becomes 0, Q is output (316). The output Q is Becomes equal to mP.

상술한 바와 같이, 본 발명에 따르면 시스템의 속도가 타원 곡선의 상수배 연산에 의존하는 타원 곡선 암호 시스템의 경우 메모리를 사용하지 않으면서도 타원 곡선 암호 시스템의 속도를 개선할 수 있어, 스마트 카드 등 메모리가 제한되고 빠른 속도를 요구하는 암호 체계에 사용하기가 용이하다. 또한 본 발명에 따른 타원 곡선 위의 상수배 연산 방법을 사용할 경우 타원 곡선 방정식의 계수가 작은 유한체에 속하는 경우 특히 연산이 용이하며, 이 경우에 타원 곡선 암호 시스템을 구성하는데 어려움이 되고 있는 타원 곡선의 위수를 구하는 문제를 해결할 수 있으므로 타원 곡선 암호 시스템의 구현이 용이해지는 탁월한 효과가 있다.As described above, according to the present invention, in the case of an elliptic curve cryptographic system in which the speed of the system depends on the constant multiple operation of the elliptic curve, the speed of the elliptic curve cryptographic system can be improved without using a memory, such as a smart card or the like. It is easy to use for cryptographic systems that are limited and require high speed. In addition, in the case of using the constant multiple operation method on the elliptic curve according to the present invention, the calculation is particularly easy when the coefficient of the elliptic curve equation belongs to a small finite body, and in this case, the elliptic curve which is difficult to construct an elliptic curve cryptographic system. This solves the problem of finding the power of, which makes the elliptic curve cryptosystem easy to implement.

Claims (4)

상수배 연산을 수행하는 상수 m을 축소하여 프로비니어스 맵 전개시 항의 수가 적은 X+Yα를 구하는 축소 절차와,A reduction procedure for reducing the constant m that performs a constant multiple operation to find X + Yα having a small number of terms when developing a Provenius map; 상기 축소 절차에서 구한 X+Yα를 입력으로 하여 전개식의 계수의 크기가 유한체의 위수 q 미만이 되면서 총 항의 개수가 logqm+3 이하가 되도록 하여 프로비니어스 맵 전개를 모든 q에 대해 이용할 수 있게 하는 프로비니어스 맵에 의한 전개 절차와,By using X + Yα obtained in the reduction procedure as the input, the magnitude of the coefficient of the expansion equation is less than q of the finite field, and the total number of terms is less than or equal to log q m + 3. The deployment procedure with the Provenence map, 상기 프로비니어스 맵에 의한 전개 절차에서 구한 전개식을 이용하여 곡선 위의 임의의 점을 직접 m배 연산하는 상수배 연산 절차를 포함하여 이루어지는 것을 특징으로 하는 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법.A constant on an elliptic curve using the Provenian map, comprising a constant multiplication operation procedure for directly m-folding an arbitrary point on the curve using a development formula obtained in the development process by the Provenance map. Pear operation method. 제 1 항에 있어서, 상기 축소 절차는 유한체의 위수 q, 정수 m, 타원 곡선군 E(GF(q))의 위수 N1과 타원 곡선군 E(GF(qn))의 위수 Nn을 입력받는 단계와,2. The method of claim 1, wherein the reduction procedure is based on the order of magnitude of the finite body, the integer m, the order of magnitude N 1 of the elliptic curve group E (GF (q)) and the order of magnitude N n of the elliptic curve group E (GF (q n )). Receiving input, 상기 타원 곡선 E(GF(q))를 고정하고 E(GF(q))의 위수 N1에서 q+1을 뺀 수를 t, 정수 방정식 x2-tx+q=0의 한 근을 α라 하고 D를 [수학식 1]로 설정하는 단계와,Fixing the elliptic curve E (GF (q)) and subtracting q + 1 from the number N 1 of E (GF (q)) is t, and one root of the integer equation x2-tx + q = 0 is α. Setting D to [Equation 1], 상기 정수 방정식의 한 근인 α를 [수학식 2]를 이용하여 구하는 단계와,Obtaining α, which is one root of the integer equation, using Equation 2, [수학식 3]을 계산하여 계산 결과의 실수 부분을 a, 허수 부분을 b로 설정하는 단계와,Calculating [Equation 3] to set the real part of the calculation result to a and the imaginary part to b, 상기 [수학식 3]의 결과로부터 얻은 a 및 b를 이용하여, a-tb/D를 반올림하여 x라 놓고 2b/D를 반올림하여 y라 설정하는 단계와,Using a and b obtained from the result of Equation 3, rounding a-tb / D to x and setting 2b / D to y, 상기 x 및 y를 이용하여 X=m+x, Y=yαn+xαn-1-y를 출력하는 단계를 포함하여 이루어지는 것을 특징으로 하는 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법.Outputting X = m + x and Y = yα n + xα n -1 -y using x and y . 이때,At this time, 제 1 항에 있어서, 상기 프로비니어스 맵에 의한 전개 절차는 상기 축소 절차에서 얻어진 정수 X, Y, 유한체의 위수 q, E(GF(q))의 위수 N1에서 q+1을 뺀 수 t를 입력받는 단계와,The method of claim 1, wherein the expansion procedure using the Provenian map is obtained by subtracting q + 1 from the integer X, Y, the upper limit q of the finite body, and the upper limit N 1 of E (GF (q)) obtained in the reduction procedure. receiving t, k를 0으로 설정하고 정수 X를 유한체의 위수 q로 나눈 나머지를 u로 설정하는 단계와,setting k to 0 and the remainder of integer X divided by the order of magnitude of the finite field to u, 상기 u가 0이거나 2X+tY가 2u-q보다 크거나 같은지 검사하는 단계와,Checking whether u is zero or 2X + tY is greater than or equal to 2u-q; 상기 u가 0이거나 2X+tY가 2u-q보다 크거나 같은지 검사한 결과 상기 u가 0이거나 2X+tY가 2u-q보다 크거나 같을 경우에는 (X,Y)를 (t(X-u)/q+Y, -(X-u)/q)로, u를 u-q로 치환하고 c(k)를 u로 설정하는 단계와,If u is 0 or 2X + tY is greater than or equal to 2u-q, and if u is 0 or 2X + tY is greater than or equal to 2u-q, then (X, Y) is equal to (t (Xu) / q + Y,-(Xu) / q), replacing u with uq and setting c (k) to u, 상기 u가 0이거나 2X+tY가 2u-q보다 크거나 같은지 검사한 결과 u는 0이 아니고 2X+tY가 2u-q보다 작은 경우에는 (X,Y)를 (t(X-u)/q+Y+t, -(X-u)/q-1)로 치환하는 단계와,If u is 0 or 2X + tY is greater than or equal to 2u-q, and if u is not 0 and 2X + tY is less than 2u-q, then (X, Y) is (t (Xu) / q + Y + t,-(Xu) / q-1), 상기 X와 Y 모두 0인지 검사하는 단계와,Checking whether both X and Y are zero, 상기 X와 Y 모두 0인지 검사한 결과 X와 Y가 동시에 모두 0이 아닌 경우에는 k의 값을 1 증가시키고 u를 계산하는 단계로 진행하는 단계와,Checking that both X and Y are zero, and if both X and Y are not 0 at the same time, increasing the value of k by 1 and calculating u; 상기 상기 X와 Y 모두 0인지 검사한 결과 X와 Y가 동시에 모두 0인 경우에는 k값 및 c(0), c(1), c(2), ... , c(k)를 출력하는 단계를 포함하여 이루어지는 것을 특징으로 하는 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법.If x and Y are both zero as a result of checking whether X and Y are both zero, k value and c (0), c (1), c (2), ..., c (k) are outputted. Method for calculating a constant multiple on an elliptic curve using the Provenance map, characterized in that it comprises a step. 제 1 항에 있어서, 상기 상수배 연산 절차는The method of claim 1, wherein the constant multiple operation procedure is 정수 r, 상기 프로비니어스 맵에 의한 전개 절차로 얻어진 k, c(0), c(1), c(2), ..., c(k)를 입력받는 단계와,Receiving an integer r, k, c (0), c (1), c (2), ..., c (k) obtained by the expansion procedure by the Provenian map, 1≤i<q인 정수 i에 대하여 정수들의 집합인 S(i)={j| c(j)=i, 0≤j≤k}와 S`(i)={j| c(j)=-i, 0≤j≤k}를 구하는 단계와,For an integer i with 1 ≦ i <q, S (i) = {j | c (j) = i, 0≤j≤k} and S` (i) = {j | obtaining c (j) = − i, 0 ≦ j ≦ k}; r개의 타원곡선위의 점 Q, Q(1), Q(2), ... , Q(r)을 모두 타원 곡선군의 항등원인 O으로 놓고 i를 1으로 설정하는 단계와,setting the points Q, Q (1), Q (2), ..., Q (r) on r elliptic curves to O, which is the identity of the elliptic curve group, and setting i to 1, 상기 집합 S(i)에 속하는 j에 대하여 φj(P) 를 모두 더한 점에서, S'(i)에 속하는 j에 대하여 φj(P) 를 모두 더한 점을 빼므로써 [수학식 4]로 나타내어지는 R을 구하는 단계와,For j belonging to the set S (i) φ j (P) In terms of all the sums, for j belonging to S '(i) φ j (P) Obtaining R as represented by Equation 4 by subtracting all of the points and h를 1로 설정하고, i의 h번째 비트가 1인지 검사하는 단계와,setting h to 1 and checking if the h th bit of i is 1, 상기 i의 h번째 비트가 1인지 검사한 결과 i의 h번째 비트가 1이 아닌 경우에는 h를 1씩 증가시키고 i의 h번째 비트가 1인지를 검사하는 단계로 진행하는 단계와,If the h-th bit of i is 1, if the h-th bit of i is not 1, then increasing h by 1 and checking whether the h-th bit of i is 1; 상기 i의 h번째 비트가 1인지 검사한 결과 i의 h번째 비트가 1인 경우에는 Q(h)에 R을 더하는 단계와,Checking that the h-th bit of i is 1 and adding R to Q (h) when the h-th bit of i is 1; 상기 h가 r인지 검사하는 단계와,Checking whether h is r, 상기 h가 r인지 검사힌 결과 h가 r이 아닌 경우에는h를 1씩 증가시키면서 i의 h번째 비트가 1인지를 검사하고 Q(h)를 재설정하는 단계를 반복하는 단계와,If the result of checking whether h is r, and if h is not r, repeating the step of checking whether the h th bit of i is 1 while increasing h by 1 and resetting Q (h); h가 r인지 검사한 결과 h와 r이 같을 경우에는 i가 q와 같은지 검사하는 단계와,if h and r are equal, then checking if i is equal to q, and 상기 i가 q와 같은지 검사한 결과 상기 i가 q와 같지 않을 경우에는 i를 1만큼 증가시키고 새로운 i 에 대한 R 구하기 위한 단계로 진행하므로써 타원곡선위의 r개의 점 Q(1), Q(2), ..., Q(r)을 결정하고 [수학식 4]와 같이 나타내어 지는 R(i)에 대해 mP가 [수학식 5]로, i의 h 비트가 1인 i에 대하여 R(i)점을 모두 더한 점 Q(h)에 대해 mP가 [수학식 6]으로 나타내어지는 단계와,If i is not equal to q, and i is not equal to q, r is increased by 1 and the process for obtaining R for a new i is performed. R points on the elliptic curve Q (1), Q (2) ), ..., Q (r) is determined, and for R (i) represented by Equation 4, mP is [Equation 5], and R (i MP is expressed by [Equation 6] for the point Q (h) plus all points; 상기 i가 q와 같은지 검사한 결과 상기 i가 q와 같을 경우에는 h를 r-1이라 설정하고, Q에 2Q+Q(h)를 입력하는 단계와,Checking that i is equal to q, if i is equal to q, setting h to r-1 and inputting 2Q + Q (h) into Q; 상기 h가 0인지를 검사하는 단계와,Checking whether h is 0, and 상기 h가 0인지를 검사한 결과 h가 0이 아닐 경우에는 h값을 1씩 감소시키면서 Q값을 재설정하는 단계를 h가 0일때까지 반복하는 단계와,If it is determined that h is 0, and if h is not 0, repeating the step of resetting the Q value while decreasing the h value by 1 until h is 0; 상기 h가 0인지를 검사한 결과 h가 0이 되면 [수학식 7]로 나타내어지며 mP와 같은 Q를 출력하는 단계를 포함하여 이루어지는 것을 특징으로 하는 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법.The result of checking whether h is 0, when h becomes 0, is represented by [Equation 7] and outputs a Q such as mP. Operation method. 이때,At this time,
KR1019970072749A 1997-12-23 1997-12-23 How to calculate constant multiples on elliptic curves using Provenius map KR19990053158A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970072749A KR19990053158A (en) 1997-12-23 1997-12-23 How to calculate constant multiples on elliptic curves using Provenius map

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970072749A KR19990053158A (en) 1997-12-23 1997-12-23 How to calculate constant multiples on elliptic curves using Provenius map

Publications (1)

Publication Number Publication Date
KR19990053158A true KR19990053158A (en) 1999-07-15

Family

ID=66099675

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970072749A KR19990053158A (en) 1997-12-23 1997-12-23 How to calculate constant multiples on elliptic curves using Provenius map

Country Status (1)

Country Link
KR (1) KR19990053158A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030078350A (en) * 2002-03-29 2003-10-08 박근수 Frobenius expansion method using n-th root of unity in Elliptic Curve Cryptosystem
KR100518687B1 (en) * 2003-12-01 2005-10-05 한국전자통신연구원 Scalar-multiplication Method of elliptic curves defined over composite fields and The medium recording the program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030078350A (en) * 2002-03-29 2003-10-08 박근수 Frobenius expansion method using n-th root of unity in Elliptic Curve Cryptosystem
KR100518687B1 (en) * 2003-12-01 2005-10-05 한국전자통신연구원 Scalar-multiplication Method of elliptic curves defined over composite fields and The medium recording the program

Similar Documents

Publication Publication Date Title
US7505587B2 (en) Elliptic curve cryptosystem apparatus, storage medium storing elliptic curve cryptosystem program, and elliptic curve cryptosystem arithmetic method
EP0933695B1 (en) IC card equipped with elliptic curve encryption processing facility
CN107040362B (en) Modular multiplication apparatus and method
Henzinger et al. Lower bounds for fully dynamic connectivity problems in graphs
EP1160661A2 (en) Method of calculating multiplication by scalars on an elliptic curve and apparatus using same
US6795553B1 (en) Method and apparatus for modular inversion for information security and recording medium with a program for implementing the method
Bai et al. Error estimation of the Padé approximation of transfer functions via the Lanczos process
US20030142820A1 (en) Device and method for calculation on elliptic curve
Clarke et al. Word Level Symbolic Model Checking A New Approach for Verifying Arithmetic Circuits
JP3794266B2 (en) Elliptic curve scalar multiplication method and apparatus, and storage medium
CN102405469A (en) Pairing arithmetic device, pairing arithmetic method and recording medium having pairing arithmetic program recorded thereon
US8909510B2 (en) LFSR emulation
EP1163605B1 (en) Method for efficient basis conversion
KR19990053158A (en) How to calculate constant multiples on elliptic curves using Provenius map
US20170026178A1 (en) Computational method, computational device andcomputer software product for montgomery domain
US6484192B1 (en) Root finding method and root finding circuit of quadratic polynomial over finite field
JP2004125891A (en) Power remainder computer
US6237015B1 (en) Method for the production of a parameter J0 associated with the implementation of modular operations according to the Montgomery method
EP1452959B1 (en) Random number string output apparatus
Göttfert An acceleration of the Niederreiter factorization algorithm in characteristic 2
Gupt et al. Automatic test case generation for prime field elliptic curve cryptographic circuits
DE602004006126T2 (en) IMPROVED INVESTMENT CALCULATIONS
KR100377185B1 (en) Method for improving operation speed in cryptography
Bosma et al. An implementation of the elliptic curve integer factorization method
Kozierski et al. Parallel uniform random number generator in FPGA

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application