Ⅰ. 서론
유한체 GF(2”)은 암호이론과 에러정정코드와 같은 어플리케이션에서 많이 사용된다. 이들 어플리케 이션에서는, GF(2")상에서 정의된 덧셈, 뺄셈, 곱셈 및 곱셈 역원 연산을 고속으로 계산하는 것이 중요 하다[2, 3, 生
그러나 대부분의 공개키 기반 암호시스템에서는 큰 수의 他을 갖는 G*) F(2 상에서 구축되며, 암호화 및 복호화의 수행 시간은 주로 곱셈 및 곱셈 역원 연산에 좌우되며, 이 중 곱셈 역원 연산이 더 시간 복 잡도가 커서 많은 연구의 대상이 되고 있다F~5l.
Fermat 정리로부터 GF(2”)의 임의의 원소 6의 곱셈 역원은 缶1 = 62""이교1시, 또한 정규기저를 사용해서 B를 표현하면, 叶은 cyclic shift로 간단히 계산될 수 있으며 이것은 곱셈 보다 매우 고속이다 [2-5]
Rjnrat 정리로부터 日의 곱셈 역원은 6를 (2” — 2) — 1 번 곱셈하면 계산될 수 있지만, G*) F(2의 임의의 원 소를 정규기저를 이용해서 표현할 경우에, 屛이 cyclic shift로 간단히 계산될 수 있다는 것을 이용하 면, 곱셈 역원을 계산하는데 필요한 곱셈 횟수를 상당히 감소시킬 수 있다.
그래서 Fermat 정리를 기반으로 하고, GF(2"")에서 정규기저를 사용해서 곱셈 역원을 계산하는 방법 들이 많이 제안되어 왔다. 이들 중 Itoh와 Tsujii가 제안한 방법은 필요한 곱셈 횟수를 O(logm)까지 감 소시켰으며미, Chang et al.은 m-1 을 두 개의 인수 로 분해하여 몇몇 m에 대해서 Itoh와 Tsujii의 방법을 향상시켰다用 그러나 Chang et al.이 제안한 방법은 m-1 이 소수이면 적용할 수 없고, 인수분해를 어떻게 하냐에 따라서 곱셈 횟수가 차이가 나는 단 점이 있다同. 그래서 최근에 Takagi et al.은 Chang et al.의 방법을 보안해서 m-l이 소수이어도 적용 할 수 있는 새로운 방법을 제안하였지만, 곱셈 횟수 를 최소로 하는 所- 1에 대한 최적 분해를 미리 exhaustive search로 찾아야 하는 단점이 있다目.
본 논문은 Fermat의 정리를 기반으로 하고 GF(2") 에서 정규기저를 사용해서 곱셈 역원을 고속으로 계 산하는 새로운 방법을 제안한다. 본 논문의 방법은 Itoh와 Tsujii가 제안한 방법을 내부적으로 이용하여 필요한 곱셈 횟수를 감소시키며, 2" - 2을 복잡하게 분해한다든지 하는 절차 없이, 1에 대한 특성을 이용해 간단한 분해 절차에 의해 필요한 곱셈 횟수 를 감소시킨다.
다음 장 2.1 절에서 정규기저를 사용해서 G*) F(2의 임의의 원소에 대한 곱셈 역원을 계산하는 방법을 소개한다. 2.2절에서는 곱셈 역원을 계산하는 이 전 방법들에 대해서 요약하고, 2.3절에서 본 논문에서 제안한 방법을 설명한다. 그리고 3장에서 결론을 맺는다.
Ⅱ. 본 문
2.1 Multiplicative Inverses Using Normal Basis
유한체 G*) F(2의 임의의 원소 B는 GF(2)상에서 정 규기저(Normal Basis), a2°, a', ..., 시'" '(kG*)) F(2 를 사용해서 아래와 같이 표현할 수 있다
#(1)
또한 위 표현을 이용해서 B는 벡터 (角, …, (3)—1) 으로도 표현할 수 있다
Fermat 정리로부터 GF(2”) 의 임의의 원소 6에 대해서 이고 곱셈에 대한 역원 时은 尸 = 旷2 이다. G*) F(2의 임의의 원소 6와 7에 대해서 (I3+y)2 = 02+72 이므로 /3=&서'+ /%# + ... + 歸-1广 일 때(£, vGF(2)), 扌은
#(2)
이다. 叶을 벡터 표현으로 바꾸면 槌…队 …, &3)이므로 8의 제곱(squaring)은 8의 벡터 표 현의 1-bit cyclic right shift로 간단히 계산된다. 그리고 6’는 B을, 번 제곱하면 되므로, (/ mod m) -bit cyclic right shift로 계산된다. G*) F(2의 임의 의 원소 6의 곱셈 역원은 6「' = 日2"-2이므로 6의 곱셈 역원을 구하기 위해서는 B를 (* 2 —2)—1 번 곱 해야 한다. 그러나 /扩"-2를 가 포함된 형태로 분 해흐〕면, 。'은 (? mod cyclic right shif로 계 산하고 각 扌'끼리 곱셈을 계산하면 되므로 그 만큼 곱셈 횟수를 줄일 수 있다.
그래서 정규기저를 이용한 GF(2”)의 임의의 원 소에 대한 곱셈 역원을 계산하는 문제는 2”-2를 어떻게 분해하느냐에 따라 곱셈 횟수가 결정되므로 2* — 2의 분해가 핵심이다. 다음절에서 2” — 2를 분 해하는 이전의 방법들에 대해서 설명한다.
2.2 Conventional Methods
2m-2=21 + 22 + - + 2"!-1 이기 때문에,
#(3)
이다. 그래서 广 은 제곱과 곱셈을 반복 적용하여 계산할 수 있다. 이 방법은 Wang et al. 이 제안한 방법으로서 m-2 번의 곱셈과 번의 제곱을 필요로 한다
Itoh와Tsujii는 1 을 g-bit의 이진표현 [lms_2 ■.如四小으로 표현하고 아래와 같은 방법을 기반으로 해서 필요한 곱셈 횟수를 0( log沥까지 감소시 켰다기同
仇- 1 = 2‘t + m9_224-2 + ■.- + 所 12' + 所02° 이므로,
#(4)
이 ■μ了 여기서 2 Sq…皿쌔2 = 2 屿-必宀 +… + 啲以 + 後繆이다 더 나아가서
#(5)
이 된다. 그래서
#(6)
이다. 위의 감소 절차를 반복 적용하면, 2宀_]
#(7)
이 된다. 그래서 곱셈 역원
#(8)
이 된다. 이 방법은 G*) F(2의 임의의 원소에 대한 곱셈 역원을 계산하는데 Z(m — 1) + w(m — 1) — 2 번 의 곱셈과 /(m—1)+ 犯(師- 1) - 1 (multiple-bit)번의 cyclic shift를 필요로 한다. 여기서 /(的-1)은 m-1 을 이진표현 하는데 필요한bit의 개수이며, 四(%—1)은 初- 1의 이진표현에서 1의 개수, 즉 Hamming weight 를 나타낸다.
Chang et al.은 Itoh와 Tsujii가 제안한 방법을 향 상시켰으며, 몇몇 m에 대해서 곱셈 횟수가 더 감소 됨을 보였다. 이 방법은 秫- 1 을 m-l = sx& 인 수 분해하여 곱셈 역원을 구한다3, 디.
Chang et al.의 방법은 (Z (s) +w(s)-2) + 0 (t) + z心)-2)번의 곱셈과 0(s)+ 如(s) —1) + (妲) + z〃(t) — 2) 번의 cyclic shift를 필요로 한다. 이 방법을 Itoh와 Tsujii의 방법과 비교해 볼 때, 이 방 법의 곱셈 횟수는 몇몇 %에 대해서 감소된다. 그러나 이 방법의 곱셈 횟수는 m-1 이 2개 이상의 인수 를 가지고 있을 때에는 인수분해 방법에 따라 그 곱 셈 횟수가 달라 질 수 있으며, 또한 所-1이 소수이 면 적용될 수 없는 단점이 있다.
Chang et al. 이 제안한 방법은 효율적이지만, m-1 이 소수가 되는 仇에 대해서는 적용할 수 없다. 예를 들어 %=2"일 때, 如 = 5, 7, 13, 19, …인 경우에는 이 방법을 사용할 수 없다』. Takagi et al. 이 제안한 방법은 이러한 m에 대해서도 적용할 수 있는 방법으로, 그 원리는 다음과 같다同.
#(2)
이므로, 日의 곱셈 역원 nm-h c
#(10)
이다. 样 , 는 /-bit cyclic left shift에 의해서 계산할 수 있다. 그래서 广은 /외…-?와 久번의 곱셈으로부터 계산할 수 있다. 屏1-2는 %을 加-h로 치환하 면 Itoh와 Tsujii와 Chang et al.의 방법에 의해서 계 산할 수 있다.
예를 들어 m=2”=128이면, 仇-1 = 127이므로 Chang et al.의 방법으로는 계산할 수 없다. 그래서 m-l = 127을 18x7 + 1 로 분해하면
#(11)
이 된다. 여기서 을 Chang et al.의 방법을 이 용해서 계산하면 9번의 곱셈을 필요로 한다. 따라서 广는 10번의 곱셈으로 계산될 수 있다. 그러나 Itoh와 Tsujii의 방법은 12번의 곱셈을 필요로 한다.
Takagi et al.의 방법은 지금까지의 방법 중에서 곱셈 횟수가 가장 적다. 그러나 이 방법은 m이 주어 졌을 때, exhaustive search로 秫-1에 대한 최적 분 해를 우선 찾아야 한다.
2.3 New Me나)od
대부분의 실용적인 어플리케이션에서 me 주로 2의 거듭제곱을 많이 사용한다⑸. 본 논문에서는 m=2n 일 때, 2* — 2을 분해하는 새로운 방법을 제안한다. m= 2 n 이면, m— 1 = 2 "― 1 이다. n 이 짝수일 때, 2"-1을 이진표현으로 변환하면 계수가 모두 1이고, 1의 개수가 짝수인 n 개이다. 예를 들 어, 如 = 6이면 26 — 1 = 63 = (111111)2 이다. 그러나 n 이 흘수일 때, 2" - 1을 이진표현으로 변환할 경우, 계수는 모두 1이지만 1의 개수는 홀수이다. 예를 들어, ” = 7이면 2 7- 1 = 127 = (1111111) 2 이다.
우선 "이 짝수인 6, 즉 仇=驴인 경우를 예를 들 어 2驴-2를 분해하는 방법에 대해서 설명해 보자. z = 6이면 m-l = 26-l = 63 = (llllll)2 이므로, (111112) = 3(42 + 4' + 4°)이고, 이것을 분해하는데 이용하면
#(12)
가 된다. 그래서 日의 역원은
#(13)
이다. 여기서 ^2 Je Itoh와 Tsujii의 방법을 이용해 서 6번의 곱셈으로 계산할 수 있다. 그러므로 欧字 는 8=6+2 번의 곱셈 횟수를 필요로 한다. 이것은 Itoh와 Tsujii의 방법만을 사용할 경우인 10번의 곱셈 횟수 보다 적다.
다음으로 n이 홀수인 7인 경우에 대해서 살펴보 자. e=7이면 彻-1 = 2, — 1이므로
#(14)
이다. 따라서 日의 곱셈 역원, 时은
#(15)
이다. 여기서 序抨-'은 위에서 설명한 대로 8번의 곱셈으로 계산된다. 그래서 62 5-2은 10=8+1+1 번 의 곱셈으로 계산 가능하다. 이것은 Itoh와 Tsujii 의 방법만을 사용할 경우인 12번의 곱셈 횟수 보다 적다. 위의 내용을 바탕으로 "이 如 = 2从农는 정수) 인 경우와 〃=2在+1(住 정수)에 대해서, m=2n 일 때, 2" — 2 를 분해하는 방법을 일반화시키면 다음과 같다.
., z= 2为(2*) 인 경우
#(16)
#
, 饨=2m(秫=2"+')인 경우
#(17)
#
본 논문의 방법과 Itoh와 Tsujii의 방법을 몇몇 所=2”에 대해서 곱셈 횟수를 비교하면 표 1과 같다. 표 1의 결과로부터 본 논문의 방법은 곱셈 역원 을 계산하는데 필요한 곱셈 횟수가 Itoh와 Tsujii가 제안한 방법 보다 적음을 알 수 있으며, 또한 식(16) 과 (17)로부터 분해 절차가 간단함을 알 수 있다.
[표 1] 1 곱셈 횟수 비교(단, m = 2"(4^»<16))
Ⅲ. 결론
본 논문에서는 실용적으로 중요한 %=2”일 때, GF(2”)에서 정규기저를 사용해서 G*) F(2의 임의 의 원소를 표현할 경우에, 곱셈 역원을 고속으로 계 산하는 방법을 제안했다. 본 논문의 방법은 Itoh와 Tsujii가 제안한 방법보다 필요한 곱셈 횟수를 감소 시켰으며, 또한 다른 이전의 방법들과는 다르게2*-2 을 복잡하게 분해하는 과정이 필요 없이 규칙적이며 간단하다.
* 본 논문은 과학기술부 • 한국과학재단지정「한국항공대학교 인터넷정보검색연구센터」의 연구비 맟 IDEC의 지원으로 수행되었습니다
References
-
IEEE Trans. Computers
v.34
no.8
VLSI Architecture for Computing Multiplications and Inverses in GF
$(2^m)$ C.C.Wang;T.K.Truong;H.M.Shao;L.J.Deutsch;J.K.Omura;I.S.Reed -
Information and Computing
v.78
A Fast Algorithm for Computing Multiplicative Inverses in GF
$(2^m)$ Using Narmal Basis T.Itoh;S.Tsujii -
information Processing Letters
Two Algorithms for Computing Multiplicative Inverses in GF
$(2^m)$ Using Normal Basis T.Chang;E.Lu;Y.Lee;Y.Leu;H.Shyu -
Proceeding of ASIC/SOC Conference
Improved VLSI Designs for Multiplication and Inversion in GF
$(2^m)$ over Normal Basis L.Gao;G.E.Sobelman -
IEEE Trans. on Computers
v.50
no.5
A Fast Algorithm for Multiplicative Inversion in GF
$(2^m)$ Using Normal Basis N.Takagi;J.Yoshiki;K.Takagi