KR101019242B1 - Method for scalar multiplication using extended montgomery ladder - Google Patents

Method for scalar multiplication using extended montgomery ladder Download PDF

Info

Publication number
KR101019242B1
KR101019242B1 KR1020090016972A KR20090016972A KR101019242B1 KR 101019242 B1 KR101019242 B1 KR 101019242B1 KR 1020090016972 A KR1020090016972 A KR 1020090016972A KR 20090016972 A KR20090016972 A KR 20090016972A KR 101019242 B1 KR101019242 B1 KR 101019242B1
Authority
KR
South Korea
Prior art keywords
montgomery
leather
scalar multiplication
elliptic curve
extended
Prior art date
Application number
KR1020090016972A
Other languages
Korean (ko)
Other versions
KR20100098017A (en
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 KR1020090016972A priority Critical patent/KR101019242B1/en
Publication of KR20100098017A publication Critical patent/KR20100098017A/en
Application granted granted Critical
Publication of KR101019242B1 publication Critical patent/KR101019242B1/en

Links

Images

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
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Treatment And Processing Of Natural Fur Or Leather (AREA)

Abstract

본 발명은 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법에 관한 것으로, 본 발명의 일 실시 예에 따른 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법은 타원 곡선 암호 시스템에서 몽고메리 레더의 키 값을 3진수 (ternary)로 표현하는 단계; 및 상기 몽고메리 레더에 복합 연산에 대해 x좌표만을 이용한 연산식을 적용하고, 상기 3진수의 키 값에 대해 상기 몽고메리 레더에 따른 스칼라 곱셈을 수행하는 단계를 포함한다. 본 발명에 의하면, GF(2m)상에서 단순전력분석에 대한 안전성을 유지하면서, 기존의 타원곡선 스칼라 곱셈 알고리즘보다 연산속도를 향상시킬 수 있다.The present invention relates to a scalar multiplication method using an extended Montgomery leather. The scalar multiplication method using an extended Montgomery leather according to an embodiment of the present invention is a ternary key value of a Montgomery leather in an elliptic curve cryptographic system. Represented by; And applying an expression using only x-coordinates to the Montgomery leather complex operation, and performing scalar multiplication according to the Montgomery leather on the ternary key value. According to the present invention, it is possible to improve the operation speed compared to the existing elliptic curve scalar multiplication algorithm while maintaining safety for simple power analysis on GF (2 m ).

Description

확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법 {Method for scalar multiplication using extended montgomery ladder}Method for scalar multiplication using extended montgomery ladder}

본 발명은 스칼라 곱셈 연산에 관한 것으로, 특히, 타원 곡선 암호 시스템에서 스칼라 곱셈 연산을 단순전력분석에 안전하게 하면서 연산속도를 향상시킬 수 있는 방법에 관한 것이다.TECHNICAL FIELD The present invention relates to scalar multiplication operations, and more particularly, to a method for improving scalar multiplication operation in an elliptic curve cryptographic system while improving the computation speed while making it safe for simple power analysis.

정보화 사회의 도래와 함께 암호 알고리즘 및 암호 프로토콜(Protocol)을 이용한 정보의 보호는 그 중요성을 더해가고 있다. 정보를 보호하는데 사용되는 암호 알고리즘 중에서 RSA(Rivest Shamir Adleman) 암호시스템 및 타원 곡선 암호 시스템(Elliptic Curve Cryptography)에서 사용하는 공개키(open key) 암호 알고리즘은, 비밀키(Secret Key) 암호 알고리즘의 단점인 키(Key) 분배 문제, 전자서명 문제 등을 해결하면서 인터넷이나 금융 망과 같은 여러 분야의 응용에 빠르게 적용되고 있다.With the advent of the information society, the protection of information using cryptographic algorithms and cryptographic protocols is increasing in importance. Among the encryption algorithms used to protect information, the open key encryption algorithms used in the RSA (Rivest Shamir Adleman) encryption system and the Elliptic Curve Cryptography system are disadvantages of the secret key encryption algorithm. It solves key distribution problem, digital signature problem, etc., and is rapidly applied to various fields such as internet and financial network.

타원 곡선 암호 시스템은 기존의 RSA와 엘가말 (ElGamal) 공개키 암호시스템과 비교하여 훨씬 짧은 길이의 키로도 비슷한 보안성을 제공한다는 장점을 가지고 있다. 키의 길이가 짧다는 장점 때문에 저전력을 사용하는 스마트카드나 PDA 등에 많이 사용된다.Elliptic curve cryptosystems have the advantage of providing similar security with keys of much shorter length compared to traditional RSA and ElGamal public key cryptosystems. Due to its short key length, it is widely used for smart cards and PDAs that use low power.

타원 곡선 암호 시스템의 안전성과 효율성에 가장 큰 영향을 주는 연산은 타원곡선 스칼라 곱셈이다. d를 양의 정수라 하고, P를 타원곡선 위의 한 점이라고 할 때, P를 d번 더하는 연산을 타원곡선 스칼라 곱셈이라 한다. 타원곡선 스칼라 곱셈은 타원곡선 암호 시스템의 안전성과 효율성에 가장 큰 영향을 주는 연산이다. 스칼라 곱셈을 구현하는 가장 일반적이고 기본적인 방법으로 레프트-투-라이트 바이너리 방법 (Left-to-right binary method)이 있다.The operation that most affects the safety and efficiency of elliptic curve cryptographic systems is elliptic curve scalar multiplication. When d is a positive integer and P is a point on the elliptic curve, the operation of adding P d times is called elliptic scalar multiplication. Elliptic curve scalar multiplication is the operation that has the greatest impact on the safety and efficiency of the elliptic curve cryptosystem. The most common and basic way to implement scalar multiplication is the Left-to-right binary method.

전력분석은 타원곡선 스칼라 곱셈 알고리즘에 대한 강력한 공격방법으로 스마트카드와 같은 모바일 장치에서 암호알고리즘이 동작할 때 소모되는 전력정보를 이용한 공격 방법이다. 전력분석은 단순전력분석과 차분전력분석으로 나눌 수 있다. 단순전력분석은 한 번의 알고리즘 수행에 의한 전력 소모량을 가지고 분석하는 방법으로 비밀키에 의존하는 공개키 암호 연산에 적용된다. 차분전력분석은 고정된 비밀키에 대한 암호 연산의 서로 다른 데이터에 대한 다수의 수행과정에서 비밀키의 특정 비트 값에 의존하는 중간 계산 값과 해당 전력소모량 사이의 상관관계를 통계적으로 분석하는 공격 방법이다. 타원곡선 스칼라 곱셈에 사용되는 연산들은 서로 다른 연산량과 연산순서를 가지고, 키 비트에 의존해서 실행되는 연산에 차이가 생기기 때문에 단순전력분석에 의한 분석이 많이 진행 되었다. Power analysis is a powerful attack method for the elliptic curve scalar multiplication algorithm. It is an attack method using power information consumed when cryptographic algorithms are operated in mobile devices such as smart cards. Power analysis can be divided into simple power analysis and differential power analysis. Simple power analysis is a method that analyzes the power consumption by one algorithm execution and is applied to public key cryptography which depends on the secret key. Differential power analysis is an attack method that statistically analyzes the correlation between the intermediate calculation value and the corresponding power consumption depending on the specific bit value of the secret key in a large number of different operations of cryptographic operations on the fixed secret key. to be. Since the operations used for elliptic curve scalar multiplication have different amounts of calculation and the order of operations, and there are differences in the operations executed depending on the key bits, the analysis by simple power analysis has been proceeded a lot.

타원곡선 스칼라 곱셈 알고리즘에 대한 단순전력분석이 진행되면서 이를 방어하기 위한 많은 대응방법들이 제안되었다. 이즈-타카기 (Izu-Takagi)들은 키 값을 이진법으로 표현하고 두 개의 레지스터를 이용하는 몽고메리 레더 (Montgomery ladder) 방법을 제안하고 효율성을 높이기 위하여 확장 바이너리 방법 (extended binary method)을 이용한 변형된 몽고메리 레더 알고리즘을 제안하였다. 변형된 몽고메리 레더 방법은 한 번의 타원곡선 배증(doubling)과 세 번의 타원곡선 덧셈(addition)을 이용하며 모두 병렬적으로 연산이 가능하다. 그러나 이 방법은 네 개의 레지스터를 사용한다는 단점을 가지고 있다. 그리고, 추가적인 연산을 최소화 되고, 단순전력분석에 안전하도록 하는 부채널 원자성 (Side-channel atomicity) 방법이 제안되기도 하였다. 레프트-투-라이트 바이너리 방법 (Left-to-right binary method)에 유한체 덧셈만을 추가하는 부채널 원자 배증 및 덧셈 (Side-channel atomic double and add) 알고리즘은 몽고메리 레더 방법보다 연산속도가 빠르다. 그리고 사전테이블을 이용하는 콤(comb) 방법과 윈도우 (window) 방법 등 단순전력분석에 안전하면서 연산속도를 향상시키는 많은 알고리즘이 제안되었다.As simple power analysis of elliptic curve scalar multiplication algorithm proceeds, many countermeasures have been proposed to defend against this. Izu-Takagi proposes a Montgomery ladder method that represents key values in binary and uses two registers, and modified Montgomery ladders using the extended binary method to increase efficiency. An algorithm is proposed. The modified Montgomery ladder method uses one elliptic curve doubling and three elliptic curve additions, all of which can be computed in parallel. However, this method has the disadvantage of using four registers. In addition, side-channel atomicity methods have been proposed to minimize additional computations and to be safe for simple power analysis. The side-channel atomic double and add algorithm, which adds only finite field addition to the left-to-right binary method, is faster than the Montgomery leather method. In addition, many algorithms, such as comb method using window table and window method, which are safe for simple power analysis and improve operation speed, have been proposed.

본 발명이 이루고자 하는 기술적 과제는 GF(2m)상에서 단순전력분석에 대한 안전성을 유지하면서, 기존의 타원곡선 스칼라 곱셈 알고리즘보다 연산속도를 향상시킬 수 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법을 제공하는 데 있다.The technical problem to be achieved by the present invention is to provide a scalar multiplication method using an extended Montgomery ladder to improve the operation speed than the existing elliptic curve scalar multiplication algorithm while maintaining the safety for simple power analysis on GF (2 m ) There is.

상기의 기술적 과제를 이루기 위하여, 본 발명의 일 실시 예에 따른 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법은 타원 곡선 암호 시스템에서 몽고메리 레더의 키 값을 3진수 (ternary)로 표현하는 단계; 및 상기 몽고메리 레더에 복합 연산에 대해 x좌표만을 이용한 연산식을 적용하고, 상기 3진수의 키 값에 대해 상기 몽고메리 레더에 따른 스칼라 곱셈을 수행하는 단계를 포함한다.In order to achieve the above technical problem, a scalar multiplication method using the extended Montgomery leather according to an embodiment of the present invention comprises the steps of expressing the key value of the Montgomery leather in ternary in the elliptic curve cryptographic system; And applying an expression using only x-coordinates to the Montgomery leather complex operation, and performing scalar multiplication according to the Montgomery leather on the ternary key value.

바람직하게는, 상기 스칼라 곱셈을 수행하는 단계에서, 상기 x좌표만을 이용한 연산식을 위한 유한체 역원연산에 몽고메리 트릭 (Montgomery trick)을 적용할 수 있다.Preferably, in performing the scalar multiplication, a Montgomery trick may be applied to the finite body inverse calculation for the equation using only the x-coordinate.

바람직하게는, 상기 스칼라 곱셈을 수행하는 단계에서, 상기 x좌표만을 이용한 연산식을 위한 원자블록들 중 적어도 하나에 더미 연산을 추가하여 부채널 원자성을 적용할 수 있다.Preferably, in performing the scalar multiplication, subchannel atomicity may be applied by adding a dummy operation to at least one of the atomic blocks for the equation using only the x-coordinate.

바람직하게는, 상기 x좌표만을 이용한 연산식은 상기 타원 곡선 상의 서로 다른 두 점을 더하는 ECADD (Elliptic curve point addition) 및 상기 타원 곡선 상의 같은 점을 더하는 ECDBL (Elliptic curve point doubling)을 기반으로 변형된 연산식일 수 있다.Preferably, the equation using only the x-coordinate is modified based on Elliptic curve point addition (ECADD) that adds two different points on the elliptic curve and Elliptic curve point doubling (ECDBL) that adds the same point on the elliptic curve. It may be a diet.

상기의 기술적 과제를 이루기 위하여, 본 발명의 다른 실시 예에 따른 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법은 타원 곡선 암호 시스템에서 몽고메리 레더의 키 값을 4진수 (quaternary)로 표현하는 단계; 및 상기 몽고메리 레더에 x좌표만을 이용한 복합 연산에 대한 연산식을 적용하고, 상기 4진수의 키 값에 대해 상기 몽고메리 레더에 따른 스칼라 곱셈을 수행하는 단계를 포함한다.In order to achieve the above technical problem, a scalar multiplication method using an extended Montgomery leather according to another embodiment of the present invention includes the steps of expressing the key value of the Montgomery leather in an elliptic curve cryptographic system as a quadrature; And applying an expression for a complex operation using only x-coordinates to the Montgomery leather, and performing a scalar multiplication according to the Montgomery leather on the quaternary key value.

바람직하게는, 상기 스칼라 곱셈을 수행하는 단계에서, 상기 x좌표만을 이용한 연산식을 위한 유한체 역원연산에 몽고메리 트릭을 적용할 수 있다.Preferably, in the step of performing the scalar multiplication, the Montgomery trick may be applied to the finite body inverse calculation for the equation using only the x coordinate.

바람직하게는, 상기 스칼라 곱셈을 수행하는 단계에서, 상기 x좌표만을 이용한 연산식을 위한 원자블록들 중 적어도 하나에 더미 연산을 추가하여 부채널 원자성을 적용할 수 있다.Preferably, in performing the scalar multiplication, subchannel atomicity may be applied by adding a dummy operation to at least one of the atomic blocks for the equation using only the x-coordinate.

상기의 기술적 과제를 이루기 위하여, 본 발명의 또 다른 실시 예에 따른 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법은 GF(2m) 상의 비 초특이 타원 곡선 (non-supersingular elliptic curve)에서, 타원 곡선 암호 시스템에서 몽고메리 레더의 키 값을 3진수로 표현하는 단계; 및 상기 몽고메리 레더에 복합 연산에 대해 x좌표만을 이용한 연산식을 적용하고, 상기 3진수의 키 값에 대해 상기 몽고메리 레더에 따른 스칼라 곱셈을 두 개의 레지스터를 사용하여 수행하는 단계를 포함한다.In order to achieve the above technical problem, the scalar multiplication method using an extended Montgomery leather according to another embodiment of the present invention, in the non-supersingular elliptic curve on GF (2 m ), the elliptic curve encryption Expressing the key value of the Montgomery leather in a ternary number in the system; And applying an expression using only x-coordinates to a complex operation on the Montgomery leather, and performing scalar multiplication according to the Montgomery leather on the key value of the ternary number by using two registers.

상기의 기술적 과제를 이루기 위하여, 본 발명의 또 다른 실시 예에 따른 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법은 GF(2m) 상의 비 초특이 타원 곡선에서, 타원 곡선 암호 시스템에서 몽고메리 레더의 키 값을 4진수로 표현하는 단계; 및 x좌표만을 이용한 복합 연산에 대한 연산식을 상기 몽고메리 레더에 적용하고, 상기 4진수의 키 값에 대해 상기 몽고메리 레더에 따른 스칼라 곱셈을 두 개의 레지스터를 사용하여 수행하는 단계를 포함한다.In order to achieve the above technical problem, the scalar multiplication method using the extended Montgomery leather according to another embodiment of the present invention in the non-super elliptic curve on GF (2 m ), the key value of the Montgomery leather in the elliptic curve cryptographic system Expressing in quadratic; And applying an expression for a complex operation using only x-coordinates to the Montgomery ladder, and performing scalar multiplication according to the Montgomery ladder using the two registers for the quaternary key value.

본 발명에 의하면, GF(2m)상에서 단순전력분석에 대한 안전성을 유지하면서, 기존의 타원곡선 스칼라 곱셈 알고리즘보다 연산속도를 향상시킬 수 있다.According to the present invention, it is possible to improve the operation speed compared to the existing elliptic curve scalar multiplication algorithm while maintaining safety for simple power analysis on GF (2 m ).

이하에서는 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나, 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다.Hereinafter, with reference to the drawings will be described a preferred embodiment of the present invention. However, embodiments of the present invention illustrated below may be modified in various other forms, and the scope of the present invention is not limited to the embodiments described below.

도 1 및 2는 몽고메리 레더 방법에서의 키 값을 3진수 또는 4진수로 표현했을 때의 새로운 덧셈체인을 나타낸 것이다. 1 and 2 illustrate a new addition chain when a key value is expressed in ternary or hexadecimal in the Montgomery leather method.

비밀키인 양의 정수 d를

Figure 112009012393775-pat00001
와 같이 3진수로 표현하는 경우를 설명한다. 몽고메리 레더의 특성을 유지하도록 i
Figure 112009012393775-pat00002
번째 비트까지의 합을
Figure 112009012393775-pat00003
와 같이 정의하고,
Figure 112009012393775-pat00004
이라고 정의하면,
Figure 112009012393775-pat00005
의 값에 의 존하여
Figure 112009012393775-pat00006
Figure 112009012393775-pat00007
의 관계를 다음과 같이 나타낼 수 있고,
Figure 112009012393775-pat00008
의 관계를 유지함을 알 수 있다.Positive integer d, the secret key
Figure 112009012393775-pat00001
The case of expressing in ternary number as follows will be described. To preserve the characteristics of Montgomery leather
Figure 112009012393775-pat00002
Sum up to the first bit
Figure 112009012393775-pat00003
Define as
Figure 112009012393775-pat00004
If you define,
Figure 112009012393775-pat00005
Depending on the value of
Figure 112009012393775-pat00006
Wow
Figure 112009012393775-pat00007
Can be expressed as
Figure 112009012393775-pat00008
It can be seen that the relationship is maintained.

즉,

Figure 112009012393775-pat00009
이면,
Figure 112009012393775-pat00010
,
Figure 112009012393775-pat00011
이면,
Figure 112009012393775-pat00012
,
Figure 112009012393775-pat00013
이면,
Figure 112009012393775-pat00014
의 관계를 갖는다.In other words,
Figure 112009012393775-pat00009
If so,
Figure 112009012393775-pat00010
,
Figure 112009012393775-pat00011
If so,
Figure 112009012393775-pat00012
,
Figure 112009012393775-pat00013
If so,
Figure 112009012393775-pat00014
Has a relationship.

이와 같이 비밀키 d를 3진수로 표현했을 때,

Figure 112009012393775-pat00015
Figure 112009012393775-pat00016
Figure 112009012393775-pat00017
의 값에 따라서 이전에 계산된
Figure 112009012393775-pat00018
Figure 112009012393775-pat00019
를 이용하여
Figure 112009012393775-pat00020
또는
Figure 112009012393775-pat00021
의 형태로 계산된다.
Figure 112009012393775-pat00022
Figure 112009012393775-pat00023
의 연산은 기존의 복합 연산 (composite operation)이 적용가능하다. 서로 다른 두 점을
Figure 112009012393775-pat00024
하는 연산을 ECDA (Elliptic curve point double-and-add)라 하고, 같은 점을
Figure 112009012393775-pat00025
하는 연산을 ECTPL (Elliptic curve point tripling)이라고 한다. 그러면, d를 3진수로 표현했을 때의 확장된 몽고메리 레더는 도 1로 나타낼 수 있다. 도 1에서의 ECTPL과 ECDA는 각각 타원곡선상의 두 점 P, Q에 대한 3P와 2P+Q 연산을 의미한다.When the secret key d is expressed in ternary like this,
Figure 112009012393775-pat00015
and
Figure 112009012393775-pat00016
silver
Figure 112009012393775-pat00017
Previously calculated based on the value of
Figure 112009012393775-pat00018
Wow
Figure 112009012393775-pat00019
Using
Figure 112009012393775-pat00020
or
Figure 112009012393775-pat00021
Is calculated in the form of.
Figure 112009012393775-pat00022
Wow
Figure 112009012393775-pat00023
The operation of can be applied to the existing composite operation. Two different points
Figure 112009012393775-pat00024
The operation to do is called ECDA (Elliptic curve point double-and-add)
Figure 112009012393775-pat00025
This operation is called ECTPL (Elliptic curve point tripling). Then, the expanded Montgomery leather when d is expressed in ternary numbers can be represented by FIG. 1. ECTPL and ECDA in FIG. 1 mean 3P and 2P + Q operations on two points P and Q on an elliptic curve, respectively.

확장된 3진수 몽고메리 레더는 매 루프마다

Figure 112009012393775-pat00026
Figure 112009012393775-pat00027
의 차이가
Figure 112009012393775-pat00028
를 유지하는 성질을 가지고 있다. 이 특성을 이용하여 x좌표만을 이용하는 몽고메리 레더를 구성할 수 있다. Extended ternary Montgomery leather,
Figure 112009012393775-pat00026
Wow
Figure 112009012393775-pat00027
The difference
Figure 112009012393775-pat00028
It has the property of maintaining. This property can be used to construct Montgomery leather using only x-coordinates.

다음으로, 비밀키인 양의 정수 d값을

Figure 112009012393775-pat00029
와 같이 4진 수로 표현하는 경우를 설명한다. 마찬가지로 i
Figure 112009012393775-pat00030
번째 비트까지의 합을
Figure 112009012393775-pat00031
와 같이 정의하고
Figure 112009012393775-pat00032
이라고 정의하면,
Figure 112009012393775-pat00033
의 값에 의존하여
Figure 112009012393775-pat00034
Figure 112009012393775-pat00035
의 관계를 다음과 같이 나타낼 수 있고,
Figure 112009012393775-pat00036
의 관계를 유지함을 알 수 있다.Next, the positive integer d value
Figure 112009012393775-pat00029
The case of expressing in ternary numbers as follows will be described. Like i
Figure 112009012393775-pat00030
Sum up to the first bit
Figure 112009012393775-pat00031
Define as
Figure 112009012393775-pat00032
If you define,
Figure 112009012393775-pat00033
Depending on the value of
Figure 112009012393775-pat00034
Wow
Figure 112009012393775-pat00035
Can be expressed as
Figure 112009012393775-pat00036
It can be seen that the relationship is maintained.

즉,

Figure 112009012393775-pat00037
이면,
Figure 112009012393775-pat00038
,
Figure 112009012393775-pat00039
이면,
Figure 112009012393775-pat00040
,
Figure 112009012393775-pat00041
이면,
Figure 112009012393775-pat00042
,
Figure 112009012393775-pat00043
이면,
Figure 112009012393775-pat00044
의 관계를 갖는다.In other words,
Figure 112009012393775-pat00037
If so,
Figure 112009012393775-pat00038
,
Figure 112009012393775-pat00039
If so,
Figure 112009012393775-pat00040
,
Figure 112009012393775-pat00041
If so,
Figure 112009012393775-pat00042
,
Figure 112009012393775-pat00043
If so,
Figure 112009012393775-pat00044
Has a relationship.

이와 같이 비밀키 d를 4진수로 표현했을 때,

Figure 112009012393775-pat00045
Figure 112009012393775-pat00046
Figure 112009012393775-pat00047
의 값에 따라서 이전에 계산된
Figure 112009012393775-pat00048
Figure 112009012393775-pat00049
를 이용하여
Figure 112009012393775-pat00050
,
Figure 112009012393775-pat00051
또는
Figure 112009012393775-pat00052
의 복합 연산의 형태로 계산된다. 서로 다른 두 점의
Figure 112009012393775-pat00053
형태의 연산을 ECDAD (Elliptic curve point double-add-double),
Figure 112009012393775-pat00054
형태의 연산을 ECTA (Elliptic curve point triple-and-add)라 하고 같은 점을
Figure 112009012393775-pat00055
하는 연산을 ECQPL (Elliptic curve point quadrupling)이라고 한다. 그러면, d를 4진수로 표현했을 때의 확장된 몽고메리 레더는 도 2와 같이 나타낼 수 있다. 도 2에서의 ECQPL, ECDAD와 ECTA는 각각 4P, 2P+2Q, 3P+Q 연산을 의미한다. When the secret key d is expressed in hexadecimal like this,
Figure 112009012393775-pat00045
and
Figure 112009012393775-pat00046
silver
Figure 112009012393775-pat00047
Previously calculated based on the value of
Figure 112009012393775-pat00048
Wow
Figure 112009012393775-pat00049
Using
Figure 112009012393775-pat00050
,
Figure 112009012393775-pat00051
or
Figure 112009012393775-pat00052
Is calculated in the form of a complex operation. Two different points
Figure 112009012393775-pat00053
Elliptic curve point double-add-double (ECDAD),
Figure 112009012393775-pat00054
The operation of the shape is called ECTA (Elliptic curve point triple-and-add)
Figure 112009012393775-pat00055
This operation is called ECQPL (Elliptic curve point quadrupling). Then, the expanded Montgomery leather when d is expressed in hexadecimal can be represented as shown in FIG. In FIG. 2, ECQPL, ECDAD, and ECTA mean 4P, 2P + 2Q, and 3P + Q operations, respectively.

확장된 4진수 몽고메리 레더 또한 매 루프마다

Figure 112009012393775-pat00056
Figure 112009012393775-pat00057
의 차이가
Figure 112009012393775-pat00058
를 유지하는 성질을 가지고 있다. 이 특성을 이용하여 x좌표만을 이용하는 확장된 4진수 몽고메리 레더를 구성할 수 있다.Expanded hexadecimal Montgomery leather also loops
Figure 112009012393775-pat00056
Wow
Figure 112009012393775-pat00057
The difference
Figure 112009012393775-pat00058
It has the property of maintaining. This property can be used to construct extended quadratic Montgomery leather using only x-coordinates.

이하에서는 알고리즘의 효율적인 연산을 위해, 복합 연산에 대해서 x좌표만을 이용하는 새로운 연산식들을 설명한다.Hereinafter, new expressions using only x-coordinates for complex operations will be described for efficient operation of the algorithm.

본 발명의 일 실시 예에 따른 덧셈체인에서는 연산을 효율적으로 하기 위해서

Figure 112009012393775-pat00059
상에서 x좌표만을 이용하는 새로운 연산식들을 사용한다. In the addition chain according to an embodiment of the present invention, in order to efficiently perform calculations,
Figure 112009012393775-pat00059
New expressions using only x-coordinates

서로 다른 두 점을 더하는 연산을 ECADD (Elliptic curve point addition)라 하고 같은 점을 더하는 연산을 ECDBL (Elliptic curve point doubling)이라고 한다. ECADD와 ECDBL은 모두 두 번의 유한체 곱셈, 한 번의 유한체 제곱과 한 번의 유한체 역원연산이 필요하다. The operation of adding two different points is called ECADD (Elliptic curve point addition), and the operation of adding the same point is called ECDBL (Elliptic curve point doubling). ECADD and ECDBL both require two finite field multiplications, one finite field square, and one finite body inverse operation.

이하에서 설명하는, x좌표만을 이용하는 새로운 연산식은 x좌표만을 사용하는

Figure 112009012393775-pat00060
Figure 112009012393775-pat00061
에 기반을 두고 식을 변형한 형태이다. 타원곡선상의 임의의 두 점을 각각
Figure 112009012393775-pat00062
,
Figure 112009012393775-pat00063
라 하고, 두 점의 차를
Figure 112009012393775-pat00064
(
Figure 112009012393775-pat00065
)라 가정한다. 그리고 2P를
Figure 112009012393775-pat00066
라 가정한다. The new expression using only x-coordinates described below uses only x-coordinates.
Figure 112009012393775-pat00060
Wow
Figure 112009012393775-pat00061
This is a variation of the equation based on. Each of the two arbitrary points on the elliptic curve
Figure 112009012393775-pat00062
,
Figure 112009012393775-pat00063
The difference between two points
Figure 112009012393775-pat00064
(
Figure 112009012393775-pat00065
Assume that And 2P
Figure 112009012393775-pat00066
Assume

먼저 확장된 3진수 몽고메리 레더 방법에서의 ECTPL과 ECDA연산에 대한 x좌표만을 이용하는 방법은 각각 다음의 수학식 1 및 2와 같다. 이하에서, 상수 b는 타원 곡선 방정식의 계수를 나타낸다.First, the method of using only the x-coordinates for the ECTPL and ECDA operations in the extended ternary Montgomery leather method is shown in Equations 1 and 2, respectively. In the following, the constant b represents the coefficient of the elliptic curve equation.

Figure 112009012393775-pat00067
Figure 112009012393775-pat00068
(),
Figure 112009012393775-pat00067
Figure 112009012393775-pat00068
(),

Figure 112009012393775-pat00069
Figure 112009012393775-pat00069

Figure 112009012393775-pat00070
Figure 112009012393775-pat00071
(),
Figure 112009012393775-pat00070
Figure 112009012393775-pat00071
(),

Figure 112009012393775-pat00072
Figure 112009012393775-pat00072

마찬가지로 확장된 4진수 몽고메리 레더 방법에서의 ECQPL, ECDAD와 ECTA연산에 대한 x좌표만을 이용하는 방법은 각각 다음의 수학식 3, 4, 5와 같다.Likewise, the method of using only the x-coordinates for the ECQPL, ECDAD, and ECTA operations in the extended 4-number Montgomery leather method is shown in Equations 3, 4, and 5, respectively.

Figure 112009012393775-pat00073
Figure 112009012393775-pat00074
(),
Figure 112009012393775-pat00073
Figure 112009012393775-pat00074
(),

Figure 112009012393775-pat00075
Figure 112009012393775-pat00075

Figure 112009012393775-pat00076
Figure 112009012393775-pat00077
(),
Figure 112009012393775-pat00076
Figure 112009012393775-pat00077
(),

Figure 112009012393775-pat00078
Figure 112009012393775-pat00078

Figure 112009012393775-pat00079
Figure 112009012393775-pat00080
(),
Figure 112009012393775-pat00079
Figure 112009012393775-pat00080
(),

Figure 112009012393775-pat00081
Figure 112009012393775-pat00081

본 발명의 일 실시 예에 따른 확장된 몽고메리 레더 방법은 단순전력분석에 취약함을 보완하기 위하여 부채널 원자성을 적용할 수 있다. The extended Montgomery leather method according to an embodiment of the present invention may apply subchannel atomicity to compensate for weakness in simple power analysis.

도 3a, 3b, 4a 및 4c는 부채널 원자성을 적용한 원자블록 (atomic block)을 도시한 것이다. 3A, 3B, 4A and 4C show atomic blocks to which subchannel atomicity is applied.

도 3a는

Figure 112009012393775-pat00082
상에서 ECDAx 와 ECTPLx 알고리즘의 연산순서와 연산량을 같게하는 것을 나타내고, 도 3b는 부채널 원자성이 적용된 ECDAx 또는 ECTPLx을 출력하는 블록을 나타낸다.3a
Figure 112009012393775-pat00082
It is shown that the computation order and the amount of computation of the ECDA x and ECTPL x algorithms are the same, and FIG. 3B illustrates a block for outputting ECDA x or ECTPL x to which subchannel atomicity is applied.

도 3a 및 3b를 참고로, 확장된 3진수 몽고메리 레더 알고리즘의 경우에 대한 부채널 원자성을 적용하는 방법에 대하여 설명한다. 이 알고리즘은 키의 값에 의존해서

Figure 112009012393775-pat00083
,
Figure 112009012393775-pat00084
또는
Figure 112009012393775-pat00085
,
Figure 112009012393775-pat00086
가 연산되는 문제점이 있다. 한 번의 루프에서 연되는
Figure 112009012393775-pat00087
,
Figure 112009012393775-pat00088
또는
Figure 112009012393775-pat00089
,
Figure 112009012393775-pat00090
를 두 개의 원자블록인
Figure 112009012393775-pat00091
Figure 112009012393775-pat00092
로 나눈다. 여기서
Figure 112009012393775-pat00093
을 공통으로 연산되는
Figure 112009012393775-pat00094
,
Figure 112009012393775-pat00095
를 서로 다른 연산인
Figure 112009012393775-pat00096
Figure 112009012393775-pat00097
로 한다.
Figure 112009012393775-pat00098
은 같은
Figure 112009012393775-pat00099
연산이므로 연산순서나 더미 연산이 불필요하다. 반면에
Figure 112009012393775-pat00100
Figure 112009012393775-pat00101
또는
Figure 112009012393775-pat00102
를 연산해 주어야 하므로 원자블록을 만들어 줄 필요가 있다. 본 발명의 일 실시 예에서는 원자블록들 중 적어도 하나에 더미 연산을 추가하여 부채널 원자성을 적용할 수 있다.3A and 3B, a method of applying subchannel atomicity for the case of the extended ternary Montgomery leather algorithm will be described. This algorithm depends on the value of the key
Figure 112009012393775-pat00083
,
Figure 112009012393775-pat00084
or
Figure 112009012393775-pat00085
,
Figure 112009012393775-pat00086
There is a problem that is calculated. Opened in one loop
Figure 112009012393775-pat00087
,
Figure 112009012393775-pat00088
or
Figure 112009012393775-pat00089
,
Figure 112009012393775-pat00090
Is the two atomic blocks
Figure 112009012393775-pat00091
and
Figure 112009012393775-pat00092
Divide by. here
Figure 112009012393775-pat00093
That is computed in common
Figure 112009012393775-pat00094
,
Figure 112009012393775-pat00095
Is a different operation
Figure 112009012393775-pat00096
Wow
Figure 112009012393775-pat00097
Shall be.
Figure 112009012393775-pat00098
silver
Figure 112009012393775-pat00099
Because it is an operation, no operation order or dummy operation is necessary. On the other hand
Figure 112009012393775-pat00100
Is
Figure 112009012393775-pat00101
or
Figure 112009012393775-pat00102
Since we need to compute, we need to create an atomic block. According to an embodiment of the present invention, subchannel atomicity may be applied by adding a dummy operation to at least one of the atomic blocks.

도 4a는

Figure 112009012393775-pat00103
상에서 ECDADx 와 ECQPLx 알고리즘의 연산순서와 연산량을 같게하는 것을 나타내고, 도 4b는 부채널 원자성이 적용된 ECDADx 또는 ECQPLx을 출력하는 블록을 나타낸다.4A
Figure 112009012393775-pat00103
The operation order and the amount of computation of the ECDAD x and ECQPL x algorithms are shown to be the same, and FIG. 4B illustrates a block for outputting ECDAD x or ECQPL x to which subchannel atomicity is applied.

도 4a 및 4b는 타원곡선상의 임의의 두 점을 각각

Figure 112009012393775-pat00104
라 하고,
Figure 112009012393775-pat00105
(
Figure 112009012393775-pat00106
)라 가정하여 도출된 결과이다.4A and 4B show two arbitrary points on the elliptic curve, respectively.
Figure 112009012393775-pat00104
,
Figure 112009012393775-pat00105
(
Figure 112009012393775-pat00106
Is the result of assuming

도 4a 및 도 4b를 참고로, 확장된 4진수 몽고메리 레더 알고리즘의 경우에 대한 부채널 원자성을 적용하는 방법에 대하여 설명한다. 확장된 4진수 몽고메리 레더 알고리즘의 경우에도 키의 값에 의존해서

Figure 112009012393775-pat00107
,
Figure 112009012393775-pat00108
또는
Figure 112009012393775-pat00109
,
Figure 112009012393775-pat00110
가 연산되므로 연산의 차이에 의한 단순전력분석에 의한 공격이 가능하다. 한 번의 루프에서 연산되는
Figure 112009012393775-pat00111
,
Figure 112009012393775-pat00112
또는
Figure 112009012393775-pat00113
,
Figure 112009012393775-pat00114
를 두 개의 원자블록인
Figure 112009012393775-pat00115
Figure 112009012393775-pat00116
로 나눈다. 여기서
Figure 112009012393775-pat00117
을 공통으로 연산되는
Figure 112009012393775-pat00118
,
Figure 112009012393775-pat00119
를 서로 다른 연산인
Figure 112009012393775-pat00120
Figure 112009012393775-pat00121
로 한다.
Figure 112009012393775-pat00122
은 연산이 같으므로 추가 연산이 필요하지 않다. 반면에
Figure 112009012393775-pat00123
는 서로 다른 연산을 출력하기 위한 원자블록의 구성이 필요하다. 본 발명의 일 실시 예에서는 원자블록들 중 적어도 하나에 더미 연산을 추가하여 부채널 원자성을 적용할 수 있다.4A and 4B, a method of applying subchannel atomicity for the case of the extended ternary Montgomery leather algorithm will be described. In the case of the extended hexadecimal Montgomery leather algorithm,
Figure 112009012393775-pat00107
,
Figure 112009012393775-pat00108
or
Figure 112009012393775-pat00109
,
Figure 112009012393775-pat00110
Since is computed, it is possible to attack by simple power analysis by difference of operation. Computed in one loop
Figure 112009012393775-pat00111
,
Figure 112009012393775-pat00112
or
Figure 112009012393775-pat00113
,
Figure 112009012393775-pat00114
Is the two atomic blocks
Figure 112009012393775-pat00115
and
Figure 112009012393775-pat00116
Divide by. here
Figure 112009012393775-pat00117
That is computed in common
Figure 112009012393775-pat00118
,
Figure 112009012393775-pat00119
Is a different operation
Figure 112009012393775-pat00120
Wow
Figure 112009012393775-pat00121
Shall be.
Figure 112009012393775-pat00122
Since the operations are the same, no additional operations are needed. On the other hand
Figure 112009012393775-pat00123
Requires the construction of atomic blocks to output different operations. According to an embodiment of the present invention, subchannel atomicity may be applied by adding a dummy operation to at least one of the atomic blocks.

도 5 및 도 6은 상술한 원자블록을 적용한 단순전력분석에 안전한 확장된 몽고메리 레더 방법의 알고리즘을 도시한 것이다. 5 and 6 show the algorithm of the extended Montgomery leather method safe for simple power analysis applying the above-described atomic block.

도 5에서,

Figure 112009012393775-pat00124
값인 0,1,2를 비트정보로 각각 00, 01, 10으로 나타내고, 상위 비트를
Figure 112009012393775-pat00125
, 하위 비트를
Figure 112009012393775-pat00126
으로 나타낸다. 도 6에서,
Figure 112009012393775-pat00127
값인 0,1,2,3을 비트정보로 각각 00, 01, 10, 11으로 나타내고, 상위 비트를
Figure 112009012393775-pat00128
, 하위 비트를
Figure 112009012393775-pat00129
으로 나타낸다.In Figure 5,
Figure 112009012393775-pat00124
The values 0, 1, and 2 are represented by bit information as 00, 01, and 10, respectively.
Figure 112009012393775-pat00125
, The lower bits
Figure 112009012393775-pat00126
Represented by In Figure 6,
Figure 112009012393775-pat00127
The values 0, 1, 2, and 3 are represented by bit information as 00, 01, 10, and 11, respectively.
Figure 112009012393775-pat00128
, The lower bits
Figure 112009012393775-pat00129
Represented by

본 발명의 다른 실시 예에 따른 확장된 몽고메리 레더 방법은 연산속도를 높이기 위해서 유한체 역원연산에 몽고메리 트릭 (Montgomery trick)을 적용할 수 있다. 도 5 및 도 6은 병렬로 동작 가능하다. 즉, 병렬 동작 가능한 환경에서는 두 개의 저장공간을 이용해서 연산 속도를 높일 수 있다. 그러나 병렬동작이 불가능한 환경에서는 매 루프마다 유한체 역원이 두 번 연산되어야 한다. 따라서, 두 번의 유한체 역원연산의 효율성을 높이기 위해 몽고메리 트릭을 이용할 수 있다.In the extended Montgomery leather method according to another embodiment of the present invention, Montgomery tricks may be applied to the finite body inverse calculation to increase the computation speed. 5 and 6 can be operated in parallel. That is, in a parallel operation environment, two storage spaces can be used to speed up computation. However, in an environment where parallel operation is not possible, the finite inverse must be calculated twice for each loop. Thus, the Montgomery trick can be used to increase the efficiency of two finite body inverse operations.

몽고메리 트릭은 n개의 원소에 대한 유한체 역원을 한 번의 유한체 역원 연산과

Figure 112009012393775-pat00130
번의 유한체 곱셈연산으로 구하는 방법이다. 예를 들어 a와 b를
Figure 112009012393775-pat00131
의 두 원소라 하면, 두 원소의 유한체 역원인
Figure 112009012393775-pat00132
Figure 112009012393775-pat00133
Figure 112009012393775-pat00134
Figure 112009012393775-pat00135
와 같이 계산할 수 있다. 이 때 연산량은 한 번의 유한체 역원과 세 번의 유한체 곱셈이 필요하다. 즉, 한 번의 유한체 역원을 세 번의 유한체 곱셈으로 나타낸다. 그러나, 도 1 및 도 2에 몽고메리 트릭을 사용할 경우에도 단순전력 분석에 의한 키 정보 노출이 생길 수 있다. Montgomery trick is to compare the finite field inverse for n elements with one finite field inverse
Figure 112009012393775-pat00130
Obtained by the finite field multiplication operation. For example, a and b
Figure 112009012393775-pat00131
The two elements of are the finite body inverses of the two elements.
Figure 112009012393775-pat00132
Wow
Figure 112009012393775-pat00133
Is
Figure 112009012393775-pat00134
Wow
Figure 112009012393775-pat00135
It can be calculated as In this case, the amount of computation requires one finite body inverse and three finite field multiplications. That is, one finite inverse is represented by three finite field multiplications. However, even when Montgomery tricks are used in FIGS. 1 and 2, key information may be exposed by simple power analysis.

본 발명의 또 다른 실시예에서는 몽고메리 트릭을 적용했을 경우에도 단순전력분석에 안전하도록 부채널 원자성을 적용할 수 있다. In another embodiment of the present invention, even when Montgomery trick is applied, subchannel atomicity can be applied to be safe for simple power analysis.

도 7a 내지 8b는 타원곡선상의 임의의 두 점을 각각

Figure 112009012393775-pat00136
라 하고, 두 점의 차를
Figure 112009012393775-pat00137
(
Figure 112009012393775-pat00138
)라고 가정하여 도출된 결과이다.7A-8B show two arbitrary points on the elliptic curve, respectively.
Figure 112009012393775-pat00136
The difference between two points
Figure 112009012393775-pat00137
(
Figure 112009012393775-pat00138
Is the result of assuming

도 7a는

Figure 112009012393775-pat00139
상에서 몽고메리 트릭을 적용한 ECDAx 와 ECTPLx 또는 ECDAx 와 ECDAx 알고리즘의 연산순서와 연산량을 같게하는 것을 나타내고, 도 7b는 부채널 원자성이 적용된 몽고메리 트릭을 적용한 ECDAx 와 ECTPLx 또는 ECDAx 와 ECDAx을 출력하는 ECDDAx블록을 나타낸다. 여기서, ECDDA는 "Elliptic curve point double double-and-add"를 나타낸다. 7A
Figure 112009012393775-pat00139
ECDA x and ECTPL x or ECDA x and ECDA x algorithms with the Montgomery trick applied on the same order, and FIG. 7b shows ECDA x and ECTPL x or ECDA x with Montgomery trick with subchannel atomic Represents an ECDDA x block that outputs ECDA x . Here, ECDDA stands for "Elliptic curve point double double-and-add".

도 8a는

Figure 112009012393775-pat00140
상에서 몽고메리 트릭을 적용한 ECTAx 와 ECQPLx 또는 ECTAx 와 ECDADx 알고리즘의 연산순서와 연산량을 같게하는 것을 나타내고, 도 8b는 부채널 원자성이 적용된 몽고메리 트릭을 적용한 ECTAx 와 ECQPLx 또는 ECTAx 와 ECDADx을 출력하는 ECTADADx블록을 나타낸다. 여기서, ECTADAD는 "Elliptic curve point triple-and-add and double-add-double"을 나타낸다.8A
Figure 112009012393775-pat00140
ECTA x and ECQPL x or ECTA x and ECDAD x algorithms with the Montgomery trick applied on the same order, and FIG. 8B shows ECTA x and ECQPL x or ECTA x with Montgomery trick with subchannel atomicity. It denotes a block for outputting the ECDAD ECTADAD x x. Here, ECTADAD stands for "Elliptic curve point triple-and-add and double-add-double".

도 9 및 도 10은 몽고메리 트릭을 적용한 단순전력분석에 안전한 확장된 몽 고메리 레더 알고리즘을 도시한 것이다. 도 9에는 ECDDAx에 대한 원자블록이 사용되고, 도 10에는 ECTADADx에 대한 원자블록이 사용된다.9 and 10 illustrate an extended Montgomery leather algorithm that is safe for simple power analysis using Montgomery tricks. In FIG. 9, an atomic block for ECDDA x is used, and in FIG. 10, an atomic block for ECTADAD x is used.

도 11과 도 12는 일반적으로 비밀키가 160 비트 정수라 할 때, 기존의 단순전력분석에 안전한 알고리즘들과 손익 분기점 (break even point)을 구한 것이다. 11 and 12 show algorithms and break even points that are safe for conventional simple power analysis when a secret key is a 160-bit integer.

도 11의 결과처럼 몽고메리 트릭을 적용한 단순전력분석에 안전한 확장된 3진수 몽고메리 레더 알고리즘은 I>6M일 경우에는 기존에 제안된 방법들보다 빠른 연산속도를 가지는 것을 알 수 있다. 마찬가지로 도 12의 결과처럼 몽고메리 트릭을 적용한 단순전력분석에 안전한 확장된 4진수 몽고메리 레더 알고리즘은 I>4M일 경우에 기존의 방법들보다 연산속도가 빨라지는 것을 알 수 있다.As shown in FIG. 11, the extended ternary Montgomery leather algorithm, which is safe for simple power analysis using the Montgomery trick, has a faster computation speed than the conventional methods when I> 6M. Likewise, as shown in FIG. 12, the extended-quadrant Montgomery leather algorithm, which is safe for simple power analysis using the Montgomery trick, is faster than conventional methods when I> 4M.

도 13은 일반적으로 비밀키가 160 비트 정수라 하고, I/M=8이라고 가정했을 때의 정확한 연산량을 비교한 것이다. 도 9의 알고리즘은 윈도우 방법과 콤 방법에 비해서는 약 9%정도 연산속도가 빨라지고, 코론 방법 (Coron`s method), 이즈-타카기 방법 (Izu-Takagi method)과 부채널 원자 배증 및 덧셈 (Side-channel atomic double and add)에 비해서 각각 41%, 35%, 23%의 연산속도 향상을 보였다. 도 10의 알고리즘은 윈도우 방법과 콤 방법에 비해서는 약 26%의 연산속도 향상을 보였고, 코론 방법 (Coron`s method), 이즈-타카기 방법 (Izu-Takagi method)과 부채널 원자 배증 및 덧셈 (Side-channel atomic double and add)에 비해서 각각 52%, 46%, 36%의 연산속도 향상을 보였다. 게다가 콤 방법, 윈도우 방법의 경우는 사전테이블을 저장해야하는 단점이 있다. 비교되는 방법의 윈도우 크기는 가장 효율적이라고 할 수 있는 4로 했을 때의 연산량이다. 즉 사전데이블에 사용되는 저장공간이 8개 이상이 된다는 것을 알 수 있다. 반면에 본 발명에 따른 방법의 경우는 입력

Figure 112009012393775-pat00141
Figure 112009012393775-pat00142
의 값만을 사전저장해서 사용하므로 콤 방법, 윈도우 방법에 비해서 저장공간을 적게 사용한다. 즉, 저장공간을 적게 사용하면서 기존의 방법보다 빠른 연산속도를 가진다.FIG. 13 is a comparison of the exact amount of computation when assuming that a secret key is a 160-bit integer, and I / M = 8. The algorithm of FIG. 9 is about 9% faster than the window method and the comb method, and the Coron`s method, the Izu-Takagi method, and the subchannel atomic multiplication and addition ( Compared with the side-channel atomic double and add, the computational speed is improved by 41%, 35%, and 23%, respectively. The algorithm of FIG. 10 shows an improvement of about 26% compared to the window method and the comb method, and the Coron`s method, the Izu-Takagi method, and the subchannel atomic multiplication and addition. Compared to (Side-channel atomic double and add), the computation speed is improved by 52%, 46%, and 36%, respectively. In addition, the comb method and the window method have a disadvantage of storing a dictionary table. The window size of the compared method is the amount of computation when the most efficient is 4. In other words, it can be seen that there are more than eight storage spaces used for the dictionary table. On the other hand, in the case of the method according to the invention,
Figure 112009012393775-pat00141
Wow
Figure 112009012393775-pat00142
Since only the value of is stored in advance, it uses less storage space than the comb method or the window method. In other words, it uses less storage space and has faster computation speed than the conventional method.

본 발명에 따른 몽고메리 레더 방법에서 비밀키 값을 3진수 또는 4진수로 표현했을 때, 두 개의 레지스터만을 사용할 수 있고, 이 경우 빠른 연산이 가능하다. In the Montgomery leather method according to the present invention, when a secret key value is expressed in ternary or hexadecimal, only two registers can be used, and in this case, fast operation is possible.

본 발명은 소프트웨어를 통해 실행될 수 있다. 바람직하게는, 본 발명의 일 실시 예에 따른 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공할 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.The invention can be implemented via software. Preferably, the scalar multiplication method using the extended Montgomery leather according to an embodiment of the present invention can be provided by recording a program for executing in a computer on a computer-readable recording medium. When implemented in software, the constituent means of the present invention are code segments that perform the necessary work. The program or code segments may be stored on a processor readable medium or transmitted by a computer data signal coupled with a carrier on a transmission medium or network.

컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system. Examples of the computer readable recording medium include ROM, RAM, CD-ROM, DVD 占 ROM, DVD-RAM, magnetic tape, floppy disk, hard disk, optical data storage, and the like. The computer readable recording medium can also be distributed over network coupled computer devices so that the computer readable code is stored and executed in a distributed fashion.

본 발명은 도면에 도시된 일 실시 예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시 예의 변형이 가능하다는 점을 이해할 것이다. 그리고, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and it will be understood by those skilled in the art that various modifications and variations may be made therefrom. And, such modifications should be considered to be within the technical protection scope of the present invention. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.

본 발명은 타원 곡선 암호 시스템에서 스칼라 곱셈 연산을 단순전력분석에 안전하게 하면서 연산속도를 향상시킬 수 있는 방법에 관한 것으로, 저전력을 사용하는 스마트카드나 PDA 등에 적용될 수 있다.The present invention relates to a method for improving the operation speed while safely performing a scalar multiplication operation in an elliptic curve cryptographic system for simple power analysis, and can be applied to a smart card or PDA using low power.

도 1 및 2는 몽고메리 레더 방법에서의 키 값을 3진수 또는 4진수로 표현했을 때의 새로운 덧셈체인을 나타낸 것이다.1 and 2 illustrate a new addition chain when a key value is expressed in ternary or hexadecimal in the Montgomery leather method.

도 3a, 3b, 4a 및 4c는 부채널 원자성을 적용한 원자블록을 도시한 것이다. 3A, 3B, 4A, and 4C show atomic blocks to which subchannel atomicity is applied.

도 5 및 도 6은 부채널 원자성을 적용한 단순전력분석에 안전한 확장된 몽고메리 레더 방법의 알고리즘을 도시한 것이다. 5 and 6 illustrate an algorithm of the extended Montgomery leather method, which is safe for simple power analysis using subchannel atomicity.

도 7a 및 7b는 부채널 원자성과 몽고메리 트릭을 적용한 ECDDAx에 대한 원자블록을 나타낸다.7A and 7B show atomic blocks for ECDDA x with subchannel atomicity and Montgomery tricks.

도 8a 및 8b는 부채널 원자성과 몽고메리 트릭을 적용한 ECTADADx에 대한 원자블록을 도시한 것이다. 8A and 8B show atomic blocks for ECTADAD x with subchannel atomicity and Montgomery tricks.

도 9 및 도 10은 몽고메리 트릭을 적용한 단순전력분석에 안전한 확장된 몽고메리 레더 알고리즘을 도시한 것이다.9 and 10 illustrate an extended Montgomery leather algorithm that is safe for simple power analysis using Montgomery tricks.

도 11과 도 12는 비밀키를 160 비트 정수라 할 때, 기존의 단순전력분석에 안전한 알고리즘들과 손익 분기점 (break even point)을 나타낸 것이다. 11 and 12 show algorithms and break even points that are safe for conventional simple power analysis when a secret key is a 160-bit integer.

도 13은 일반적으로 비밀키가 160 비트 정수라 하고, I/M=8이라고 가정했을 때의 정확한 연산량을 비교한 것이다.FIG. 13 is a comparison of the exact amount of computation when assuming that a secret key is a 160-bit integer, and I / M = 8.

Claims (15)

GF(2m) 상의 비 초특이 타원 곡선(non-supersingular elliptic curve)에서 스칼라 곱셈을 수행하는 방법에 있어서,In a method for performing scalar multiplication on a non-supersingular elliptic curve on GF (2 m ), 타원 곡선 암호 시스템에서 몽고메리 레더의 키 값을 3진수 (ternary)로 표현하는 단계; 및Expressing a key value of Montgomery leather in ternary in an elliptic curve cryptographic system; And 상기 몽고메리 레더에 복합 연산에 대해 x좌표만을 이용한 연산식을 적용하고, 상기 3진수의 키 값에 대해 상기 몽고메리 레더에 따른 스칼라 곱셈을 수행하는 단계Applying an expression using only x-coordinates to a complex operation on the Montgomery leather and performing a scalar multiplication according to the Montgomery leather on the ternary key value 를 포함하는, 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법.Scalar multiplication method using an extended Montgomery leather, including. 제1항에 있어서,The method of claim 1, 상기 스칼라 곱셈을 수행하는 단계는,Performing the scalar multiplication, 상기 x좌표만을 이용한 연산식을 위한 유한체 역원연산에 몽고메리 트릭 (Montgomery trick)을 적용하는 단계를 포함하는 것을 특징으로 하는, 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법.And applying a Montgomery trick to the finite body inverse calculation for the equation using only the x-coordinate, the extended Montgomery ladder. 제1항에 있어서,The method of claim 1, 상기 스칼라 곱셈을 수행하는 단계는,Performing the scalar multiplication, 상기 x좌표만을 이용한 연산식을 위한 원자블록들 중 적어도 하나에 부채널 원자성 (Side-channel atomicity)을 적용하는 단계를 포함하는 것을 특징으로 하는, 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법.And applying side-channel atomicity to at least one of the atomic blocks for the equation using only the x-coordinate, extended Montgomery leather. 제1항에 있어서,The method of claim 1, 상기 x좌표만을 이용한 연산식은,The expression using only the x coordinate is, 상기 타원 곡선 상의 서로 다른 두 점을 더하는 ECADD (Elliptic curve point addition) 및 상기 타원 곡선 상의 같은 점을 더하는 ECDBL (Elliptic curve point doubling)을 기반으로 변형된 연산식인 것을 특징으로 하는, 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법.Extended Montgomery leather, characterized in that it is a modified equation based on ECADD (Elliptic curve point addition) to add two different points on the elliptic curve and ECDBL (Elliptic curve point doubling) to add the same point on the elliptic curve. Scalar multiplication method. 삭제delete 삭제delete GF(2m) 상의 비 초특이 타원 곡선(non-supersingular elliptic curve)에서 스칼라 곱셈을 수행하는 방법에 있어서,In a method for performing scalar multiplication on a non-supersingular elliptic curve on GF (2 m ), 타원 곡선 암호 시스템에서 몽고메리 레더의 키 값을 4진수 (quaternary)로 표현하는 단계; 및Expressing the key value of the Montgomery leather as a quaternary in an elliptic curve cryptographic system; And 상기 몽고메리 레더에 x좌표만을 이용한 복합 연산에 대한 연산식을 적용하고, 상기 4진수의 키 값에 대해 상기 몽고메리 레더에 따른 스칼라 곱셈을 수행하는 단계Applying an expression for a complex operation using only x-coordinates to the Montgomery leather, and performing a scalar multiplication according to the Montgomery leather on the quaternary key value 를 포함하는, 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법.Scalar multiplication method using an extended Montgomery leather, including. 제7항에 있어서,The method of claim 7, wherein 상기 스칼라 곱셈을 수행하는 단계는,Performing the scalar multiplication, 상기 x좌표만을 이용한 연산식을 위한 유한체 역원연산에 몽고메리 트릭 (Montgomery trick)을 적용하는 단계를 포함하는 것을 특징으로 하는, 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법.And applying a Montgomery trick to the finite body inverse calculation for the equation using only the x-coordinate, the extended Montgomery ladder. 제7항에 있어서,The method of claim 7, wherein 상기 스칼라 곱셈을 수행하는 단계는,Performing the scalar multiplication, 상기 x좌표만을 이용한 연산식을 위한 원자블록들 중 적어도 하나에 부채널 원자성 (Side-channel atomicity)을 적용하는 단계를 포함하는 것을 특징으로 하는, 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법.And applying side-channel atomicity to at least one of the atomic blocks for the equation using only the x-coordinate, extended Montgomery leather. 삭제delete 삭제delete 삭제delete GF(2m) 상의 비 초특이 타원 곡선(non-supersingular elliptic curve)에서 스칼라 곱셈을 수행하는 방법에 있어서,In a method for performing scalar multiplication on a non-supersingular elliptic curve on GF (2 m ), 타원 곡선 암호 시스템에서 몽고메리 레더의 키 값을 3진수 (ternary)로 표현하는 단계; 및Expressing a key value of Montgomery leather in ternary in an elliptic curve cryptographic system; And 상기 몽고메리 레더에 복합 연산에 대해 x좌표만을 이용한 연산식을 적용하고, 상기 3진수의 키 값에 대해 상기 몽고메리 레더에 따른 스칼라 곱셈을 두 개의 레지스터를 사용하여 수행하는 단계Applying an expression using only x-coordinates to a complex operation on the Montgomery leather, and performing scalar multiplication according to the Montgomery leather on the key value of the ternary number by using two registers 를 포함하는, 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법.Scalar multiplication method using an extended Montgomery leather, including. GF(2m) 상의 비 초특이 타원 곡선(non-supersingular elliptic curve)에서 스칼라 곱셈을 수행하는 방법에 있어서,In a method for performing scalar multiplication on a non-supersingular elliptic curve on GF (2 m ), 타원 곡선 암호 시스템에서 몽고메리 레더의 키 값을 4진수 (quaternary)로 표현하는 단계; 및Expressing the key value of the Montgomery leather as a quaternary in an elliptic curve cryptographic system; And x좌표만을 이용한 복합 연산에 대한 연산식을 상기 몽고메리 레더에 적용하고, 상기 4진수의 키 값에 대해 상기 몽고메리 레더에 따른 스칼라 곱셈을 두 개의 레지스터를 사용하여 수행하는 단계applying an expression for a complex operation using only x-coordinates to the Montgomery ladder, and performing scalar multiplication according to the Montgomery ladder for the key value of the hexadecimal number using two registers 를 포함하는, 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법.Scalar multiplication method using an extended Montgomery leather, including. 제 1 항 내지 제4항, 제7항 내지 제9항, 제13항 또는 제 14 항 중 어느 한 항에 따른 확장된 몽고메리 레더를 이용한 스칼라 곱셈 방법을 컴퓨터 시스템에서 실행하기 위한 프로그램이 기록된 컴퓨터 시스템이 판독할 수 있는 기록매체.A computer on which a program for executing a scalar multiplication method using an extended Montgomery leather according to any one of claims 1 to 4, 7 to 9, 13, or 14 on a computer system is recorded. System-readable recording medium.
KR1020090016972A 2009-02-27 2009-02-27 Method for scalar multiplication using extended montgomery ladder KR101019242B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090016972A KR101019242B1 (en) 2009-02-27 2009-02-27 Method for scalar multiplication using extended montgomery ladder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090016972A KR101019242B1 (en) 2009-02-27 2009-02-27 Method for scalar multiplication using extended montgomery ladder

Publications (2)

Publication Number Publication Date
KR20100098017A KR20100098017A (en) 2010-09-06
KR101019242B1 true KR101019242B1 (en) 2011-03-04

Family

ID=43005045

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090016972A KR101019242B1 (en) 2009-02-27 2009-02-27 Method for scalar multiplication using extended montgomery ladder

Country Status (1)

Country Link
KR (1) KR101019242B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101524661B1 (en) * 2014-04-03 2015-06-03 고려대학교 산학협력단 Calculating apparatus and method for Triple-Base Chain elliptic curve scalar multiplication by reordering
KR101609952B1 (en) 2014-10-29 2016-04-07 목포대학교산학협력단 Method and apparatus for multiplying scalar

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101626743B1 (en) * 2014-03-26 2016-06-07 금오공과대학교 산학협력단 Multiplier and multiplication method using Montgomery algorithm over finite fields
KR102132261B1 (en) 2014-03-31 2020-08-06 삼성전자주식회사 Method and apparatus for computing montgomery multiplication performing final reduction wihhout comparator
KR101967872B1 (en) * 2018-02-28 2019-08-13 울산과학기술원 Ternary multiplier
KR102187267B1 (en) * 2020-07-08 2020-12-04 국방과학연구소 Method and apparatus for Supersingular Diffie-Hellman key exchange based on elliptic curve
KR102457163B1 (en) 2020-11-23 2022-10-20 부산대학교 산학협력단 System and Method for Calculating Faster ECC scalar multiplication on FPGA
KR102536397B1 (en) * 2022-10-26 2023-05-26 주식회사 시옷 Signature verification method performed in a computing device and a computing device performing the same method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060068177A (en) * 2004-12-16 2006-06-21 고려대학교 산학협력단 Method for elliptic curve cryptography for preventing side channel attack and system thereof
KR20070091062A (en) * 2006-03-04 2007-09-07 삼성전자주식회사 Cryptographic method for countering dfa using ecc fast montgomery power ladder algorithm
KR20080051773A (en) * 2006-12-06 2008-06-11 한국전자통신연구원 Spa-resistant left-to-right recoding and unified scalar multiplication methods
KR20080055378A (en) * 2006-12-15 2008-06-19 삼성전자주식회사 Method for generating public key in elliptic curve cryptography and system for executing the method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060068177A (en) * 2004-12-16 2006-06-21 고려대학교 산학협력단 Method for elliptic curve cryptography for preventing side channel attack and system thereof
KR20070091062A (en) * 2006-03-04 2007-09-07 삼성전자주식회사 Cryptographic method for countering dfa using ecc fast montgomery power ladder algorithm
KR20080051773A (en) * 2006-12-06 2008-06-11 한국전자통신연구원 Spa-resistant left-to-right recoding and unified scalar multiplication methods
KR20080055378A (en) * 2006-12-15 2008-06-19 삼성전자주식회사 Method for generating public key in elliptic curve cryptography and system for executing the method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101524661B1 (en) * 2014-04-03 2015-06-03 고려대학교 산학협력단 Calculating apparatus and method for Triple-Base Chain elliptic curve scalar multiplication by reordering
KR101609952B1 (en) 2014-10-29 2016-04-07 목포대학교산학협력단 Method and apparatus for multiplying scalar

Also Published As

Publication number Publication date
KR20100098017A (en) 2010-09-06

Similar Documents

Publication Publication Date Title
KR101019242B1 (en) Method for scalar multiplication using extended montgomery ladder
EP1653428B1 (en) Elliptic curve encrypting device, elliptic curve encrypting method, elliptic curve encrypting program and computer-readable recording medium recording that program
CA2614120C (en) Elliptic curve point multiplication
KR101154695B1 (en) Encryption computing device
US7991154B2 (en) Exponentiation method using multibase number representation
JP4682852B2 (en) Cryptographic processing apparatus, cryptographic processing method, and computer program
EP1306750A2 (en) Multi-scalar multiplication computation in elliptic curve signature verification
US8817973B2 (en) Encrypting method having countermeasure function against power analyzing attacks
JP4513752B2 (en) Cryptographic processing apparatus, cryptographic processing method, and computer program
JP5977996B2 (en) Modular power method and apparatus resistant to side channel attacks
US20030026419A1 (en) Elliptic curve encryption processing method, elliptic curve encryption processing apparatus, and program
Akl et al. Improving a solution's quality through parallel processing
Hitchcock et al. A new elliptic curve scalar multiplication algorithm to resist simple power analysis
Nedjah et al. Efficient parallel modular exponentiation algorithm
JP4599859B2 (en) Cryptographic processing operation method, cryptographic processing apparatus, and computer program
JP2007526513A (en) Method of element power or scalar multiplication
Walter The Montgomery and Joye powering ladders are dual
Liu et al. A novel elliptic curve scalar multiplication algorithm against power analysis
Kamboj et al. Study of Efficient Scalar Multiplication over Elliptic Curve
Sriram et al. Multiplication Based Elliptic Curve Encryption Scheme with Optimized Scalar Multiplication (MECES)
de Macedo Mourelle et al. Reconfigurable hardware for addition chains based modular exponentiation
KR20130024487A (en) Modular multiplication and modular exponentiation using extended nist prime
Lehmann Fast Elliptic Curve Operation Costs and Comparison of Sole Inversion Precomputation Schemes
Islam et al. A New Point Multiplication Method for Elliptic Curve Cryptography Using Modified Base Representation
RAJULU Security through Elliptic Curves for Wireless Network in Mobile Devices

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20140120

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150108

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170109

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180108

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190211

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200128

Year of fee payment: 10