DOI QR코드

DOI QR Code

Efficient Bit-Parallel Polynomial Basis Multiplier for Repeated Polynomials

반복 기약다항식 기반의 효율적인 비트-병렬 다항식 기저 곱셈기

  • Published : 2009.12.31

Abstract

Recently, Wu proposed a three small classes of finite fields $F_{2^n}$ for low-complexity bit-parallel multipliers. The proposed multipliers have low-complexities compared with those based on the irreducible pentanomials. In this paper, we propose a new Repeated Polynomial(RP) for low-complexity bit-parallel multipliers over $F_{2^n}$. Also, three classes of Irreducible Repeated polynomials are considered which are denoted, respectively, by case 1, case 2 and case3. The proposed RP bit-parallel multiplier has lower complexities than ones based on pentanomials. If we consider finite fields that have neither a ESP nor a trinomial as an irreducible polynomial when $n\leq1,000$. Then, in Wu''s result, only 11 finite fields exist for three types of irreducible polynomials when $n\leq1,000$. However, in our result, there are 181, 232, and 443 finite fields of case 1, 2 and 3, respectively.

최근 Wu는 효율적인 비트-병렬 곱셈기를 위한 세 가지 종류의 이진체 제안하였다. 제안된 곱셈기는 오항 기약다항식을 사용하는 기존의 결과보다 효율적이다. 본 논문에서는 비트-병렬 곱셈에서 효율적인 이진체 위의 새로운 반복다항식(Repeated Polynomial:RP)을 제안한다. 제안하는 RP를 case 1, case 2와 case 3 3가지로 구분할 때, 제안하는 RP를 위한 비트-병렬 곱셈기는 기존의 오항 기약다항식의 결과보다 효율적이다. 유한체의 차수가 1,000이하에서 EPS 또는 삼항 기약다항식이 없는 차수를 고려할 때, Wu의 단지 11개의 유한체만 존재한다. 그러나 제안하는 결과는 case 1에서 181, case 2에서 232 그리고 case 3에서 443개의 유한체가 존재한다.

Keywords

I. 서론

부호이론, 암호 알고리즘 등에서 유한체 연산은 매우 중요한 연구 분야이다. 특히, 타원곡선 암호 알고리즘이 주목을 받으면서 유한체 연산은 많이 이슈화되었다. 이러한 유한체 연산 중 곱셈연산이 가장 중요한 비중을 차지하며, 곱셈 연산의 설계는 기저, 알고리즘과 기약다항식 등에 의하여 고려된다.

이진체에서의 연산은 대부분 덧셈(뺄셈) 연산과 곱셈 연산에 의하여 계산된다. 본 논문에서는 이진체에서의 곱셈 연산에 대하여 논하므로 F2에서의 덧셈과 곱셈 연산은 비트 단위의 AND와 XOR 연산에 의하여 표현된다. 이는 하드웨어에서 2-입력 1-출력의 AND와 XOR 게이트(gate)이다. 또한 하드웨어에서 연산의 효율성은 시간 및 공간 복잡도에 의하여 정의되므로 본 논문에서는 공간 복잡도 계산을 위하여 AND와 XOR 게이트 수를 각각 #AND와 #XOR로 표기하고 시간 복잡도를 위하여 AND와 XOR 게이트 시간 지연(time delay)을 각각 TA와 TX로 표기한다.

이진체에서 주로 사용되는 효율적인 기약다항식은 순서별로 All One Polynomial(AOP) [1], [2], [3], Equally Spaced Polynomial(ESP) [1], [2], [3], 삼항 기약다항식(Trinomial) [1], [2], [4], 오항 기약다항식(Pentanomial) [2], [5], [6]이 있다. 정해진 유한체 차수에서 가장 효율적인 기약다항식은 위와 같은 순서로 찾는다. 그러나 암호 알고리즘에서 사용되는 유한체의 차수는 대부분 소수이므로 AOP와 ESP는 거의 사용하지 않으며 대부분의 표준에서는 삼항 기약다항식과 오항 기약다항식을 사용한다.

최근 [7]에서 AOP, ESP, 삼항 기약다항식이 존재하지 않는 차수(443개)에서 일부 사용할 수 있는 세 가지 종류의 기약다항식을 제안하였다. 제안된 새로운 기약다항식의 효율성은 공간복잡도의 경우 #AND = n2, #XOR = n2+n–3이고 시간복잡도의 경우 ≤ TA +(⌈log2 (n–1)⌉+3)TX이므로 오항 기약다항식보다 효율적이다. 그러나 443개의 차수 중 10개의 차수에만 존재한다.

본 논문에서는 새로운 반복 다항식(Repeated Polynomial:RP)를 제안한다. 제안하는 RP 기약다항식은 [7]에서 제안된 세 가지 기약다항식과 같이 차수에 따라 오항 기약다항식보다 효율적이기 위하여 세가지 case로 구분한다. 이는 [7]의 결과를 포함한다. 차수가 1 ≤ n ≤ 1,000인 경우 ESP, 삼항 기약다항식이 존재하지 않는 차수(443개)에서 case 1 경우 181(40.8%)개가 존재하며, case 2의 경우 232(52.4%)개, case 3의 경우 443 (100%)개 존재한다. 또한, 타원곡선 암호시스템의 표준(ANSI X9.62, IEEE P1363, SEC2)에서 제안되어 사용되는 이진체 중 오항 기약다항식을 사용하는 차수인 n=131, 163, 283, 571 모두에서 RP가 존재한다. 본 논문의 결과는 [7]의 결과를 포함한다.

본 논문의 구성은 다음과 같다. 2절에서는 기본적인 다항식 곱셈과 [7]에서 제안된 새로운 세가지 기약다항식을 소개한다. 3절에서는 제안하는 반복 기약다항식과 이를 이용한 비트-병렬 곱셈의 시간 및 공간 복잡도를 기술한다. 4절에서는 제안하는 방법의 결과와 기존 결과를 비교하고 결론을 내린다.

II. F2위의 다항식기저 기반의 곱셈

유한체 F2n는 기약다항식 #에 의하여 생성되며, 이때 f(x)의 근을 α라 정의하자. (fi∈{0,1}이다.) 그러면 F2n의 임의의 두 원소#, #의 곱 #는 다음과 같은 두 과정에 의하여 계산된다.(이때 ai, bi∈F2이다.)

1. 다항식 곱셈:

#

2. f(x)에 의한 모듈러 감산 연산:

#

다항식 곱셈의 공간 복잡도는 다음과 같다. 0 ≤ i≤ n–1인 경우 si의 계산에서 n(n+1)/2번의 AND 연산과 n(n–1)/2번의 XOR 연산이 소요되며, n ≤ i≤ 2n–2인 경우 n(n–1)/2번의 AND 연산과(n–1)(n-2)/2번의 XOR 연산이 소요되므로 다항식 곱셈의 공간 복잡도는 n2번의 AND와 (n–1)2번의 XOR 연산이다. 그리고 i= n–1일 때 si의 계산에서 aubv가 가장 많으므로 차수 n–1에서 최대 시간 지연(critical path delay)을 가지며 TA +⌈log2 n⌉TX이다.

모듈러 감산 연산의 경우

#(1)

이고, 모듈러 감산 부분은 #이므로

#(2)

이다. (n–1)×n 곱셈 행렬 T=(ti,j)(n–1) × n

#

라 정의하면 모듈러 감산은 곱셈 행렬 T에 의하여 계산된다. 이는 (2)를 (1)에 대입하여

#

와 같이 계산한다. 곱셈 행렬 T의 효율성은 1 개수에 의하여 정의되며 이는 기약다항식에 의존한다. F2n에서 효율적인 기약다항식은 self-reciprocal인 Equally Spaced Polynomial(ESP)와 0이 아닌 항의 개수가 작은 삼항 기약다항식 또는 오항 기약다항식이 있다.

2.1 ESP 기반의 곱셈

정의 1. F2 위에서 n = ms를 만족하는 다항식

f(x) = xms+x(m–1)s+x(m–2)s+xs+1

를 n차 s-ESP(Equally Spaced Polynomial)라 한다.

s-ESP는 정의 1에서와 같이 상수항부터 n차항 까지 s의 배수 차수만 계수가 1인 다항식이다. s가 1인 경우를 AOP(All One Polynomial)라 하고 s = n/2인 경우를 EST(Equally Spaced Trinomial)라 한다. 예를 들어, 3-ESP인 f(x) = x6+x3+1의 경우 감산 행렬 T는 다음과 같다.

#

예제에서 알 수 있듯이 αn 부터 αn + s–1까지는 감산 연산하면 m개의 항을 가진다. 따라서 위의 예제의 행렬 T의 s개의 행(0행~s –1행)은 각각 m개의 1을 가지며 겹치지 않고 행마다 1이 하나만 있다. 따라서 1TX 시간에 n번의 XOR 연산이 소요된다. 그리고 αn + s 부터 α2n–2항까지는

#

이므로 n–s –1번의 XOR 연산이 소요되며 (s0+sn+s), ⋯,(sn–s–2 +s2n–2)는 ⌈log2 (n–s–1)⌉TX 시간이 소요되므로

#

는 ⌈log2 (n)⌉TX 시간이 소요된다. 따라서 s-ESP 기반의 곱셈기 복잡도는 다음과 같다[2]

#AND = n2,

#XOR = n2–s,

TTOT = 1TA+(1+⌈log2n⌉)TX.

2.2 [7]에서 제안된 기약다항식 기반의 곱셈

2008년 [7]에서 Wu는 기존의 오항 기약다항식 보다 효율적인 세 가지 타입의 기약다항식을 제안하였고 이를 이용한 비트-병렬 곱셈기를 제시하였다. 본 소절에서는 [7]의 기약다항식과 이를 이용한 곱셈기를 간략히 소개한다.

2.2.1 Type-I 기약다항식

이진체의 차수 n이 n = 3h+2이고 다항식이 다음과 같은 성질을 가지고 기약일 때 Type-I 기약다항식이라 한다.

#

이때 # 이다. 따라서 xn + i

#

와 같으며, 이때 k는 2 ≤ k ≤ n–2이다. 따라서 Type-I 기양다항식에 의하여 c(α)는 다음과 같이 계산된다.

#(3)

다항식 곱셈에서 n2번의 AND 연산과 (n–1)2번의 XOR 연산을 수행하고, 식 (3)에 의하여 모듈러 감산 연산을 수행한다. 식 (3.2)와 (3.3)의 합은 sm+sm + 1 1번의 XOR 연산으로 계산되며 식 (3.4)와 (3.5)의 합은 각각 차수가 0∼m–4, 2∼m–2이므로 m–5번의 XOR 연산으로 계산되고, 이와 같은 두 번의 덧셈 결과와 (3.1)의 합에서 2m번의 XOR 연산이 소요되므로 공간복잡도는

#AND = n2,

#XOR = (n-1)2+1+(n-5)+2n = n2+n-3

이다. 시간복잡도의 경우 다항식 곱셈 계산에서 1TA +⌈log2 n⌉TX의 시간 지연이 소요되며 (3.2)+(3.3)과 (3.4)+(3.5)에서 1TX, 두 번의 덧셈 결과와 (3.1)의 합에서 2TX 소요되므로

TTOT = 1TA +(⌈log2 n⌉+3)TX 이다.

2.2.2 Type-II 기약다항식

이진체의 차수 n이 n = 3h이고 다항식이 다음과 같은 성질을 가지고 기약일 때 Type-II 기약다항식이라 한다.

#

이때, #,그렇지 않으면 이다. 따라서 xn + i

#

와 같으며, 이때 k는 2 ≤ k ≤ n–2이다. 식의 전개와 복잡도 계산은 Type-I과 유사하므로 생략하고 복잡도만 정리하면 다음과 같다.

#AND = n2,

#XOR = n2+n-3,

TTOT = 1TA+(⌈log2 n⌉+3)TX.

2.2.3 Type-III 기약다항식

이진체의 차수 n이 n = 3h이고 다항식이 다음과 같은 성질을 가지고 기약일 때 Type-III 기약다항식이라 한다.

#

이때, # 이다. 따라서 의하여 xn + i

#

와 같으며, 이때 k는 2 ≤ k ≤ n–3이다. 식의 전개와 복잡도 계산은 Type-I과 유사하므로 생략하고 복잡도만 정리하면 다음과 같다.

#AND = n2,

#XOR = n2+n-3,

TTOT = 1TA+(⌈log2 n⌉+3)TX.

III. 제안하는 반복 기약다항식과 이를 이용한 비트-병렬 곱셈

3.1 반복 다항식

이진체에서 효율적인 기약다항식의 순서는 ESP, 삼항 기약다항식, 오항 기약다항식 등으로 구분된다. 따라서 n이 정해지면 효율성의 순으로 기약다항식을 찾는다. 그러나 n ≤ 1,000를 고려하여 조사하면 77개의 n에서만 ESP가 존재하며 543개의 n에서만 삼항 기약다항식이 존재한다. 그리고 이 둘을 합하여도 557개 n에서만 ESP 또는 삼항 기약다항식 존재하므로 나머지 n에서는 오항 기약다항식을 사용하여야 한다. 본 절에서는 오항 기약다항식보다 효율적인 새로운 타입의 기약다항식을 제안하고 이를 이용한 비트 병렬 곱셈기와 복잡도를 제시한다. 제안하는 새로운 타입의 기약다항식은 [7]의 결과를 포함한다.

정의 2. F2 위에서 임의의 두 다항식 p(x)와 l(x)에 대하여

#

를 만족하면 f(x)를 반복 다항식(RP:Repeated Polynomial)이라 한다.

정의 2의 반복 다항식은 s-ESP를 포함하며 임의의 다항식 h(x)가 주어졌을 때 xn + r = h(x)modf(x)을 만족하는 f(x)가 RP임을 보이기 위하여 다음 정리를 이용한다.

정리 1. F2 위에서 임의의 다항식 #에 대하여 xs = q(x)p(x)+1을 만족하는 최소의 양의 정수 s와 다항식 p(x)가 존재할 때, 임의의 양의 정수 m에 대하여 xm이 xm = q(x)pm(x)+1을 만족하면 양의 정수 i에 대하여 m = i⋅s이다.

증명. xm = q(x)pm(x)+1을 만족하는 m의 순서집합(ordered set)을 #, 만약 i > j이면 mi >mj}라 하자. 그러면 가정에 의하여 순서집합 Γ의 최소값은 m0 = s이다. 다음으로 s보다 큰 순서집합 Γ의 최소값을 m1라 하면 #이므로 F2[x]에서

#

이다. 이때 가정에 의하여 q(x)|(xm1 –s +1)이므로 m1 –s는 Γ의 원소이다. m1은 s보다 큰 순서집합 Γ의 최소값이고 m1 >m1–s = s이므로 m1 = 2s이고 이를 일반화하면 mi = i⋅s이다. 즉, 순서집합 Γ의 원소는 양의 정수 i에 대하여 m = i⋅s이다.

정리 2. 정리 1 다항식 q(x)와 임의의 다항식 h(x)∈F2[x]에 대하여 #을 만족하는 최소 양의 정수 n0와 다항식 #가 존재하면, 임의의 n에 대하여 xn + r = q(x)f(x)+h(x)를 만족하는# 또는 #인 반복 다항식이다.

증명. #를 만족하는 ni의 순서집합(ordered set)을 #, 만약 ij > ig이면 #라 하자. 가정에 의하여 #을 만족하는 최소 양의 정수 n0와 다항식 #가 존재하고, Γ의 원소인 n0보다 큰 최소값을 n1이라 하면 #이다. 그러면 x#이고 정리 1에서 #이므로 q(x) | (xn1–n0 +1)이다. 따라서 정리 1에 의하여 n1 –n0는 i⋅s이며 n1이 n0보다 큰 최소값이므로 n1–n0 = s이다. 실제로

#

이고, 순서집합 Γ의 원소에 대하여 일반화하면 ni + 1–ni = s이다. 따라서 #이다. 다음으로 #이므로 #와 n0+r을 각각#라 하면

#

이다. 따라서 정리 1 다항식 q(x)와 임의의 다항식 h(x)∈F2[x]에 대하여, xn + r = q(x)f(x)+h(x)를 만족하는 임의의 n이 존재할 때 f(x)는 # 또는 #인 반복 다항식이다.

3.2 RP 비트-병렬 곱셈

정리 2로부터 임의의 q(x), h(x)에 대하여 xn + r = q(x)f(x)+h(x)⇒xn + r = h(x) mod f(x)를 만족하는 최소 차수의 #가 주어졌을 때, xn + r = q(x)f(x)+h(x)를 만족하는 나머지 f(x)는 모두 #와 p(x)를 이용한 반복 다항식임을 알 수 있다. 기약다항식 f(x)에 의하여 정의된 F2n의 임의의 두 원소를 a(α), b(α)라 하고 f(x)∈F2[x]는 정리 2를 만족한다면 xn + r ≡h(x) mod f(x)이다. 따라서 식 (2)는

#

이다. 이때, 만약 deg(h(x)αi –r) ≥ n이면, h(x)αi –r는 모듈러 감산되어야 한다. 따라서 식 (1) c(α) = a(α)⋅b(α)은 f(x)에 의하여 다음과 같다.

#(4)

이때, 만약 deg(h(x)) ≥ r +2이면 식 (4.2)은 다시 모듈러 감산되어야 한다. 감산행렬 T에서 (4.2)와 같이 h(x)로 표현되는 행을 REDUCTION BLOCK2라 하고 나머지 행을 REDUCTION BLOCK1라 정의하면 RP의 감산행렬 T는 [그림 1]과 같다. c(α)의 계산에서 REDUCTION BLOCK1의 효율성은 h(x)의 0이 아닌 비트수에 의존하고 REDUCTION BLOCK2는 h(x)와 r에 의존한다.

[그림 1] 반복 기약다항식 f(x)의 감산행렬 T: a) deg(h(x)) < r - 2 (b) deg(h(x)) ≥ r - 2

제안하는 반복 기약다항식을 이용하여 식 (4)의 간단한 예를 들면 다음과 같다. q(x), h(x)∈F2[x]를 각각 q(x) = x3+x2+x+1, h(x) = x5+x2+1이라 하면, x4 + 3 = q(x)(x4+x3+x2+x+1)+h(x)이므로 정리 2에의하여 #이고 xn = q(x)f(x)+ h(x)을 만족하는 반복 다항식은 #이다. 이때 i = 1인 f(x) = x8+x7+x4+x3+x2+x+1은 기약다항식이고 이를 이용하여 F28에서 c(α) =a(α)⋅b(α)를 계산하면

#

이다. 그리고 이때 7×8 곱셈 행렬 T= (ti,j)7 × 8는 다음과 같다.

#

3.3 효율적인 RP와 그 비트-병렬 곱셈기 복잡도

오항 기약다항식 f(x) = xn+xk3+xk2+xk1+1에 대한 [2]의 결과를 정리하면 [표 1]과 같다. [표 1]에서 알 수 있듯이 AND 게이트 수는 모두 n2으로 같으며 k1 = 1, k3–k2 = 1인 경우를 제외하면 XOR 게이트와 시간 지연은 3가지로 구분된다. 따라서 제안하는 RP가 오항 기약다항식보다 차수에 따라 시간 또는 공간복잡도 측면에서 효율적이기 위해서 RP에 요구되는 XOR 게이트수와 시간복잡도 영역을 대략적으로 구분하면 다음과 같다.

[표 1] [2]의 오항 기약다항식 f(x) 기반의 비트-병렬 곱셈기 복잡도 비교

• Case 1 : #XOR≈n2+n,

Time Delay≈TA +(⌈log2 (n)⌉+3)TX

• Case 2 : #XOR≈n2+n,

Time Delay≈TA +(⌈log2 (n)⌉+4)TX

• Case 3 : #XOR≈n2 +2n,

Time Delay≈TA +(⌈log2 (n)⌉+3)TX

이때, [7]에서 제시한 세 가지 타입의 RP는 Case 1에 속한다. (이때, 2r+2 < k1 < (n+3r +1)/2)

본 소절에서는 제안하는 RP를 이용한 비트-병렬 곱셈기의 시간 및 공간 복잡도를 제시한다. h(x)의 차수와 0이 아닌 항(non-zero term)의 개수를 H(h(x))하하면, 식 (4)에서와 같이 RP 기반의 곱셈은 다항식 q(x)의 차수 r, H(h(x))에 의존한다. 따라서 효율적인 r과 h(x)에 대하여 고려하여야 한다.

우선 임의의 r에 대하여 h(x) = 1인 경우를 살펴보자. 이 경우 RP #는 정리 2의 증명에서 #는 정리 1의 p(x)가 된다. 따라서 p(x) = l(x)이고 항상 #이다. 결국 p(x)≠1인 경우 f(x)는 기약다항식이 될 수 없으며, p(x) = 1인 경우 f(x)는 ESP가 된다. 따라서 이를 제외하면 임의의 r에 대하여 최소 헤밍웨이트인 H(h(x)) = 2인 경우가 가장 효율적이다. 다음으로 H(h(x)) = 2인 경우 r을 살펴보자. r = 1인 경우 정리 2에서 q(x)는 가정에 의하여 q(x) = x+1이다. 따라서 xn + r +h(x) =q(x)f(x)에서 q(x)f(x)의 해밍 웨이트는 항상 짝수이다. 그러나 xn + r +h(x)의 헤밍 웨이트는 항상 홀수이므로 r = 1와 H(h(x)) = 2를 만족하는 f(x)는 존재하지 않는다. 따라서 H(h(x)) = 2인 경우 r ≥ 2인 경우만 RP f(x)가 존재한다. 마지막으로 r과 H(h(x))의 최대값을 살펴보자. r ≥ 9인 경우는 식 (4.1)의 계산에서만 3TX가 소요되어 위에서 정의한 case를 만족할 수 없다. 또한 H(h(x)) ≥ 4인 경우는 식 (4.2)가 다시 모듈러 감산되지 않는다 하여도 #XOR ≥ n2+3n 이 되어 역시 위에서 정의한 case를 만족할 수 없다. 따라서 이를 모두 정리하면 case1~case3을 만족하는 조건은 다음과 같다.

r = 1이고 H(h(x)) = 3,

2 ≤ r ≤ 8이고 2 ≤ H(h(x)) ≤ 3.

따라서 본 소절에서는 r과 H(h(x))에 따른 RP와 그 비트-병렬 곱셈기의 효율성을 기술한다. 이때, #에서 u > v 또는 u < 0인 경우 #이다.

3.3.1 case 1인 경우

우선 r = 2와 H(h(x)) = 2라 하면 h(x) = xk1+1이다. [그림 2(a)]와 같이 REDUCTION BLOCK1의 임의의열에서 1 개수가 4이하가 되어야 3TX에 계산 가능하므로 k1의 범위는 2k1 ≤ n+5이다. 따라서 최대 k1 = ⌊(n+5)/2⌋일 때, 식 (4)는 다음과 같다.

[그림 2] 반복 기약다항식 f(x)의 감산행렬 T: (a) r = 2 (b) r = 3 (c) r = 4

#(5)

따라서 모듈러 감산의 XOR 게이트 수는 (5.1)에서 n–k1 +2개, (5.2)에서 2개, (5.3)에서 k1 –3개, (5.1)+(5.3)에서 n–3개, ((5.1)+(5.3))+(5.2)에서 최대 n 개 이므로 전체 3n–2이다. 시간 복잡도의 경우 (5.1)+(5.3) 계산에서 2TX가 필요하고, (5.2)의 (sn + i +s2n –k1 + i + 2)에서 1TX와 t0,j +t1,j에서 1TX가소요되므로 2TX가 소요된다. 따라서 모듈러 감산에서 최대 3n–5 XOR 게이트와 3TX가 추가적으로 필요하다.

다음으로 r = 3인 경우를 고려하자. [그림 2(a)]와 같이 REDUCTION BLOCK1의 임의의 열에서 1 개수가 4이하가 되어야 3TX에 계산 가능하므로 k1의 범위는 k1 < 6이다. 따라서 #라 하고 최대 k1 =5을 가정하면 식 (4)는 다음과 같다.

#(6)

식 (10.1)과 같이 REDUCTION BLOCK1 #의 XOR 게이트수를 ε이라 하면

0 < ε < 2r –r       (7)

이다. 따라서 (6.1)은 최대 ε =4(δ = 1인 경우는5) XOR 게이트로 계산되며 (6.2)에서는 n–4+(n–3) (δ = 1인 경우n–4) XOR 게이트로 계산되고, (6.1)+(6.2) 는 n XOR 게이트로 계산되므로 모듈러 감산에서 최대 3n-3 XOR 게이트가 필요하다. 시간복잡도의 경우 (6.1)와 (6.2)는 2TX에 계산되므로 3TX의 추가 XOR delay가 증가한다. r = 4인 경우 또한 유사하게 전개되므로 결과만 정리하면

r = 3, k1 < 6인 경우 #AND = n2,

#XOR = n2 +n +ε –10,

Delay= 1TA +⌈log2(n) +3⌉TX

이다. r > 4인 경우 REDUCTION BLOCK1의 시간지연만 3TX가 되어 case 1에 해당하지 않는다. 따라서 다음 RP만 case 1을 만족한다.

1) r = 2, H(h(x)) = 2, k1 < (n +6)/2,

2) r = 3, H(h(x)) = 2, k1 <6,

3) r = 4, H(h(x)) = 2, k1 < 6.

3.3.2 case 2인 경우

r = 2, H(h(x)) = 2라 하면, h(x) = xk1+1이다. ⌊(n+5)/2⌋ < k1 ≤ ⌊(2n+7)/3⌋을 가정하자. 그러면 최대 k1에서 식 (4)는 다음과 같다.

#(8)

우선 공간복잡도를 고려해보자. 식 (8)에서 (d)의 n–k1+2 XOR 게이트 계산에서 (a), (b), (f), (g)는 모두 계산되고 (c) –n+2k1–7 XOR 게이트 계산에서 (e)가 계산된다. (8.1)는 3 XOR 게이트로 계산되며 (8.2)는 n–k1+2 XOR 게이트로 계산된다. 따라서 (8.3)+(8.4)는 연산량이 없으며, (8.1)+(8.2)는 n XOR 게이트, ((8.1)+(8.2))+((8.3)+(8.4)) 는 n–5 XOR 게이트로 계산되므로 모듈러 감산에서 3n–5 XOR 게이트로 계산되며 전체 n2AND +(n2+n–4)XOR가 소요된다. 다음으로 시간복잡도를 살펴보자. (8.1) 계산에서 3TX, (8.2) 계산에서 1TX, (8.3)+(8.4) 계산에서 2TX가 소요되므로 모듈러 감산에서 4TX가 추가적으로 필요하다.

다음으로 r = 3, H(h(x)) = 2, 6 ≤ k1 ≤ (n+7)/2를 가정하자. 그러면 최대인 k1 = ⌊(n+7)/2⌋의 경우 식 (4)는 다음과 같다.

#(9)

(c)+(d)를 (b)라고 정의하자. (9.1) 계산에서 ε+3 XOR 게이트, (a) 계산에서 2n–3k1+10 XOR 게이트, (c)의 k1–7 XOR 게이트 계산에서 (d)는 계산되었으므로 연산량이 없다. 그리고 (a)+(b)에서 2k1–14 XOR 게이트, (9.1)+((a) +(b))에서 n XOR 게이트로 계산되므로 모듈러 감산에서 3n+ε –8 XOR 게이트가 소요된다. 또한 (9.1)에서 3TX, (a)+(b)에서 3TX 시간지연이 소요되므로 모듈러 감산에서 4TX가 소요된다.

다음으로 r = 4, H(h(x)) = 2, 6 ≤ k1 ≤ (n+9)/2를 가정하자. 그러면 최대인 k1 = ⌊(n+9)/2⌋의 경우 식 (4)는 다음과 같다.

#(10)

(c)+(d)를 (b)라고 정의하자. (10.1) 계산에서 ε+4 XOR 게이트, (a) 계산에서 2n–3k1+13 XOR 게이트, (c)의 k1–9 XOR 게이트 계산에서 (d)는 계산되었으므로 연산량이 없다. 그리고 (a)+(b)에서 2k1–18 XOR 게이트, (10.1)+ ((a)+(b))에서 n XOR 게이트로 계산되므로 모듈러 감산에서 3n+ε–10 XOR 게이트가 소요된다. 또한 (10.1)에서 3TX, (a)+(b)에서 3TX 시간지연이 소요되므로 모듈러 감산에서 4TX가 소요된다.

위에서 가정한 경우 보다 k1이 큰 경우 REDUCTION BLOCK 1 계산에만 4TX가 소요되므로 어느 case에도 해당하지 않는다. case 2에 해당하기 위해서는 REDUCTION BLOCK 1 행의 개수가 8이하가 되어야 한다. 식 (4.1)의 REDUCTION BLOCK 1에서 행 개수는 r이며, 식 (4.2)는

#

이므로 (n–r–2+k1)–(n-1)+r ≤ 8이다. 따라서 r > 4인 경우 case 2를 만족하기 위해서는 r < 9이고 k1 ≤ 9이어야 한다. 이 경우 모듈러 감산의 공간복잡도는 2(n–r–2)+ε+n = 3n-2r+ε-4 XOR 게이트이고 추가되는 시간 복잡도는 4TX이다. 따라서 다음 RP만 case 2을 만족한다.

1) r = 2, H(h(x)) = 2, ⌊(n+5)/2⌋ < k1 ≤ ⌊(2n+7)/3⌋,

2) r = 3, H(h(x)) = 2, 6 ≤ k1 ≤ ⌊(n+7)/2⌋,

3) r = 4, H(h(x)) = 2, 6 ≤ k1 ≤ ⌊(n+9)/2⌋,

4) 4 < r < 9, H(h(x)) = 2, k1 ≤ 9.

3.3.3 case 3인 경우

우선 r = 1인 경우는 H(h(x)) = 3이므로 h(x) = xk1 +xk2 +1라 하자(k1 > k2 > 1). 우선 2k1 ≤ n+3라 가정하면 최대 k1 = ⌊(n+3)/2⌋에서 식 (4)는 다음과 같다.

#

#(11)

식 (5)에서 (a1)+(a2)는 k1 > k2이므로

#(12)

이고, (b1)+(b2)와 (c1)+(c2)는

#

이므로 #는 의#과 중복 연산이므로 연산량이 없다. 또한식 (12)와 (d)의 합은

#

이므로 이 또한 #과 중복연산으로 연산량이 없다. 마지막으로 (e)=δ12를 위하여 δ12를정리하면

#

이고, 위의 내용을 적용하여 식 (11)을 정리하면 다음과 같다.

#(13)

식 (13.1)의 에서 ##는 각각 log2 (k1–2)TX, log2 (k2–2)TX 시간지연을 가지므로 가정 2k1 < n+4에 의하여 모두 log2 (n/2)TX보다 작은 계산시간을 가지며 #는 sn–1과 동시에 계산되므로 식 (13.1)의 계산은 1TX에 계산 가능하다. 또한(13.2)~(13.4)는 모두 1TX에 계산되므로 식 (13)의 시간지연은 1TA +(⌈log2 n⌉+3)TX이다. 다음으로 공간복잡도를 살펴보자. (13.2)+(13.3)은 (n–k1+1)+(k2–3)+(n–k1)+(n–2k1+3)+(k2–3)와 2(k1–3)의 합이므로 전체 3n–2k1+2k2 –8 XOR 게이트로 연산된다. 또한 (13.1)은 2 XOR 게이트로 연산되며, (13.4)는 (13.3)에서 계산되어 연산량이 없으므로 ((13.2)+ (13.3))+(13.4)에 2k1–k2–3 XOR 게이트로 연산되며, ((13.2)+(13.3)+(13.4)) +(13.1)은 H(f(x))와 같으므로 이를 정리하면 전체 n2AND+((n-1)2+(3n+k2+H(f(x))–9))XOR이고 n2AND + ((n)2+(n+k2+H(f(x))–8))XOR으로 #XOR≈n2+2n 이므로 case 3이다. 그리고 가정과 달리 2k1 ≥n+4인 경우 (13.1)이 2TX가 되어 어느 case에도 해당하지 않는다.

case 3의 경우 REDUCTION BLOCK2 계산에서 2TX가 소요되므로 REDUCTION BLOCK1의 행의 개수가 4보다 작은 r < 5이다. 따라서 1 ≤ r ≤ 4인 경우 식 (4.2)를 고려했을 때 (n–r–2+k1 )–(n–1)+r ≤ 4 이므로 k1 ≤ 5이다. 이 경우 모듈러 감산의 공간복잡도는 3(n–r–2)+ ε +n = 4n–2r +ε –4XOR 게이트이고 추가되는 시간 복잡도는 3TX이다. 따라서 다음 RP만 case 3을 만족한다.

1) r = 1, H(h(x)) = 3, 2k1 ≤ n+3,

2) 1 < r < 5, H(h(x)) = 3, k1 ≤ 5.

IV. 비교 및 결론

본 절에서는 제안하는 RP 기약다항식과 기존의 기약다항식(ESP, Trinomial, Pentanomial)과 효율성을 비교하교 결론을 내린다. 본 논문에서는 새로운 기약다항식인 RP 기약다항식을 제안하였으며, [표 1]에서 보인 기존의 오항 기약다항식 보다 차수에 따라 효율적인 세 가지 경우의 RP를 제안하였다. 제안하는 세 가지 경우의 기약다항식의 시간 및 공간 복잡도를 r에 따라 정리하면 [표 2]와 같다. 또한 차수가1 ≤ n ≤ 1,000인 경우의 RP를 정리하면 [표 3]과 같다. 가장 효율적인 기약다항식인 ESP와 Trinomial이 없는 443개의 차수 중 [표 3]에서 알 수 있듯이 case 1 경우 181(40.8%)개가 존재하며, case 2의 경우 232(52.4%)개, case 3의 경우 443(100%)개 존재한다. 또한 case 3 r = 1의 경우 n = 1,2,16,515를 제외한 모든 차수에서 존재한다.

[표 2] 제안하는 RP 기반의 비트-병렬 곱셈기 복잡도 비교

[표 3] 경우에 따른 RP 기약다항식 비교

타원곡선 암호시스템의 표준(ANSI X9.62, IEEE P1363, SEC2)에서 제안되어 사용되는 이진체 중 오항 기약다항식을 사용하는 차수인 n=131, 163, 283, 571 모두에서 RP가 존재하며 이를 정리하면

#

#

#

#

이다. n=283인 경우 case 2 r = 3에서 하나 존재하며 나머지는 모두 case3 r = 1인 경우에서 존재한다. 따라서 제안하는 RP 기약다항식은 이진체 차수1 ≤ n ≤ 1,000에서 모두 존재하며 EPS 또는 삼항 기약 다항식이 없는 차수에서 차수에 따라 오항 기약다항식 기반의 비트-병렬 곱셈기 보다 효율적이다.

References

  1. 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
  2. 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-958, Aug. 2004 https://doi.org/10.1109/TC.2004.47
  3. E.D. Mastrovito, "VLSI Architectures for Computation in Galois Fields," Ph.D. Thesis, Linkoping, Sweden, 1991
  4. H. Wu, "Bit-Parallel Finite Field Multiplier and Squarer Using Polynomial Basis," IEEE TransComputer. s, vol. 51, no. 7, pp. 750-758, July 2002 https://doi.org/10.1109/TC.2002.1004591
  5. F. Rodriguez and C.K. Koc, "Parallel Multipliers Based on Special Irreducible Pentanomials," IEEE Trans. Computers, vol. 52, no. 12, pp. 1535-1542, Dec. 2003 https://doi.org/10.1109/TC.2003.1252850
  6. T. Zhang and K.K. Parhi, "Systematic Design of Original and Modified Mastorvito Multipliers for General Irreducible Polynomials," IEEE Trans. Computers, vol. 50, no. 7, pp. 734-748, July 2001 https://doi.org/10.1109/12.936239
  7. H. Wu, "Bit-Paralle polynomial Basis Multiplier for New Classes of Finite Fields," IEEE Trans. Computers, vol. 57, no. 8, pp. 1023-1031, Aug. 2008 https://doi.org/10.1109/TC.2008.67