I. 서론
페어링 암호 기반의 암호 프로토콜 구현을 위하여 F3m위의 초특이 타원곡선이 매우 적합한 것으로 연구되었고 이에따라 F3m에서의 효율적인 유한체 연산에 대한 연구가 최근 주목을 받고 있다[2][7]. 특히 초특이 타원곡선위의 페어링 암호 알고리즘 중 F3m위에서의 ηr 페어링의 계산을 위하여 세제곱근 연산이 필요하다[3][7]. f(x) = xm +axk +b (a, b∈F3 )가 F3 [x]의 삼항 기약다항식(Irreducible trinomial)이라 할때, F3m = F3 [x]/(f)라 하자. F3m에서의 세제곱근 연산을 살펴보도록 한다. 우선 임의의 자연수 u에 대하여 m = 3u라 하자. (m≡±1 (mod 3)인 경우도 유사하게 적용할 수 있다.) 그러면 C ∈F3 m에 대하여
#
이고 이 식을 이용하여 C의 세제곱 연산식은 아래의 식 (1)과 같다.
#(1)
x1/3과 x2/3가 사전계산 되었다면, 식 (1)을 이용하여 단지 두 번의 다항식 곱셈만으로 세제곱근을 계산할 수 있다. 이 다항식 곱셈을 할 때, x1/3과 x2/3의다항식 표현이 작은 개수의 항을 갖는다면 보다 효율적으로 연산이 이루어진다. m≡k (mod 3)인 경우 x1/3과 x2/3의 다항식 표현이 매우 작은 개수의 항을 가지므로 가장 효율적으로 세제곱 연산을 할 수 있다[5]. 그러나 m≡k (mod 3)인 형태의 삼항 기약다항식 f(x) = xm +axk +b은 굉장히 드물게 존재한다. 따라서 m≠k (mod 3)인 형태의 삼항 기약다항식에 대해서 세제곱근을 구할 수 있는 방법에 대한 연구가 필요하게 되었고 O. Ahmadi 등은 이 경우에 대하여 x1/3의 다항식 표현 중 0 이 아닌 계수들의 개수를 x1/3의 헤밍웨이트라 할 때, 이 헤밍웨이트가 세제곱근 연산의 효율성을 결정하게 된다. 세제곱근 연산식의 x1/3과 x2/3의 헤밍웨이트를 계산하였다[4].
본 논문에서는 효율적인 세제곱근 연산을 위하여기존 결과보다도 x1/3과 x2/3의 헤밍웨이트를 낮추도록 한다. Polynomial Basis(PB)의 변형된 형태인 SPB는 2005년 GF(2n )에서의 곱셈기 설계를 위하여 제안되었다[1]. 본 논문에서는 SPB를 기저로 한 x1/3과 x2/3의 다항식 표현이 작은 개수의 항을 갖는다는 것을 발견하였다. 따라서 SPB를 기저로 하여 x1/3과 x2/3의 헤밍웨이트를 계산한다. 또한, 본 논문에서는 가능한 모든 삼항 기약다항식에 대하여 모듈로 감산 연산이 필요없는 SPB를 제공한다. 따라서 본 논문의 방법으로 [4]의 방법보다 훨씬 효율적으로 세제곱근을 연산할 수 있다. 앞으로 x1/3의 헤밍웨이트를 wt(x1/3 )로 정의한다.
본 논문의 구성은 다음과 같다. 2 장에서는 기존 결과들을 살펴보고, 3 장에서 SPB를 기저로 하여 wt(x1/3 )과 wt(x2/3 )를 계산한 후, 가장 적합한 SPB를 찾는다. 4장에서 비교와 결론으로 끝을 맺는다.
II. 관련 연구
본 장에서는 관련 연구 결과를 설명한다. 관련 연구로는 [4, 5]가 유일하다.
정리 1.
[5] f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡k (mod 3)이라 하면
#
정리 1을 통하여 m≡k (mod 3)인 경우, x1/3과 x2/3의 다항식 표현이 매우 작은 개수의 항을 가지는 것을 알 수 있다.
정리 2.
[4] f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡-k (mod 3)이라 하면 wt(x1/3 )∈{(m/e)-2, (m/e)-1, m/e}. 이 때, e = gcd(m, k).
m≡-k (mod 3)인 경우, O. Ahmadi 등은 x1/3 = #라 할 때, h(x) =#를 만족하는 다항식 g(x)와 h(x)를 찾도록 하였다. 이로써 x1/3의 다항식 표현을 찾고 wt(x1/3 )을 계산하였다. SPB는 모듈로 감산 연산을 줄이기 위해 이용하는 것이기 때문에 이 경우에는 PB를 기저로 한 wt(x1/3 )과 같은 결과를 갖는다. 아래의 정리들은 [4]의 결과들이며 본 논문에서는 아래의 정리들에 해당 하는 경우에 대하여 보다 낮은 wt(x1/3 )과 wt(x2/3 )을 제공한다.
정리 3.
[4] f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡0 (mod 3), k≡1 (mod 3)이라하면
#
정리 4.
[4] f(x) = xm +axk +b (a, b∈F3)가 F3위의 삼항 기약다항식이고 m≡0 (mod 3), k≡-1(mod 3)이라 하면 wt(x1/3) ≤ 5 이다.
정리 5.
[4] f(x) = xm +axk +b (a, b∈F3)가 F3위의 삼항 기약다항식이라 하면
#
이 때, p = ⌈(m-1)/3k⌉+⌈(m-1-k)/3k⌉, q= ⌈(2m-1)/3k⌉+⌈(2m-1-k)/3k⌉+⌈(2m-1-2k)/3k⌉.
정리 5로부터 k가 클수록 낮은 wt(x1/3 )를 얻을 수 있음을 알 수 있다. 그러나 큰 k를 갖는 삼항 기약다항식은 일반적으로 모듈러 감산 연산이 많이 필요하게 된다. 따라서 정리 5의 경우에 낮은 wt(x1/3 )를 얻는다 해도 추가적인 모듈로 감산이 많아 질 수 있다.
III. 적합한 SPB 계산
본 장에서는 SPB를 이용하여 효율적으로 세제곱근을 연산할 수 있는 방법을 제안한다. 또한, m≠±k(mod 3)인 경우에 대하여 wt(x1/3 )과 wt(x2/3 )을 계산하고 모듈로 감산 연산이 필요없는 가장 적합한 SPB를 찾는다.
정의 1.
r을 임의의 정수라 하고 집합 S = {xi | 0≤i≤m-1}를 F3위의 PB라 할 때, 집합 x- r S := {xi - r | 0≤i≤m-1}을 S의 SPB라 한다.
기존 결과 [4]에서는 추가적인 모듈로 감산 연산이 필요했다. 예를 들어, 정리 2의 m≡0 (mod 3), k≡1 (mod 3)인 삼항 기약다항식에 대하여 식 (1)에서 x1/3의 다항식 표현은#와 곱해져야한다. 그러면 x1/3#의 최대 차수는 4u-v-1가 되고 4u-v-1 >3u(= m)이므로 추가적인 모듈로 감산 연산이 필요하게 된다. 다른 모든 경우에 대해서도 같은 이유로 모듈로 감산 연산이 필요하다. 따라서 본 논문에서는 [4]에서와 달리 C1/3계산 시 모듈로 감산 연산이 필요 없도록 정의 1의 r을 결정한다. 이와 같은 r을 γ로 정의하고 식 전개의 편의를 위하여 임의의 정수 t와 Θ∈{0, 1, 2}에 대하여 r 대신에 3t+Θ을 대입 한다.
3.1 m≡0 (mod 3)인 경우
SPB를 기저로 하여 C를 간결하게 표현하기 위하여 아래의 함수를 정의한다.
#
식 (1)과 정의 1로부터 SPB를 기저로 한 C의 다항식 표현은 다음과 같다.
#(2)
따라서 식 (2)로부터 C의 세제곱근 연산식은 아래와 같다.
#
이제 SPB를 기저로 하여 wt(x1/3 )과 wt(x2/3 )을 계산하고 각 경우에 대하여 γ을 결정한다. 본 논문에서는 wt(x1/3 )를 최소화 하는데 초점을 맞추고 있으므로 PB에 속하지 않는 항에 대하여 허용한다. 그리고 나서 결과적으로 모듈로 감산이 필요 없는 적합한 SPB를 찾는다.
정리 6.
f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡0 (mod 3), k≡1 (mod 3)이라하면
#
증명. 임의의 양수 u와 v에 대하여(u >v) m = 3u 이고 k = 3v+1라 하자. F3m에서 x3u +ax3v + 1 +b=0 이므로 ax3v ∙x =-x3u -b 이다. 따라서
x1/3 =-axu - v -abx- v =-a(xu - v +bx- v ). (3)
또한
x2/3 = (-a(xu - v +bx- v ))2 = x2u - 2v +x- 2v -bxu - 2v. (4)
따름정리 1.
f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡0 (mod 3), k≡1 (mod 3)이라하면 γ∈{3v, 3v+1}.
증명. 식 (3)과 (4)로부터 다음의 식 (5)를 얻을 수 있다.
#(5)
식 (5)로부터 C1/3의 최소 차수는 -2v-σ2 -t이고 최대 차수는 3u-2v-1-σ2 -t임을 알 수 있다. 그러므로 식 (6)을 만족하면 식 (5)에서 더 이상의 모듈로 감산 연산은 필요하지 않게 된다.
#(6)
식 (6)으로부터 t = (2v+σ2 -Θ)/2를 구할 수 있고, 이 때, (t, Θ) 쌍은 (v, 0)과 (v, 1)가 될 수 있다. 그러므로 γ은 3v나 3v+1이 된다.
정리 7.
f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡0 (mod 3), k≡-1 (mod 3)이라 하면
#
증명. 임의의 양수 u와 v에 대하여(u≥v) m = 3u이고 k= 3v-1라 하자. F3m에서 x3u +ax3v - 1 +b=0이므로 ax3v ∙x- 1 =-x3u -b이다. 따라서
x- 1/3 =-a(xu - v +bx- v ).
그러므로
x2/3 = x- 1/3 ∙x =-a(xu - v + 1 +bx- v + 1 ). (7)
식 (7)로부터
x1/3 ∙x = (-a(xu - v + 1 +bx- v + 1 ))2
= x2u - 2v + 2 +x- 2v + 2 -bxu - 2v + 2
가 된다. 그러므로
x1/3 = x2u - 2v + 1 +x- 2v + 1 -bxu - 2v + 1 . (8)
따름정리 2.
f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡0 (mod 3), k≡-1 (mod 3)이라 하면 γ∈{3v-2, 3v-1}.
증명. 식 (7)과 (8)로부터 다음의 식 (9)를 얻을 수 있다.
#(9)
식 (9)로부터 C1/3의 최소 차수는 -2v+1+σ1 -t이고 최대 차수는 3u-2v-σ1 -t임을 알 수 있다. 그러므로 식 (10)을 만족하면 식 (9)에서 더 이상의 모듈로 감산 연산은 필요하지 않게 된다.
#(10)
식 (10)으로부터 t = (2v-1+σ1 -Θ)/2를 구할 수 있고, 이 때, (t, Θ) 쌍은 (v-1, 1)과 (v-1, 2)가 될 수 있다. 그러므로 γ은 3v-2나 3v-1이 된다.
3.2 k≡0 (mod 3)인 경우
먼저 m≡1 (mod 3), k≡0 (mod 3)인 경우를 고려해 보도록 한다. 임의의 양수 u에 대하여 m = 3u+1라 하면 C∈F3m는 다음과 같이 표현된다.
#
C의 간략한 표현을 위하여 아래와 같이 정의한다.
#
이를 이용하여 SPB를 기저로 한 C를 표현하면 식 (11)과 같이 쓸 수 있다.
#(11)
식 (11)로부터 아래와 같이 C1/3을 구할 수 있다.
#
정리 8.
f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡1 (mod 3), k≡0 (mod 3)이라 하면
#
증명. 임의의 양수 u와 v에 대하여(u≥v) m = 3u+1이고 k= 3v라 하자. F3m에서 x3u + 1+ax3v +b= 0 이므로-x3u ∙x = ax3v +b 이다. 따라서
x1/3 =-axv - u -bx- u. (12)
또한
x2/3 = (-axv - u -bx- u )2 = x2v - 2u +x- 2u -abxv - 2u. (13)
따름정리 3.
f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡1 (mod 3), k≡0 (mod 3)이라 하면 γ∈{3u, 3u+1}.
증명. 식 (12)과 (13)로부터 다음의 식 (14)를 얻을 수 있다.
#(14)
식 (14)로부터 C1/3의 최소 차수는 -2u-σ2 -t이고 최대 차수는 u-σo -t임을 알 수 있다. 그러므로 식 (15)을 만족하면 식 (14)에서 더 이상의 모듈로 감산 연산은 필요하지 않게 된다.
#(15)
식 (15)으로부터 (2u+σ2 -Θ)/2≤t≤(2u+σo-Θ)/2를 구할 수 있고, 이 때, (t, Θ) 쌍은 (u, 0)과 (u, 1)가 될 수 있다. 그러므로 γ은 3u나 3u+1 된다.
다음으로 m≡-1 (mod 3), k≡0 (mod 3)인 경우를 고려해보도록 한다. 임의의 양수 u에 대하여 m = 3u-1라 하면 C∈F3m는 다음과 같이 표현된다.
#
이를 이용하여 SPB를 기저로 한 C를 표현하면 식 (16)과 같이 쓸 수 있다.
#(16)
식 (16)로부터 아래와 같이 C1/3을 구할 수 있다.
#
[표 1] x1/3와 x2/3의 헤밍웨이트 비교표
α: p = ⌈(m-1)/3k⌉+⌈(m-1-k)/3k⌉,β : q = ⌈(2m-1)/3k⌉+⌈(2m-1-k)/3k⌉+⌈(2m-1-2k)/3k⌉.
정리 9.
f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡-1 (mod 3), k≡0(mod 3) 이라 하면
#
증명. 임의의 양수 u와 v에 대하여(u >v) m = 3u-1이고 k= 3v라 하자. F3m에서 x3u - 1 +ax3v +b= 0이므로
x3u ∙x- 1 =-ax3v -b
이다. 따라서 x- 1/3 =-axv - u -bx- u.
그러므로
x2/3 = x- 1/3 ∙x =-a(xv - u + 1 +bx- u + 1 ). (17)
식 (17)로부터
x1/3 ∙x = (-a(xv - u + 1 +bx- u + 1 ))2
= x2v - 2u + 2 +x- 2u + 2 -bxv - 2u + 2
가 된다. 그러므로
x1/3 = x2v - 2u + 1 +x- 2u + 1 -bxv - 2u + 1 . (18)
따름정리 4.
f(x) = xm +axk +b (a, b∈F3 )가 F3위의 삼항 기약다항식이고 m≡-1 (mod 3), k≡0 (mod 3) 이라 하면 γ∈{3u-2, 3u-1}.
증명. 식 (17)과 (18)로부터 다음의 식 (19)를 얻을 수 있다.
#(19)
식 (19)로부터 C1/3의 최소 차수는 -2u+1-σ1 -t 이고 최대 차수는 u-1-σ1 -t임을 알 수 있다. 그러므로 식 (20)을 만족하면 식 (19)에서 더 이상의 모듈로 감산 연산은 필요하지 않게 된다.
#(20)
식 (20)으로부터 t = (2u+1+σ1 -Θ)/2를 구할 수 있고, 이 때, (t, Θ) 쌍은 (u-1, 1)과 (u-1, 2)가 될 수 있다. 그러므로 γ은 3u-1나 3u-2이 된다.
V. 비교 및 결론
본 논문에서는 SPB를 기저로 하여 wt(x1/3 )와 wt(x2/3 )를 낮출 수 있음을 보였다. [표 1]은 기존 결과 [4]와 본 논문의 결과를 비교한 표이다. [표 2]만으로는 PB를 기저로 한 wt(x1/3 )와 SPB를 기저로 한 wt(x1/3 )를 비교하는 것이 쉽지 않으므로, m∈[2, 56] 인 삼항 기약다항식에 대하여 이들을 비교하여 [표 2]에 표현하였다. PB를 기저로 한 wt(x1/3 )와 비교하여 보다 좋은 결과를 굵게 표현하였다. [표 2]를 통하여기존 결과 [4] 보다 SPB를 기저로 한 wt(x1/3 )가 훨씬 효율적임을 알 수 있다. 또한, 3장의 따름정리에서 제공한 γ를 적용한 SPB를 기저로 하면 더 이상의 모듈로 감산 연산은 필요없게 된다.
[표 2] 2 ≤m ≤ 56이고 m≠±k (mod 3)인 삼항 기약다항식의 wt(x1/3 ) 비교표
References
-
H. Fan and Y. Dai, "Fast Bit-Parallel
$GF(2^{n})$ Multiplier for All Trinomials," IEEE Transactions on Computers, vol.54, no. 4, pp.485-490, April 2005. https://doi.org/10.1109/TC.2005.64 -
I. Duursma and H. S. Lee, "Tate pairing implementation for hyperelliptic curves
$y^{2}=x^{p}-x+d$ ," Advances in Cryptology. ASIACRYPT 2003, Lecture Notes in Computer Science, vol. 2894, Springer, Berlin, pp. 111-123, 2003. -
J. Beuchat, N. Brisebarre, J. Detrey, E. Okamoto, M. Shirase and T. Takagi. "Algorithms and arithmetic operators for computing the
$n_{t}$ pairing in characteristic three," IEEE Transactions on Computers, Special Section on Special-Purpose Hardware for Cryptography and Cryptanalysis,vol. 57, no. 11, IEEE Computer Society, November 2008. -
O. Ahmadi, D. Hankerson and A. Menezes, "Formulas for cube roots in
$F_{3^{m}}$ ," Elsevier Discrete Applied Mathematics 155, pp.260-270, 2007. https://doi.org/10.1016/j.dam.2006.06.004 - P. S. L. M. Barreto, "A note on efficient computation of cube roots in characteristic 3," Cryptology ePrint Archive: Report 2004/305, 2004.
- P. S. L. M. Barreto, H. Y. Kim, B. Lynn and M. Scott, "Efficient algorithms for pairing-based cryptosystems," Advances in Cryptology. CRYPTO 2002, Lecture Notes in Computer Science, vol. 2442, Springer, Berlin, pp. 354-368, 2002.
- P. S. L. M. Barreto, S. D. Galbraith, C. O hἙigeartaigh and M. Scott, "Efficient pairing computation on supersingular abelian varieties," Des. Codes Cryptography 42, pp. 239-271, 2007. https://doi.org/10.1007/s10623-006-9033-6