DOI QR코드

DOI QR Code

A Fast Method for Computing Multiplcative Inverses in GF(2$^{m}$ ) Using Normal Bases

  • 장용희 (한국항공대학교 정보통신공학과) ;
  • 권용진 (한국항공대학교 정보통신공학과)
  • 발행 : 2003.04.01

초록

Cryptosystems have received very much attention in recent years as importance of information security is increased. Most of Cryptosystems are defined over finite or Galois fields GF($2^m$) . In particular, the finite field GF($2^m$) is mainly used in public-key cryptosystems. These cryptosystems are constructed over finite field arithmetics, such as addition, subtraction, multiplication, and multiplicative inversion defined over GF($2^m$) . Hence, to implement these cryptosystems efficiently, it is important to carry out these operations defined over GF($2^m$) fast. Among these operations, since multiplicative inversion is much more time-consuming than other operations, it has become the object of lots of investigation. Recently, many methods for computing multiplicative inverses at hi호 speed has been proposed. These methods are based on format's theorem, and reduce the number of required multiplication using normal bases over GF($2^m$) . The method proposed by Itoh and Tsujii[2] among these methods reduced the required number of times of multiplication to O( log m) Also, some methods which improved the Itoh and Tsujii's method were proposed, but these methods have some problems such as complicated decomposition processes. In practical applications, m is frequently selected as a power of 2. In this parer, we propose a fast method for computing multiplicative inverses in GF($2^m$) , where m = ($2^n$) . Our method requires fewer ultiplications than the Itoh and Tsujii's method, and the decomposition process is simpler than other proposed methods.

키워드

Ⅰ. 서론

유한체 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의 지원으로 수행되었습니다

참고문헌

  1. 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
  2. Information and Computing v.78 A Fast Algorithm for Computing Multiplicative Inverses in GF$(2^m)$ Using Narmal Basis T.Itoh;S.Tsujii
  3. 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
  4. Proceeding of ASIC/SOC Conference Improved VLSI Designs for Multiplication and Inversion in GF$(2^m)$ over Normal Basis L.Gao;G.E.Sobelman
  5. 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