KR20190079857A - 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 - Google Patents

다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 Download PDF

Info

Publication number
KR20190079857A
KR20190079857A KR1020170181906A KR20170181906A KR20190079857A KR 20190079857 A KR20190079857 A KR 20190079857A KR 1020170181906 A KR1020170181906 A KR 1020170181906A KR 20170181906 A KR20170181906 A KR 20170181906A KR 20190079857 A KR20190079857 A KR 20190079857A
Authority
KR
South Korea
Prior art keywords
polynomials
polynomial
order
rti
subordinate
Prior art date
Application number
KR1020170181906A
Other languages
English (en)
Other versions
KR102110162B1 (ko
Inventor
홍도원
서창호
박선미
Original Assignee
공주대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 공주대학교 산학협력단 filed Critical 공주대학교 산학협력단
Priority to KR1020170181906A priority Critical patent/KR102110162B1/ko
Publication of KR20190079857A publication Critical patent/KR20190079857A/ko
Application granted granted Critical
Publication of KR102110162B1 publication Critical patent/KR102110162B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/52Multiplying; Dividing
    • G06F7/523Multiplying 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

유한체의 병렬 곱셈 연산 방법이 개시된다. 본 발명의 유한체의 병렬 곱셈 연산 방법은 차수
Figure pat00630
이하인
Figure pat00631
의 다항식
Figure pat00632
으로부터 차수
Figure pat00633
이하인
Figure pat00634
의 세 개의 다항식
Figure pat00635
을 입력받아 차수
Figure pat00636
이하인 다섯 개의
Figure pat00637
의 다항식들을 생성하는 제 1단계; 차수
Figure pat00638
이하인
Figure pat00639
의 다항식
Figure pat00640
으로부터 차수
Figure pat00641
이하인
Figure pat00642
의 세 개의 다항식
Figure pat00643
을 입력받아 차수
Figure pat00644
이하인 다섯 개의
Figure pat00645
의 다항식들을 생성하는 제 2단계; 상기 제 1단계와 상기 제 2단계에서 생성된 열 개의 다항식들을 이용하여 다섯 쌍의 다항식들의 곱
Figure pat00646
을 재귀적인 방법으로 생성하는 제 3단계; 및 상기 제 3단계에서 생성된 다항식들의 곱들
Figure pat00647
을 이용하여 두 다항식
Figure pat00648
의 곱
Figure pat00649
를 출력하는 제 4단계를 포함하는 것을 특징으로 한다.

Description

다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법{PARALLEL FINITE FIELD MULTIPLICATION METHOD BASED ON A POLYNOMIAL MULTIPLICATION METHOD}
본 발명은 유한체의 병렬 곱셈 연산 방법에 관한 것으로서, 보다 상세하게는 공개키 암호(public key cryptography)나 코딩 이론(coding theory)에 사용되는 유한체의 병렬 곱셈 연산 방법에 관한 것이다.
유한체
Figure pat00001
Figure pat00002
의 기약 다항식(irreducible polynomial)
Figure pat00003
에 의해 정의된다고 하자. 그러면,
Figure pat00004
Figure pat00005
와 동형(isomorphism)
Figure pat00006
이므로, 유한체
Figure pat00007
의 임의의 원소
Figure pat00008
는 차수가
Figure pat00009
보다 작은 다항식(polynomial) 형태
Figure pat00010
로 표현이 가능하다(
Figure pat00011
). 이때, 집합
Figure pat00012
Figure pat00013
상에서
Figure pat00014
의 다항식 기저(polynomial basis)라고 한다. 다항식 기저는 유한체의 원소를 표현할 때 가장 널리 쓰이는 기저 중 하나이다.
유한체상에서 연산(arithmetic operation)은 코딩 이론이나 암호(cryptography), 특히 타원 곡선 암호(elliptic curve cryptography)에 널리 쓰인다. 그 중 곱셈 연산(field multiplication)은 가장 중요하고 핵심이 되는 연산으로 효율적인 곱셈기(multiplier)에 대한 연구는 많은 관심을 받으며 진행되어 오고 있다
다항식 기저에 의해
Figure pat00015
의 두 원소
Figure pat00016
Figure pat00017
가 주어졌을 때 (여기서,
Figure pat00018
이다), 두 원소의 곱은 다음 두 단계에 의하여 구할 수 있다.
Figure pat00019
단계(1):
Figure pat00020
Figure pat00021
를 다항식으로 간주하고 다항식의 곱셈을 수행하여
Figure pat00022
를 얻는다.
Figure pat00023
단계(2): 상기 생성된 다항식
Figure pat00024
를 기약 다항식
Figure pat00025
에 의한 모듈러(modular) 감산 연산을 하여, 두 원소의 곱
Figure pat00026
를 얻는다.
이 경우, 유한체상의 두 원소의 곱셈 연산에 대한 복잡도(complexity)는 상기 두 단계의 복잡도에 의하여 결정된다. 단계(1)에서 두 다항식의 곱셈 연산을 수행할 때 필요한 공간 복잡도(space complexity), 즉
Figure pat00027
상에서 요구되는 XOR 게이트(gate)와 AND 게이트 수는 일반적으로
Figure pat00028
이다. 단계(2)의 기약 다항식에 의한 모듈러 감산 연산에 대한 비용은 기약 다항식
Figure pat00029
의 항의 개수에 의해 영향을 받는다. 비특허문헌 1 [G. Seroussi, “Table of low-weight binary irreducible polynomials” HP Labs, Technical Reports HPL-98-135, 1998]에 의하면, 실제 응용에서 고려되는 유한체의 경우 유한체
Figure pat00030
을 정의하는 기약 다항식으로 삼항 다항식(trinomial)이나 오항 다항식(pentanomial)이 존재한다. 이러한 삼항 또는 오항 다항식에 의한 모듈러 감산 연산은
Figure pat00031
상에서 요구되는 게이트의 수가 단지
Figure pat00032
으로 단계(1)과 비교하여 매우 적다. 따라서 효율적인 유한체의 곱셈기를 얻기 위해 단계(1), 즉 두 다항식의 곱셈 연산에 대한 복잡도 (complexity)를 줄이고자 하는 연구가 많이 이루어지고 있다. 실제 응용에 쓰이는 유한체
Figure pat00033
의 크기, 즉
Figure pat00034
의 크기는 매우 크므로, 곱셈 연산을 수행할 때 필요한 공간 복잡도가
Figure pat00035
이 되는 이차 미만의 공간 복잡도(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 방법이 제안되었다. 그 방법을 간단하게 설명하면 다음과 같다.
Figure pat00036
을 3의 거듭제곱(power)라고 가정한다. 변수(variable)
Figure pat00037
에 대해 차수
Figure pat00038
이하인 두 다항식
Figure pat00039
을 다음과 같이 세 부분으로 분할(split)한다. (여기서
Figure pat00040
이다.)
Figure pat00041
여기서, 다항식
Figure pat00042
는 변수
Figure pat00043
에 관해 차수가
Figure pat00044
이하인 다항식으로 다음과 같이 정의된다.
Figure pat00045
이진체
Figure pat00046
의 확장체
Figure pat00047
상에서 분할된 형태의 다항식들
Figure pat00048
Figure pat00049
의 여러 함숫값을 구하여 내삽법 (multi-evaluation과 interpolation 방법)을 적용하면 두 다항식의 곱
Figure pat00050
는 다음과 같은 수학식을 통해 얻을 수 있다.
Figure pat00051
여기서 상기 다항식들
Figure pat00052
Figure pat00053
Figure pat00054
의 분할된 다항식들
Figure pat00055
을 이용하여 다음과 같이 정의된다.
Figure pat00056
상기 다섯 개의 다항식들
Figure pat00057
는 곱
Figure pat00058
를 구하기 위한 상기 three-way split 방법 (다항식들을 분할하고 여러 함숫값을 구한 후 내삽법을 적용하는 방법)을 재귀적으로(recursively) 사용하여 계산된다. 그 결과, 상기 three-way split 방법을 재귀적으로 이용한 다항식의 곱셈 연산 방법은 이차 미만의 공간 복잡도
Figure pat00059
를 가지고 수행된다.
최근, 비특허문헌 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% 줄였다.
그러나 실제 응용에서 사용되고 있는 유한체
Figure pat00060
의 크기는 계속 커지는 추세인 반면, 스마트 기기의 확산으로 인해 IT 기기의 소형화 및 경량화가 필요하므로 더욱 효율적인 복잡도를 갖는 병렬 곱셈기의 개발이 계속 요구되고 있다.
본 발명의 배경기술은 대한민국 공개특허공보 10-2011-0027176호(2011.03.16)의 '유한체의 원소간 비트-병렬 곱셈방법 및 장치'에 개시되어 있다.
본 발명은 전술한 문제점을 개선하기 위해 창안된 것으로서, 임의의 유한체
Figure pat00061
상에서 공간 복잡도와 시간 복잡도면에서 우수한 유한체의 병렬 곱셈 연산 방법을 제공하는 것이다.
본 발명의 일 측면에 따른 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법은 차수
Figure pat00062
이하인
Figure pat00063
의 다항식
Figure pat00064
으로부터 차수
Figure pat00065
이하인
Figure pat00066
의 세 개의 다항식
Figure pat00067
을 입력받아 차수
Figure pat00068
이하인 다섯 개의
Figure pat00069
의 다항식들을 생성하는 제 1단계; 차수
Figure pat00070
이하인
Figure pat00071
의 다항식
Figure pat00072
으로부터 차수
Figure pat00073
이하인
Figure pat00074
의 세 개의 다항식
Figure pat00075
을 입력받아 차수
Figure pat00076
이하인 다섯 개의
Figure pat00077
의 다항식들을 생성하는 제 2단계; 상기 제 1단계와 상기 제 2단계에서 생성된 열 개의 다항식들을 이용하여 다섯 쌍의 다항식들의 곱
Figure pat00078
을 재귀적인 방법으로 생성하는 제 3단계; 및 상기 제 3단계에서 생성된 다항식들의 곱들
Figure pat00079
을 이용하여 두 다항식
Figure pat00080
의 곱
Figure pat00081
를 출력하는 제 4단계를 포함하는 것을 특징으로 한다.
본 발명의 상기 제 1단계에서 제 1정리를 이용하여 두 다항식들
Figure pat00082
Figure pat00083
를 동시에 계산하는 것을 특징으로 한다.
본 발명의 상기 제 3단계에서 다항식들
Figure pat00084
을 입력받아 상기 제 4 단계의
Figure pat00085
를 제 2정리를 이용하여 계산하고, 세 다항식들
Figure pat00086
의 계수를 상호 배치하여 곱
Figure pat00087
를 계산하는 것을 특징으로 한다.
본 발명의 다른 측면에 따른 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법은 차수
Figure pat00088
이하인
Figure pat00089
의 다항식
Figure pat00090
으로부터 차수
Figure pat00091
이하인
Figure pat00092
의 세 개의 다항식
Figure pat00093
을 입력받아 차수
Figure pat00094
이하인 세 개의
Figure pat00095
의 다항식들과 한 개의
Figure pat00096
의 다항식을 생성하는 제 1단계; 차수
Figure pat00097
이하인
Figure pat00098
의 다항식
Figure pat00099
으로부터 차수
Figure pat00100
이하인
Figure pat00101
의 세 개의 다항식
Figure pat00102
을 입력받아 차수
Figure pat00103
이하인 세 개의
Figure pat00104
의 다항식들과 한 개의
Figure pat00105
의 다항식을 생성하는 제 2단계; 상기 제 1단계와 상기 제 2단계에서 생성된 여덟 개의 다항식들을 이용하여 네 쌍의 다항식들의 곱
Figure pat00106
을 생성하는 제 3단계; 및 상기 제 3단계에서 생성된 다항식들의 곱들
Figure pat00107
을 이용하여 두 다항식
Figure pat00108
의 곱
Figure pat00109
를 출력하는 제 4단계를 포함하는 것을 특징으로 한다.
본 발명의 상기 제 3 단계에서 다항식들의 곱
Figure pat00110
는 재귀적으로 사용하여 계산하고, 곱
Figure pat00111
는 재귀적으로 계산하는 것을 특징으로 하되, 상기 곱
Figure pat00112
는, 차수
Figure pat00113
이하인
Figure pat00114
의 다항식
Figure pat00115
으로부터 차수
Figure pat00116
이하인
Figure pat00117
의 세 개의 다항식
Figure pat00118
을 입력받아 차수
Figure pat00119
이하인 다섯 개의
Figure pat00120
의 다항식들을 생성하는 제 1단계; 차수 이하인
Figure pat00122
의 다항식
Figure pat00123
으로부터 차수
Figure pat00124
이하인
Figure pat00125
의 세 개의 다항식
Figure pat00126
을 입력받아 차수
Figure pat00127
이하인 다섯 개의
Figure pat00128
의 다항식들을 생성하는 제 2단계; 및 상기 제 1단계와 상기 제 2단계에서 생성된 열 개의 다항식들을 이용하여 재귀적인 방법으로 생성하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따른 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법은
Figure pat00129
의 두 다항식의 병렬 곱셈 연산 방법으로 유한체
Figure pat00130
의 병렬 곱셈 연산하는 것을 특징으로 한다.
본 발명에 따른 유한체
Figure pat00131
의 병렬 곱셈 연산 방법은
Figure pat00132
의 다항식을 분할한 후 확장체
Figure pat00133
상에서 분할된 형태의 다항식의 여러 함숫값을 구한 후 유한체
Figure pat00134
상에서 분할된 형태의 다항식에 내삽법(multi-evaluation과 interpolation 방법) 및 새로운 기법들을 적용하여 공간 복잡도와 시간 복잡도면에 우수한 다항식 곱셈 연산 수행 방법을 제안하고 이를 기반으로 유한체
Figure pat00135
의 곱셈기를 제공할 수 있도록 한다.
도 1은 본 발명의 실시 예에 따라
Figure pat00136
의 두 다항식의 곱셈 연산을 수행하기 위한 제어 흐름도이다.
도 2는 본 발명의 다른 실시 예에 따라
Figure pat00137
의 두 다항식의 곱셈 연산을 수행하기 위한 제어 흐름도이다.
이하에서는 본 발명의 일 실시 예에 따른 유한체의 병렬 곱셈 연산 방법을 첨부된 도면들을 참조하여 상세하게 설명한다. 이러한 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 이용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
유한체
Figure pat00138
이 기약 다항식
Figure pat00139
에 의해 정의된다고 하자. 그러면,
Figure pat00140
이고
Figure pat00141
의 임의의 두 원소
Figure pat00142
Figure pat00143
는 다항식 기저
Figure pat00144
를 이용하여 다음과 같이 표현될 수 있다. (여기서
Figure pat00145
이다.)
Figure pat00146
두 원소들
Figure pat00147
Figure pat00148
의 곱은 다음 두 단계에 의하여 계산 가능하다.
Figure pat00149
단계(1):
Figure pat00150
Figure pat00151
를 다항식으로 간주하고 다항식의 곱셈을 수행하여
Figure pat00152
를 얻는다.
Figure pat00153
단계(2): 상기 생성된 다항식
Figure pat00154
를 다항식
Figure pat00155
에 의한 모듈러(modular) 감산 연산을 통해, 두 원소의 곱
Figure pat00156
를 얻는다.
단계(2)의 모듈러 감산 연산의 비용은 앞서 언급했듯이 단계(1)과 비교하여 매우 낮다. 따라서 유한체상에서 곱셈 연산의 효율성은 단계(1)의 다항식의 곱셈 연산을 얼마나 효율적으로 수행할 수 있는지에 의존한다. 그러므로 지금부터는 단계(1)에 초점을 맞추어 그의 효율적인 수행방법을 제안하고자 한다.
이를 위해, 앞으로는 두 원소
Figure pat00157
Figure pat00158
를 다항식으로 간주한다.
도 1과 도 2는 본 발명의 실시 예에 따른 단계(1), 즉 두 다항식
Figure pat00159
Figure pat00160
의 곱셈 연산을 수행하는 방법을
Figure pat00161
Figure pat00162
인 경우에 따라 각각 나타낸 제어 흐름도들이다.
차수
Figure pat00163
이하인 두 다항식
Figure pat00164
Figure pat00165
를 다음과 같이 세 부분으로 분할한다.
Figure pat00166
,
Figure pat00167
여기서, 다항식
Figure pat00168
은 변수
Figure pat00169
에 관해 차수가
Figure pat00170
이하인 다항식들이다.
도 1은 변수
Figure pat00171
에 대해 차수
Figure pat00172
이하인
Figure pat00173
의 다항식
Figure pat00174
로부터 변수
Figure pat00175
에 대해 차수
Figure pat00176
이하인 다항식
Figure pat00177
을 입력받아 변수
Figure pat00178
에 대해 차수
Figure pat00179
이하인
Figure pat00180
의 다항식들
Figure pat00181
를 생성하는 단계(100), 변수
Figure pat00182
에 대해 차수
Figure pat00183
이하인
Figure pat00184
의 다항식
Figure pat00185
로부터 변수
Figure pat00186
에 대해 차수
Figure pat00187
이하인
Figure pat00188
의 다항식
Figure pat00189
을 입력받아 변수
Figure pat00190
에 대해 차수
Figure pat00191
이하인 다항식들
Figure pat00192
를 생성하는 단계(200), 상기 생성된 다항식들
Figure pat00193
,
Figure pat00194
를 입력받아 다항식들의 곱들
Figure pat00195
을 도 1의 제어 흐름도를 재귀적으로 이용하여 생성하는 단계(300), 상기 생성된
Figure pat00196
를 입력받아 다항식들
Figure pat00197
를 생성하여 다항식
Figure pat00198
Figure pat00199
의 곱
Figure pat00200
출력하는 단계(400)로 구성된다.
도 2는 변수
Figure pat00201
에 대해 차수
Figure pat00202
이하인
Figure pat00203
의 다항식
Figure pat00204
로부터 변수
Figure pat00205
에 대해 차수
Figure pat00206
이하인
Figure pat00207
의 다항식
Figure pat00208
을 입력받아 변수
Figure pat00209
에 대해 차수
Figure pat00210
이하인 다항식들
Figure pat00211
를 생성하는 단계(500), 변수
Figure pat00212
에 대해 차수
Figure pat00213
이하인
Figure pat00214
의 다항식
Figure pat00215
로부터 변수
Figure pat00216
에 대해 차수
Figure pat00217
이하인
Figure pat00218
의 다항식
Figure pat00219
을 입력받아 변수
Figure pat00220
에 대해 차수
Figure pat00221
이하인 다항식들
Figure pat00222
를 생성하는 단계(600), 상기 생성된 다항식들
Figure pat00223
,
Figure pat00224
를 입력받아 다항식들의 곱들
Figure pat00225
Figure pat00226
를 도 2와 도 1의 제어 흐름도들을 각각 재귀적으로 이용하여 생성하는 단계(700), 상기 생성된
Figure pat00227
를 입력받아 다항식들
Figure pat00228
를 생성하여 다항식
Figure pat00229
Figure pat00230
의 곱
Figure pat00231
출력하는 단계(800)로 구성된다.
도 1과 도 2의 각 단계를 상세히 설명하면 다음과 같다.
먼저,
Figure pat00232
이라 가정한다 (
Figure pat00233
). (
Figure pat00234
이 3의 거듭제곱이 아닌 경우는 계수를 0으로 간주하여
Figure pat00235
이라고 가정할 수 있다.) 변수
Figure pat00236
에 대해 차수
Figure pat00237
이하인 두 다항식
Figure pat00238
를 다음과 같이 세 부분으로 분할한다.
Figure pat00239
,
Figure pat00240
여기서, 다항식
Figure pat00241
은 변수
Figure pat00242
에 관해 차수가
Figure pat00243
이하인 다항식으로 다음과 같이 정의된다.
Figure pat00244
비특허문헌 2와 유사하게
Figure pat00245
의 확장체
Figure pat00246
상에서 분할된 형태의 다항식들
Figure pat00247
Figure pat00248
의 여러 함숫값을 구한 후 내삽법 (multi-evaluation과 interpolation 방법)을 적용하여 정리하면, 두 다항식의 곱
Figure pat00249
는 다음의 [수학식 1]을 통해 얻을 수 있다.
Figure pat00250
여기서,
Figure pat00251
는 상기 다항식들
Figure pat00252
을 이용하여 다음의 [수학식 2]에서 정의된다.
Figure pat00253
또한,
Figure pat00254
는 다음 [수학식 3]에서 정의된다.
Figure pat00255
상기 다섯 개의 다항식들
Figure pat00256
는 변수
Figure pat00257
에 대해 차수
Figure pat00258
이하인 다항식들의 곱들로
Figure pat00259
계산을 위한 상기 [수학식 1] , [수학식 2] , [수학식 3]의 방법을 재귀적으로(recursively) 사용하여 계산된다.
여기서 주목할 점은 만약 두 다항식들
Figure pat00260
Figure pat00261
Figure pat00262
에 속해 있으면, 다시 말해, 두 다항식들
Figure pat00263
Figure pat00264
의 계수가
Figure pat00265
에 속해 있는 경우에는,
Figure pat00266
이지만
Figure pat00267
를 만족한다. 한편으로,
Figure pat00268
인 경우에는
Figure pat00269
이다. 따라서, 상기 수학식들 [수학식 1], [수학식 2], [수학식 3]의 방법을 재귀적으로 이용하여 다항식의 곱셈 연산을 수행하려면
Figure pat00270
Figure pat00271
인 두 경우 모두 고려하여야 한다. 그런데 두 경우에 따라 다항식의 곱
Figure pat00272
의 계산과정과 그의 복잡도가 달라지므로 두 경우는 분리되어 다뤄진다. 먼저,
Figure pat00273
인 경우를 고려한다.
Figure pat00274
인 경우
이 경우에 상기 수학식들 [수학식 1], [수학식 2], [수학식 3]에 따른 다항식의 곱
Figure pat00275
의 계산은 multi-evaluation step(도 1의 단계(100)과 단계(200)), product step(도 1의 단계(300)), reconstruction step(도 1의 단계(400))의 세 단계로 수행된다.
도 1의 단계(100)와 단계(200)는 분할된 다항식들
Figure pat00276
Figure pat00277
을 각각 입력받아 다항식들
Figure pat00278
,
Figure pat00279
를 각각 생성하기 위한 제어 흐름도를 나타내는 multi-evaluation step이다. 여기서
Figure pat00280
은 두 다항식들의 덧셈 연산을 의미한다. 이 단계를 좀 더 효율적으로 수행하기 위해 다음의 제1 정리가 필요하다.
[제 1정리]
유한체
Figure pat00281
의 임의의 두 원소
Figure pat00282
Figure pat00283
에 대해,
Figure pat00284
이므로
Figure pat00285
Figure pat00286
의 계산은 중복된 계산을 피한다면 4 XOR 게이트와 2
Figure pat00287
시간 지연이 필요하다. (여기서
Figure pat00288
Figure pat00289
상에서 하나의 XOR 게이트를 수행 할 때 소요되는 시간 지연을 의미한다.) 결과적으로
Figure pat00290
의 원소를 계수로 갖는 차수
Figure pat00291
인 두 다항식들
Figure pat00292
에 대해 다항식들
Figure pat00293
Figure pat00294
의 계산은
Figure pat00295
XOR 게이트와
Figure pat00296
시간 지연의 복잡도를 갖는다.
Figure pat00297
임을 이용하여 다항식들
Figure pat00298
Figure pat00299
는 상기 제 1정리를 이용하여 동시에 계산된다. 후술한 [표 1]에 도 1의 단계(100)와 단계(200), 즉, multi-evaluation step의 수행 과정이 표로도 주어진다.
도 1의 단계(300)에서는 상기 생성된 다항식들
Figure pat00300
,
Figure pat00301
를 입력받아 [수학식 2]에서 정의된 다섯 개의 다항식들
Figure pat00302
을 생성하는 product step이다. 이 다섯 개의 다항식들
Figure pat00303
는 차수
Figure pat00304
이하인 다항식들의 곱들로 곱
Figure pat00305
를 구하기 위한 방법인 도 1의 제어 흐름도를 재귀적으로 사용하여 (다시 말해, multi-evaluation step, product step, reconstruction step의 세 단계에 의해) 계산된다.
도 1의 단계(400)는 상기 생성된 곱들
Figure pat00306
을 입력받아 [수학식 3]에 따라
Figure pat00307
를 계산하고 곱
Figure pat00308
를 출력하기 위한 제어 흐름도를 나타내는 reconstruction step이다. 여기서 다항식
Figure pat00309
는 다항식
Figure pat00310
의 계수를 오른쪽으로 쉬프트(shift) 함으로써 얻어진다. 또한,
Figure pat00311
의 계산을 효율적으로 수행하기 위해 다음 제 2정리를 이용한다.
[제 2정의]
유한체
Figure pat00312
의 두 원소
Figure pat00313
Figure pat00314
에 대해,
Figure pat00315
의 값을 알고 있다고 가정하자. 그러면
Figure pat00316
의 계산은 단지 2 XOR 게이트와
Figure pat00317
의 시간 지연이 필요하다. 결과적으로
Figure pat00318
의 원소를 계수로 갖는 차수
Figure pat00319
인 두 다항식들
Figure pat00320
에 대해 다항식
Figure pat00321
가 이미 계산되어 있다면, 다항식
Figure pat00322
의 계산은
Figure pat00323
XOR 게이트와
Figure pat00324
시간 지연의 복잡도를 필요로 한다.
다항식들
Figure pat00325
은 변수
Figure pat00326
에 관한 식들이다. 따라서, [수학식 1]의 다항식
Figure pat00327
의 계수는 세 다항식
Figure pat00328
의 계수를 상호 배치 (interleaving)하여 얻어진다. 후술한 [표 2]에 도 1의 단계(400), 즉 reconstruction step의 수행 과정이 표로도 주어진다.
다음으로
Figure pat00329
인 경우 도 2의 제어 흐름도에 따른 다항식의 곱셈 연산 방법을 설명한다.
Figure pat00330
인 경우
이 경우에는 수학식들 [수학식 1]과 [수학식 3]을 보다 간단하게 정리할 수 있다.
Figure pat00331
이기 때문에, 만약
Figure pat00332
으로 표현한다면 (여기서,
Figure pat00333
이다.),
Figure pat00334
가 성립한다. 따라서 [수학식 1]과 [수학식 3]은 다음과 같이 간단하게 정리된다.
Figure pat00335
결과적으로 이 경우, 다항식의 곱
Figure pat00336
를 구하기 위해서는
Figure pat00337
의 계산이 필요가 없다. [수학식 4]에 따른 곱
Figure pat00338
의 계산은 multi-evaluation step (도 2의 단계(500)와 단계(600)), product step (도 2의 단계(700)), reconstruction step (도 2의 단계(800))의 세 단계로 수행된다.
도 2의 단계(500)와 단계(600)은 분할된 다항식들
Figure pat00339
Figure pat00340
을 각각 입력받아 다항식들
Figure pat00341
,
Figure pat00342
를 각각 생성하기 위한 제어 흐름도를 나타내는 multi-evaluation step이다. 후술한 [표 3]에 도 2의 단계(500)와 단계(600), 즉 multi-evaluation step의 수행 과정이 표로도 주어진다.
도 2의 단계(700)에서는 상기 생성된 다항식들
Figure pat00343
,
Figure pat00344
을 입력받아 [수학식 2]에서 정의된 다섯 개의 다항식들 중 네 개의 다항식들
Figure pat00345
을 생성하는 product step이다. 이때,
Figure pat00346
이고
Figure pat00347
이므로
Figure pat00348
는 도 2의 제어 흐름도를 재귀적으로 사용하여 계산되고,
Figure pat00349
는 도 1의 제어 흐름도를 재귀적으로 사용하여 계산된다.
도 2의 단계(800)은 상기 생성된 곱들
Figure pat00350
입력받아 [수학식 4]에 따라
Figure pat00351
를 계산하고 곱
Figure pat00352
를 출력하기 위한 제어 흐름도를 나타내는 reconstruction step이다. 다항식들
Figure pat00353
은 변수
Figure pat00354
에 관한 식들이기 때문에 다항식
Figure pat00355
의 계수는 세 다항식
Figure pat00356
의 계수를 상호 배치 (interleaving)하여 얻어진다. 후술한 [표 4]에 도 2의 단계(800), 즉 reconstruction step의 수행 과정이 표로도 주어진다.
다음으로, 도 1 또는 도 2에 따라 수행된 두 다항식의 곱셈 연산에 대한 복잡도(complexity)를 설명한다.
차수
Figure pat00357
이하인 두 다항식
Figure pat00358
Figure pat00359
에 대하여
Figure pat00360
인 경우, 도 1의 제어 흐름도에 따른
Figure pat00361
Figure pat00362
의 곱셈 연산 계산에 대한 복잡도, 즉 다항식 곱셈 연산 수행 시 필요한 XOR 게이트 수, AND 게이트 수와 그들의 시간 지연을 각각
Figure pat00363
,
Figure pat00364
,
Figure pat00365
으로 표기한다.
Figure pat00366
인 경우에는, 도 2의 제어 흐름도에 따른 곱셈 연산 계산에 대한 복잡도를
Figure pat00367
,
Figure pat00368
,
Figure pat00369
을 이용하여 나타낸다.
먼저,
Figure pat00370
인 경우를 살펴보자.
도 1의 단계(100)과 단계(200)의 복잡도는 [표 1]에서 주어진다.
Figure pat00371
의 원소를 계수로 갖는 차수
Figure pat00372
인 두 다항식의 덧셈 연산은
Figure pat00373
XOR 게이트와
Figure pat00374
시간지연이 필요하다.
Figure pat00375
Figure pat00376
는 차수
Figure pat00377
인 다항식들이므로 [표 1]에서
Figure pat00378
의 계산은 각각
Figure pat00379
XOR 게이트와
Figure pat00380
시간지연의 복잡도가 필요하다. [표 1]에서
Figure pat00381
Figure pat00382
는 제 1정리에 의해 동시에 계산되며
Figure pat00383
XOR 게이트와
Figure pat00384
시간지연의 복잡도가 요구된다.
Figure pat00385
Figure pat00386
또한 제 1정리에 의해 동시에 계산된다. 결과적으로 도 1의 단계(100)과 단계(200)의 총 복잡도는
Figure pat00387
XOR 게이트와
Figure pat00388
시간지연이다.
Figure pat00389
상에서 multi-evaluation step
XOR 게이트 수 시간
지연
Figure pat00390
Figure pat00391
Figure pat00392
Figure pat00393
Figure pat00394
Figure pat00395
Figure pat00396
Figure pat00397
Figure pat00398
Figure pat00399
Figure pat00400
Figure pat00401
Figure pat00402
Figure pat00403
합계
Figure pat00404
Figure pat00405
도 1의 단계(300)은 차수
Figure pat00406
이하인
Figure pat00407
의 다항식들의 곱들인
Figure pat00408
를 각각 도 1의 제어 흐름도를 재귀적으로 사용하여 계산한다.
Figure pat00409
의 각 계산은 병렬적으로 수행되므로 이 과정은
Figure pat00410
XOR 게이트,
Figure pat00411
AND 게이트,
Figure pat00412
시간 지연이 필요하다.
도 1의 단계(400)에 대한 복잡도는 [표 2]에서 정리된다. [표 2]에서
Figure pat00413
의 다항식
Figure pat00414
은 다항식
Figure pat00415
의 계수를 오른쪽으로 한자리 쉬프트하여 얻어지며 하드웨어에서 아무 비용 없이 수행될 수 있다. 또한,
Figure pat00416
를 제외한 [표 2]의 모든
Figure pat00417
들은
Figure pat00418
에 있는 다항식들의 덧셈 연산으로 이뤄져있으며 그들 연산의 복잡도는 도 1의 단계(100) 또는 단계(200)에서처럼 쉽게 계산된다.
Figure pat00419
의 계산은 제 2정리를 이용하여 수행하면
Figure pat00420
XOR 게이트와
Figure pat00421
시간지연을 필요로 한다. 마지막으로 다항식의 곱
Figure pat00422
은 다항식들
Figure pat00423
의 계수를 상호 배치하여 얻는데 이는 하드웨어에서 비용이 들지 않는다. 따라서 도 1 의 단계(400)의 복잡도는
Figure pat00424
XOR 게이트와
Figure pat00425
시간지연이다.
Figure pat00426
상에서 reconstruction step
XOR 게이트 수 시간지연
Figure pat00427
Figure pat00428
Figure pat00429
Figure pat00430
Figure pat00431
Figure pat00432
Figure pat00433
Figure pat00434
Figure pat00435
Figure pat00436
Figure pat00437
Figure pat00438
Figure pat00439
Figure pat00440
Figure pat00441
Figure pat00442
Figure pat00443
Figure pat00444
Figure pat00445
Figure pat00446
Figure pat00447
합계
Figure pat00448
Figure pat00449
상기 결과들을 종합하면, 도 1에 따라 수행된 다항식의 곱
Figure pat00450
를 계산하는데 필요한 복잡도는 다음과 같이 재귀적인 공식에 의해 표현된다.
Figure pat00451
상기 복잡도의 값을 구체적으로 구하기 위해 비특허문헌 2에 증명된 다음 보조정리를 이용한다.
[보조정리 1]
Figure pat00452
를 양의 정수라 하자. 그리고
Figure pat00453
을 만족한다고 하자.
(1)
Figure pat00454
일 때,
Figure pat00455
관계식들로부터,
Figure pat00456
이 성립한다.
(2)
Figure pat00457
관계식들로부터,
Figure pat00458
이 성립한다.
상기 정리를 [수학식 5]에 적용하면 도 1에 따른 다항식의 곱
Figure pat00459
계산에 대한 복잡도를 다음과 같이 구할 수 있다.
Figure pat00460
다음으로,
Figure pat00461
인 경우를 살펴보자.
도 2의 단계(500)과 단계(600)의 복잡도는 [표 3]에서 주어진다.
Figure pat00462
의 원소를 계수로 갖는 차수
Figure pat00463
인 두 다항식의 덧셈 연산은
Figure pat00464
XOR 게이트와
Figure pat00465
시간지연이 필요하다.
Figure pat00466
Figure pat00467
는 차수
Figure pat00468
인 다항식들이므로 [표 3]에서
Figure pat00469
의 계산은 각각
Figure pat00470
XOR 게이트와
Figure pat00471
시간지연의 복잡도가 필요하다.
Figure pat00472
이기 때문에
Figure pat00473
Figure pat00474
는 아무 비용 없이 구할 수 있다. 결과적으로 도 2의 단계(500)와 단계(600)의 총 복잡도는
Figure pat00475
XOR 게이트와
Figure pat00476
시간지연이다.
Figure pat00477
상에서 multi-evaluation step
XOR 게이트 수 시간지연
Figure pat00478
Figure pat00479
Figure pat00480
Figure pat00481
Figure pat00482
Figure pat00483
Figure pat00484
Figure pat00485
Figure pat00486
-
Figure pat00487
-
합계
Figure pat00488
Figure pat00489
도 2의 단계(700)는 차수
Figure pat00490
이하인
Figure pat00491
의 다항식들의 곱들인
Figure pat00492
와 차수
Figure pat00493
이하인
Figure pat00494
의 다항식들의 곱인
Figure pat00495
를 도 2의 제어 흐름도와 도 1의 제어 흐름도를 각각 사용하여 병렬적으로 계산된다. 그에 따른 비용은
Figure pat00496
XOR 게이트,
Figure pat00497
AND 게이트,
Figure pat00498
시간 지연이 필요하다.
도 2의 단계(800)에 대한 복잡도는 [표 4]에서 정리된다. [표 4]에서
Figure pat00499
들과
Figure pat00500
들은
Figure pat00501
에 있는 다항식들의 덧셈 연산으로 이뤄져있으므로 그들 계산의 비용은 쉽게 계산된다. 결과적으로 도 2 의 단계(800)의 복잡도는
Figure pat00502
XOR 게이트와
Figure pat00503
시간지연이다.
Figure pat00504
상에서 reconstruction step
XOR 게이트 수 시간지연
Figure pat00505
Figure pat00506
Figure pat00507
Figure pat00508
Figure pat00509
Figure pat00510
Figure pat00511
Figure pat00512
Figure pat00513
Figure pat00514
Figure pat00515
Figure pat00516
Figure pat00517
Figure pat00518
Figure pat00519
Figure pat00520
합계
Figure pat00521
Figure pat00522
상기 결과들을 종합하면, 도 2에 따라 수행된 다항식의 곱
Figure pat00523
를 계산하는데 필요한 복잡도는 다음의 공식에 의해 표현된다.
Figure pat00524
상기 [수학식 6]에 주어진
Figure pat00525
,
Figure pat00526
,
Figure pat00527
의 값을 이용하여
Figure pat00528
,
Figure pat00529
,
Figure pat00530
의 다음의 재귀적인 공식을 얻을 수 있다.
Figure pat00531
상기 복잡도의 값을 구체적으로 구하기 위해 비특허문헌 2에 증명된 다음 보조정리를 이용한다.
[보조정리 2]
Figure pat00532
를 양의 정수라 하자. 그리고
Figure pat00533
을 만족한다고 하자.
Figure pat00534
관계식들로부터,
Figure pat00535
이 성립한다.
상기 [보조정리 2]를 [수학식 7]에 적용하면 도 2에 따른 다항식의 곱
Figure pat00536
에 대한 복잡도를 다음과 같이 구할 수 있다.
Figure pat00537
다음의 [표 5]는
Figure pat00538
상에서 다항식의 곱셈 연산의 기존 방법들과 본 발명의 도 2의 실시 예에 따른 연산 방법의 복잡도들을 비교한다. [표 5]에서 알 수 있듯이 본 발명의 실시 예에 따른 연산 방법은 기존보다 낮은 공간 복잡도를 가질 뿐 아니라, 약 40%정도 줄어든 시간 지연을 갖는다.
Figure pat00539
이와 같이 본 발명의 일 실시예에 따른 유한체의 병렬 곱셈 연산 방법은 실시 예에 따른 유한체
Figure pat00540
의 병렬 곱셈 연산 방법은
Figure pat00541
의 다항식을 분할한 후, 확장체
Figure pat00542
상에서 분할된 형태의 다항식의 여러 함수값을 구한 후 유한체
Figure pat00543
상에서 분할된 형태의 다항식에 내삽법(multi-evaluation과 interpolation 방법) 및 새로운 기법들을 적용하여 공간 복잡도와 시간 복잡도면에 우수한 다항식 곱셈 연산 수행 방법을 제안하고 이를 기반으로 유한체
Figure pat00544
의 곱셈기를 제공할 수 있도록 한다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며 당해 기술이 속하는 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의하여 정해져야할 것이다.
100: 차수
Figure pat00545
이하인 다섯 개의
Figure pat00546
의 다항식들을 생성하는 단계
200: 차수
Figure pat00547
이하인 다섯 개의
Figure pat00548
의 다항식들을 생성하는 단계
300: 다섯 쌍의 다항식들의 곱
Figure pat00549
을 재귀적인 방법으로 생성하는 단계
400:
Figure pat00550
의 두 다항식
Figure pat00551
의 곱
Figure pat00552
를 출력하는 단계
500: 차수
Figure pat00553
이하인 네 개의
Figure pat00554
의 다항식들을 생성하는 단계
600: 차수
Figure pat00555
이하인 네 개의
Figure pat00556
의 다항식들을 생성하는 단계
700: 네 쌍의 다항식들의 곱
Figure pat00557
을 재귀적인 방법으로 생성하는 단계
800:
Figure pat00558
의 두 다항식
Figure pat00559
의 곱
Figure pat00560
를 출력하는 단계

Claims (6)

  1. 차수
    Figure pat00561
    이하인
    Figure pat00562
    의 다항식
    Figure pat00563
    으로부터 차수
    Figure pat00564
    이하인
    Figure pat00565
    의 세 개의 다항식
    Figure pat00566
    을 입력받아 차수
    Figure pat00567
    이하인 다섯 개의
    Figure pat00568
    의 다항식들을 생성하는 제 1단계;
    차수
    Figure pat00569
    이하인
    Figure pat00570
    의 다항식
    Figure pat00571
    으로부터 차수
    Figure pat00572
    이하인
    Figure pat00573
    의 세 개의 다항식
    Figure pat00574
    을 입력받아 차수
    Figure pat00575
    이하인 다섯 개의
    Figure pat00576
    의 다항식들을 생성하는 제 2단계;
    상기 제 1단계와 상기 제 2단계에서 생성된 열 개의 다항식들을 이용하여 다섯 쌍의 다항식들의 곱
    Figure pat00577
    을 재귀적인 방법으로 생성하는 제 3단계; 및
    상기 제 3단계에서 생성된 다항식들의 곱들
    Figure pat00578
    을 이용하여 두 다항식
    Figure pat00579
    의 곱
    Figure pat00580
    를 출력하는 제 4단계를 포함하는 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법.
  2. 제 1 항에 있어서, 상기 제 1단계에서 제 1정리를 이용하여 두 다항식들
    Figure pat00581
    Figure pat00582
    를 동시에 계산하는 것을 특징으로 하는 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법.
  3. 제 1 항에 있어서, 상기 제 3단계에서 다항식들
    Figure pat00583
    을 입력받아 상기 제 4 단계의
    Figure pat00584
    를 제 2정리를 이용하여 계산하고, 세 다항식들
    Figure pat00585
    의 계수를 상호 배치하여 곱
    Figure pat00586
    를 계산하는 것을 특징으로 하는 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법.
  4. 차수
    Figure pat00587
    이하인
    Figure pat00588
    의 다항식
    Figure pat00589
    으로부터 차수
    Figure pat00590
    이하인
    Figure pat00591
    의 세 개의 다항식
    Figure pat00592
    을 입력받아 차수
    Figure pat00593
    이하인 세 개의
    Figure pat00594
    의 다항식들과 한 개의
    Figure pat00595
    의 다항식을 생성하는 제 1단계;
    차수
    Figure pat00596
    이하인
    Figure pat00597
    의 다항식
    Figure pat00598
    으로부터 차수
    Figure pat00599
    이하인
    Figure pat00600
    의 세 개의 다항식
    Figure pat00601
    을 입력받아 차수
    Figure pat00602
    이하인 세 개의
    Figure pat00603
    의 다항식들과 한 개의
    Figure pat00604
    의 다항식을 생성하는 제 2단계;
    상기 제 1단계와 상기 제 2단계에서 생성된 여덟 개의 다항식들을 이용하여 네 쌍의 다항식들의 곱
    Figure pat00605
    을 생성하는 제 3단계; 및
    상기 제 3단계에서 생성된 다항식들의 곱들
    Figure pat00606
    을 이용하여 두 다항식의 곱
    Figure pat00608
    를 출력하는 제 4단계를 포함하는 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법.
  5. 제 4항에 있어서,
    상기 제 3 단계에서 다항식들의 곱
    Figure pat00609
    는 재귀적으로 사용하여 계산하고, 곱
    Figure pat00610
    는 재귀적으로 계산하는 것을 특징으로 하되,
    상기 곱
    Figure pat00611
    는, 차수
    Figure pat00612
    이하인
    Figure pat00613
    의 다항식
    Figure pat00614
    으로부터 차수
    Figure pat00615
    이하인
    Figure pat00616
    의 세 개의 다항식
    Figure pat00617
    을 입력받아 차수
    Figure pat00618
    이하인 다섯 개의
    Figure pat00619
    의 다항식들을 생성하는 제 1단계; 차수
    Figure pat00620
    이하인
    Figure pat00621
    의 다항식
    Figure pat00622
    으로부터 차수
    Figure pat00623
    이하인
    Figure pat00624
    의 세 개의 다항식
    Figure pat00625
    을 입력받아 차수
    Figure pat00626
    이하인 다섯 개의
    Figure pat00627
    의 다항식들을 생성하는 제 2단계; 및 상기 제 1단계와 상기 제 2단계에서 생성된 열 개의 다항식들을 이용하여 재귀적인 방법으로 생성하는 것을 특징으로 하는 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법.
  6. 제 4항의
    Figure pat00628
    의 두 다항식의 병렬 곱셈 연산 방법으로 유한체
    Figure pat00629
    의 병렬 곱셈 연산하는 것을 특징으로 하는 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법.


KR1020170181906A 2017-12-28 2017-12-28 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 KR102110162B1 (ko)

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 true KR20190079857A (ko) 2019-07-08
KR102110162B1 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102336535B1 (ko) * 2021-10-05 2021-12-08 (주) 가온칩스 테일러 급수를 이용한 제곱근 연산 방법 및 이를 이용한 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050036451A (ko) * 2003-10-16 2005-04-20 삼성전자주식회사 유한 체에서 곱셈 연산 방법 및 장치
KR20080056036A (ko) * 2006-12-15 2008-06-20 영동대학교 유한체 상의 고속 직렬 곱셈기 구조

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050036451A (ko) * 2003-10-16 2005-04-20 삼성전자주식회사 유한 체에서 곱셈 연산 방법 및 장치
KR20080056036A (ko) * 2006-12-15 2008-06-20 영동대학교 유한체 상의 고속 직렬 곱셈기 구조

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Murat Cenk 외, ‘Improved Three-Way Split Formulas for Binary Polynomial and Toeplitz Matrix Vector Products', IEEE, 2013.07.* *
정석원 외, ‘GF(2n)에서의 직렬-병렬 곱셈기 구조’, 정보보호학회 논문지, 2003.06.* *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102336535B1 (ko) * 2021-10-05 2021-12-08 (주) 가온칩스 테일러 급수를 이용한 제곱근 연산 방법 및 이를 이용한 장치

Also Published As

Publication number Publication date
KR102110162B1 (ko) 2020-05-14

Similar Documents

Publication Publication Date Title
Okada et al. Implementation of Elliptic Curve Cryptographic Coprocessor over GF (2 m) on an FPGA
Erdem et al. A general digit-serial architecture for montgomery modular multiplication
Marzouqi et al. Review of elliptic curve cryptography processor designs
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
Morales-Sandoval et al. Area/performance trade-off analysis of an FPGA digit-serial GF (2m) Montgomery multiplier based on LFSR
Chen et al. FPGA realization of low register systolic all-one-polynomial multipliers over $ GF (2^{m}) $ and their applications in trinomial multipliers
Dwivedi An efficient multiplication algorithm using Nikhilam method
Ilter et al. Efficient big integer multiplication in cryptography
Bajard et al. Efficient multiplication in GF (p/sup k/) for elliptic curve cryptography
KR20190079857A (ko) 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법
Verde-Star Infinite triangular matrices, q-Pascal matrices, and determinantal representations
KR100950581B1 (ko) 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법
KR101837750B1 (ko) 유한체 병렬 곱셈 장치 및 방법
Lima et al. A Karatsuba-based algorithm for polynomial multiplication in Chebyshev form
Mirhosseini et al. A reduced-bias approach with a lightweight hard-multiple generator to design a radix-8 modulo $2^{n}+ 1$ multiplier
Rashidi et al. High-speed hardware implementations of point multiplication for binary Edwards and generalized Hessian curves
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
Laxman et al. FPGA implementation of different multiplier architectures
Cuevas-Farfan et al. Karatsuba-Ofman Multiplier with Integrated Modular Reduction for (2) m GF
Mishra et al. Implementation of karatsuba algorithm using polynomial multiplication
McIvor et al. An FPGA elliptic curve cryptographic accelerator over GF (p)
KR101607812B1 (ko) 유한체 GF(2^n)상의 딕슨 기저를 이용한 병렬 곱셈 방법 및 장치
Baldeaux et al. Duality theory and propagation rules for higher order nets

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