Ⅰ. 서론
유한체 상의 연산은 코딩이론(coding theory), 컴퓨터 대수(computer 시gebra), 공개키 암호(public key cryptosystem)중 타원곡선 암호(elliptic curve crypto- system)등 여러 분야에서 널리 쓰이고 있다[1-3]. GF(^) 의 주요연산은 덧셈, 곱셈, 제곱, 역원 연산들이다. 이 중에서 덧셈과 제곱 연산은 단순한 과정으로 수행되지만, 곱셈과 역원 연산은 덧셈과 제곱 연산에 비해 복잡한 연산 과정을 필요로 한다. 특히, 공개키 암호 시스템에서 가장 많은 비중을 차지하는 지수승 연산의 경우 반복적인 곱셈으로 구성되므로 곱셈기의 효율성이 공개키 암호 시스템의 효율성에 크게 영향을 미친다.
(女《2^곱셈기 설계에 있어서 원소 표현은 매우 중요하다. 주로 쓰는 원소표현 방법은 정규기저 표현(normal basis), 다항식기저 표현(p이ynomial basis), 쌍대기저 표현(dual basis), 여분 표현(redundant representation) 등이 있다. 이들 각각은 환경에 따라 장단점을 가지며 이 중에서 여분 표현을 사용하는 경우 다른 기저들과 비교해 모듈러 감산부분을 빠르게 구성할 수 있기 때문에 시간- 공간 복잡도의 tradeoff를 이용해 효율성을 제공한다. [8-13], 다항식 기저에서 林차이며 항의 차수 차이가 s인 Equally Spaced 기약 다항식 (ESP) 心) 의 경우 (즉, 患 = X产 冠) 복잡도는 彻2 and 게이트, 師2 —$ XOR 게이트의 공간 복잡도와 Ta + (1+ f log 1 )7、의 시간 복잡도가 요구된다[4-7] (여기서, 厂4:2개의 입력에 1개의 출력인 AND 게이트 시간, 丁戸2개의 입력에 1개의 출력인 XOR 게이트 시간 ). 그러나 연산 시간을 줄이기 위해 여분 표현을 적용하면 (m+s) 2AND 게이트, S+s-l)3+s) XOR 게이트의 공간 복잡도와 Ta + { f log 2?m+s1 仃X의 시간 복잡도를 가진다 [10-13]. 따라서 s가 최소인 AOP(A11 One Polynomial) 가 이중에서 가장 효율적임을 알 수 있다[8], [1斗 본 논문에서는 Left-to-Right 지수승 환경에서 고정된 다항식의 곱을 반복적으로 수행한다는 것을 착안하여 여분 표현으로 표현한 원소와 다항식 기저로 표현한 원소의 곱셈을 수행하는 곱셈기를 제안한다.
제안한 곱셈기는 일반적인 ESP에서 여분 표현을 사용한 기존의 곱셈기와 다르게 하나의 입력 값이 다항식 기저로 표현되기 때문에 감산하는 부분이 적어져 기존 여분 표현의 곱셈기와 비교하여 시간-공간 복잡 도면에서 모두 효율성을 제공한다.
본 논문의 구성은 다음과 같다. 2절에서는 여분표현 방법에 대한 개요를 바탕으로 여분 표현을 이용한 기존 곱셈 기와 원소표현 변환에 대하여 소개한다. 3절에서는 여분표현을 이용한 제안하는 곱셈기를 기술하고, 4절에서 ESP기약 다항식에서 정의된 기존 곱셈기들과 제안하는 곱셈기의 효율성을 비교한다.
Ⅱ. 여분표현의 개요
본 절에서는 여분 표현을 이용한 기존 곱셈기를 소개하며, 여분표현을 다항식기저 표현으로 변환하는 과정도 살펴본다. 우선, 소개에 앞서 유한체 漕似* *1/을 생성하는데 이용될 ESP 기약 다항식을 다음과 같이 정의한다. GF(2)에서 차수가 所이고 항사이의 차가 $인 다항식 p(x)= X)/를 ESP(Equally-Spaced P이ynomial)라 한다(이때 m=ns). 그리고 a를 GF(2)위에서 차수가 以인 ESP의 근이라 초]■자. 그러면, {1, a, a %*2 ... 】}은 다항식 기저를 이루고, 方伝")의 모든 원소는 l, a, c", …次 I의 선형 결합으로 표현된다.
또한, ESP p(x) 다항식의 경우 a 浒危 = 1이므로 a 차 항 이후의 곱셈 결과는 a 차 항 이후로 匸\해진다. 그리고 a, ”차 항부터 차 항까지의 감산 시 발생하는 시간 복잡도를 줄이기 위해, 다항식기저 {1, a, …"가를 확장한 {1, a, a%..., a H}을 고려한다. 그러면, 67《2今에 있는 임의의 원소는 矿 깨審云"SvGF(2), (心5+s—l) 로 표현된다. 이와 같이 유한체 원소 표현에 원래 기저에 항을 추가해서 나타내는 방법을 여분 표현이라 한다. 따라서, 본 논문에서는 기약인 ESP에 의해 정의된 에서의 효율적인 비트-병렬 곱셈기를 제안하기 위해 여분 표현의 이러한 이점을 사용한다.
2.1. 여분 표현을 이용한 기존 곱셈기
C가 ESP 欢/의 근이라 하면, 力(a) = 0 이다. 따라서 유한체 <?尸伝少에 있는 임의의 원소 ◎ 와 는 S- 1. w + s- 1 FT=li—1 /-1 Q= 畐 "匕 6= 见 b昌 로 표현된다. (단, S0uGF(2)). 두 원소의 곱셈 a・ b을 수행하는 연산 과정에는 다음과 같은 두 가지 방법이 있다. 첫 번째 방법은 곱셈단계와 모듈러 감산단계를 분리해서 계산하는 일반적인 방법이며, 두 번째 방법은 곱셈단계와 모듈러 감산을 하나의 행렬로 구성해 처리하는 마스트로 비토 곱셈 방법이다. 이 중 두 번째인 마스트로 비토 곱셈 방법의 경우 병렬 처리가 가능해 고속 연산에 적합하다 [4-6]. 따라서 유한체 에 대한 고속 병렬 곱셈기를 설계하기 위해 이 방법을 사용한다. 그러면 계산 과정은 다음과 같다. 우선, O와 力를 G/气产)의 임의의 두 원소라하자. q와 力는 “= S)号; b= “w 彼/로표현된다. 이제 두 원소를 단순히 곱하는 과정을 식으로 나타내면 다음과 같다.
#
이제 위의 다항식 표현의 곱셈을 나타내기 위해 다음과 같이 행렬 Af을 정의한다.
#
그러면 정의된 행렬 肱을 이용해 다항식 곱셈을 다음과 같은 행렬의 표현식으로 나타낼 수 있다[4-6丄
#
이며, 이때, 肱(2%— l + 2s)x(m+s) 행렬, 二=(门, 5 c 2m-2 +2s)'' 节=3。, …宀-V 열벡터이다. 이제, 그을 여분 표현으로 나타내기 위해서 다음과 같은 두 가지 과정이 필요하다.
2.1.1 행렬 감산 과정
/+s=]임을 이용하면 다항식 의 坏 + sM 차 항 이후가 /차 항 이후로 더해진다. 이 과정을 위의 행렬 표현으로 보면 행렬 必의 (破+并分행 이후가 现 이후로 더해진다. 따라서 행렬 M의 특성상 추가적인 XOR 게이트 없이 행렬 肱 (2»l1+2$)x(m2 + s) 은 행렬 M':(m+s)xS+s)으로 구성할 수 있다[4], [5], [6].
#
2.1.2 행렬 곱셈 과정
다항식 c을 力(a) 로 감산한 다항식을 c'로 정의한다. 그러면, 다항식 狀a)로 감산한 과정은 행렬 감산 과정과 관련되어 있으며, 위에서 정의된 心, 을 이용해 모듈러 감산을 다음과 같은 행렬의 표현식으로 나타낼 수 있다. 囹, 【5], [6].
#
이며, 이때, M :(m-es)x(m-is) 행렬, c= ( c0, c j,
…, %+s-广 B= (60, ..., b m + s-i)T-
이제까지 살펴본 여분 표현의 기존 곱셈기의 효율성은 다음과 같다. 행렬 M '에 열벡터 节을 곱할 때 각 행마다 (欢+s)개의 곱과 합이 수행되고 총 행의 개수가 (m+s)개 이므로, (m+s)2 AND 게이트, (師+$—1) 3十§) XOR 게이트의 공간 복잡도와 Ta +( [ log 2(m+s) 1、)Tx 시간 복잡도가 소요된다.
2.2. 원소표현 변환
유한체 원소 표현에는 다항식기저 표현, 정규기저 표현, 쌍대기저 표현, 여분 표현 등 여러가지 종류가 있다. 이들은 각각의 환경에 따라 장단점을 가진다. 따라서 연산을 수행할 때 그 연산에 장점을 갖는 원소 표현으로 변환하는 일은 필수적이다. 본 논문에서 제안한 곱셈기는 ESP 기약 다항식의 특성 a 桃+$=1을고려해 여분 표현을 선택한다. 그리고 연산 결과를 우리가 원하는 다항식 기저로 표현하려면 a 師차 항부터 a m+s-i차 항까지를 力(力로 다음과 같이 감산하며 상세한 설명은 다음과 같다.
#(1)
#(2)
#(3)
수식 (1)은 a 妇항 이후를 감산하기 위한 유도 과정을 나타내며, 수식 (2)은 정의된 기약 다항식의 及 砂 근이 a 이므로 a*=a 까-^+… + 广 十1라는 특성에 의해 유도된 과정이다. 마지막으로 수식(3)은 인덱스 맞춰 정리한 식을 나타낸다.
따라서, 유한체 以(2°丿원소를 여분 표현에서 다항식 기저 표현으로 변환하는데 다음과 같은 복잡도가 요구된다. 공간 복잡도의 경우 s개의 항이 순서대로 飾 개씩 더해지므로 mXOR 게이트, 시간 복잡도의 경우 더해지는 부분이 한 번씩 병렬로 구성되므로 1 Tx 시간 지연이 일어난다.
Ⅲ. 여분 표현을 이용한 제안하는 효율적인 비트-병렬 곱셈기
본 장에서는 여분 표현을 이용한 기존 곱셈기와 다른 형태의 효율적인 비트■병렬 곱셈기를 소개한다. 본 곱셈기는 다항식 지수승 연산이 많이 쓰인다는 것을 감안한 Left-to-Right 지수숭 환경에 적합한 곱셈기로 고정된 형태의 인자가 반복적으로 곱해지는 점을 착안하여 고정된 형태의 입력 값을 다항식 기저로 표현한 원소를 다른 하나의 입력 값은 여분 표현을 이용한 원소를 곱하는 형태이다. 임의의 원소 a, /* 가 각각 여분 표현과 다항식 기저로 표현된다면, a= 師후, 2戶扑= X當2 (2))이다. 두 원소 와 膾 곱하는 과정을
식으로 나타내면 다음과 같다.
#
이제 위의 다항식 곱셈과정을 표현하기 위해 다음과 같이 행렬 肱을 정의한다.
#
그러면 정의된 행렬 展 이용해 다항식 곱셈을 다음과 같은 행렬의 표현식으로 나타낼 수 있다[4], [5], [6].
#
t
이고) C = (c Q, C I, ", , c 2m~2 + se
b= (b°, …, b 梆- 1)
열벡터이며, 乙는 凋 다항식 계수로 이루어진 (2m—l + s)xl인 열벡터이고, 节는 Z의 다항식 계수로 이루어진 初<1인 열벡터이다. 또한, 정의한 행렬 Me (2m-l + s)>s인 행렬이고 °라는 다항식 계수로 이루어져 있다.
열벡터 그를 여분표현으로 나타내기 위한 감산 과정은 기약 ESP 力(1)와 연관되어 나타난다.
c'= "芝(c;@GF(2))로 표현된다. 여기서, c' 는 기약 ESP 欢光)의 특성인 /危=1을 이용한 결과 값이다 食: Kv) 의근).
이제, 위의 식을 행렬로 표현하기 위해서 다음과 같은 두 가지 과정을 거친다.
3.1. 행렬 감산 과정
ae+s=l 인 특성을 이용해 감산하면 다항식 c의 推+5項 차 항 이후가 각각 z차 항 이후로 더해진다. 그러면, 행렬 Me 추가적인 XOR 게이트 없이 행렬 必'(:(折+$)><勿)으로 구성 할 수 있고, 변화 과정은 다음과 같다[4], [5], [6].
#
여기서, Mzfl는 Z행 구성 원소을, 행의 구성 원소와 XOR 연산하여 项행으로 이동 시키는 것으로 정의한다. 그러면, 위의 변화 과정으로 + 인 행렬) 에서 M'((m+s)x物행렬)으로 바뀐다.
#
3.2. 행렬 곱셈 과정
여분표현으로 나타낸 다항식 2은 행렬 감산 과정에서 얻은 행렬 肱'을 이용해 모듈러 감산을 다음과 같은 행렬의 표현식으로 나타낼 수 있다[4], [5], [6]
#
이고, M:(彻+S)>5Z 행렬, E= (勺心, …, 农+s—1)% 节=(如, ..., 匕_])『 이다. 이때, 그은 °’의 다항식 계수로 이루어진 (%+s)xl인 열벡터, 节는 b의 다항식 계수로 이루어진 師妇인 열벡터이다.
따라서, 제시한 행렬의 계산과정을 도식화 해보면, 다음과 같다. 그리고 각각의 [그림 1, 2] 에서 PPGj (Parallel Product Generator)는 勿개의 2입력 AND 게이트의 병렬 연산구조로써 행렬 m'의 z행의 구성 원소와 ~b 다항식 계수를 곱하는 역할을 수행하고 BTX, (Binary Tree XO&)는 師개의 2입력 XOR 게이트의 이진 트리 연산구조로써 尸尸&에서 계산한 결과들을 더해 다항식 /의 z번째 계수를 생성하는 역할을 한다. (c)는 2 입력 AND 게이트, $는 2입력 XOR 게이트를 나타낸다. 따라서, 그림을 통해 설계된 곱셈기의 복잡도를 살펴보면 다음과 같다. 행렬 에 b을 곱할 때 행렬 说'의각 행은 병렬로 구성되고 총 행의 개수가 3+s) 개 이므로 공간 복잡도는 AND 게이트 彼師+s), XOR 게이트 S-l)S+s)이고, 시간 복잡도는 Ta+{ [log2ml }TX 가 소요된다.
[그림 1) 제안하는 곱셈기의 각 부분의 Linear Shift 확대부분
[그림 2〕GF(2m)상의 제안한 곱셈기 구조
〔표 1] ESP 다항식에 정의된 GF(2m)의 곱셈기들의 복잡도 비교
[그림 3] 제안하는 곱셈기의 각 부분의 PPG1-1와 BTX
[그림 4] 제안하는 곱셈기의 각 부분의 FFG1-1 와
[그림 5) GFfb)상의 제안한 곱셈기의 전체구조 중 M[i](1≤i≤m-1)
[그림 6) GF(2m)상의 제안한 곱셈기의 전체구조 중 M[i](m≤i≤m+s)
Ⅳ. 결론
본 논문은 여분표현을 사용한 기약 ESP에 의해 정의된 (과《2^에서의 효율적인 비트-병렬 곱셈기를 제안하였다. 제안하는 곱셈기와 기존의 곱셈기들의 공간 및 시간 복잡도를 비교하면 위의 [표 1]과 같다. 본 논문에서 제안하는 곱셈기는 [표 1]에서 보는 것 처럼 시간 복잡도는 다른 곱셈기들과 비교해 가장 효율적 이고 같은 여분표현을 사용한 기존 결과와 비교해 공간■시간 모두 효율성을 가진다. 또한 Left-to-Right 지수승 환경에서와 같이 하나의 곱셈 입력 값이 고정된 형태에서 장점을 가진다.
참고문헌
- R. Lidl and H. Niederreiter, Introduction to finite fields and their applications, New York: Cambridge Univ. Press, 1994
- A. J. Menezes, I. F. Blake, X. Gao, R. C.Mullin, S. A. Vanstone, and T. Yaghoobian, Applications of finite fields, Kluwer Academic, 1993
- A. J. Menezes, Elliptic Curve Public Key Cryptosystems. Boston; Kluwer Academic, 1993
- A. Halbutogullari and C.K. Koc, "Mastrovito Multiplier for General Irreducible Polynomials," IEEE Trans. Computers, vol. 49, no. 5, pp. 503-518, May 2000 https://doi.org/10.1109/12.859542
- Tong Zhang, Keshab K. Parhi, "Systematic Design of Original and Modified Mastrovito Multipliers for General Irreducible Polynomials" IEEE Trans. Computers, vol. 50, no.7, July 2001
- B. Sunar and C. K. Koc, "Mastrovito Multiplier for All Trinomials," IEEE Trans. Computers, vol. 48, no. 5, pp. 522-527, May. 1999 https://doi.org/10.1109/12.769434
-
A. Reyhani-Masoleh and M,A Hasan, "Low Complexity Bit Parallel Architectures for Polynomial Basis Multiplication over GF(
$2^m$ )," IEEE Trans. Computers, vol. 53, no. 8, pp. 945-959, Aug. 2004 https://doi.org/10.1109/TC.2004.47 -
K.-Y. Chang, D. Hong, and H-Y. Cho, "Low complexity bit-parallel multiplier for GF(
$2^m$ ) defined by all-one polynomials using redundant representation," IEEE Trans. Computers, vol. 54, no. 12, pp. 1628-1630, Dec. 2005 https://doi.org/10.1109/TC.2005.199 -
G. Drolet, "A New Representation of Elements of Finite Fields GF(
$2^m$ ) Yielding Small Complexity Arithmethic Circuits," IEEE Trans. Computers, vol. 47, no. 9, pp. 938-946, Sep. 1998 https://doi.org/10.1109/12.713313 -
W. Geisehnann and R. Steinwandt "A Redundant Representation of GF(
$q^m$ ) for Designing Arithmetic Circuits," IEEE Trans. Computers, vol. 52, no. 7, pp. 848-853, July 2003 https://doi.org/10.1109/TC.2003.1214334 - W. Geiselmann and H Lukhaub, "Redundant Representation of Finite Fields,"Proc. Public Key Cryptography, pp. 339-352, 200l
- H Wu, M A. Hasan, I. F. Blake, and S. Gao,"Finite field multiplier using redundant representation," IEEE Trans. Computers, vol. 51, no. 11, pp. 1306-1316, Nov. 2002 https://doi.org/10.1109/TC.2002.1047755
-
C.-Y. Lee, E.-H Lu, and J-Y. Lee,"Bit-paralleI systolic multipliers for GF(
$2^m$ ) fields defined by all-one and equally spaced polynomials. "IEEE Trans. Computers, vol. 50, no. 5, pp. 385-393, May 2001 https://doi.org/10.1109/12.926154 -
MA. Hasan, M.Z. Wang, and Y.K. Bhargava, "Modular Construction of Low Complexity Parallel Multipliers for a Class of Finite Fields GF(
$2^m$ )," IEEE Trans. Computers, vol. 41, no. 8, pp. 962-971, Aug. 1992 https://doi.org/10.1109/12.156539 -
T. Hoh and S. Tsujii, "Structure of Parallel Mutipliers for a Class of Fields GF(
$2^m$ )," Information and Computation, vol. 83, pp. 21-40, 1989 https://doi.org/10.1016/0890-5401(89)90045-X -
ED. Mastrovito, ""VLSI Designs for MJ.ltiplication over Finite Fields GF(
$2^m$ )," Proc. Sixth Symp. Applied Algebra, Algebraic Algorithms, and Error Correcting Codes (AAECC-6), pp. 297-309, July 1988 - ED. Mastrovito, "VLSI Architectures for Computation in Galois Fields," PhD thesis, Linkoping Univ., Linkoping, Sweden, 1991