KR20030078350A - 타원 곡선 암호에서 단위원의 n-제곱근 함수를 이용한프로베니우스 전개 방법 - Google Patents

타원 곡선 암호에서 단위원의 n-제곱근 함수를 이용한프로베니우스 전개 방법 Download PDF

Info

Publication number
KR20030078350A
KR20030078350A KR1020020017347A KR20020017347A KR20030078350A KR 20030078350 A KR20030078350 A KR 20030078350A KR 1020020017347 A KR1020020017347 A KR 1020020017347A KR 20020017347 A KR20020017347 A KR 20020017347A KR 20030078350 A KR20030078350 A KR 20030078350A
Authority
KR
South Korea
Prior art keywords
provenius
elliptic curve
value
calculate
square root
Prior art date
Application number
KR1020020017347A
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 KR1020020017347A priority Critical patent/KR20030078350A/ko
Publication of KR20030078350A publication Critical patent/KR20030078350A/ko

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

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)
  • Complex Calculations (AREA)

Abstract

본 발명은 타원 곡선 암호 알고리즘에 관한 것으로, 특히 프로베니우스 전개를 이용하여 타원 곡선 암호에서 스칼라 곱의 속도를 향상시킬 수 있는 단위원의 n-제곱근 함수를 이용한 프로베니우스 전개 방법을 제공한다. 본 발명의 일 측면에 따르면 타원 곡선 암호에서 스칼라 곱 kP의 계산속도 향상을 위한 프로베니우스 전개 방법에 있어서, φ = a + bλ (λ는 단위원의 4-제곱근 함수) 이고 p ≡ 1 (mod 4) 일 때, (a) s1에 k, s2에 0, i에 0을 입력하는 단계; (b) x = {as1+ bs2}/p 와 y = {-bs1+ as2}/p를 계산하고, 상기 x의 반올림 값을 t1, 상기 y의 반올림 값을 t2로 입력하는 단계; (c) r1= s1- at1+ bt2와 r2= s2- bt1- at2를 계산하고, 상기 r1값을 R1[i], 상기 r2값을 R2[i]로 입력하는 단계; (d) 상기 t1및 t2의 절대값이 2미만인지 확인하는 단계; (e) 상기 (d) 단계의 확인 결과 2이상일 경우 s1에 t1, s2에 t2, i에 i+1을 입력하여 상기 (b)단계로 복귀하는 단계; 및 (f) 상기 (d) 단계의 확인 결과 2미만인 경우 k = (R1[i] + R2[i]λ)φi+ (R1[i-1] + R2[i-1]λ)φi-1+ … + (R1[0] + R2[0]λ)를 계산하고 출력하는 단계를 포함하는 것을 특징으로 하는 타원 곡선 암호에서 단위원의 4-제곱근 함수를 이용한 프로베니우스 전개 방법이 제공된다.

Description

타원 곡선 암호에서 단위원의 n-제곱근 함수를 이용한 프로베니우스 전개 방법{Frobenius expansion method using n-th root of unity in Elliptic Curve Cryptosystem}
본 발명은 타원 곡선 암호(Elliptic Curve Cryptosystem) 알고리즘에 관한 것으로, 특히 프로베니우스 전개(Frobenius expansion)를 이용하여 타원 곡선 암호에서 스칼라 곱의 속도를 향상시킬 수 있는 단위원의 n-제곱근 함수를 이용한 프로베니우스 전개 방법에 관한 것이다.
공개키 암호 알고리즘인 타원 곡선 암호는 RSA(Rivest-Shamir-Adleman) 암호에 비해 작은 크기의 키(key)를 사용하면서도 RSA 암호와 동일한 안전도를 갖는다(예를 들면, 키 크기가 1024비트인 RSA 암호와 똑같은 안전성을 실현하는데 타원 곡선 암호는 키 크기가 160비트면 된다). 키 크기는 필요한 메모리 용량과 직결되는 문제이기 때문에, 키 크기가 작은 타원 곡선 암호는 IC카드, 휴대폰처럼 메모리와 계산용량이 적은 곳에서도 사용할 수 있는 장점이 있다.
타원 곡선 암호는 타원 곡선 위의 점 P를 k번 더하는 계산이 주를 이룬다. 따라서, 타원 곡선 암호를 효과적으로 사용하기 위해서는 스칼라 곱 kP의 계산속도를 향상시키는 알고리즘이 필요하다.
표수가 p인 유한체 Fq(q = pr) 위에 정의된 타원 곡선 y2= x3+ ax + b 의 정수점들은 군 E(Fq)을 이룬다. 이 군의 원소들 사이에서는 덧셈 P + Q 와 스칼라 곱 kP이 정의되는데 타원 곡선 암호는 이를 이용한 것이다.
프로베니우스 사상 φ(x, y) = (xq, yq) 은 기본적인 타원 곡선 위의 사상이며 매우 간단하게 계산할 수가 있다. 여기서, 스칼라 곱을 프로베니우스 사상을 이용하여 전개하면 스칼라 곱에 드는 시간과 연산의 수를 줄일 수가 있다. 다시 말해, 정수 계수들 an, … , a0에 대하여 kP = (anφn+ an-1φn-1+ … + a0)P 의 형태로 만들어 주는 것이다. 이 방법은 코블리츠(N. Koblitz, CM-curves with good cryptographic properties, Crypto 91, pp. 279-287, LNCS 576 1991)가 제안하였다. 이 후 뮐러(V. Muller, Fast multiplication on elliptic curves over small fields of characteristic two, Journal of Cryptology 11, pp. 219-234 1998)는 프로베니우스 전개를 표수가 짝수일 때, 스마트(N.P. Smart, Elliptic curve cryptosystems over small fields of odd characteristic, Journal of Cryptology 12 pp. 141-151 1999)는 표수가 홀수일 때 프로베니우스 전개가 가능하다는 증명을 하였다.
또, 프로베니우스 사상이 아닌 계산이 매우 간단한 특정한 사상 θ들을 찾아서 이용하려는 시도가 갈란트外(R. Gallant, R. Lambert, and S. Vanstone, Fasterpoint multiplication on elliptic curves with efficient endomorphism, Crypto 2001)에 의해 시도되었다. 이런 사상들은 일반적으로 프로베니우스 전개가 가능하지 않다. 그래서, 갈란트外는 kP를 (k1+ k2θ)P 의 형태로 바꾸어서 계산을 하였다. 여기서, k1과 k2는 k1+ k2θ = k 가 되는 것 중 k1 2+ k2 2이 가장 작은 것들로 선택을 한다.
프로베니우스 전개를 이용한 스칼라 곱을 할 때의 문제점은 표수가 커지면 커질수록 효율적인 계산을 위해 미리 계산해 두어야 할 것(precomputation table)들이 늘어난다는데 있다. 그렇기 때문에 상기 뮐러와 스마트는 프로베니우스 전개를 할 때, 표수가 작은 것으로 하도록 제안하고 있다. 하지만, 타원 곡선 암호의 안전성을 위해서는 표수의 크기가 커야 하므로, 뮐러와 스마트의 방법은 실용화하는데 문제점이 있다.
또한, 프로베니우스 사상은 모든 타원 곡선에 주어진 계산이 매우 간단한 사상인데, 갈란트外의 제안에는 프로베니우스 사상을 이용하지 않았다는 약점이 있다.
상기 문제점을 해결하기 위한 본 발명의 목적은 프로베니우스 전개를 이용하여 타원 곡선 암호에서 스칼라 곱의 속도를 향상시킬 수 있는 단위원의 n-제곱근 함수를 이용한 프로베니우스 전개 방법을 제공하는데 있다.
도 1은 본 발명의 일실시예에 따른 λ = i 일 때 {0, 1, -1, λ, -λ}을 나타낸 도면.
도 2는 본 발명의 제1실시예에 따른 Z[λ]와 (1 - 2λ)Z[λ]을 나타낸 도면.
도 3은 본 발명의 제1실시예에 따른 A(2)를 나타낸 도면.
도 4는 본 발명의 제1실시예에 따른 φ = n + (n + 1)λ이고 p = 2n2+ 2n + 1 일 때, 단위원의 4-제곱근을 이용한 프로베니우스 전개 과정을 나타낸 흐름도.
도 5는 본 발명의 제1실시예에 따른 φ = a + bλ이고 p ≡ 1 (mod4) 일 때, 단위원의 4-제곱근을 이용한 프로베니우스 전개 과정을 나타낸 흐름도.
도 6은 본 발명의 제2실시예에 따른일 때 {0, 1, -1, ρ, -ρ, ρ2, -ρ2}을 나타낸 도면.
도 7은 본 발명의 제2실시예에 따른 Z[ρ]와 (2ρ - 1)Z[ρ]를 나타낸 도면.
도 8은 본 발명의 제2실시예에 따른 B(2)를 나타낸 도면.
도 9는 본 발명의 제2실시예에 따른 φ = n + (2n + 1)ρ이고 p = 3n2+ 3n + 1 일 때, 단위원의 3-제곱근을 이용한 프로베니우스 전개 과정을 나타낸 흐름도.
도 10은 본 발명의 제2실시예에 따른 φ = a + bρ이고 p ≡ 1 (mod3) 일 때, 단위원의 3-제곱근을 이용한 프로베니우스 전개 과정을 나타낸 흐름도.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따르면 타원 곡선 암호에서 스칼라 곱 kP의 계산속도 향상을 위한 프로베니우스 전개 방법에 있어서, φ = a + bλ (λ는 단위원의 4-제곱근 함수) 이고 p ≡ 1 (mod 4) 일 때, (a) s1에 k, s2에 0, i에 0을 입력하는 단계; (b) x = {as1+ bs2}/p 와 y = {-bs1+ as2}/p를 계산하고, 상기 x의 반올림 값을 t1, 상기 y의 반올림 값을 t2로 입력하는 단계; (c) r1= s1- at1+ bt2와 r2= s2- bt1- at2를 계산하고, 상기 r1값을 R1[i], 상기 r2값을 R2[i]로 입력하는 단계; (d) 상기 t1및 t2의 절대값이 2미만인지 확인하는 단계; (e) 상기 (d) 단계의 확인 결과 2이상일 경우 s1에 t1, s2에 t2, i에 i+1을 입력하여 상기 (b)단계로 복귀하는 단계; 및 (f) 상기 (d) 단계의 확인 결과 2미만인 경우 k = (R1[i] + R2[i]λ)φi+ (R1[i-1] + R2[i-1]λ)φi-1+ … + (R1[0] + R2[0]λ)를 계산하고 출력하는 단계를 포함하는 것을 특징으로 하는 타원 곡선 암호에서 단위원의 4-제곱근 함수를 이용한 프로베니우스 전개 방법이 제공된다.
본 발명의 다른 측면에 따르면 타원 곡선 암호에서 스칼라 곱 kP의 계산속도 향상을 위한 프로베니우스 전개 방법에 있어서, φ = a + bρ (ρ는 단위원의 3-제곱근 함수) 이고 p ≡ 1 (mod 3) 일 때, (a) s1에 k, s2에 0, i에 0을 입력하는 단계; (b) x = {(a - b)s1+ bs2}/p 와 y = {-bs1+ as2}/p를 계산하고, 상기 x의 반올림 값을 t1, 상기 y의 반올림 값을 t2로 입력하는 단계; (c) r1= s1- at1+ bt2와r2= s2- bt1- (a - b)t2를 계산하고, 상기 r1값을 R1[i], 상기 r2값을R2[i]로 입력하는 단계; (d) 상기 t1및 t2의 절대값이 2미만인지 확인하는 단계; (e) 상기 (d) 단계의 확인 결과 2이상일 경우 s1에 t1, s2에 t2, i에 i+1을 입력하여 상기 (b)단계로 복귀하는 단계; 및 (f) 상기 (d) 단계의 확인 결과 2미만인 경우 k = (R1[i] + R2[i]ρ)φi+ (R1[i-1] + R2[i-1]ρ)φi-1+ … + (R1[0] + R2[0]ρ)를 계산하고 출력하는 단계를 포함하는 것을 특징으로 하는 타원 곡선 암호에서 단위원의 3-제곱근 함수를 이용한 프로베니우스 전개 방법이 제공된다.
본 발명은 타원 곡선 암호에서 기존의 프로베니우스 전개방식에 단위원의 n-제곱근을 함께 이용하여 효율적인 계산을 하고자 한다. 특정 타원 곡선에서는 프로베니우스 사상 외에 계산이 매우 간단한 사상이 존재하고, 노름(Norm)이 1인 경우가 있다. 이런 경우 수학적 이론에 의해 노름이 1인 사상은 1의 제곱근이 됨을 알 수 있고, 또 이차 복소체 위에서는 단위원의 3-제곱근과 단위원의 4-제곱근 밖에는 없다.
본 발명에서는 이 사상과 프로베니우스 사상을 같이 이용하여, 단위원의 n-제곱근을 계수로 가지는 스칼라 곱의 프로베니우스 전개 알고리즘을 제시한다. 이렇게 하면 미리 계산해야할 것(precomputation table)의 개수가 뮐러와 스마트의 방법에 비해 제곱근 개수로 줄어든다. 따라서 뮐러와 스마트가 제안한 표수의 크기보다 제곱 정도 큰 크기의 표수에 대해서도 프로베니우스 전개가 가능해진다.
본 발명은 몇 가지 수학적 이론에 근거한다.
군 E(Fq)에 정의되는 자기준동형사상(endomorphism)들의 집합 End(E)이 환(ring)을 이룬다. k 곱 (P → kP) 사상과 프로베니우스 사상 φ는 End(E)의 원소이다. End(E)은 이차 복소체 Q[φ]의 부분환이 된다. 코헨( H. Cohen, A course in computational algebraic number theory, 1996)에 의하면 계산이 매우 간단한 사상들이 존재한다는 것이다.
본 발명에서 사용하는 사상은 다음과 같다.
( 1 ) p ≡ 1 (mod4) 이고 p가 소수일 때, 유한체 Fp위에 정의된 타원 곡선을
E1: y2= x3+ ax
이라고 하자. α를 위수(order)가 4 인 Fp의 원소라고 하자. 그러면 λ ∈ End(E1) 이면서인 사상을 만들어 낼 수 있다. 이 사상은 계산이 매우 간단하다. 또, 추론을 통해 λ2= -1 이라는 사실을 알 수 있다. 따라서, λ는 단위원의 4-제곱근으로 간주할 수 있는 사상이다.
( 2 ) p ≡ 1 (mod3) 이고 p가 소수일 때, 유한체 Fp위에 정의된 타원 곡선을
E2: y2= x3+ b
이라고 하자. β를 위수(order)가 3 인 Fp의 원소라고 하자. 그러면 ρ ∈ End(E2) 이면서인 사상을 만들어 낼 수 있다. 이 사상 역시 계산이 매우 간단하다. 추론을 통해 ρ3= 1 이라는 사실을 알 수 있다. 따라서, ρ는 단위원의 3-제곱근으로 간주할 수 있는 사상이다.
이하, 첨부한 도면을 통해 본 발명을 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 λ = i 일 때 {0, 1, -1, λ, -λ}을 나타낸 도면, 도 2는 본 발명의 제1실시예에 따른 Z[λ]와 (1 - 2λ)Z[λ]을 나타낸 도면, 도 3은 본 발명의 제1실시예에 따른 A(2)를 나타낸 도면, 도 4는 본 발명의 제1실시예에 따른 φ = n + (n + 1)λ이고 p = 2n2+ 2n + 1 일 때, 단위원의 4-제곱근을 이용한 프로베니우스 전개 과정을 나타낸 흐름도, 도 5는 본 발명의 제1실시예에 따른 φ = a + bλ이고 p ≡ 1 (mod4) 일 때, 단위원의 4-제곱근을 이용한 프로베니우스 전개 과정을 나타낸 흐름도이다.
우선 ( 1 )번을 사용한 본 발명을 설명하겠다.
간단한 경우로 p ≡ 5 인 경우를 설명하고, 그 다음 일반적인 경우를 설명하겠다.
p ≡ 5 인 경우 프로베니우스 사상은 a값에 따라 4 가지 경우가 있다.
a = 1 인 경우 φ2- 2φ + 5 = 0,
a = 2 인 경우 φ2- 4φ + 5 = 0,
a = 3 인 경우 φ2+ 4φ + 5 = 0,
a = 4 인 경우 φ2+ 4φ + 5 = 0.
4 가지 경우 모두 φ는 Z[i]의 원소가 된다는 사실을 수학적 추론을 통해 알 수 있다. 상기 Z[i] = {a + bi : a, b ∈ Z} 이다.
[보조정리 1] 도 1과 도 2를 참조하면, s 가 Z[i]의 원소일 때, r ∈ {0, 1, -1, λ, -λ} 와 t ∈ Z[i] 가 존재하여
s = tφ + r
을 만족한다.
[증명] a = 1 일 때 φ2- 2φ + 5 = 0 이고 λ2+ 1 = 0 이므로 연립해서 계산하면 φ = 2λ + 1 또는 φ = -2λ + 1 임을 알 수 있다. 수학적 계산을 통해 둘 중에 하나를 선택할 수 있고, 여기서는 전자를 택할 수 있다. s = s1+ s2i 라고 하면 직접 계산을 통해
임을 알 수 있다(단,는 x의 반올림값이다). 이 값이 {0, 1, -1, λ, -λ} 중에 하나라는 것을 계산을 통해 알 수 있다.
[정리 1]
( 단,이고)
[증명] [보조정리 1]을 이용하여 전개를 한다.
일반적인 경우를 설명하자. 우선, 소수 p = 2n2+ 2n + 1 의 형태에 대해 생각해 보자.
A(1) = {0, 1, -1, λ, -λ} 이라고 정의하자. A(n)은 A(1)의 원소 중에서 중복을 허락하여 n개를 뽑아서 더한 것들의 집합이라고 정의하자. 예를 들어, n = 2 인 경우를 생각하면 도 3과 같이 A(2) = {0, 1, -1, λ, -λ, 2, -2, 2λ, -2λ, 1+λ, 1-λ, -1+λ, -1-λ}이다.
A(n)의 원소의 개수는 2n2+ 2n + 1 이다. 2n2+ 2n + 1 ≡ 1 (mod4) 이지만 모든 n에 대해 소수인 것은 아니다.
소수 p = 2n2+ 2n + 1 의 형태인 경우는 다음과 같다.
[보조정리 2 ] s 가 Z[i]의 원소일 때, r ∈ A(n) 와 t ∈ Z[i] 가 존재하여
s = tφ + r
을 만족한다.
[증명] λ 와 프로베니우스 사상과의 관계는 수학적 추론을 통해 다음 8 가지 중의 하나라는 것을 알 수 있다.
,,,.
설명을 위해 φ = n + (n + 1)λ 라고 가정하자. s = s1+ s2λ 를 행렬을 이용하여이라 표기하면는 다음과 같이 구할 수 있다.
우선라고 하면,로 잡는다.
로 정하면 r ∈ A(n)이 된다. 따라서 [보조정리 1]과 같은 관계가 성립함을 알 수 있다.
[정리 2]
( 단,이고)
[증명] [보조정리 2] 를 이용하여 전개를 한다.
[정리 2]를 이용하여 k 의 프로베니우스 전개를 구하는 과정은 도 4에 나타나 있다. 여기에서, ri는 R1[i] + R2[i]λ 로 표시된다.
우선, s1에 k, s2에 0, i에 0을 입력하고(S400), x = {ns1+ (n + 1)s2}/p 와 y = {-(n + 1)s1+ ns2}/p를 계산한 후, 상기 x의 반올림 값을 t1, 상기 y의 반올림 값을 t2로 입력(S410)한다. 그런 다음 r1= s1- nt1+ (n + 1)t2와 r2= s2- (n + 1)t1- nt2를 계산하고, 상기 r1값을 R1[i], 상기 r2를R2[i]로 입력(S420)한다. 이 후, 상기 t1및 t2의 절대값이 2미만인지 확인(S430)하고, 확인 결과 2이상일 경우 s1에 t1, s2에 t2, i에 i+1을 입력(S450)하여 상기 S410 단계로 복귀하고, 상기 확인결과 2미만인 경우 k = (R1[i] + R2[i]λ)φi+ (R1[i-1] + R2[i-1]λ)φi-1+ … + (R1[0] + R2[0]λ)를 계산하고 출력(S440)한다.
A(n)의 원소들은 a + bλ의 형태이고 -n ≤ a,b ≤ n 이므로, 미리 계산해야 할 것(precomputation table)의 크기가정도로 줄어든다. 특수한 예로 p ≡ 5 인 경우에는 -1 ≤ a,b ≤ 1 이므로, 미리 계산할 필요가 없다(즉, precomputation table을 만들 필요가 없다).
여기서, 부가적으로 알 수 있는 사실은 φ 와 λ 의 관계를 알고 있으면 φ 의 대각합(trace)를 쉽게 구해 낼 수 있으며, 하세의 정리(Hasse's theorem)에 의해 E(Fp)의 원소의 개수도 쉽게 계산해 낼 수 있다. 예를 들어, φ = n + (n + 1)λ 라고 가정하면,
φ2- 2nφ + 2n2+ 2n + 1 = 0
을 만족하므로, φ 의 대각합(trace) t 는 2n이 됨을 알 수 있다. 하세의 정리(Hasse's theorem)에 의하면 #E(Fp) = p + 1 - t 이므로, #E(Fp) = 2n2+ 2 임을 알 수 있다.
소수 p ≡ 1 (mod4) 이지만 2n2+ 2n + 1 의 형태가 아닌 경우에도 마찬가지로 할 수 있다. 이 경우에는 φ 와 λ 의 관계를 위 경우처럼 쉽게 알 수는 없으나 φ = a + bλ (a, b ∈ Z) 라는 사실은 수학적 추론에 의해 알 수 있다.
위와 마찬가지로 우선라고 하면,로 잡는다.
로 정하면(이고)이 된다. 여기서도 마찬가지로 프로베니우스 전개를 할 수 있다. 즉, 도 5에 도시된 바와 같이 φ = a + bλ 이고 p ≡ 1 (mod4) 일 때, [정리 2]를 이용하여 k 의 프로베니우스 전개를 할 수 있다.
우선, s1에 k, s2에 0, i에 0을 입력하고(S500), x = {as1+ bs2}/p 와 y = {-bs1+ as2}/p를 계산한 후, 상기 x의 반올림 값을 t1, 상기 y의 반올림 값을 t2로 입력(S510)한다. 그런 다음 r1= s1- at1+ bt2와 r2= s2- bt1- at2를 계산하고, 상기 r1값을 R1[i], 상기 r2를R2[i]로 입력(S520)한다. 이 후, 상기 t1및 t2의 절대값이 2미만인지 확인(S530)하고, 확인 결과 2이상일 경우 s1에 t1, s2에 t2, i에 i+1을 입력(S550)하여 상기 S510 단계로 복귀하고, 상기 확인결과 2미만인 경우 k = (R1[i] + R2[i]λ)φi+ (R1[i-1] + R2[i-1]λ)φi-1+ … + (R1[0] + R2[0]λ)를 계산하고 출력(S540)한다.
도 6은 본 발명의 제2실시예에 따른일 때 {0, 1, -1, ρ, -ρ, ρ2, -ρ2}을 나타낸 도면, 도 7은 본 발명의 제2실시예에 따른 Z[ρ]와 (2ρ -1)Z[ρ]를 나타낸 도면, 도 8은 본 발명의 제2실시예에 따른 B(2)를 나타낸 도면, 도 9는 본 발명의 제2실시예에 따른 φ = n + (2n + 1)ρ이고 p = 3n2+ 3n + 1 일 때, 단위원의 3-제곱근을 이용한 프로베니우스 전개 과정을 나타낸 흐름도, 도 10은 본 발명의 제2실시예에 따른 φ = a + bρ이고 p ≡ 1 (mod3) 일 때, 단위원의 3-제곱근을 이용한 프로베니우스 전개 과정을 나타낸 흐름도이다.
( 2 )번을 사용한 본 발명을 설명하겠다.
간단한 경우로 p ≡ 7 인 경우를 설명하고 그 다음 일반적인 경우를 설명하겠다.
p ≡ 7 인 경우 프로베니우스 사상은 b값에 따라 6 가지 경우가 있다.
b = 1 인 경우 φ2- 4φ + 7 = 0,
b = 2 인 경우 φ2+ φ + 7 = 0,
b = 3 인 경우 φ2+ 5φ + 7 = 0,
b = 4 인 경우 φ2- 5φ + 7 = 0,
b = 5 인 경우 φ2- φ + 7 = 0,
b = 6 인 경우 φ2- 5φ + 7 = 0.
6 가지 경우 모두 φ 는의 원소가 된다는 사실을 수학적 추론을 통해 알 수 있다.
[보조정리 3 ] 도 6와 도 7에 도시된 바와 같이, s 가의 원소일 때, r ∈ {0, 1, -1, ρ, -ρ, ρ2, -ρ2} 와 가 존재하여 s = tφ + r 을 만족한다.
[증명]
로 두면 [보조정리 3]을 증명할 수 있다.
[정리 3]
( 단,이고)
[증명] [보조정리 3]을 이용하여 전개한다.
일반적인 경우를 설명하자. 우선 p = 3n2+ 3n + 1 가 소수인 경우
B(1) = {0, 1, -1, ρ, -ρ, ρ2, -ρ2}
이라고 정의하자. B(n)은 B(1)의 원소 중에서 중복을 허락하여 n개를 뽑아서 더한 것들의 집합이라고 정의하자. B(n)의 원소의 개수는 도 8에 도시된 바와 같이 3n2+ 3n + 1 이다. 3n2+ 3n + 1 ≡ 1 (mod3) 이지만, 모든 n에 대해 소수인 것은 아니다.
p = 3n2+ 3n + 1 가 소수인 경우는 다음과 같다.
[보조정리 4] s 가의 원소일 때, r ∈ B(n) 과 가 존재하여 s = tφ + r 을 만족한다.
[증명] ρ 와 프로베니우스 사상과의 관계는 수학적 추론을 통해 다음 12 가지중의 하나라는 것을 알 수 있다.
,,,
,,.
계산을 통해 φ 와 ρ 의 관계를 구해낸다. 설명을 위해 φ = n + (2n + 1)ρ 라고 가정하자. s = s1+ s2ρ 를 행렬을 이용하여이라 표기하면는 다음과 같이 구할 수 있다.
우선라고 하면,로 잡는다.
로 정하면 r ∈ B(n)이 된다.
[정리 4 ]
( 단,이고이다. )
[증명] [보조정리 4] 이용하여 전개를 한다.
[정리 4]를 이용하여 k 의 프로베니우스 전개를 구하는 과정은 도 9에 나타나 있다. 여기에서, ri는 R1[i] + R2[i]ρ 로 표시된다.
우선, s1에 k, s2에 0, i에 0을 입력하고(S900), x = {-(n + 1)s1+ (2n + 1)s2}/p 와 y = {-(2n + 1)s1+ ns2}/p를 계산한 후, 상기 x의 반올림 값을 t1, 상기 y의 반올림 값을 t2로 입력(S910)한다. 그런 다음 r1= s1- nt1+ (2n + 1)t2와 r2= s2- (2n + 1)t1- (n + 1)t2를 계산하고, 상기 r1값을 R1[i], 상기 r2를R2[i]로 입력(S920)한다. 이 후, 상기 t1및 t2의 절대값이 2미만인지 확인(S930)하고, 확인 결과 2이상일 경우 s1에 t1, s2에 t2, i에 i+1을 입력(S950)하여 상기 S910 단계로 복귀하고, 상기 확인결과 2미만인 경우 k = (R1[i] + R2[i]ρ)φi+ (R1[i-1] + R2[i-1]ρ)φi-1+ … + (R1[0] + R2[0]ρ)를 계산하고 출력(S940)한다.
B(n)의 원소들은 a + bρ의 형태이고 -n ≤ a,b ≤ n 이므로, 미리 계산해야 할 것(precomputation table)의 크기가정도로 줄어든다. 특수한 경우 p ≡ 7 일 때는 미리 계산할 필요가 없다(Precomputation table을 만들 필요가 없다).
여기서, 부가적으로 알 수 있는 사실은 φ = n + (2n + 1)ρ 라고 가정하였을 때,
φ2- φ + 3n2+ 3n + 1 = 0
을 만족하므로, φ 의 대각합(trace) t 는 1이 됨을 알 수 있다. 그리고, #E(Fp) = p + 1 - t 이므로, #E(Fp) = 3n2+ 3n + 1 임을 알 수 있다.
소수 p ≡ 1 (mod3) 가 3n2+ 3n + 1 의 형태가 아닌 경우에도 마찬가지로 할 수 있다. 이 경우에는 φ 와 ρ 의 관계를 위 경우처럼 쉽게 알 수는 없으나 φ = a + bρ (a, b ∈ Z) 라는 사실은 수학적 추론에 의해 알 수 있다.
위와 마찬가지로 우선라고 하면,로 잡는다.
로 정하면(이고)이 된다. 여기서도 마찬가지로 프로베니우스 전개를 할 수 있다. 즉, 도 10에 도시된 바와 같이 φ = a + bρ 이고 p ≡ 1 (mod3) 일 때, [정리 4]를 이용하여 k 의 프로베니우스 전개를 할 수 있다.
우선, s1에 k, s2에 0, i에 0을 입력하고(S100), x = {(a - b)s1+ bs2}/p 와 y = {-bs1+ as2}/p를 계산한 후, 상기 x의 반올림 값을 t1, 상기 y의 반올림 값을 t2로 입력(S110)한다. 그런 다음 r1= s1- at1+ bt2와 r2= s2- bt1- (a - b)t2를 계산하고, 상기 r1값을 R1[i], 상기 r2를R2[i]로 입력(S120)한다. 이 후, 상기 t1및t2의 절대값이 2미만인지 확인(S130)하고, 확인 결과 2이상일 경우 s1에 t1, s2에 t2, i에 i+1을 입력(S150)하여 상기 S110 단계로 복귀하고, 상기 확인결과 2미만인 경우 k = (R1[i] + R2[i]ρ)φi+ (R1[i-1] + R2[i-1]ρ)φi-1+ … + (R1[0] + R2[0]ρ)를 계산하고 출력(S140)한다.
상술한 바와 같이 본 발명에 의하면 타원 곡선 암호에서 단위원의 n-제곱근을 계수로 가지는 스칼라 곱의 프로베니우스 전개 알고리즘을 이용함으로써, 종래의 프로베니우스 전개를 이용한 타원 곡선 알고리즘에 비해 미리 계산해야 할 것(precomputation table)의 개수가 제곱근 개수로 줄어들게 된다. 따라서, 종래의 프로베니우스 전개를 이용한 타원 곡선 알고리즘에서 제안한 표수의 크기보다 제곱 정도 큰 크기의 표수에 대해서도 프로베니우스 전개가 가능해져, 스칼라 곱의 계산속도를 향상시키면서도 높은 안전도를 갖는 타원곡선 암호를 구현할 수 있다.

Claims (2)

  1. 타원 곡선 암호에서 스칼라 곱 kP의 계산속도 향상을 위한 프로베니우스 전개 방법에 있어서,
    φ = a + bλ (λ는 단위원의 4-제곱근 함수) 이고 p ≡ 1 (mod 4) 일 때,
    (a) s1에 k, s2에 0, i에 0을 입력하는 단계;
    (b) x = {as1+ bs2}/p 와 y = {-bs1+ as2}/p를 계산하고, 상기 x의 반올림 값을 t1, 상기 y의 반올림 값을 t2로 입력하는 단계;
    (c) r1= s1- at1+ bt2와 r2= s2- bt1- at2를 계산하고, 상기 r1값을 R1[i], 상기 r2값을 R2[i]로 입력하는 단계;
    (d) 상기 t1및 t2의 절대값이 2미만인지 확인하는 단계;
    (e) 상기 (d) 단계의 확인 결과 2이상일 경우 s1에 t1, s2에 t2, i에 i+1을 입력하여 상기 (b)단계로 복귀하는 단계; 및
    (f) 상기 (d) 단계의 확인 결과 2미만인 경우 k = (R1[i] + R2[i]λ)φi+ (R1[i-1] + R2[i-1]λ)φi-1+ … + (R1[0] + R2[0]λ)를 계산하고 출력하는 단계를 포함하는 것을 특징으로 하는 타원 곡선 암호에서 단위원의 4-제곱근 함수를 이용한 프로베니우스 전개 방법.
  2. 타원 곡선 암호에서 스칼라 곱 kP의 계산속도 향상을 위한 프로베니우스 전개 방법에 있어서,
    φ = a + bρ (ρ는 단위원의 3-제곱근 함수) 이고 p ≡ 1 (mod 3) 일 때,
    (a) s1에 k, s2에 0, i에 0을 입력하는 단계;
    (b) x = {(a - b)s1+ bs2}/p 와 y = {-bs1+ as2}/p를 계산하고, 상기 x의 반올림 값을 t1, 상기 y의 반올림 값을 t2로 입력하는 단계;
    (c) r1= s1- at1+ bt2와 r2= s2- bt1- (a - b)t2를 계산하고, 상기 r1값을 R1[i], 상기 r2값을R2[i]로 입력하는 단계;
    (d) 상기 t1및 t2의 절대값이 2미만인지 확인하는 단계;
    (e) 상기 (d) 단계의 확인 결과 2이상일 경우 s1에 t1, s2에 t2, i에 i+1을 입력하여 상기 (b)단계로 복귀하는 단계; 및
    (f) 상기 (d) 단계의 확인 결과 2미만인 경우 k = (R1[i] + R2[i]ρ)φi+ (R1[i-1] + R2[i-1]ρ)φi-1+ … + (R1[0] + R2[0]ρ)를 계산하고 출력하는 단계를 포함하는 것을 특징으로 하는 타원 곡선 암호에서 단위원의 3-제곱근 함수를 이용한 프로베니우스 전개 방법.
KR1020020017347A 2002-03-29 2002-03-29 타원 곡선 암호에서 단위원의 n-제곱근 함수를 이용한프로베니우스 전개 방법 KR20030078350A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020017347A KR20030078350A (ko) 2002-03-29 2002-03-29 타원 곡선 암호에서 단위원의 n-제곱근 함수를 이용한프로베니우스 전개 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020017347A KR20030078350A (ko) 2002-03-29 2002-03-29 타원 곡선 암호에서 단위원의 n-제곱근 함수를 이용한프로베니우스 전개 방법

Publications (1)

Publication Number Publication Date
KR20030078350A true KR20030078350A (ko) 2003-10-08

Family

ID=32377160

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020017347A KR20030078350A (ko) 2002-03-29 2002-03-29 타원 곡선 암호에서 단위원의 n-제곱근 함수를 이용한프로베니우스 전개 방법

Country Status (1)

Country Link
KR (1) KR20030078350A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100817048B1 (ko) * 2005-03-05 2008-03-26 삼성전자주식회사 여러 가지 포인트 표현을 기반으로 한 ecc에서 dfa대책을 위한 암호화 방법 및 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161169A (ja) * 1997-06-20 1999-06-18 Certicom Corp 楕円曲線上の有限体演算の加速方法
KR19990053158A (ko) * 1997-12-23 1999-07-15 정선종 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법
JP2000187438A (ja) * 1998-12-22 2000-07-04 Hitachi Ltd 楕円曲線暗号実行方法及び装置並びに記録媒体
KR20010000048A (ko) * 1999-11-18 2001-01-05 안병엽 m진법 방식을 이용한 타원곡선상 다중 점의 상수고속연산 방법
KR20010035704A (ko) * 1999-10-01 2001-05-07 구자홍 타원곡선 포인트의 고속 스칼라 승법을 위한 프로세스 및 방법
KR20010062971A (ko) * 1999-12-21 2001-07-09 오길록 암호시스템의 연산속도 개선 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11161169A (ja) * 1997-06-20 1999-06-18 Certicom Corp 楕円曲線上の有限体演算の加速方法
KR19990053158A (ko) * 1997-12-23 1999-07-15 정선종 프로비니어스 맵을 이용한 타원 곡선 위의 상수배 연산 방법
JP2000187438A (ja) * 1998-12-22 2000-07-04 Hitachi Ltd 楕円曲線暗号実行方法及び装置並びに記録媒体
KR20010035704A (ko) * 1999-10-01 2001-05-07 구자홍 타원곡선 포인트의 고속 스칼라 승법을 위한 프로세스 및 방법
KR20010000048A (ko) * 1999-11-18 2001-01-05 안병엽 m진법 방식을 이용한 타원곡선상 다중 점의 상수고속연산 방법
KR20010062971A (ko) * 1999-12-21 2001-07-09 오길록 암호시스템의 연산속도 개선 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100817048B1 (ko) * 2005-03-05 2008-03-26 삼성전자주식회사 여러 가지 포인트 표현을 기반으로 한 ecc에서 dfa대책을 위한 암호화 방법 및 장치

Similar Documents

Publication Publication Date Title
US6202076B1 (en) Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed
Koyama et al. New public-key schemes based on elliptic curves over the ring Zn
De Feo et al. Threshold schemes from isogeny assumptions
Xiao et al. Privacy preserving id3 algorithm over horizontally partitioned data
Castryck et al. Radical isogenies
US6212637B1 (en) Method and apparatus for en-bloc verification of plural digital signatures and recording medium with the method recorded thereon
CN103095459B (zh) 公钥密码体制中模幂运算方法、设备和服务器
Brier et al. Fast point multiplication on elliptic curves through isogenies
Hinek On the security of some variants of RSA
Onuki et al. Radical isogenies on Montgomery curves
Costello et al. Faster pairings on special Weierstrass curves
Jaiswal et al. Hardware implementation of text encryption using elliptic curve cryptography over 192 bit prime field
JP2005020735A (ja) データ処理装置におけるサイドチャネル攻撃防止
Catalano et al. The hardness of Hensel lifting: The case of RSA and discrete logarithm
KR20030078350A (ko) 타원 곡선 암호에서 단위원의 n-제곱근 함수를 이용한프로베니우스 전개 방법
Gutub Fast 160-bits GF (p) elliptic curve crypto hardware of high-radix scalable multipliers
Draziotis et al. Lattice attacks on DSA schemes based on Lagrange’s algorithm
Shani The security of all private-key bits in isogeny-based schemes
Golumbeanu et al. Elliptic curves differentiation with application to group signature scheme
Huang et al. FleS: A Compact and Parameter-Flexible Supersingular Isogeny Based Public Key Encryption Scheme
Lee et al. Families of pairing-friendly elliptic curves from a polynomial modification of the Dupont-Enge-Morain method
Chand Mathematical Aspects of Elliptic Curve Cryptography
KR20010035704A (ko) 타원곡선 포인트의 고속 스칼라 승법을 위한 프로세스 및 방법
Park et al. A general expansion method using efficient endomorphisms
Saju et al. A Public-Key Cryptosystem Based On Discrete Logarithm Problem over Finite Fields���

Legal Events

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