KR20010000048A - Efficient and fast multiple points scalar multiplication method over elliptic curve using m-ary method - Google Patents

Efficient and fast multiple points scalar multiplication method over elliptic curve using m-ary method Download PDF

Info

Publication number
KR20010000048A
KR20010000048A KR1019990051245A KR19990051245A KR20010000048A KR 20010000048 A KR20010000048 A KR 20010000048A KR 1019990051245 A KR1019990051245 A KR 1019990051245A KR 19990051245 A KR19990051245 A KR 19990051245A KR 20010000048 A KR20010000048 A KR 20010000048A
Authority
KR
South Korea
Prior art keywords
elliptic curve
constant
values
points
public key
Prior art date
Application number
KR1019990051245A
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 KR1019990051245A priority Critical patent/KR20010000048A/en
Publication of KR20010000048A publication Critical patent/KR20010000048A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Abstract

PURPOSE: A constant times operating method of multiple points on an elliptic curve using an m-ary method is provided to reduce a less calculated amount than a Chamiere-ElGamal method. CONSTITUTION: Constants to be a secret and points to be operated as constant are selected on an elliptic curve. Each figure value of m-ary constants is arranged in a reference table of m row. Pre-calculated values are systematically stored in a storing device. Indexes corresponding to the order of the pre-calculated values are generated. Each m row of the reference table is operated 2¬m times. The 2¬m times operated results are mixed with the corresponding pre-calculated values.

Description

m진법 방식을 이용한 타원곡선상 다중 점의 상수 고속연산 방법{EFFICIENT AND FAST MULTIPLE POINTS SCALAR MULTIPLICATION METHOD OVER ELLIPTIC CURVE USING M-ARY METHOD}Constant Fast Computation Method of Multiple Points on Elliptic Curve Using M-ary Method {EFFICIENT AND FAST MULTIPLE POINTS SCALAR MULTIPLICATION METHOD OVER ELLIPTIC CURVE USING M-ARY METHOD}

본 발명은 암호 시스템과 암호 프로토콜 등의 구현에 관한 것으로, 보다 상세하게는 타원곡선을 기반으로 하는 공개키 암호 시스템에서 다중 점 연산을 고속으로 처리할 수 있는 방법에 관한 것이다.The present invention relates to an implementation of a cryptographic system and a cryptographic protocol, and more particularly, to a method capable of processing multi-point operations at high speed in a public key cryptographic system based on an elliptic curve.

정보통신망의 발전과 더불어 다양한 정보가 네트워크를 통하여 교류되고 있다. 송신자가 전자 우편이나 전자 문서 전달 시스템 등을 통하여 귀중한 메시지를 전달하고자 할 때, 메시지 송신자의 입장에서는 정당한 수신자가 정보를 제대로 받았는 지, 그리고 수신자의 입장에서는 메시지의 생성자가 정당한 송신자가 맞는지 등을 확인할 메커니즘이 필요하다. 이러한 기능을 효과적으로 제공하기 위한 방법중의 하나는 각 사용자가 2개의 키 정보로서 비밀키와 공개키를 가지고 있는 공개키 암호 시스템을 포함한다.With the development of information and communication network, various information is exchanged through network. When a sender wants to deliver a valuable message through an e-mail or electronic document delivery system, the sender needs to check whether the right recipient has received the right information, and from the recipient's point of view, the message creator is the right sender. Mechanism is needed. One of the methods for effectively providing such a function includes a public key cryptosystem where each user has a secret key and a public key as two key information.

공개키 암호 시스템은 일반적으로 소인수 분해 문제나 이산 대수 문제 등과 같이 계산량적으로 해결하기 어려운 문제(computationally infeasible)에 안전성을 의존하고 있다. 예를 들면, RSA 공개키 암호 시스템은 소인수분해문제의 어려움에 안전성을 의존하고, 엘가말(ElGamal) 공개키 암호 시스템 등은 유한체 상에서의 이산대수문제의 어려움에 안전성을 의존하고 있다.Public key cryptosystems generally rely on safety for computationally infeasible problems such as prime factorization problems or discrete logarithmic problems. For example, RSA public key cryptosystems rely on the security of the difficulty of prime factorization problems, and ElGamal public key cryptosystems rely on the safety of discrete algebraic problems on finite bodies.

그러나 공개키 기반의 암호 시스템을 구현할 때는 근본적으로 많은 양의 시간과 메모리가 필요하기 때문에, 빠른 구현에 대한 해법이 요구되어 공개키 암호 시스템의 효율적인 구현은 계속해서 연구 대상이 되고 있다.However, since implementing a public key-based cryptosystem basically requires a large amount of time and memory, an efficient solution for a public key cryptosystem has been studied.

최근에는 타원곡선 상에서의 이산대수문제에 기반을 둔 타원곡선 공개키 암호 시스템이 유한체 상에서의 이산 대수 문제의 해결 방법보다 훨씬 어려운 문제로 알려져 있어서, 동등한 안전성을 요구할 때 타원곡선 상의 암호 시스템은 기존의 유한체상의 이산 대수 문제를 근거로 한 공개키 시스템에 비하여 작은 키 사이즈로도 높은 안전성을 보장하여 크게 주목을 받고 있다.Recently, the elliptic curve public key cryptosystem based on the discrete algebra problem on the elliptic curve is known to be much more difficult than the solution of the discrete algebra problem on the finite body. Compared to the public key system based on the finite-discrete discrete algebraic problem, it has attracted much attention because it guarantees high security even with a small key size.

공개키 암호시스템에 기반을 둔 암호 프로토콜의 구현에는 곱셈을 반복적으로 수행하는 모듈러 멱승 연산이 필수적이다. 특히 타원곡선 상의 이산 대수문제에 기반한 공개키 암호 시스템에서는 타원곡선 상의 몇 개 점을 자신만이 비밀로 하고 싶은 상수와 곱하는 다중점들의 곱셈이 중요한 계산 부분이다. 예를 들어, 타원곡선 상에 구현된 엘가말 디지털 서명 방식, DSS(Digital Signature Standard)서명 방식, 한국형 표준 디지털 서명 방식인 KCDSA(Korean Certificate based Digital Signature Algorithm)의 서명 검증 부분, 타원 곡선으로 구현된 크레이머-샤웁(Cramer-Shoup)의 공개키 암호 알고리즘의 키 생성 부분 및, 복호화 과정, 타원곡선 상의 사인크립션(Signcryption)의 서명 검증 부분 등 다중점의 상수배는 필수적이다. 다중점들의 상수배에 관한 알고리즘은 샤미어와 엘가말이 제안한 이진기법을 다중원소의 연산으로 확장한 기법이 실제적으로 가장 많이 사용되고 있다.Implementing a cryptographic protocol based on public key cryptosystems requires a modular power operation that performs multiplication repeatedly. Especially in public key cryptosystems based on discrete algebraic problems on elliptic curves, multiplying multipoints by multiplying a few points on an elliptic curve with a constant that you want to keep secret is an important part of calculation. For example, the Elgarmal digital signature scheme implemented on the elliptic curve, the Digital Signature Standard (DSS) signature scheme, the signature verification portion of the Korean standard digital signature algorithm (KCDSA), and the elliptic curve. The key generation part of Cramer-Shoup's public key cryptographic algorithm, and the constant multiple of multiple points such as the decryption process and the signature verification part of the signature on the elliptic curve are essential. As the algorithm for the constant multiples of multiple points, the method that extends the binary technique proposed by Shamir and Elgarmal to the operation of multi-elements is most commonly used.

타원 곡선 상에서의 점의 상수배는 디지털 서명, 공개키 암호의 구현에서 매우 중요한 계산 부분이기 때문에 지금까지 다양한 방법들이 제안되었다. 그 방법들은 상수 배하고자 하는 정수를 이진수로 표현하여 제곱과 곱하기(squaring and multiplication)를 거듭하는 이진(binary) 방식, m진수로 표현하여 m제곱과 곱하기를 거듭하는 m진법(m-ary) 방식, 정수를 이진수로 표현하여 곱하기의 개수를 최소화하기 위하여 이진수를 일정한 크기의 창(window)으로 분할하여 연산을 수행하는 이진 윈도우 방식(binary window method), 이진수를 방향성이 있는 ±1로 표현하여 윈도우의 개수를 줄이는 방향성 이진 윈도우 기법(signed binary window method) 등이 있다.Various methods have been proposed until now because the constant multiple of the point on the elliptic curve is a very important calculation part in the implementation of digital signature and public key cryptography. They are binary methods that represent integers to be multiplied by a binary number and are multiplied by squares and multiplications, and m-ary methods that multiply by m squares with m numbers. In order to minimize the number of multiplications by representing integers as binary numbers, the binary window method is performed by dividing binary numbers into a window of a constant size. Signed binary window method for reducing the number of

그러나 다중 점의 상수배, 예를 들면, 타원곡선 상에서 선택된 임의의 점, 예로,에 대하여 ""와 같은 연산(여기서,는 상수,는 타원 곡선상의 점,는 타원곡선 상의 덧셈 연산을 의미함) 방법에 관한 발견적 해법은 그리 많지 않다. 현재 널리 쓰이고 있는 방법으로는 샤미어와 엘가말이 제안한 이진 다중점 연산 방법이 쓰이고 있다.However, a constant multiple of multiple points, for example, any point selected on an elliptic curve, Wow about " Operations such as ", where Wow Is a constant, Wow Is the point on the elliptic curve, There are not many heuristic solutions to the method. As a widely used method, the binary multipoint operation method proposed by Shamir and Elgarmal is used.

도 1은 샤미어-엘가말의 이진 다중점 상수배 연산 방법을 설명하는 흐름도가 도시된다.1 is a flow diagram illustrating a method for calculating a binary multipoint constant multiple of Shamir-Elgarmal.

단계(11)에서, 타원곡선상에서 가능한 다중점의 조합들을 구성하여 계산한다. 예를 들어, 두 개 점, 예로, 점()와 ()의 상수배 연산을 수행할 경우를 타원곡선 상에서 계산하여 순서에 맞게 저장한다.In step 11, the combinations of possible multiple points on the elliptic curve are constructed and calculated. For example, two points, for example, a point ( )Wow ( When performing constant multiple operations of) Calculate the elliptic curve and store it in order.

여기서, 점(O)은 타원곡선 군의 연산에서 항등원과 같은 것으로, 무한원점 또는 좌표값(0, 0)으로 표시될 수 있으며, 점()와 ()는 타원 곡선상에서 임의로 선택된 점으로 각기 좌표값 () 및 ()로 표시될 수 있다. GF(p)상에서 정의된 타원 곡선식이인 경우라고 하면, (P+Q)는 하기 수학식으로 표현된다.Here, the point O is the same as the identity circle in the calculation of the elliptic curve group, and may be represented as an infinite origin or a coordinate value (0, 0), and the point ( )Wow ( ) Is a randomly selected point on the elliptic curve. ) And ( ) May be indicated. Elliptic curve defined on GF (p) If (P + Q) is expressed by the following equation.

그 다음, 자신만이 비밀로 하고 싶은 상수들을 이진수로 표현하여 상수표를 계산한다(단계 12). 예를 들어, 타원곡선상에서 두점(,)이 선택되고, 상수배 연산할 상수가 12와 5인 경우, 상수배 연산은 ""이며,,로 표현되므로, 하기 표1과 같은 상수표를 작성한다.Then, the constant table is calculated by representing the constants that you want to keep secret in binary (step 12). For example, two points on an elliptic curve , ) Is selected, and the constants to be multiplied are 12 and 5, the constant multiply is " ", , It is represented by, to create a constant table as shown in Table 1.

1One 1One 00 00 00 1One 00 1One

이제 상수 표1에 이진수값의 첫 째 열부터 마지막 열까지, 각 열의 이진수값엔트리들을 조합한 숫자를 십진법으로 나타내어 인덱스(index)(I)를 형성한다(단계 13). 이 경우 인덱스의 엔트리 값들은 차례로,,,이 된다.Now, in Table 1, the index (I) is formed by representing the number of binary value entries of each column in decimal form from the first column to the last column of binary values (step 13). In this case, the entry values in the index , , , Becomes

그 다음 인덱스 값들을 초기화시키는 과정을 수행하고(단계 14), 상수 표1의 첫째 열부터 각 열 마다 차례로 두 배(doubling) 연산을 하면서 사전계산에서 저장된 점들의 순서와 일치하는 인덱스를 가진 점들을 더한다(단계 15). 즉 첫 째 열의 인덱스 값이 "1"이므로 그에 해당하는 사전계산 값인 ""를 택하여 2배를 하여 ""를 얻는다. 다음 열의 인덱스 값이 "3" 이므로 이 인덱스에 해당하는 점은 ""이며 앞서 계산한 ""와 더하여 ""를 계산한다. 이 점에 다시 2배를 하여 ""를 얻은 후 같은 방법으로 인덱스에 해당하는 점 ""을 더하여 다시 2배를하여 ""를 생성한다. 마지막 열의 인덱스에 해당하는 점이 ""이므로 더하여 최종 결과 "" 를 얻는다(단계 16).Then, the process of initializing the index values (step 14), and doubling operations in each column from the first column of the constant table 1 are performed to find the points with indices that match the order of the points stored in the precomputation. Add (step 15). That is, since the index value of the first column is "1", the corresponding precomputed value " To double the " ". The index value of the next column is" 3 ", so this index corresponds to" "And calculated earlier" In addition to " "Calculate. Double this point again," "After you get the point that corresponds to the index in the same way" "And double again by" ". The point corresponding to the index of the last column is" "Because the final result plus "Is obtained (step 16).

상술한 샤미어-엘가말의 이진 다중점 상수배 연산 방법은 다중점을 계산할 때 각 점을 따로 상수배를 하여 더하는 것보다 효율적인 계산을 수행할 수 있다. 그러나 상수배 하고자 하는 상수들을 이진으로 표현하였기 때문에 일반적으로 표현할 수 있는 이진 수의 해밍 무게가 그 길이의 1.5배에 해당하게되어 계산 단위가 증가되는 문제가 있다. 이는 상수배 연산의 계산량은 주로 상수가 이진수로 표현되었을 때 그 길이에 의존하기 때문이다.The above-described method for calculating a binary multipoint constant multiple of Shamere-Elgarmal can perform an efficient calculation than adding a constant multiple for each point when calculating a multipoint. However, since the constants to be multiplied are expressed in binary, the Hamming weight of the binary number that can be expressed generally corresponds to 1.5 times its length, thereby increasing the calculation unit. This is because the amount of computation of the constant multiple operations depends mainly on the length of the constant when expressed in binary.

그러므로, 본 발명은 상술한 문제를 해결하고자 안출된 것으로, 샤미어-엘가말의 방법보다 적은 계산량을 요구하는 다중점 상수배 연산 방법을 제공하는 것을 그 목적으로 한다.It is therefore an object of the present invention to provide a multi-point constant multiplication operation method that requires less computation than the method of Shamir-Elgarmal.

상술한 목적을 달성하기 위한 본 발명에 따른 타원곡선상의 다중점 연산 방법은: 비밀로 하고자 하는개의 상수()와 각기 상수배 연산될개의 점()을 타원곡선상에서 선택하는 단계; 상기 상수를 각기 m(=2k)진법으로 전개한 m진수 상수의 각 자리값을 m 열의 참조 표에 배열하는 단계; 상기 2ml개의 Pi값과 이 값들을 i값들에 대하여 합산한 값들을 사전 계산하여 생성되는 사전계산값들(Qi)을 순서적으로 저장수단에 저장하는 단계; 상기 저장수단에 저장된 사전계산값(Qi)들의 순서에 대응하는 m개의 인덱스(Im)를 생성하는 단계; 상기 참조 표의 m열마다 각기 2m배 연산하고 2m배 연산결과를 상기 각각의 인덱스(Im)에 대응하는 사전계산값(Qi)들과 혼합연산하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, a method for calculating a multipoint on an elliptic curve according to the present invention is to be kept secret. Constants ( ) And each constant Points ( Selecting on the elliptic curve; Arranging each digit of the m-number constant, the constants of which are respectively expanded in m (= 2 k ) notation, in a reference table of m columns; Sequentially storing pre-calculated values (Q i ), which are generated by pre-calculating the 2 ml P i values and the sum of these values for i values, in storage means; Generating m indexes (I m ) corresponding to the order of precomputed values (Q i ) stored in the storage means; Characterized in that it comprises the step of mixing operations with the pre-calculated value (Q i) corresponding to the reference table every m columns, each 2 m times calculated and indexes of each of 2 m times the calculation result (I m).

도 1은 전형적인 이진 방식을 이용한 다중점 곱셈 연산법을 설명하는 흐름도,1 is a flowchart illustrating a multipoint multiplication operation using a typical binary method;

도 2는 본 발명에서 이용되는 공개키 암호시스템의 블록 구성도,2 is a block diagram of a public key cryptosystem used in the present invention;

도 3은 도 2에 예시된 공개키 암호시스템에서 본 발명에 따른 m진법 방식을 이용한 타원곡선상의 다중점 곱셈 연산법을 설명하는 흐름도.FIG. 3 is a flow chart illustrating a multipoint multiplication operation on an elliptic curve using the m-based method in the public key cryptosystem illustrated in FIG.

〈도면의 주요부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>

100 : 암호화 장치 200 : 복호화 장치100: encryption device 200: decryption device

220 : 키 생성부 240 : 복호화부220: key generation unit 240: decryption unit

260 : 참조 표 280 : 메모리260: Reference Table 280: Memory

이하 본 발명은 첨부된 도면을 참조하여 다음과 같이 상세히 설명될 것이다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에서 이용되는 공개키 암호 시스템의 개략적인 블록 구성도로서, 공개 키 암호 시스템은 송신자측의 암호화 장치(100)와 수신자측의 복호화 장치(200)를 포함하며, 복호화 장치(200)는 키 생성부(220)와 복호화부(240)를 구비한다.FIG. 2 is a schematic block diagram of a public key cryptosystem used in the present invention. The public key cryptosystem includes a cryptographic apparatus 100 on the sender side and a decryption apparatus 200 on the receiver side. ) Includes a key generation unit 220 and a decryption unit 240.

송신자측의 암호화 장치(100) 및 수신자측의 복호화 장치(200)는 타원 곡선 상의 공개키 암호 알고리즘을 사용한다. 수신자측 복호화 장치(200)의 키 생성부(220)는 타원곡선을 기반으로 하여 공개 키와 비밀 키를 연산하여 공개키는 공지하고, 개인키는 비밀로 보관한다. 이 때, 키 생성부(220)는 타원곡선 기반 암호화 알고리즘에 따라 타원곡선상의 임의의 다중점을 선택하고, 선택된 다중점과 자신이 비밀로 하고자 하는 비밀 상수를 곱셈하는 다중점 상수배 연산을 수행하는 데, 비밀 상수를 m(=2k)진법으로 전개하고, 이를 이용하여 비밀 키와 공개 키를 생성한다. 이 때, 공개 키는 다중점에 비밀 상수배를 한 값이 된다.The encryption apparatus 100 on the sender side and the decryption apparatus 200 on the receiver side use a public key encryption algorithm on an elliptic curve. The key generation unit 220 of the receiver side decryption apparatus 200 calculates a public key and a secret key based on an elliptic curve, and announces the public key and keeps the private key secret. In this case, the key generation unit 220 selects an arbitrary multipoint on the elliptic curve according to an elliptic curve-based encryption algorithm, and performs a multipoint constant multiplication operation by multiplying the selected multipoint with a secret constant desired to be secret. The secret constant is expanded in m (= 2 k ) notation and used to generate the secret and public keys. At this time, the public key is a value obtained by multiplying secret constants to multiple points.

송신자측의 암호화 장치(100)는 암호화하고자 하는 평문 메시지를 수신자측에서 생성된 공개키를 이용하여 암호화한 후, 암호화된 암호문을 수신자측의 복호화 장치(200)으로 전송한다. 수신자측 복호화 장치(200)내 복호화부(240)는 키 생성부(220)에서 생성된 공개키와 대응되는 비밀키로 송신자(100)로부터 제공된 암호문을 복호화하여 송신자측의 암호화 장치(100)에서 전송한 원래의 평문 메시지를 복원한다.The encryption apparatus 100 on the sender side encrypts the plain text message to be encrypted using the public key generated on the receiver side, and then transmits the encrypted ciphertext to the decryption apparatus 200 on the receiver side. The decryption unit 240 in the receiver side decryption apparatus 200 decrypts the cipher text provided from the sender 100 using a secret key corresponding to the public key generated by the key generation unit 220 and transmits the decrypted text from the encryption apparatus 100 on the sender side. Restore an original plain text message.

도 3은 도 2의 공개키 암호 시스템에서 타원곡선을 기반으로 한 다중 점 상수배 연산을 수행하는 과정을 설명하는 흐름도가 도시된다.3 is a flowchart illustrating a process of performing a multi-point constant multiple operation based on an elliptic curve in the public key cryptosystem of FIG. 2.

본 발명의 다중점 상수배 연산 과정은 첨부된 도 2 및 도 3을 참조하여 다음과 같이 설명된다.The multipoint constant multiplication procedure of the present invention is described as follows with reference to FIGS. 2 and 3.

먼저, 단계(110)에서, 공개키 암호시스템의 복호화 장치(200)는 타원 곡선 상에서 다수개의 임의의개의 점()을 선택하고, 비밀로 하고자 하는개의 비밀상수()를 선택한다. 이 경우, 키 생성부(20)에 의해 다중점 연산된 결과()는이 될 것이다.First, in step 110, the decryption apparatus 200 of the public key cryptosystem is a plurality of arbitrary on an elliptic curve. Points ( ), And keep it secret Secret constants Select). In this case, the result of the multi-point calculation by the key generation unit 20 ( ) Will be

그 다음 단계(120)에서, 공개키 암호시스템의 복호화 장치(200)는 비밀상수()를 각기 m(=2k)진법으로 표현하여 룩업 테이블 메모리로서 구현될 수도 있는 m열의 참조 표(260)에 하기 표2와 같은 상수표를 구성한다.In the next step 120, the decryption apparatus 200 of the public key cryptosystem is a secret constant ( ) Are each expressed in m (= 2 k ) notation to form a constant table as shown in Table 2 below in a reference table 260 of column m, which may be implemented as a lookup table memory.

.......... .......... ...... ...... .......... ...... ..........

그 다음에는 단계(130)에서와 같이, 복호화 장치(200)는 하기 수학식 2를 이용하여 사전 계산을 수행하여 구한 사전 계산 값()을 메모리(280)에 순서적으로 저장한다.Next, as in step 130, the decoding apparatus 200 performs a precomputation value obtained by performing a precomputation using Equation 2 below. ) Are sequentially stored in the memory 280.

상기 수학식 2에서,이다.In Equation 2, to be.

그 다음에는 참조 표(260)에 배열된 상수표 2의 첫째 열부터 마지막 열까지, 각 열을 조합한 숫자를 십진법으로 나타내어 인덱스()를 생성한다(단계 140). 이것은 하기 수학식 3과 같이 표현된다.Next, in decimal notation, the number combining each column from the first column to the last column of the constant table 2 arranged in the reference table 260 is displayed. (Step 140). This is expressed as in Equation 3 below.

이후, 복호화 장치(200)는 다중점 연산 결과()를 하기 수학식 4와 같이 초기화한다(단계 150).Thereafter, the decoding apparatus 200 generates a multipoint operation result ( ) Is initialized as shown in Equation 4 below (step 150).

그 다음, 복호화 장치(200)는 하기 수학식 5에서와 같이 2배 연산과 사전 계산 값()의 혼합 연산을 수행하고(단계 160), 수행 결과 생성된 값()()을 출력한다(단계 170).Next, the decoding apparatus 200 performs a double operation and a precalculated value (as shown in Equation 5 below). ), Then perform the mixed operation (step 160), and the resulting value ( ) ( (Step 170).

, ,

상술한 본 발명의 동작원리의 이해를 돕기위하여, 타원곡선 상의 두 점()을 비밀상수(127, 245)와 다중점 연산하는 과정과 그 결과로 생성되는 값(), 즉을 계산하는 일 실시예를 다음과 같이 설명한다.In order to help the understanding of the operation principle of the present invention described above, two points on the elliptic curve ( ) And multipoint computation with secret constants (127, 245) and the resulting value ( ), In other words An embodiment of calculating the following will be described.

(1) 먼저, 비밀상수를 다음과 같이 4진법의 수로 나타내고, 상술한 수학식 1을 사용하여 사전 계산을 수행한다. 사전계산 수행결과 값()은 메모리(280)에 순서적으로 저장된다.(1) First, the secret constant and Is expressed as a quadratic number as follows, and precomputation is performed using Equation 1 described above. Precalculation result value ( Are sequentially stored in the memory 280.

, ,

(2) 비밀상수를 참조 표(260)내에 하기 상수표 3의 배열로서 구성한다.(2) Secret Constant and Is constituted in the reference table 260 as an array of the following constant table 3.

1One 33 33 33 33 33 1One 1One

(3) 상술한 수학식 3을 이용하여 참조 표(260)내에 배열된 상수 표3에서 각 열의 엔트리들을 더한 값을 인덱스값()으로서 다음과 같이 계산한다.(3) In the constant table 3 arranged in the reference table 260 using the above equation (3), the value obtained by adding the entries of each column to the index value ( Is calculated as follows.

(4)으로 초기화한다.(4) Initialize with

(5) 다중점 연산을 상술한 수학식 5를 이용하여 하기와 같이 수행한다.(5) A multipoint operation is performed by using Equation 5 described above.

(6) 결과값으로서 생성된을 출력한다(6) generated as a result Will print

그러므로, 본 발명에 따른 본 발명은 타원곡선의 정의체(defining field)의 크기를 160비트라고 가정했을 때 기존의 샤미어-엘가말 방법보다 연산횟수를 줄일 수 있다. 표1 과 표2는 각각 2중점, 3중점의 상수배의 연산에 소요되는 최대 덧셈의 개수를 샤미어-엘가말의 종래 방법과 본 발명의 방법을 비교한 표이다. 샤미어의 방법과는 달리 본 발명에서는 상수를진법으로 전개한다. 그리고 사전 계산에서부터값과 이 값들을값들에 대하여 더한 값들을 사전 계산한다. 상수를 m진법으로 나타내었기 때문에 실제 점들의 상수배 연산에서의 연산량을 줄일 수 있다. 그러나 사전 계산량이 많아질 수 있는 데 사용하는 진법을 잘 고르면 샤미어의 방법보다 계산량적 이득을 볼 수 있다.Therefore, according to the present invention, when the size of the defining field of the elliptic curve is assumed to be 160 bits, the number of operations can be reduced compared to the conventional Shamir-Elgarmal method. Table 1 and Table 2 show the maximum number of additions required for the calculation of the constant multiple of the double and triple points, respectively. Unlike the method of Shamir, in the present invention, Unfold in base. And in precomputation from Values and these values Precalculate the sum of the values. Since the constant is expressed in m-ary, the amount of computation in the constant multiplication of the actual points can be reduced. However, if you choose the base system that can be used to increase the amount of precomputation, you can benefit from the computational benefit over the method of Shamir.

2중점의 상수배 연산의 경우 기존 방식과의 비교Comparing with the conventional method for double point constant multiple operation 4진법Quaternary 8진법Octal 16진법Hexadecimal 본 발명The present invention 251251 271271 449449 샤미어-엘가말Shamier-Elgarmal 320320 320320 320320

3중점의 상수배 연산의 경우 기존 방식과의 비교Comparing with the conventional method for the triple point constant multiple operation 4진법Quaternary 본 발명The present invention 299299 샤미어-엘가말Shamier-Elgarmal 324324

따라서 상술한 비교표 4 및 5로부터 2중점의 상수배 연산에서는 4진법일 때 22%, 3중점의 연산에 대해서도 4진법 일 때 6%의 계산량적 이득이 있음을 알 수 있다.Accordingly, it can be seen from the comparison tables 4 and 5 that there is a 22% computational gain in the quadratic method and 6% in the quadratic method even for the triple point operation.

Claims (4)

공개키 암호시스템에서 타원곡선상의 다중점 연산 방법에 있어서,In a multipoint operation method on an elliptic curve in a public key cryptosystem, 비밀로 하고자 하는개의 상수()와 각기 상수배 연산될개의 점()을 타원곡선상에서 선택하는 단계;Want to keep secret Constants ( ) And each constant Points ( Selecting on the elliptic curve; 상기 상수를 각기 m(=2k)진법으로 전개한 m진수 상수의 각 자리값을 m 열의 참조 표에 배열하는 단계;Arranging each digit of the m-number constant, the constants of which are respectively expanded in m (= 2 k ) notation, in a reference table of m columns; 상기 2ml개의 Pi값과 이 값들을 i값들에 대하여 합산한 값들을 사전계산하여 생성되는 사전계산값들(Qi)을 순서적으로 저장수단에 저장하는 단계; Sequentially storing the 2 ml P i values and the pre-calculated values (Q i ) generated by pre-calculating the sum of these values for the i values in storage means; 상기 저장수단에 저장된 사전계산값(Qi)들의 순서에 대응하는 m개의 인덱스(Im)를 생성하는 단계;Generating m indexes (I m ) corresponding to the order of precomputed values (Q i ) stored in the storage means; 상기 참조 표의 m열마다 각기 2m배 연산하고 2m배 연산결과를 상기 각각의 인덱스(Im)에 대응하는 사전계산값(Qi)들과 혼합연산하는 단계를 포함하는 것을 특징으로 하는 m진법 방식을 이용한 타원곡선 상의 다중점 연산방법.M comprises a mixing operation with the pre-calculated value (Q i) corresponding to the reference table every m columns, each 2 m times calculated and indexes of each of 2 m times the calculation result (I m) Multipoint Computation Method on Elliptic Curve Using the Decimal Method. 제 1 항에 있어서, 상기 인덱스(Im)를 생성하는 단계는,The method of claim 1, wherein generating the index I m is as follows. 상기 m열 참조 표에 배열된 m열들의 엔트리들을 조합한 값으로 생성하는 것을 특징으로 하는 m진법 방식을 이용한 타원곡선 상의 다중점 연산방법.And generating entries by combining entries of m columns arranged in the m column reference table. 제 2 항에 있어서, 상기 혼합연산 단계는,The method of claim 2, wherein the mixed operation step, 상기 사전 계산 단계에서 저장된 점들의 순서와 일치하는 인덱스를 가진 점들을 더하여 2m배하는 것을 특징으로 하는 m진법 방식을 이용한 타원곡선 상의 다중점 연산방법.And multiplying the points having indices that match the order of the points stored in the pre-calculation step by 2 m . 제 1 항에 있어서, 상기 m은 2보다 큰 양의 정수인 것을 특징으로 하는 m진법 방식을 이용한 타원곡선 상의 다중점 연산방법.2. The method of claim 1, wherein m is a positive integer greater than two.
KR1019990051245A 1999-11-18 1999-11-18 Efficient and fast multiple points scalar multiplication method over elliptic curve using m-ary method KR20010000048A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990051245A KR20010000048A (en) 1999-11-18 1999-11-18 Efficient and fast multiple points scalar multiplication method over elliptic curve using m-ary method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990051245A KR20010000048A (en) 1999-11-18 1999-11-18 Efficient and fast multiple points scalar multiplication method over elliptic curve using m-ary method

Publications (1)

Publication Number Publication Date
KR20010000048A true KR20010000048A (en) 2001-01-05

Family

ID=19620632

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990051245A KR20010000048A (en) 1999-11-18 1999-11-18 Efficient and fast multiple points scalar multiplication method over elliptic curve using m-ary method

Country Status (1)

Country Link
KR (1) KR20010000048A (en)

Cited By (5)

* 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
KR100611311B1 (en) * 2005-02-07 2006-08-10 고려대학교 산학협력단 Method for elliptic curve cryptography for efficient simultaneous multiplication on elliptic curve
KR100957195B1 (en) * 2007-03-30 2010-05-11 주식회사 디지캡 Method and system for license audit and management in DRM environment
KR101297966B1 (en) * 2011-12-14 2013-08-19 (주)엠씨씨 Method for encryping using ecc algorithm

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0856219A (en) * 1994-08-11 1996-02-27 Nippon Telegr & Teleph Corp <Ntt> Ciphering communication system
JPH08102734A (en) * 1994-09-30 1996-04-16 Nippon Telegr & Teleph Corp <Ntt> Public key cryptographic method/system
JPH11187009A (en) * 1997-12-18 1999-07-09 Nippon Telegr & Teleph Corp <Ntt> Non-communication key delivering method, equipment therefor and program recording medium

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0856219A (en) * 1994-08-11 1996-02-27 Nippon Telegr & Teleph Corp <Ntt> Ciphering communication system
JPH08102734A (en) * 1994-09-30 1996-04-16 Nippon Telegr & Teleph Corp <Ntt> Public key cryptographic method/system
JPH11187009A (en) * 1997-12-18 1999-07-09 Nippon Telegr & Teleph Corp <Ntt> Non-communication key delivering method, equipment therefor and program recording medium

Cited By (5)

* 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
KR100611311B1 (en) * 2005-02-07 2006-08-10 고려대학교 산학협력단 Method for elliptic curve cryptography for efficient simultaneous multiplication on elliptic curve
KR100957195B1 (en) * 2007-03-30 2010-05-11 주식회사 디지캡 Method and system for license audit and management in DRM environment
KR101297966B1 (en) * 2011-12-14 2013-08-19 (주)엠씨씨 Method for encryping using ecc algorithm

Similar Documents

Publication Publication Date Title
US5271061A (en) Method and apparatus for public key exchange in a cryptographic system
US5159632A (en) Method and apparatus for public key exchange in a cryptographic system
CN109039640B (en) Encryption and decryption hardware system and method based on RSA cryptographic algorithm
JPH0720778A (en) Remainder calculating device, table generating device, and multiplication remainder calculating device
JP4137385B2 (en) Encryption method using public and private keys
US20130236012A1 (en) Public Key Cryptographic Methods and Systems
US20020055962A1 (en) Automatically solving equations in finite fields
US7248692B2 (en) Method of and apparatus for determining a key pair and for generating RSA keys
US7062044B1 (en) Method of elliptic curve cryptographic key agreement using coefficient splitting
KR100340102B1 (en) High speed rsa public key cryptographic apparatus and method
US20060251248A1 (en) Public key cryptographic methods and systems with preprocessing
KR20010000048A (en) Efficient and fast multiple points scalar multiplication method over elliptic curve using m-ary method
JP3123820B2 (en) Operators in finite commutative groups
Manajaih Modular arithmetic in RSA cryptography
Wardlaw The RSA public key cryptosystem
JP3615405B2 (en) Method and apparatus for calculating points on elliptic curve on element body
Moldovyan et al. Randomized pseudo-probabilistic encryption algorithms
KR100326226B1 (en) Method of Generating Matix Group Public Key
Shepherd et al. The quadratic residue cipher and some notes on implementation
JP3278790B2 (en) Public key encryption method and public key encryption system
JP2624634B2 (en) Encryption device and decryption device, encryption / decryption device, and encryption system
Vagle A gentle introduction to elliptic curve cryptography
JP3634097B2 (en) Cryptographic communication system
JP3240723B2 (en) Communication method, secret communication method and signature communication method
CHAU et al. A SURVEY OF MATHEMATICAL CRYPTOGRAPHY

Legal Events

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