KR102110162B1 - 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 - Google Patents
다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 Download PDFInfo
- Publication number
- KR102110162B1 KR102110162B1 KR1020170181906A KR20170181906A KR102110162B1 KR 102110162 B1 KR102110162 B1 KR 102110162B1 KR 1020170181906 A KR1020170181906 A KR 1020170181906A KR 20170181906 A KR20170181906 A KR 20170181906A KR 102110162 B1 KR102110162 B1 KR 102110162B1
- Authority
- KR
- South Korea
- Prior art keywords
- polynomials
- polynomial
- subordinate
- finite
- finite field
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/52—Multiplying; Dividing
- G06F7/523—Multiplying only
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
유한체의 병렬 곱셈 연산 방법이 개시된다. 본 발명의 유한체의 병렬 곱셈 연산 방법은 차수 이하인 의 다항식 으로부터 차수 이하인 의 세 개의 다항식 을 입력받아 차수 이하인 다섯 개의 의 다항식들을 생성하는 제 1단계; 차수 이하인 의 다항식 으로부터 차수 이하인 의 세 개의 다항식 을 입력받아 차수 이하인 다섯 개의 의 다항식들을 생성하는 제 2단계; 상기 제 1단계와 상기 제 2단계에서 생성된 열 개의 다항식들을 이용하여 다섯 쌍의 다항식들의 곱 을 재귀적인 방법으로 생성하는 제 3단계; 및 상기 제 3단계에서 생성된 다항식들의 곱들 을 이용하여 두 다항식의 곱 를 출력하는 제 4단계를 포함하는 것을 특징으로 한다.
Description
본 발명은 유한체의 병렬 곱셈 연산 방법에 관한 것으로서, 보다 상세하게는 공개키 암호(public key cryptography)나 코딩 이론(coding theory)에 사용되는 유한체의 병렬 곱셈 연산 방법에 관한 것이다.
유한체 가 의 기약 다항식(irreducible polynomial) 에 의해 정의된다고 하자. 그러면, 은 와 동형(isomorphism) 이므로, 유한체 의 임의의 원소 는 차수가 보다 작은 다항식(polynomial) 형태 로 표현이 가능하다(). 이때, 집합 을 상에서 의 다항식 기저(polynomial basis)라고 한다. 다항식 기저는 유한체의 원소를 표현할 때 가장 널리 쓰이는 기저 중 하나이다.
유한체상에서 연산(arithmetic operation)은 코딩 이론이나 암호(cryptography), 특히 타원 곡선 암호(elliptic curve cryptography)에 널리 쓰인다. 그 중 곱셈 연산(field multiplication)은 가장 중요하고 핵심이 되는 연산으로 효율적인 곱셈기(multiplier)에 대한 연구는 많은 관심을 받으며 진행되어 오고 있다
이 경우, 유한체상의 두 원소의 곱셈 연산에 대한 복잡도(complexity)는 상기 두 단계의 복잡도에 의하여 결정된다. 단계(1)에서 두 다항식의 곱셈 연산을 수행할 때 필요한 공간 복잡도(space complexity), 즉 상에서 요구되는 XOR 게이트(gate)와 AND 게이트 수는 일반적으로 이다. 단계(2)의 기약 다항식에 의한 모듈러 감산 연산에 대한 비용은 기약 다항식 의 항의 개수에 의해 영향을 받는다. 비특허문헌 1 [G. Seroussi, “Table of low-weight binary irreducible polynomials” HP Labs, Technical Reports HPL-98-135, 1998]에 의하면, 실제 응용에서 고려되는 유한체의 경우 유한체 을 정의하는 기약 다항식으로 삼항 다항식(trinomial)이나 오항 다항식(pentanomial)이 존재한다. 이러한 삼항 또는 오항 다항식에 의한 모듈러 감산 연산은 상에서 요구되는 게이트의 수가 단지 으로 단계(1)과 비교하여 매우 적다. 따라서 효율적인 유한체의 곱셈기를 얻기 위해 단계(1), 즉 두 다항식의 곱셈 연산에 대한 복잡도 (complexity)를 줄이고자 하는 연구가 많이 이루어지고 있다. 실제 응용에 쓰이는 유한체 의 크기, 즉 의 크기는 매우 크므로, 곱셈 연산을 수행할 때 필요한 공간 복잡도가 이 되는 이차 미만의 공간 복잡도(subquadratic space complexity)를 가진 병렬 곱셈기의 연구가 특히 관심을 받아왔다.
단계(1), 즉 두 다항식의 곱셈 연산의 한 방법으로 비특허문헌 2 [M. Cenk, C. Negre, and M. A. Hasan, “Improved three-way split formulas for binary polynomial and Toeplitz matrix vector products,” IEEE Trans. Comput., vol. 62, no. 7, pp. 1345-1361, 2013]에서 three-way split 방법이 제안되었다. 그 방법을 간단하게 설명하면 다음과 같다.
이진체 의 확장체 상에서 분할된 형태의 다항식들 와 의 여러 함숫값을 구하여 내삽법 (multi-evaluation과 interpolation 방법)을 적용하면 두 다항식의 곱 는 다음과 같은 수학식을 통해 얻을 수 있다.
상기 다섯 개의 다항식들 는 곱 를 구하기 위한 상기 three-way split 방법 (다항식들을 분할하고 여러 함숫값을 구한 후 내삽법을 적용하는 방법)을 재귀적으로(recursively) 사용하여 계산된다. 그 결과, 상기 three-way split 방법을 재귀적으로 이용한 다항식의 곱셈 연산 방법은 이차 미만의 공간 복잡도 를 가지고 수행된다.
최근, 비특허문헌 3 [M. Cenk and M.A. Hasan, “Some new results on binary polynomial multiplication,” J. Cryptographic Engineering, vol. 5, no. 4, pp. 289-303, 2015]에서 앞의 비특허문헌 2에서 제안된 three-way split 방법을 개선하여 다항식 곱셈 연산 방법의 공간 복잡도를 약 50% 줄였다.
그러나 실제 응용에서 사용되고 있는 유한체 의 크기는 계속 커지는 추세인 반면, 스마트 기기의 확산으로 인해 IT 기기의 소형화 및 경량화가 필요하므로 더욱 효율적인 복잡도를 갖는 병렬 곱셈기의 개발이 계속 요구되고 있다.
본 발명의 배경기술은 대한민국 공개특허공보 10-2011-0027176호(2011.03.16)의 '유한체의 원소간 비트-병렬 곱셈방법 및 장치'에 개시되어 있다.
본 발명의 일 측면에 따른 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법은 차수 이하인 의 다항식 으로부터 차수 이하인 의 세 개의 다항식 을 입력받아 차수 이하인 다섯 개의 의 다항식들을 생성하는 제 1단계; 차수 이하인 의 다항식 으로부터 차수 이하인 의 세 개의 다항식 을 입력받아 차수 이하인 다섯 개의 의 다항식들을 생성하는 제 2단계; 상기 제 1단계와 상기 제 2단계에서 생성된 열 개의 다항식들을 이용하여 다섯 쌍의 다항식들의 곱 을 재귀적인 방법으로 생성하는 제 3단계; 및 상기 제 3단계에서 생성된 다항식들의 곱들 을 이용하여 두 다항식의 곱 를 출력하는 제 4단계를 포함하는 것을 특징으로 한다.
본 발명의 상기 제 3단계에서 다항식들 을 입력받아 상기 제 4 단계의 를 제 2정리를 이용하여 계산하고, 세 다항식들 의 계수를 상호 배치하여 곱 를 계산하는 것을 특징으로 한다.
본 발명의 다른 측면에 따른 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법은 차수 이하인 의 다항식 으로부터 차수 이하인 의 세 개의 다항식 을 입력받아 차수 이하인 세 개의 의 다항식들과 한 개의 의 다항식을 생성하는 제 1단계; 차수 이하인 의 다항식 으로부터 차수 이하인 의 세 개의 다항식 을 입력받아 차수 이하인 세 개의 의 다항식들과 한 개의 의 다항식을 생성하는 제 2단계; 상기 제 1단계와 상기 제 2단계에서 생성된 여덟 개의 다항식들을 이용하여 네 쌍의 다항식들의 곱 을 생성하는 제 3단계; 및 상기 제 3단계에서 생성된 다항식들의 곱들 을 이용하여 두 다항식의 곱 를 출력하는 제 4단계를 포함하는 것을 특징으로 한다.
본 발명의 상기 제 3 단계에서 다항식들의 곱 는 재귀적으로 사용하여 계산하고, 곱 는 재귀적으로 계산하는 것을 특징으로 하되, 상기 곱 는, 차수 이하인 의 다항식 으로부터 차수 이하인 의 세 개의 다항식 을 입력받아 차수 이하인 다섯 개의 의 다항식들을 생성하는 제 1단계; 차수 이하인 의 다항식 으로부터 차수 이하인 의 세 개의 다항식 을 입력받아 차수 이하인 다섯 개의 의 다항식들을 생성하는 제 2단계; 및 상기 제 1단계와 상기 제 2단계에서 생성된 열 개의 다항식들을 이용하여 재귀적인 방법으로 생성하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따른 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법은 의 두 다항식의 병렬 곱셈 연산 방법으로 유한체 의 병렬 곱셈 연산하는 것을 특징으로 한다.
본 발명에 따른 유한체 의 병렬 곱셈 연산 방법은 의 다항식을 분할한 후 확장체 상에서 분할된 형태의 다항식의 여러 함숫값을 구한 후 유한체 상에서 분할된 형태의 다항식에 내삽법(multi-evaluation과 interpolation 방법) 및 새로운 기법들을 적용하여 공간 복잡도와 시간 복잡도면에 우수한 다항식 곱셈 연산 수행 방법을 제안하고 이를 기반으로 유한체 의 곱셈기를 제공할 수 있도록 한다.
이하에서는 본 발명의 일 실시 예에 따른 유한체의 병렬 곱셈 연산 방법을 첨부된 도면들을 참조하여 상세하게 설명한다. 이러한 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 이용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
단계(2)의 모듈러 감산 연산의 비용은 앞서 언급했듯이 단계(1)과 비교하여 매우 낮다. 따라서 유한체상에서 곱셈 연산의 효율성은 단계(1)의 다항식의 곱셈 연산을 얼마나 효율적으로 수행할 수 있는지에 의존한다. 그러므로 지금부터는 단계(1)에 초점을 맞추어 그의 효율적인 수행방법을 제안하고자 한다.
를 생성하는 단계(200), 상기 생성된 다항식들
를 입력받아 다항식들의 곱들 을 도 1의 제어 흐름도를 재귀적으로 이용하여 생성하는 단계(300), 상기 생성된 를 입력받아 다항식들 를 생성하여 다항식 와 의 곱 출력하는 단계(400)로 구성된다.
를 생성하는 단계(600), 상기 생성된 다항식들
를 입력받아 다항식들의 곱들 와 를 도 2와 도 1의 제어 흐름도들을 각각 재귀적으로 이용하여 생성하는 단계(700), 상기 생성된 를 입력받아 다항식들 를 생성하여 다항식 와 의 곱 출력하는 단계(800)로 구성된다.
도 1과 도 2의 각 단계를 상세히 설명하면 다음과 같다.
먼저, 이라 가정한다 (). (이 3의 거듭제곱이 아닌 경우는 계수를 0으로 간주하여 이라고 가정할 수 있다.) 변수 에 대해 차수 이하인 두 다항식 를 다음과 같이 세 부분으로 분할한다.
비특허문헌 2와 유사하게 의 확장체 상에서 분할된 형태의 다항식들 와 의 여러 함숫값을 구한 후 내삽법 (multi-evaluation과 interpolation 방법)을 적용하여 정리하면, 두 다항식의 곱 는 다음의 [수학식 1]을 통해 얻을 수 있다.
상기 다섯 개의 다항식들 는 변수 에 대해 차수 이하인 다항식들의 곱들로 계산을 위한 상기 [수학식 1] , [수학식 2] , [수학식 3]의 방법을 재귀적으로(recursively) 사용하여 계산된다.
여기서 주목할 점은 만약 두 다항식들 와 가 에 속해 있으면, 다시 말해, 두 다항식들 와 의 계수가 에 속해 있는 경우에는, 이지만 를 만족한다. 한편으로, 인 경우에는 이다. 따라서, 상기 수학식들 [수학식 1], [수학식 2], [수학식 3]의 방법을 재귀적으로 이용하여 다항식의 곱셈 연산을 수행하려면 와 인 두 경우 모두 고려하여야 한다. 그런데 두 경우에 따라 다항식의 곱 의 계산과정과 그의 복잡도가 달라지므로 두 경우는 분리되어 다뤄진다. 먼저, 인 경우를 고려한다.
이 경우에 상기 수학식들 [수학식 1], [수학식 2], [수학식 3]에 따른 다항식의 곱 의 계산은 multi-evaluation step(도 1의 단계(100)과 단계(200)), product step(도 1의 단계(300)), reconstruction step(도 1의 단계(400))의 세 단계로 수행된다.
를 각각 생성하기 위한 제어 흐름도를 나타내는 multi-evaluation step이다. 여기서 은 두 다항식들의 덧셈 연산을 의미한다. 이 단계를 좀 더 효율적으로 수행하기 위해 다음의 제1 정리가 필요하다.
[제 1정리]
이므로 와 의 계산은 중복된 계산을 피한다면 4 XOR 게이트와 2 시간 지연이 필요하다. (여기서 는 상에서 하나의 XOR 게이트를 수행 할 때 소요되는 시간 지연을 의미한다.) 결과적으로 의 원소를 계수로 갖는 차수 인 두 다항식들 에 대해 다항식들 와 의 계산은 XOR 게이트와 시간 지연의 복잡도를 갖는다.
임을 이용하여 다항식들 와 는 상기 제 1정리를 이용하여 동시에 계산된다. 후술한 [표 1]에 도 1의 단계(100)와 단계(200), 즉, multi-evaluation step의 수행 과정이 표로도 주어진다.
도 1의 단계(300)에서는 상기 생성된 다항식들
를 입력받아 [수학식 2]에서 정의된 다섯 개의 다항식들 을 생성하는 product step이다. 이 다섯 개의 다항식들 는 차수 이하인 다항식들의 곱들로 곱 를 구하기 위한 방법인 도 1의 제어 흐름도를 재귀적으로 사용하여 (다시 말해, multi-evaluation step, product step, reconstruction step의 세 단계에 의해) 계산된다.
도 1의 단계(400)는 상기 생성된 곱들 을 입력받아 [수학식 3]에 따라 를 계산하고 곱 를 출력하기 위한 제어 흐름도를 나타내는 reconstruction step이다. 여기서 다항식 는 다항식 의 계수를 오른쪽으로 쉬프트(shift) 함으로써 얻어진다. 또한, 의 계산을 효율적으로 수행하기 위해 다음 제 2정리를 이용한다.
[제 2정의]
유한체 의 두 원소 과 에 대해, 의 값을 알고 있다고 가정하자. 그러면 의 계산은 단지 2 XOR 게이트와 의 시간 지연이 필요하다. 결과적으로 의 원소를 계수로 갖는 차수 인 두 다항식들 에 대해 다항식 가 이미 계산되어 있다면, 다항식 의 계산은 XOR 게이트와 시간 지연의 복잡도를 필요로 한다.
다항식들 은 변수 에 관한 식들이다. 따라서, [수학식 1]의 다항식 의 계수는 세 다항식 의 계수를 상호 배치 (interleaving)하여 얻어진다. 후술한 [표 2]에 도 1의 단계(400), 즉 reconstruction step의 수행 과정이 표로도 주어진다.
이 경우에는 수학식들 [수학식 1]과 [수학식 3]을 보다 간단하게 정리할 수 있다. 이기 때문에, 만약 으로 표현한다면 (여기서, 이다.), 가 성립한다. 따라서 [수학식 1]과 [수학식 3]은 다음과 같이 간단하게 정리된다.
결과적으로 이 경우, 다항식의 곱 를 구하기 위해서는 의 계산이 필요가 없다. [수학식 4]에 따른 곱 의 계산은 multi-evaluation step (도 2의 단계(500)와 단계(600)), product step (도 2의 단계(700)), reconstruction step (도 2의 단계(800))의 세 단계로 수행된다.
를 각각 생성하기 위한 제어 흐름도를 나타내는 multi-evaluation step이다. 후술한 [표 3]에 도 2의 단계(500)와 단계(600), 즉 multi-evaluation step의 수행 과정이 표로도 주어진다.
도 2의 단계(700)에서는 상기 생성된 다항식들
을 입력받아 [수학식 2]에서 정의된 다섯 개의 다항식들 중 네 개의 다항식들 을 생성하는 product step이다. 이때, 이고 이므로 는 도 2의 제어 흐름도를 재귀적으로 사용하여 계산되고, 는 도 1의 제어 흐름도를 재귀적으로 사용하여 계산된다.
도 2의 단계(800)은 상기 생성된 곱들 입력받아 [수학식 4]에 따라 를 계산하고 곱 를 출력하기 위한 제어 흐름도를 나타내는 reconstruction step이다. 다항식들 은 변수 에 관한 식들이기 때문에 다항식 의 계수는 세 다항식 의 계수를 상호 배치 (interleaving)하여 얻어진다. 후술한 [표 4]에 도 2의 단계(800), 즉 reconstruction step의 수행 과정이 표로도 주어진다.
다음으로, 도 1 또는 도 2에 따라 수행된 두 다항식의 곱셈 연산에 대한 복잡도(complexity)를 설명한다.
차수 이하인 두 다항식 와 에 대하여 인 경우, 도 1의 제어 흐름도에 따른 와 의 곱셈 연산 계산에 대한 복잡도, 즉 다항식 곱셈 연산 수행 시 필요한 XOR 게이트 수, AND 게이트 수와 그들의 시간 지연을 각각 , , 으로 표기한다. 인 경우에는, 도 2의 제어 흐름도에 따른 곱셈 연산 계산에 대한 복잡도를 , , 을 이용하여 나타낸다.
도 1의 단계(100)과 단계(200)의 복잡도는 [표 1]에서 주어진다. 의 원소를 계수로 갖는 차수 인 두 다항식의 덧셈 연산은 XOR 게이트와 시간지연이 필요하다. 와 는 차수 인 다항식들이므로 [표 1]에서 의 계산은 각각 XOR 게이트와 시간지연의 복잡도가 필요하다. [표 1]에서 와 는 제 1정리에 의해 동시에 계산되며 XOR 게이트와 시간지연의 복잡도가 요구된다. 와 또한 제 1정리에 의해 동시에 계산된다. 결과적으로 도 1의 단계(100)과 단계(200)의 총 복잡도는 XOR 게이트와 시간지연이다.
도 1의 단계(300)은 차수 이하인 의 다항식들의 곱들인 를 각각 도 1의 제어 흐름도를 재귀적으로 사용하여 계산한다. 의 각 계산은 병렬적으로 수행되므로 이 과정은 XOR 게이트, AND 게이트, 시간 지연이 필요하다.
도 1의 단계(400)에 대한 복잡도는 [표 2]에서 정리된다. [표 2]에서 의 다항식 은 다항식 의 계수를 오른쪽으로 한자리 쉬프트하여 얻어지며 하드웨어에서 아무 비용 없이 수행될 수 있다. 또한, 를 제외한 [표 2]의 모든 들은 에 있는 다항식들의 덧셈 연산으로 이뤄져있으며 그들 연산의 복잡도는 도 1의 단계(100) 또는 단계(200)에서처럼 쉽게 계산된다. 의 계산은 제 2정리를 이용하여 수행하면 XOR 게이트와 시간지연을 필요로 한다. 마지막으로 다항식의 곱 은 다항식들 의 계수를 상호 배치하여 얻는데 이는 하드웨어에서 비용이 들지 않는다. 따라서 도 1 의 단계(400)의 복잡도는 XOR 게이트와 시간지연이다.
상기 복잡도의 값을 구체적으로 구하기 위해 비특허문헌 2에 증명된 다음 보조정리를 이용한다.
[보조정리 1]
도 2의 단계(500)과 단계(600)의 복잡도는 [표 3]에서 주어진다. 의 원소를 계수로 갖는 차수 인 두 다항식의 덧셈 연산은 XOR 게이트와 시간지연이 필요하다. 와 는 차수 인 다항식들이므로 [표 3]에서 의 계산은 각각 XOR 게이트와 시간지연의 복잡도가 필요하다. 이기 때문에 와 는 아무 비용 없이 구할 수 있다. 결과적으로 도 2의 단계(500)와 단계(600)의 총 복잡도는 XOR 게이트와 시간지연이다.
도 2의 단계(700)는 차수 이하인 의 다항식들의 곱들인 와 차수 이하인 의 다항식들의 곱인 를 도 2의 제어 흐름도와 도 1의 제어 흐름도를 각각 사용하여 병렬적으로 계산된다. 그에 따른 비용은 XOR 게이트, AND 게이트, 시간 지연이 필요하다.
도 2의 단계(800)에 대한 복잡도는 [표 4]에서 정리된다. [표 4]에서 들과 들은 에 있는 다항식들의 덧셈 연산으로 이뤄져있으므로 그들 계산의 비용은 쉽게 계산된다. 결과적으로 도 2 의 단계(800)의 복잡도는 XOR 게이트와 시간지연이다.
상기 복잡도의 값을 구체적으로 구하기 위해 비특허문헌 2에 증명된 다음 보조정리를 이용한다.
[보조정리 2]
다음의 [표 5]는 상에서 다항식의 곱셈 연산의 기존 방법들과 본 발명의 도 2의 실시 예에 따른 연산 방법의 복잡도들을 비교한다. [표 5]에서 알 수 있듯이 본 발명의 실시 예에 따른 연산 방법은 기존보다 낮은 공간 복잡도를 가질 뿐 아니라, 약 40%정도 줄어든 시간 지연을 갖는다.
이와 같이 본 발명의 일 실시예에 따른 유한체의 병렬 곱셈 연산 방법은 실시 예에 따른 유한체 의 병렬 곱셈 연산 방법은 의 다항식을 분할한 후, 확장체 상에서 분할된 형태의 다항식의 여러 함수값을 구한 후 유한체 상에서 분할된 형태의 다항식에 내삽법(multi-evaluation과 interpolation 방법) 및 새로운 기법들을 적용하여 공간 복잡도와 시간 복잡도면에 우수한 다항식 곱셈 연산 수행 방법을 제안하고 이를 기반으로 유한체 의 곱셈기를 제공할 수 있도록 한다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며 당해 기술이 속하는 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의하여 정해져야할 것이다.
Claims (6)
- 유한체 곱셈기의 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법에 있어서,
상기 유한체 곱셈기가 변수 에 대해 차수 이하인 를 의 다항식 으로 분할하여 세 다항식 ,, 를 생성하고, 세 다항식 를 변수 의 다항식으로 간주하여 차수 이하인 의 세 개의 다항식 를 입력받아, 유한체 상의 주어진 두 다항식 에 대해, 두 다항식 와 의 계산 방법을 제시한 제 1정리를 이용하여 로부터 차수 이하인 의 다항식들 을 생성하는 제 1단계;
상기 유한체 곱셈기가 변수 에 대해 차수 이하인 을 의 다항식 으로 분할하여 세 다항식 ,,을 생성하고, 세 다항식 를 변수 의 다항식으로 간주하여 차수 이하인 의 세 개의 다항식 을 입력받아, 상기 제 1정리를 이용하여 로부터 차수 이하인 의 다항식들 를 생성하는 제 2단계;
상기 유한체 곱셈기가 상기 제 1단계와 상기 제 2단계에서 생성된 열 개의 다항식들을 입력받아 다섯 쌍의 다항식들의 곱
을 재귀적인 방법으로 생성하는 제 3단계; 및
상기 유한체 곱셈기가 상기 제 3단계에서 생성된 다항식들의 곱들 를 입력받아 세 다항식 을 계산하여 두 다항식 의 곱 를 출력하는 제 4단계를 포함하고,
상기 제 1단계와 상기 제 2단계는 multi-evalua tion step이고, 상기 제 3단계는 product step이며, 상기 제 4단계는 reconstruction step이며,
상기 제 3단계에서 다항식들의 곱 은 multi-evaluation step, product step 및 reconstruction step을 재귀적으로 사용하여 계산되며,
상기 유한체 곱셈기는 유한체 의 원소를 계수로 갖는 차수 인 두 다항식들 와 더불어 다항식 가 주어졌을 때, 다항식 의 계산 방법을 제시한 제 2정리를 이용하여, 상기 제 3단계로부터 다항식들 을 입력받아 상기 제 4단계의 를 계산하고, 세 다항식들 의 계수를 상호 배치하여 곱 를 계산하며,
상기 제 2정리는 의 원소를 계수로 갖는 차수 인 두 다항식들 와 더불어 다항식 가 주어졌을 때 다항식 의 계산은 XOR 게이트와 시간 지연의 복잡도를 필요로 하는 것임을 특징으로 하는 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법.
- 삭제
- 유한체 곱셈기의 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법에 있어서,
상기 유한체 곱셈기가 변수 에 대해 차수 이하인 을 의 다항식 으로 분할하여 세 다항식,,을 생성하고, 세 다항식 를 변수 의 다항식으로 간주하여 차수 이하인 의 세 개의 다항식 을 입력받아, 차수 이하인 의 다항식들 와 의 다항식 을 생성하는 제 1단계;
상기 유한체 곱셈기가 변수 에 대해 차수 이하인 의 다항식으로 분할하여 세 다항식 ,,을 생성하고, 세 다항식 를 변수 의 다항식으로 간주하여 차수 이하인 의 세 개의 다항식 을 입력받아, 차수 이하인 의 다항식들 와 의 다항식를 생성하는 제 2단계;
상기 유한체 곱셈기가 상기 제 1단계와 상기 제 2단계에서 생성된 여덟 개의 다항식들을 입력받아 네 쌍의 다항식들의 곱 를 재귀적인 방법으로 생성하는 제 3 단계;
및
상기 유한체 곱셈기가 상기 제 3단계에서 생성된 다항식들의 곱들 를 입력받아 세 다항식 를 계산하여 두 다항식 와 의 곱 를 출력하는 제 4단계를 포함하고,
상기 제 1단계와 상기 제 2단계는 multi-evaluation step이고, 상기 제 3단계는 product step이며, 상기 제 4단계는 reconstruction step이며,
상기 제 3단계에서 다항식들의 곱 는 multi-evaluation step, product step 및 reconstruction step을 재귀적으로 사용하여 계산되는 것을 특징으로 하는 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170181906A KR102110162B1 (ko) | 2017-12-28 | 2017-12-28 | 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170181906A KR102110162B1 (ko) | 2017-12-28 | 2017-12-28 | 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190079857A KR20190079857A (ko) | 2019-07-08 |
KR102110162B1 true KR102110162B1 (ko) | 2020-05-14 |
Family
ID=67256430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170181906A KR102110162B1 (ko) | 2017-12-28 | 2017-12-28 | 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102110162B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102336535B1 (ko) * | 2021-10-05 | 2021-12-08 | (주) 가온칩스 | 테일러 급수를 이용한 제곱근 연산 방법 및 이를 이용한 장치 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100552694B1 (ko) * | 2003-10-16 | 2006-02-20 | 삼성전자주식회사 | 유한 체에서 곱셈 연산 방법 및 장치 |
KR100893695B1 (ko) * | 2006-12-15 | 2009-04-17 | 영동대학교 | 유한체 상의 고속 직렬 곱셈기 구조 |
-
2017
- 2017-12-28 KR KR1020170181906A patent/KR102110162B1/ko active IP Right Grant
Non-Patent Citations (2)
Title |
---|
Murat Cenk 외, ‘Improved Three-Way Split Formulas for Binary Polynomial and Toeplitz Matrix Vector Products', IEEE, 2013.07.* |
정석원 외, ‘GF(2n)에서의 직렬-병렬 곱셈기 구조’, 정보보호학회 논문지, 2003.06.* |
Also Published As
Publication number | Publication date |
---|---|
KR20190079857A (ko) | 2019-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Okada et al. | Implementation of Elliptic Curve Cryptographic Coprocessor over GF (2 m) on an FPGA | |
Fan et al. | A survey of some recent bit-parallel GF (2n) multipliers | |
Cenk et al. | Improved three-way split formulas for binary polynomial and Toeplitz matrix vector products | |
Abd-Elkader et al. | Efficient implementation of Montgomery modular multiplier on FPGA | |
Respondek | Recursive numerical recipes for the high efficient inversion of the confluent Vandermonde matrices | |
Chen et al. | FPGA realization of low register systolic all-one-polynomial multipliers over $ GF (2^{m}) $ and their applications in trinomial multipliers | |
İlter et al. | Efficient big integer multiplication in cryptography | |
KR102110162B1 (ko) | 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 | |
Verde-Star | Infinite triangular matrices, q-Pascal matrices, and determinantal representations | |
KR100950581B1 (ko) | 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법 | |
KR101837750B1 (ko) | 유한체 병렬 곱셈 장치 및 방법 | |
Kazemifard et al. | On maximal curves related to Chebyshev polynomials | |
KR101533929B1 (ko) | 유한체 GF(3ⁿ)상에서 쉬프트 된 다항식 기저를 이용한 이차 미만의 공간복잡도를 갖는 병렬 곱셈기, 그 방법 및 이를 기록한 기록매체 | |
Imana et al. | Low complexity bit-parallel polynomial basis multipliers over binary fields for special irreducible pentanomials | |
Mishra et al. | Synthesis comparison of Karatsuba multiplierusing polynomial multiplication, vedic multiplier and classical multiplier | |
Mishra et al. | Implementation of karatsuba algorithm using polynomial multiplication | |
Kadu et al. | Hardware implementation of efficient elliptic curve scalar multiplication using vedic multiplier | |
Baldeaux et al. | Duality theory and propagation rules for higher order nets | |
KR100902847B1 (ko) | 분할 테이블을 이용한 유한체 곱셈 장치, 그 방법 및기록매체 | |
KR20140089230A (ko) | 중복 형태 리코딩을 이용한 곱셈 방법 및 모듈러 곱셈기 | |
Kukade et al. | A Novel Parallel Multiplier for 2's Complement Numbers Using Booth's Recoding Algorithm | |
Rasheed | Resultant-based Elimination for Skew Polynomials | |
Cenk et al. | New efficient algorithms for multiplication over fields of characteristic three | |
KR101626743B1 (ko) | 유한체상의 몽고메리 알고리즘을 이용한 곱셉기 및 곱셈 방법 | |
Hasan | On matrix-vector product based sub-quadratic arithmetic complexity schemes for field multiplication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |