KR100611311B1 - 타원곡선 위에서 효율적으로 동시적 곱셈을 수행하는 타원곡선 암호화 방법 및 그 시스템 - Google Patents

타원곡선 위에서 효율적으로 동시적 곱셈을 수행하는 타원곡선 암호화 방법 및 그 시스템 Download PDF

Info

Publication number
KR100611311B1
KR100611311B1 KR1020050011153A KR20050011153A KR100611311B1 KR 100611311 B1 KR100611311 B1 KR 100611311B1 KR 1020050011153 A KR1020050011153 A KR 1020050011153A KR 20050011153 A KR20050011153 A KR 20050011153A KR 100611311 B1 KR100611311 B1 KR 100611311B1
Authority
KR
South Korea
Prior art keywords
integer
pair
pairs
elliptic curve
joint
Prior art date
Application number
KR1020050011153A
Other languages
English (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 KR1020050011153A priority Critical patent/KR100611311B1/ko
Application granted granted Critical
Publication of KR100611311B1 publication Critical patent/KR100611311B1/ko

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

타원곡선 암호화 방법 및 그 시스템이 개시된다. 본 타원곡선 암호화 방법은, 초기 정수 쌍 (e1, e2)를 입력받고, 이로부터 가장 작은 조인트 해밍 웨이트(joint hamming weight)를 갖는 정수 쌍 (a, b)를 산출하여, 타원곡선 상의 두 점 P, Q에 대하여, 산출된 상기 정수 쌍 (a, b)를 이용하여, aP + bQ를 연산하는 과정을 포함한다. 본 발명에 따르면, 선택 가능한 정수 쌍을 보다 효율적으로 제공할 수 있으며, 이를 통해 동시적 곱셈의 효율을 향상시킬 수 있다.
타원곡선 암호화, 해밍 웨이트, 동시적 곱셈

Description

타원곡선 위에서 효율적으로 동시적 곱셈을 수행하는 타원곡선 암호화 방법 및 그 시스템{Method for elliptic curve cryptography for efficient simultaneous multiplication on elliptic curve}
도 1은 Shamir's Trick 알고리즘을 나타낸 도면,
도 2는 p-tree 방법과 m-tree 방법을 함께 사용하였을 때의 문제점을 설명하기 위한 도면,
도 3a 및 도 3b는 발명의 일실시예에 따른 타원곡선 암호화 방법의 설명에 제공되는 흐름도, 그리고
도 4는 본 발명의 일실시예에 따른 타원곡선 암호화 방법의 수행과정을 설명하기 위한 도면이다.
본 발명은 타원곡선 암호화 방법 및 그 시스템에 관한 것으로, 보다 상세하게는, 타원곡선 위에서 동시적 곱셈(simultaneous multiplication)을 보다 효율적으로 수행할 수 있는 타원곡선 암호화방법 및 그 시스템에 관한 것이다.
최근에 많은 관심을 받고 있는 타원곡선(Elliptic curve) 암호 시스템은 Miller와 Koblitz에 의해 제안되었다. 타원곡선 암호 시스템을 기반으로 설계된 프로토콜 중에서 서명의 확인과 같은 경우에는 타원곡선상의 두 점 P, Q와 두 정수 e1, e2에 대해서 e1P + e2Q를 계산하는 연산이 수행된다. 이와 같은 프로토콜의 경우, e1P + e2Q를 효율적으로 계산할 수 있다면, 전체 프로토콜의 효율성을 높일 수 있다.
e1P + e2Q를 계산하는 경우에는, e1P 와 e2Q를 각각 따로 계산해서 더하는 것보다는 동시적 곱셈(simultaneous multiplication)을 수행하는 것이 보다 효율적이다. Sharmir‘s trick으로 알려진 알고리즘이 동시적 곱셈을 수행하여, e1P + e2Q을 효율적으로 계산하는 것으로 알려져 있다. 그런데, Sharmir’s trick 의 효율성은 두 정수 e1와 e2의 조인트 해밍 웨이트( joint hamming weight) 크기에 의해 결정된다.
두 정수의 조인트 해밍 웨이트는 각 값의 표현방법에 따라 각각 다르게 나타난다. 만일 e1와 e2를 n 비트(bit)의 정수라고 하면, 두 정수가 부호 없는 이진표기법(binary representation)으로 표현되어 있을 경우에는 3/4n, 그리고 NAF(Non-Adjacent Form)으로 표현되어 있을 경우에는 5/9n의 조인트 해밍 웨이트를 가진다.
개별 정수의 표현에 의해 조인트 해밍 웨이트를 결정하는 방법 외에 두 정수의 값에 의존해서 조인트 해밍 웨이트가 작은 정수 쌍을 찾을 수 있는 방법이 있다. 이와 같은 방법으로는, J.A Solinas 가 제안한 JSF(Joint Sparce Form)이라는 형태의 동시적 곱셈에 적합한 표현방법을 찾는 방법과, Sakai 와 Sakurai 가 제안한 것처럼 선택 가능한 여러 개의 정수 쌍의 후보를 제공함으로써 가장 효율적인 것을 선택하도록 하는 방법이 있다. 두개의 n 비트의 정수가 주어져 있을 때, 두 정수의 JSF은 일반적으로 1/2n의 조인트 해밍 웨이트를 가지는 것으로 알려져 있다. Sakai와 Sakurai가 제안한 방법의 경우에는 JSF으로 표현하는 경우와는 다르게 정확한 수치로 효율성을 논할 수는 없다. 그러나, 하나의 정수 쌍에 대해서 대체가능한 여러 개의 정수 쌍이 제공되고 그 중에서 가장 효율적인 정수 쌍을 선택할 수 있으므로, 처음에 주어진 정수 쌍보다 효율적인 순서쌍을 선택할 수 있기 때문에 효율적으로 연산을 수행할 수 있다.
한편, 동시적 곱셈의 효율성을 분석하면 다음과 같다. 먼저, ECDBL와 ECADD는 각각 타원곡선위의 점(point)에 대한 더블링(doubling)과 덧셈(addition)이라고 하자. 또한, HW(e)는 정수 e에 대한 해밍 웨이드(hamming weight), 즉 기호열에 포함되는 0이 아닌 기호의 개수로 정의하고, JHW(e1, e2)는 두 정수 e1와 e2의 조인트 해밍 웨이트(joint hamming weight )로 정의 하자. 그리고, e1와 e2를 n 비트 정수라고 하자. 그러면, e1P + e2Q를 계산할 때 e1P와 e2Q를 독립적으로 계산하는 경우에는, 2(n-1)ECDBL + [HW(e1) + HW(e2) + 1]ECADD의 연산이 소요된다. Shamir‘s trick을 사용해서 e1P + e2Q를 계산하는 경우에는, (n-1)ECDBL + [JHW(e1, e2) + 1]ECADD 정도의 연산량이 소요된다.
도 1은 Shamir‘s trick 알고리즘을 나타낸 것이다. Shamir‘s trick을 사용하는 경우의 효율성은 두 정수 e1와 e2 각각의 해밍 웨이트 보다는 두 정수 쌍에 대한 조인트 해밍 웨이트 의해 결정된다. 조인트 해밍 웨이트는 두 정수의 표현방법에 따라 다른데, 정수의 각 표기법에 따르는 효율성의 차이는 다음과 같이 나누어 살펴볼 수 있다.
우선, 두 정수 값이 일반적인 이진표기법으로 표현되어 있을 경우를 살펴보면, n 비트의 두 정수가 이진표기법으로 표현되어 있을 경우의 조인트 해밍 웨이트 는 평균적으로 3/4n이다. 이 값은 e1P와 e2Q를 따로 계산하는 경우와 비교했을 때 연산량이 (n -1)ECDBL + (1/4n -1)ECADD 정도 줄어든다. 예를 들어, 두 정수 e1 = 947515와 e2 = 574262를 이진표기법으로 표현하면 다음과 같다.
Figure 112005007143802-pat00001
Figure 112005007143802-pat00002
이 경우에 BIN(e1)와 BIN(e2)의 조인트 해밍 웨이트는 16이다. e1P와 e 2Q를 따로 계산하는 경우와 연산량을 비교하면 19ECDBL + 5ECADD의 연산을 적게 수행하게 된다.
두 정수 값이 NAF로 표현되어 있는 경우를 생각해보자. Shamir‘s trick은 정수의 표현방식에 구애받지 않기 때문에 부호 있는 이진표기로 표현되어있는 경우 에도 알고리즘의 적용이 가능하다. NAF형태는 어떤 값의 부호 있는 표기법 중에서 가장 해밍 웨이트가 작은 것으로 알려져 있다. 비트의 두 정수가 NAF로 표현되어있을 경우의 조인트 해밍 웨이트는 평균적으로 5/9n이다. 예를 들어, 두 정수 e1 = 947515와 e2 = 574262를 NAF로 나타내면 다음과 같이 나타난다. 여기서
Figure 112005007143802-pat00003
은 -1의 값으로 나타낸다.
Figure 112005007143802-pat00004
Figure 112005007143802-pat00005
일반적인 이진표기법으로 표현했을 때의 조인트 해밍 웨이트가 16개였던 것이 NAF로 표현되었을 경우에는 14개로 2개 줄어드는 것을 확인할 수 있다. 일반적인 부호 없는 이진표기법이나 NAF같이 개별적인 정수들의 표기에 따라 Shamir's trick의 효율성이 바뀌는 것을 확인할 수 있다.
J.A Solinas는 JSF이라는 표현방법을 발견하였는데 이 형태로 표현된 정수 쌍은 두 정수를 부호 있는 표현방법으로 표현할 수 있는 여러 가지 표현 가능한 것들 중에서 가장 작은 조인트 해밍 웨이트를 가지는 것으로 알려져 있다. 두 비트의 정수가 JSF로 표현되어있을 경우의 조인트 해밍 웨이트는 평균적으로 1/2n이다. 예를 들어, 두 정수 e1 = 947515와 e2 = 574262를 JSF로 나타내면 다음과 같이 나타난다.
Figure 112005007143802-pat00006
Figure 112005007143802-pat00007
일반적인 이진표기법으로 표현되었을 때 그리고 NAF로 표기되었을 경우와 비교하면, JSF으로 표현되었을 때의 조인트 해밍 웨이트는 12개로 가장 효율적이다.
Sakai와 Sakurai는 동시적 곱셈을 보다 효율적으로 수행할 수 있는 방법을 제안하였다. 그들이 제안한 방법은 두 정수의 표기법에 의존하지 않기 때문에 각 표기법(일반적인 이진표기법, NAF 그리고 JSF)에 모두 적용하여 효율성을 높일 수 있다. Sakai와 Sakurai가 제안한 방법의 기본적인 아이디어는 두 정수 값을 shift시켜주어서 처음에 주어지는 정수 쌍과 다른 크기의 조인트 해밍 웨이트를 갖는 정수 쌍을 생성하는 방법이다. 이렇게 생성된 정수 쌍 중에서 가장 효율적인 쌍을 선택해서 사용하는 방식으로 연산의 효율성을 높일 수 있다. e1 = 947515와 e2 = 574262를 예로 들면, 일반적인 이진표기법으로 표현하는 경우에는 조인트 해밍 웨이트가 16이지만 e1를 한 비트 shift 시켜주어서 2e1를 e1대신에 사용하는 경우에, 2e1와 e1는 조인트 해밍 웨이트가 14로 16에 비해서 2ECADD의 연산량을 줄일 수 있다.
본 발명이 이루고자 하는 기술적 과제는, Sakai와 Sakurai가 제안한 것과는 다른 방법으로 보다 많은 대체가능한 정수 쌍을 효율적으로 찾고, 이를 통해 동시적 곱셈(simultaneous multiplication)을 보다 효율적으로 수행할 수 있는 타원곡선암호화 방법 및 그 시스템을 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 타원곡선 암호화방법은, 초기 정수 쌍 (e1, e2)를 입력받는 단계, 상기 초기 정수 쌍 (e1, e 2)로부터 가장 작은 조인트 해밍 웨이트(joint hamming weight)를 갖는 정수 쌍 (a, b)를 산출하는 단계, 및 타원곡선 상의 두 점 P, Q에 대하여, 산출된 상기 정수 쌍 (a, b)를 이용하여, aP + bQ를 연산하는 단계를 포함한다.
상기 정수 쌍 (a, b)를 산출하는 단계는, a1 = e1, b1 = e2 + e1 인, 정수 쌍 (a1, b1)을 산출하는 단계, a2 = e1 + e2, b2 = e2 인, 정수 쌍 (a2, b2)을 산출하는 단계, 및 상기 정수 쌍 (a1, b1), 상기 정수 쌍 (a2, b2), 및 상기 정수 쌍 (e1, e2) 중에서 가장 작은 조인트 해밍 웨이트를 갖는 정수 쌍을 상기 정수 쌍 (a, b)로 산출하는 단계를 포함하는 것이 바람직하다.
또한, 상기 정수 쌍 (a, b)를 산출하는 단계는, a1 = e1, b1 = e2 - e1 인, 정수 쌍 (a1, b1)을 산출하는 단계, a2 = e1 - e2, b2 = e2 인, 정수 쌍 (a2, b2)을 산출하는 단계, 및 상기 정수 쌍 (a1, b1), 상기 정수 쌍 (a2, b2 ), 및 상기 정수 쌍 (e1, e2) 중에서 가장 작은 조인트 해밍 웨이트를 갖는 정수 쌍을, 상기 정수 쌍 (a, b)로 산출하는 단계를 포함하는 것도 가능하다.
그리고, 상기 정수 쌍 (a, b)를 산출하는 단계는, 산출된 정수 쌍 (a, b)를 상기 초기 정수 쌍으로 하여, 소정 라운드 횟수 만큼 반복적으로 수행되는 것이 가능하다.
상기의 다른 기술적 과제를 달성하기 위한 본 발명에 따른 타원곡선 암호화 시스템은, 초기 정수 쌍 (e1, e2)를 입력받는 수단, 상기 초기 정수 쌍 (e1, e2)로부터 가장 작은 조인트 해밍 웨이트(joint hamming weight)를 갖는 정수 쌍 (a, b)를 산출하는 수단, 및 타원곡선 상의 두 점 P, Q에 대하여, 산출된 상기 정수 쌍 (a, b)를 이용하여, aP + bQ를 연산하는 수단을 포함한다.
이하에서 첨부된 도면들을 참조하여 본 발명에 따른 타원곡선 암호화 방법 및 그 시스템의 바람직한 실시예에 대해 상세하게 설명한다.
본 발명에 따른 타원곡선 암호화 방법에서는, Sakai 와 Sakurai 가 제안했던 방법과 같이 주어진 정수 쌍 대신에 사용할 수 있는 정수 쌍을 다수 제공함으로써 가장 효율적인 정수 쌍을 선택하는 방법을 통해 동시적 곱셈(simultaneous multiplication)의 효율성을 높이도록 한다. 본 발명에 따른 타원곡선 암호화 방법에서는 Sakai와 Sakurai가 제안하는 방법보다 더 많은 대체 가능한 정수 쌍을 보다 효율적인 방법으로 찾을 수 있다.
먼저 본 발명에 따른 타원곡선 암호화 방법은 다음과 같은 사실을 이용해서 구성된다. 즉, 주어진 정수 쌍 (e1, e2)와 타원곡선 위의 두 점 P, Q로 e1P + e2Q 를 계산할 때, (e1, e2 + e1) 와 (e1 + e2 , e 2)를 주어진 정수 쌍 (e1, e2) 대신에 사용할 수 있다. 아래의 식은 (e1, e2 + e1) 와 (e1 + e2 , e2)를 (e1, e2) 대신에 사용하는 방법을 설명하고 있다.
Figure 112005007143802-pat00008
Figure 112005007143802-pat00009
[수학식 4]에서 살펴볼 수 있듯이, 새로운 정수 쌍 (e1, e2 + e1)와 (e 1 + e2 , e2)를 사용해서 원하는 결과인 e1P + e2Q를 계산할 수 있다. 본 발명에 따른 타원곡선 암호화 방법은 tree 형태로 새로운 정수 쌍을 생성하는 방법이므로 tree-method 라고 할 수 있다. 또한, 위와 비슷한 아이디어를 통해서 다른 형태의 정수 쌍을 생성할 수 있다. 즉, 주어진 정수 쌍 (e1, e2)에 대해서 (e1, e2 - e1)와 (e1- e2 , e2)를 (e1, e2) 대신 사용할 수 있는 정수 쌍으로 선택할 수 있다. 아래의 식을 통해서 (e1, e2 - e1)와 (e1 - e2 , e2)이 (e1, e2) 대신 e1P + e2Q의 계산에 사용될 수 있음을 확인할 수 있다.
Figure 112005007143802-pat00010
Figure 112005007143802-pat00011
[수학식 4]를 이용하는 tree 형태의 방법을 p-tree(plus tree) 방법이라고 하고, [수학식 5]를 이용하는 방법을 m-tree(minus tree) 방법이라고 하자. 그런데, p-tree 방법과 m-tree 방법의 두 방법은 섞어서 사용할 수 없는데 그 이유는 도 2에서 확인할 수 있다. 도 2를 참조하면, tree 형태의 방법을 적용하였을 때 처음에 사용하였던 (a, b)라는 정수 쌍이 두 번째 라운드에서 중복되는 것을 확인할 수 있다. 중복되어 수행된다는 것은 불필요한 연산의 수행을 의미하므로 효율성을 떨어뜨리게 된다. p-tree 와 m-tree는 같은 방법으로 알고리즘을 수행하므로, 이하에서는 p-tree에 대한 방법만 기술한다.
도 3a 및 도 3b는 본 발명에 따른 타원곡선 암호화방법의 설명에 제공되는 흐름도이다. 먼저, 도 3a를 참조하면, 수행되는 라운드의 값인 r과, n 비트의 정수 쌍인 (e1, e2)이 입력된다(S100). 도 3 및 도 3b의 흐름도의 수행 결과로 찾아지는 것은 가장 작은 조인트 해밍 웨이트를 가지는 정수 쌍을 EP라 하고, 초기값으로 EP를 (e1, e2)로 설정하고(S105), EP의 조인트 해밍 웨이트 JHWEP를 정수 쌍 (e1, e2)의 조인트 해밍 웨이트 JHW(e1, e2)로 설정한다(S110). 또한, 초기 정수 쌍 S0,0 을 정수 쌍 (e1, e2)로 설정한다(S115).
다음 도 3b를 참조하면, 반복적 라운드 수행을 위해, i = 1, j = 0으로 초기값을 설정한다(S120, S125). 그리고, 초기 정수 쌍 S0,0 = (e1, e2)으로부터, 첫 번째 라운드에서 Type 1 정수 쌍인 S0,1을 생성한다(S130). Type 1 정수쌍은, 도 4에 나타낸 바와 같이, 전술한 [수학식 4]의 Type 1에 의해 생성되는 쌍, 즉 S1,1 = (a, a+b)인 정수쌍을 말한다. Type 1 정수쌍이 생성되면, 산출된 정수 쌍의 조인트 해밍 웨이트가 초기 정수 쌍의 조인트 해밍 웨이트보다 더 작은지 비교하여(S135), 산출된 정수 쌍의 조인트 해밍 웨이트가 더 작은 경우, EP를 산출된 정수 쌍으로 하고, EP의 조인트 해밍 웨이트를 산출된 정수쌍의 조인트 해밍 웨이트로 한다(S140).
다음, 초기 정수 쌍 S0,0 = (e1, e2)으로부터, 첫 번째 라운드에서 Type 2 정수 쌍인 S1,1을 생성한다(S145). Type 2 정수쌍은, 도 4에 나타낸 바와 같이, 전술한 [수학식 4]의 Type 2에 의해 생성되는 쌍, 즉 S1,1 = (a+b, a)인 정수쌍을 말한다. Type 2 정수 쌍이 생성되면, 산출된 정수 쌍의 조인트 해밍 웨이트가 EP의 조인트 해밍 웨이트 보다 더 작은지 비교하여(S150), 산출된 정수 쌍의 조인트 해밍 웨이트가 더 작은 경우, EP를 산출된 정수 쌍으로 하고, EP의 조인트 해밍 웨이트를 산출된 정수쌍의 조인트 해밍 웨이트로 한다(S155).
같은 방식으로, 산출된 정수쌍을 다시 초기 정수쌍으로 하여, S130 단계 내지 S155 단계가 라운드값에 따라 반복 수행된다. 예컨대 ,두 번째 라운드에서 Type 1 과 Type 2의 대체가능한 정수 쌍을 각각 S0,2 , S1,2와 S2,2 , S3,2 로 생성한다. 이런 방법으로 r 라운드까지 수행을 마친 후(S165 내지 S175) EP 값을 출력한다(S180). 따라서, 2r+1 -1 개의 대체 가능한 정수 쌍을 효율적으로 획득할 수 있다.
상술한 바와 같은 타원곡선 암호화방법에 있어서 추가적인 연산을 수행할 필요가 있는 경우가 존재한다. 예를 들어, 수학식 4에 정의된 type 1에 대한 수식에서 (e1, e1+e2)를 사용하기 위해서는 (P-Q) 값을 계산하는 추가적인 연산이 수행되어야 한다. 이와 같이 구현하기 위해서는 도 3a 및 도 3b를 참조하여 설명한 타원곡선 암호화방법의 수행과정에서 새로 생성된 (a,b)라는 정수쌍의 조인트 해밍 웨이트를 기존의 효율적인 것과 비교할 때 i번째 라운드에서는 JHW(a,b) 대신에 JHW(a,b)+i를 사용하여야 한다.
한편, 본 발명에 따른 타원곡선 암호화 방법에서 사용되는 정수 쌍을 일반적인 이진표기법, NAF 그리고 JSF 의 경우에 적용한 결과는 다음의 표와 같다. 먼저, [표 1]은 p-tree 방법을 사용하였을 때의 조인트 해밍 웨이트, [표 2]는 m-tree 방법을 사용하였을 때의 조인트 해밍 웨이트, 그리고 [표 3]은 p-tree 와 m-tree 방법을 병렬로 사용하였을 때의 조인트 해밍 웨이트를 나타낸 것이다.
round Binary case NAF case LSF case
0 120.0235 88.8809 83.8400
1 116.7766 86.7879 81.8341
2 114.8533 85.0799 80.6678
3 113.5343 84.1089 79.8549
4 112.3094 83.2937 79.2243
5 111.3840 82.6876 78.8020
6 110.6578 82.2213 78.5335
7 110.0112 81.8968 78.3205
8 109.4910 81.6277 78.1353
round Binary case NAF case JSF case
0 119.9778 88.9394 83.8394
1 116.4843 86.7177 81.76821
2 114.4043 85.0783 80.6463
3 112.9549 84.0194 79.7868
4 111.9754 83.2105 79.1943
5 111.0651 82.6481 78.7843
6 110.3666 82.1658 78.4973
7 110.7997 81.8742 78.2678
8 109.3458 81.5676 78.0601
round Binary case NAF case JSF case
0 120.1306 88.8809 83.8400
1 115.2799 86.7879 81.8341
2 113.0499 85.0799 80.6678
3 113.5343 84.1089 79.8549
4 112.3094 83.2937 79.2243
5 111.3840 82.6876 78.8020
6 110.6578 82.2213 78.5335
7 110.0112 81.8968 78.3205
8 109.4910 81.6277 78.1353
[표 1] 내지 [표 3]의 결과테이블을 보면 라운드가 증가함에 따라 조인트 해밍 웨이트가 감소함을 확인할 수 있다. 본 발명에서는 조인트 해밍 웨이트를 줄이는 방법에 중점을 두고 있으므로 조인트 해밍 웨이트 값만 확인한다. [표 1]과 [표 2]는 p-tree와 m-tree 방법을 각각 사용하였을 때의 결과인데, 비슷한 효율성을 보이고 있다. [표 3]은 두 방법을 병렬로 사용한 것인데 두 배 정도의 대체 가능한 정수 쌍을 제공하기 때문에 조인트 해밍 웨이트가 두 방법 중에서 한 가지만 사용하였을 경우보다 효율적임을 알 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
이상 설명한 바와 같이, 본 발명에 따르면, 타원곡선 암호화 방법에서, 처음 주어진 정수 쌍 대신이 사용될 수 있는 정수 쌍을 생성하고, 이 중에서 가장 효율적인 정수 쌍을 사용하도록 하여 전체 효율성을 향상시킬 수 있다. 이들 통해 동시적 곱셈을 보다 효율적으로 수행할 수 있다. 그리고, Sakai와 Sakurai가 제안한 방법과는 독립적으로 사용할 수 있으므로, 두 개의 방법을 동시에 사용하면 더 높은 효율성의 증가를 기대할 수 있다.

Claims (7)

  1. 초기 정수 쌍 (e1, e2)를 입력받는 단계;
    상기 초기 정수 쌍 (e1, e2)로부터 가장 작은 조인트 해밍 웨이트(joint hamming weight)를 갖는 정수 쌍 (a, b)를 산출하는 단계; 및
    타원곡선 상의 두 점 P, Q에 대하여, 산출된 상기 정수 쌍 (a, b)를 이용하여, aP + bQ를 연산하는 단계;를 포함하는 것을 특징으로 하는 타원곡선 암호화방법.
  2. 제 1항에 있어서,
    상기 정수 쌍 (a, b)를 산출하는 단계는,
    a1 = e1, b1 = e2 + e1 인, 정수 쌍 (a1 , b1)을 산출하는 단계;
    a2 = e1 + e2, b2 = e2 인, 정수 쌍 (a2 , b2)을 산출하는 단계; 및
    상기 정수 쌍 (a1, b1), 상기 정수 쌍 (a2, b2), 및 상기 정수 쌍 (e1, e2) 중에서 가장 작은 조인트 해밍 웨이트를 갖는 정수 쌍을 상기 정수 쌍 (a, b)로 산출하는 단계;를 포함하는 것을 특징으로 하는 타원곡선 암호화 방법.
  3. 제 1항에 있어서,
    상기 정수 쌍 (a, b)를 산출하는 단계는,
    a1 = e1, b1 = e2 - e1 인, 정수 쌍 (a1 , b1)을 산출하는 단계;
    a2 = e1 - e2, b2 = e2 인, 정수 쌍 (a2 , b2)을 산출하는 단계; 및
    상기 정수 쌍 (a1, b1), 상기 정수 쌍 (a2, b2), 및 상기 정수 쌍 (e1, e2) 중에서 가장 작은 조인트 해밍 웨이트를 갖는 정수 쌍을, 상기 정수 쌍 (a, b)로 산출하는 단계;를 포함하는 것을 특징으로 하는 타원곡선 암호화 방법.
  4. 제 2항 또는 제 3항에 있어서,
    상기 정수 쌍 (a, b)를 산출하는 단계는, 산출된 정수 쌍 (a, b)를 상기 초기 정수 쌍으로 하여, 소정 라운드 횟수 만큼 반복적으로 수행되는 것을 특징으로 하는 타원곡선 암호화 방법.
  5. 제 1항에 있어서,
    상기 초기 정수 쌍 (e1, e2)는 n 비트의 정수인 것을 특징으로 하는 타원곡선 암호화 방법.
  6. 초기 정수 쌍 (e1, e2)를 입력받는 수단;
    상기 초기 정수 쌍 (e1, e2)로부터 가장 작은 조인트 해밍 웨이트(joint hamming weight)를 갖는 정수 쌍 (a, b)를 산출하는 수단; 및
    타원곡선 상의 두 점 P, Q에 대하여, 산출된 상기 정수 쌍 (a, b)를 이용하여, aP + bQ를 연산하는 수단;을 포함하는 것을 특징으로 하는 타원곡선 암호화 시스템.
  7. 초기 정수 쌍 (e1, e2)를 입력받는 단계;
    상기 초기 정수 쌍 (e1, e2)로부터 가장 작은 조인트 해밍 웨이트(joint hamming weight)를 갖는 정수 쌍 (a, b)를 산출하는 단계; 및
    타원곡선 상의 두 점 P, Q에 대하여, 산출된 상기 정수 쌍 (a, b)를 이용하여, aP + bQ를 연산하는 단계;를 포함하는 것을 특징으로 하는 타원곡선 암호화 방법을 컴퓨터에 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020050011153A 2005-02-07 2005-02-07 타원곡선 위에서 효율적으로 동시적 곱셈을 수행하는 타원곡선 암호화 방법 및 그 시스템 KR100611311B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050011153A KR100611311B1 (ko) 2005-02-07 2005-02-07 타원곡선 위에서 효율적으로 동시적 곱셈을 수행하는 타원곡선 암호화 방법 및 그 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050011153A KR100611311B1 (ko) 2005-02-07 2005-02-07 타원곡선 위에서 효율적으로 동시적 곱셈을 수행하는 타원곡선 암호화 방법 및 그 시스템

Publications (1)

Publication Number Publication Date
KR100611311B1 true KR100611311B1 (ko) 2006-08-10

Family

ID=37594210

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050011153A KR100611311B1 (ko) 2005-02-07 2005-02-07 타원곡선 위에서 효율적으로 동시적 곱셈을 수행하는 타원곡선 암호화 방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR100611311B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010000048A (ko) * 1999-11-18 2001-01-05 안병엽 m진법 방식을 이용한 타원곡선상 다중 점의 상수고속연산 방법
KR20010008921A (ko) * 1999-07-06 2001-02-05 정선종 환 위의 타원곡선을 이용한 공개키 암호화 방법
US20020041681A1 (en) 2000-08-29 2002-04-11 Jeffrey Hoffstein Speed enhanced cryptographic method and apparatus
EP1306750A2 (en) 2001-10-26 2003-05-02 Hitachi, Ltd. Multi-scalar multiplication computation in elliptic curve signature verification

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010008921A (ko) * 1999-07-06 2001-02-05 정선종 환 위의 타원곡선을 이용한 공개키 암호화 방법
KR20010000048A (ko) * 1999-11-18 2001-01-05 안병엽 m진법 방식을 이용한 타원곡선상 다중 점의 상수고속연산 방법
US20020041681A1 (en) 2000-08-29 2002-04-11 Jeffrey Hoffstein Speed enhanced cryptographic method and apparatus
EP1306750A2 (en) 2001-10-26 2003-05-02 Hitachi, Ltd. Multi-scalar multiplication computation in elliptic curve signature verification

Similar Documents

Publication Publication Date Title
CA2614120C (en) Elliptic curve point multiplication
Öztürk et al. Low-power elliptic curve cryptography using scaled modular arithmetic
US7903811B2 (en) Cryptographic system and method for encrypting input data
JP5365624B2 (ja) 電力解析攻撃への対策機能を備えた復号装置、プログラム、及び復装置を組み込んだ組込機器装置
US9520995B2 (en) Efficient prime-number check
KR20060104823A (ko) 빠른 집합 검증 방법 및 그 장치
US20100067690A1 (en) Spa-resistant left-to-right recoding and unified scalar multiplication methods
Fellows et al. Fixed-parameter complexity and cryptography
JP4977300B2 (ja) 暗号法及び装置
CN114553425A (zh) 基于高性能模逆的椭圆数字签名曲线硬件实现方法及系统
CN113783702A (zh) 一种椭圆曲线数字签名与验签的硬件实现方法和系统
Nair et al. Analysis of ECC for application specific WSN security
CN112887096B (zh) 用于签名和密钥交换的素数阶椭圆曲线生成方法及系统
CN101971138A (zh) 用于计算椭圆曲线上的点的倍数的设备和方法
CN116527274B (zh) 基于多标量乘快速计算的椭圆曲线验签方法及系统
KR100731575B1 (ko) 전력분석공격에 대응하는 암호화 방법
KR100611311B1 (ko) 타원곡선 위에서 효율적으로 동시적 곱셈을 수행하는 타원곡선 암호화 방법 및 그 시스템
US20140177824A1 (en) System and method for securing scalar multiplication against differential power attacks
Mohamed et al. Improved fixed-base comb method for fast scalar multiplication
Jarvinen et al. Efficient circuitry for computing τ-adic non-adjacent form
Ebeid et al. On randomizing private keys to counteract DPA attacks
KR20070050726A (ko) 랜덤화한 프로베니우스 분해방법을 이용한 차분 공격 방지방법 및 그 장치
Reyhani-Masoleh et al. On efficient normal basis multiplication
Hakuta et al. Efficient arithmetic on subfield elliptic curves over small finite fields of odd characteristic
JP4541485B2 (ja) べき乗演算装置、べき乗剰余演算装置、楕円べき倍点演算装置、並びのそれらの方法、記録媒体

Legal Events

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

Payment date: 20120615

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130621

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee