WO2018139750A1 - 유한체 병렬 곱셈 장치 및 방법 - Google Patents

유한체 병렬 곱셈 장치 및 방법 Download PDF

Info

Publication number
WO2018139750A1
WO2018139750A1 PCT/KR2017/013417 KR2017013417W WO2018139750A1 WO 2018139750 A1 WO2018139750 A1 WO 2018139750A1 KR 2017013417 W KR2017013417 W KR 2017013417W WO 2018139750 A1 WO2018139750 A1 WO 2018139750A1
Authority
WO
WIPO (PCT)
Prior art keywords
polynomial
vector
polynomials
cpf
operator
Prior art date
Application number
PCT/KR2017/013417
Other languages
English (en)
French (fr)
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 공주대학교 산학협력단
Publication of WO2018139750A1 publication Critical patent/WO2018139750A1/ko

Links

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
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/44Multiplying; Dividing

Definitions

  • the present invention relates to a finite field parallel multiplication apparatus and method, and more particularly, to a finite field parallel multiplication apparatus and method based on a polynomial multiplication algorithm with subquadratic space complexity.
  • Arithmetic operations are needed for many applications, such as coding theory and elliptic curve cryptography.
  • the field multiplication is the most important and core operation, but since the operation is complicated and expensive, efficient multiplication techniques have been required.
  • is called the polynomial basis of G (2 ") on G (2).
  • the polynomial basis is one of the most widely used basal manifestations when representing elements of finite bodies.
  • the present invention has been made to solve the above-described problems, and an object according to one aspect of the present invention is to provide a finite field parallel multiplication apparatus and method having more efficient sub-second spatial complexity on any finite field GF (2 "). To provide.
  • the above-mentioned one vector operation unit of the present invention is a polynomial ⁇ ⁇ + ⁇ Vectors with 4 polynomials of degree — 1 from ⁇ and ⁇ ⁇ +, with each component n l03 ⁇ 43 / 3 components CPF ⁇ (A 0 ), CPF A,), CPF B 0 ) :
  • the second vector calculating unit of the present invention receives vector vectors calculated by the first vector calculating unit and multiplies components to obtain vectors for i, j, where 0 ⁇ i, j ⁇ l.
  • the first polynomial calculating unit of the present invention is characterized by calculating the polynomial o + ⁇ ) ⁇ using the vector increments ⁇ and calculated by the second vector calculating unit. 1
  • the polynomial operator calculates the sum of + and 0 , u +,., Calculates the polynomial ⁇ (u + 3 ⁇ 4, 0 ) using 3 ⁇ 4u + 0 vector, and then shifts the polynomial ⁇ + ⁇ , ⁇ ) shift) to output a polynomial.
  • the second polynomial calculating unit of the present invention calculates the polynomial ⁇ H 0 + ⁇ HY 2 using vector increments calculated by the second vector calculating unit. do.
  • the second polynomial calculating unit of the present invention is calculated by the second vector calculating unit
  • the second vector calculation unit is the first
  • the second vector calculating unit of the present invention receives the vectors calculated by the first vector calculating unit and calculates the vectors for 0 ⁇ i, j ⁇ l by multiplying the components.
  • the first polynomial calculation unit of the present invention calculates the sum + and 0 of and ⁇ , receives a +, o vector, calculates the polynomial ⁇ ( ⁇ + ⁇ ⁇ ), and then polynomial.
  • the present invention relates to a polynomial C whose modler subtractor is calculated by the output unit.
  • the finite field parallel multiplication apparatus and method according to an aspect of the present invention enables a multiplication operation of two polynomials of order n-1 to be more efficiently performed in terms of complexity.
  • the finite field parallel multiplication apparatus and method according to an aspect of the present invention can be applied to any hardware design based on a multiplication operation of two polynomials of order n-1. Makes multiplications efficient.
  • FIG. 1 is a block diagram of a finite field multiplication apparatus according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a method of performing a polynomial parallel multiplication of two polynomials according to an exemplary embodiment of the present invention.
  • step S400 of FIG. 2 is a diagram illustrating step S400 of FIG. 2 in more detail.
  • FIG. 4 is a diagram illustrating a process of performing polynomial multiplication using the three blocks.
  • Finite field 6 2 is defined by the contract polynomial / (), ⁇ ( ⁇ ( 2 ") G ⁇ (2) [] / (/), and the finite field ⁇ any two elements of (2 ") ⁇ And B are expressed as follows using the polynomial basis ⁇ , ⁇ ,... , 11 ⁇ ⁇ where eG ⁇ (2).
  • the product of the two elements ⁇ and 5 is calculated by the following two steps.
  • the first step considers ⁇ and H as polynomials and multiplies the polynomials to get c.
  • modal subtraction of the polynomial c generated in the first step is performed by the polynomial / () to obtain the product C mod / ().
  • the time delays of the XOR and AND gates are denoted by ⁇ ⁇ ⁇ ® , respectively.
  • the second stage is simply performed, and the complexity of the second stage is very low compared to the first stage.
  • the effectiveness of the multiplication operation depends on how efficiently the first step can be performed. Therefore, I will focus on the first step and propose an efficient method for its implementation.
  • FIG. 1 is a block diagram of a finite field multiplication apparatus according to an embodiment of the present invention.
  • a finite field parallel multiplication apparatus includes a first vector operator 10, a second vector operator 20, a first polynomial operator 30, and a second polynomial operator 40. ), An output unit 50, and a moder subtractor 60.
  • the first step is performed by the first vector operator 10, the second vector operator 20, the first polynomial operator 30, the second polynomial operator 40, and the output unit 50.
  • the step is performed in the moder subtraction section 60.
  • the second vector calculation unit 20 generates four vectors input components four new back-emitter number is an n l0 3/3 through the multiplication between the components from those generated by the first vector calculation unit 10, do.
  • the first polynomial operator 30 receives the vectors of the second vector operator 20 and calculates a polynomial 0 3 ⁇ 4 + ⁇ ) using these vectors.
  • the second polynomial calculator 40 receives the vectors of the second vector calculator 20 and calculates a polynomial + 2 using these vectors.
  • the output unit 50 receives the polynomials ( ⁇ ⁇ 4 ⁇ 0 ) and ⁇ 0 H 0 + ⁇ 2 calculated by the first polynomial operator 30 and the second polynomial operator 40, respectively. Output the product of B
  • FIG. 2 is a flowchart of a method of finite field multiplication of two polynomials according to an embodiment of the present invention
  • FIG. 3 is a diagram illustrating step S400 of FIG. 2 in more detail.
  • the two elements ⁇ and 5 of the finite body ( ⁇ ( 1 ) are regarded as polynomials of order ri— l, each separated into two parts:
  • the second unit 30 receives the generated vectors increase ⁇ and , 0 and calculates and outputs the polynomial ⁇ + ⁇ H using ⁇ and. (S300), the second polynomial operation unit 40 Among the generated vectors, 0 and are input and ⁇ and are used to calculate and output a polynomial ⁇ + ⁇ 2 (S400), and the output unit 50 is the first polynomial operation unit 30 and the second polynomial operation unit. Polynomials 0 0 + 0 respectively calculated by (40) and
  • ⁇ ⁇ 0 ( ⁇ ) ⁇ 0 ( ⁇ ) ⁇ 0 ( ⁇ ),
  • the following theorem is used to recombine the blocks of a polynomial multiplication operation to reduce spatial complexity.
  • the first vector calculation unit 10 includes a polynomial 0,, H 0, H input received vector of C ⁇ 4 0) having components of each n l03 ⁇ 43 / 3, CPF A,), CPF "(B 0) Produces CPF ⁇ B ⁇
  • the second vector operator 20 calculates the calculated vectors C ⁇ C 0 ,
  • step S300 calculates a sum of two vectors + 0 in a four block.
  • Step 1 a process of calculating the polynomial ⁇ (d ai + 3 ⁇ 4, 0 ) by receiving the calculated + 3 ⁇ 4, 0 vector in the block, and shifting the calculated polynomial ⁇ ( j + ⁇ C)) oJ + ⁇ H 0 ) ⁇
  • the vectors ⁇ and are expressed as follows.
  • Step S400 of FIG. 2 is performed as follows. 2, step S400 is to calculate the vector c 0 , Co + ⁇ + ⁇ + c ⁇ ⁇ + z + c + ⁇ ', in the formula by receiving the vectors, 0, and 4 from Blocks. process,
  • the interleaving block includes the process of outputting the polynomial + ⁇ Ho + ⁇ H by interleaving the coefficients of the polynomials 0 + 2 and ⁇ + E ⁇ .
  • the output unit 50 of FIG. 2 receives two polynomials ( ⁇ + ⁇ 0 ) and ⁇ fe 4 She 2 calculated from the first polynomial operator 30 and the second polynomial operator 40, respectively, and calculates coefficients of the two polynomials. Placing mutually to output the product C of the polynomial (S500). Next, the complexity of the first step performed according to FIG. 2, that is, the multiplication of two polynomials will be described. Step S100 of FIG. 2 performs four CJT ⁇ blocks in parallel
  • Step (S200) of Figure 2 is four (so performing said block in parallel, a S i; ")
  • Step S300 of FIG. 2 performs a ⁇ block after performing four blocks. This is
  • step S 400 of FIG. 2 can be seen more easily through FIG. 3, which illustrates the process in detail.
  • C ⁇ Blocks of FIG. 3 requires an XOR gate number and a 2D 9 time delay.
  • step S400 of FIG. 2 is ⁇ ( ⁇ ) + 4 (4-1) XOR gate number, ⁇ ⁇ ) + 3 ⁇ > ⁇ time delay.
  • step S500 the co-locating block of FIG. 2 (S500) is performed at no cost.
  • [Table 2] shows the existing multiplication of the first stage, that is, two polynomials of degree n_l.
  • the complexity of the methods and the calculation method according to the embodiment of FIG. 2 of the present invention are compared.
  • the calculation method according to an embodiment of the present invention is Comparative Example 2 ([H. Fan, J. Sun, M. Gu, and K.-Y. Lam, "Karatsuba -Of man polynomial multiplication algorithms, "IET Information Security, vol. 4, pp. 8-14, 2010]), and comparison 13 (M. Cenk, MA Hasan, and C. Negre," subquadratic space complexity binary polynomial multipliers based on block recombination , "IEEE Trans. Computers, vol. 63, no. 9, pp. 2273-2287, 2014).
  • the finite field parallel multiplication apparatus and the method according to an embodiment of the present invention enable the multiplication of two polynomials of order n _ l to be more efficiently performed in terms of complexity.
  • finite field parallel multiplication apparatus and the method according to an aspect of the present invention can be applied to any hardware design based on the above, and in particular, efficiently performs a multiplication operation on a finite field (? F (2 n ) using the same). Do it.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Electromagnetism (AREA)
  • Complex Calculations (AREA)
  • Error Detection And Correction (AREA)

Abstract

유한체 병렬 곱셈 장치 및 방법이 개시된다. 본 발명의 유한체 병렬 곱셈 장치는 차수 n— 1인 두 다항식 A=A 0+XA 1B=B 0+XB 1으로부터 각 성분의 개수가 nlog²3/3인 벡터를 생성하는 제 1 벡터 연산부; 상기 제 1 벡터 연산부에서 생성된 벡터들을 이용하여 각 성분의 개수가 nlog²3/3인 벡터를 생성하는 제 2 벡터 연산부; 상기 제 2 벡터 연산부에서 생성된 벡터들을 이용하여 다항식 (A 0 B 1+A 1 B 0)Χ를 연산 하는 제 1 다항식 연산부; 상기 제 2 벡터 연산부에서 생성된 벡터들을 이용하여 다항식 A 0 B 0+A 1 B 1 X 2를 연산하는 제 2 다항식 연산부 및; 상기 제 1 다항식 연산부와 상기 제 2 다항식 연산부에 의해 각각 연산된 다항식 (A 0 B 0+A 1 B 0)Χ 및 다항식 A 0 B 0+A 1 B 1 X 2으로부터 두 다항식 AB의 곱 C를 출력하는 출력부를 포함하는 것을 특징으로 한다.

Description

【명세세
【발명의 명칭】
유한체 병렬 곱셈 장치 및 방법
【기술분야】
본 발명은 유한체 병렬 곱셈 장치 및 방법에 관한 것으로서, 보다 상세하게 는 이차 미만의 공간 복잡도 (subquadratic space complexity)를 갖는 다항식의 곱셈 연산 기법에 기반한 유한체 병렬 곱셈 장치 및 방법에 관한 것이다.
【배경기슬】
유한체상에서의 연산 (arithmetic operation)은 코딩 이론 (coding theory)과 타 원 곡선 암호 (elliptic curve cryptography) 등 여러 웅용분야에 필요하다. 그 증 곱 셈 연산 (field multiplication)은 가장 증요하고 핵심이 되는 연산이지만, 연산 수행이 복잡하고 비용이 비싸기 때문에 효을적인 곱셈 연산 기법이 요구되어 왔다.
/(X)를 차수 (degree) n인 GF(2)[ ]에 있는 기약 다항식 (irreducible polynomial)이라 하자. 유한체 6 (2")은 G (2)W/(/( ))와 동형 (isomorphism)이므 로, 다시 말해 (2기 <^(2)[ ]/(/(Χ))이므로, 유한체 (7F(2n)의 임의의 원소 ^는 다음과 같이 차수가 n보다 작은 다항식 (polynomial) 형태 A = aQ + aiX+ … + 1_1^"_1로 표현이 가능하다. 여기서 0^0^(2)이다. 이때, 집합
{ΐ,Χ,···,Χη 을 G (2)상에서 G (2")의 다항식 기저 (polynomial basis)라고 한다. 다항식 기저는 유한체의 원소를 표현할 때 가장 널리 쓰이는 기저 증 하나이다. 다 항식 기저에 의해 ^(2 )의 두 원소 ^4 = ]α,^와 5= ^가 주어졌을 때 (여기 서, , ^ ^(2)이다), 두 원소의 곱 D=AB는 다음 두 단계에 의하여 계산 가능하 다. 제 1단계에서는 ^4와 B를 다항식으로 간주하고 다항식의 곱셈 수행하여 c를 얻는다.
Figure imgf000004_0001
제 2단계에서는 상기 생성된 다항식 C에 대해 기약 다항식 / 에 의한 모 들러 (modular) 감산 연산을 하여, 두 원소의 곱 Z?= C mod 를 얻는다. 따라서 유한체의 곱셈 연산의 복잡도는 위의 두 단계의 복잡도에 의하여 결 정된다. 제 1단계를 수행할 때 필요한 공간 복잡도 (space complexity), 즉 GF(2)상 의 필요한 XOR 게이트 (gate) 또는 AND 게이트 수는 C n3) (1 < < 2)으로 알려져 있다. 제 2단계에 대한 비용은 기약 다항식 /(X)의 항의 개수에 의해 영향을 받는 다. 비특허문헌 1 [G. Seroussi, "Table of low- weight binary irreducible polynomials" HP Labs, Technical Reports HPL— 98 135, 1998]에 의하면, 우리가 실 제 다루는 유한체의 경우 유한체 GF(2n)을 정의하는 기약 다항식 /( )으로 삼항 다항식 (trinomial)이나 오항 다항식 (pentanomial)을 선택할 수 있다. 이러한 삼항 또 는 오항 다항식에 의한 모들러 감산 연산은 G (2)상에서 필요한 게이트의 수가 단 지 O(n)으로 제 1 단계와 비교하여 매우 적다. 따라서 효을적인 유한체의 곱셈기를 얻기 위해 제 1 단계, 즉 두 다항식의 곱셈 연산에 대한 복잡도 (complexity)를 줄이고 자 하는 연구가 많이 이루어지고 있다. 실제 웅용에 쓰이는 유한체 (^(2")의 크기, 즉 n의 크기는 매우 크므로, 곱 셈 연산을 수행할 때 필요한 공간 복잡도가 O(^) (l < 5< 2)이 되는 이차 미만의 공간 복잡도 (subquadratic space complexity)를 가진 병렬 곱셈기의 연구가 특히 관 심을 받아왔다.
그러나 유한체 G^(2'1)의 크기는 계속 커지는 추세인 반면, 스마트 기기의 확 산으로 인해 연산의 경량화가 요구되는 바, 더욱 효율적인 이차 미만의 공간 복잡도 를 갖는 병렬 곱셈기의 개발이 요구되고 있다.
본 발명의 배경기술은 대한민국 공개특허공보 10—2011— 0027176호 (2011.03.16) 의 '유한체의 원소간 비트—병렬 곱셈방법 및 장치'에 개시되어 있다.
【발명의 상세한 설명】
【기술적 과제】
본 발명은 전술한 문제점을 개선하기 위해 창안된 것으로서, 본 발명의 일 측면에 따른 목적은 임의의 유한체 GF(2")상에서 보다 효율적인 이차 미만의 공간 복잡도를 갖는 유한체 병렬 곱셈 장치 및 방법을 제공하는 것이다.
【기술적 해결방법】
본 발명의 일 측면에 따른 유한체 병렬 곱셈 장치는 차수 n _ l인 두 다항식 ^ ^ + 와 5= 0 + 솨으로부터 각 성분의 개수가 rz'0¾3/3인 백터를 생성하는 제 1 백터 연산부; 상기 제 1 백터 연산부에서 생성된 백터들을 이용하여 각 성분의 개수가 η1ο¾3/3인 백터를 생성하는 제 2 백터 연산부; 상기 제 2 백터 연산부에서 생성 된 백터들을 이용하여 다항식 + 를 연산하는 제 1 다항식 연산부; 상기 제 2 백터 연산부에서 생성된 백터들을 이용하여 다항식 Λ + Α 2를 연산하는 제 2 다항식 연산부 및; 상기 제 1 다항식 연산부와 상기 제 2 다항식 연산부에 의해 각각 연산된 다항식 (ΛΗ + ^^ 및 다항식 Λ훼 4^ ^으로부터 두 다항식 와 H의 곱 C를 출력하는 출력부를 포함하는 것을 특징으로 한다. 본 발명의 상기 게 1 백터 연산부는 다항식 ^ ^ + ^ 와 ^ ^ + 으로 부터 차수가 — 1인 네 개의 다항식 을 입력받아 각 성분의 개수가 각 nl0¾3/3개의 성분 (component)을 갖는 백터 CPF^(A0), CPF A,), CPF B0):
2" 2" 2"
CPF^B^ 생성하는 것을 특징으로 한다.
2 본 발명의 상기 제 2 백터 연산부는 상기 제 1 백터 연산부에서 연산된 백터돌 을 입력받아 성분끼리의 곱 연산을 통해 0≤ i,j≤ l인 i,j에 대해 백터들
Cj:= CM(AV B3) = CPF, (A^CPF, (B^ 생성하는 것을 특징으로 한다.
"2 ~2 본 발명의 상기 제 1 다항식 연산부는 상기 제 2 백터 연산부에 의해 연산된 백터들 증 ^과 을 이용하여 다항식 o +^^)^를 계산하는 것을 특징으로 한다. 본 발명의 상기 제 1 다항식 연산부는 과 ,0의 합 u + ,。을 계산하 고, ¾u + 0 백터를 이용하여 다항식 ^( u + ¾,0)을 계산한 후, 다항식 ^^ + ^,ο)를 쉬프트 (shift)하여 다항식 를 출력하는 것을 특징으 로 한다.
본 발명의 상기 제 2 다항식 연산부는 상기 제 2 백터 연산부에 의해 연산된 백터들 증 。과 이용하여 다항식 ^H0 + ^H Y2를 연산하는 것을 특징으로 한다.
본 발명의 상기 제 2 다항식 연산부는 상기 제 2 백터 연산부에 의해 연산된
¾o과 ¾,ι을 입력받아 )' + ¾ + ¾ + )', ¾ + ' + 0; + Cᅳ;, 0;를 계산하고, 계 산된 C0, ¾ + ¾ + ¾ + + + ' + ¾', C/을 이용하여 다항식 E0,EVEVE3 을 계산하며, 계산된 변수 Z:= 2에 대한 다항식 E0,EVE2,E^ 입력받아 다항식의 덧셈을 수행하여 E0 + E2Z와 E^+E; ^를 생성한 후, 다항식 E0 + E^와 十 ^의 계수를 상호 배치 (interleaving)함으로써 다항식 A0B0 + ΑλΒΧ2 = Ac^0 + ΑλΒχ Υ 출 력하는 것을 특징으로 한다.
본 발명은 상기 출력부에 의해 연산된 다항식 C에 대해 다항식 /( )에 의한 모들러 (modular) 감산 연산을 하여 두 원소의 곱 Z?= C mod/(X)를 얻는 모들러 감 산부를 더 포함하는 것을 특징으로 한다.
본 발명의 일 측면에 따른 유한체 병렬 곱셈 방법은 제 1 백터 연산부가 차수 n— 1인 다항식 ^ ^ + 와 5= 0 + 솨으로부터 차수가 _1인 네 개의 다항 식 ,Λ, ι,^을 입력받아 각 성분의 개수가 η1ο¾3/3인 백터 CPF^A
2
CPF A,), CPF B0) CPF B 를 생성하는 단계; 제 2 벡터 연산부가 상기 제 1
~2 2" ~2 백터 연산부에서 생성된 백터들을 이용하여 각 성분의 개수가 nl0¾3/3인 백터를 생 성하는 단계; 제 1 다항식 연산부가 상기 제 2 백터 연산부에서 생성된 백터 증 dai0을 이용하여 다항식 (Λ +^^) 를 연산하는 단계; 제 2 다항식 연산부가 상기 제 2 백터 연산부에서 생성된 백터 증 0과 ^을 이용하여 다항식 ^Ho + ^H 2를 연산하는 단계; 및 출력부가 상기 제 1 다항식 연산부와 상기 제 2 다항식 연산부에 의해 각각 연산된 다항식 (A +^H 및 다항식 ΛΛ + Α^ 2 으로부터 두 다항식 Α와 B의 곱 C를 출력하는 단계를 포함하는 것을 특징으로 한 다.
본 발명의 상기 제 2 백터 연산부는 상기 제 1 백터 연산부에서 연산된 백터들 을 입력받아 성분끼리의 곱 연산을 통해 0≤i,j≤ l인 에 대해 백터들
Cj:= CM{At = CPF, (At)^CPF„ (H.) 생성하는 것을 특징으로 한다.
1 Ί 본 발명의 상기 제 1 다항식 연산부는 과 。의 합 + ,0을 계산하 고, a + ,o 백터를 입력받아 다항식 ^( ^ + ^ᅳ。)을 계산한 후, 다항식
+ 를 쉬프트 (shift)하여 다항식 0^ + H0) 를 출력하는 것을 특징으 로 한다.
본 발명의 상기 제 2 다항식 연산부는 상기 제 2 백터 연산부에 의해 연산된 ),o과 ¾ᅳ1을 입력받아 c0, ¾ + + ¾ + ¾ + Q' + c; + ', c;를 계산하고, 계 산된 ¾), ¾ + ¾ + ¾ + + + ¾' + ¾', '을 이용하여 다항식 E0,EVE2,E3 을 계산하며, 계산된 변수 Z:= 2에 대한 다항식 EwE E2,E 입력받아 다항식의 덧셈을 수행하여 E0 + ^Z와 ^+E3Z를 생성한 후, 다항식 E^ + E^와 + ^의 계수를 상호 배치 (interleaving)하여 다항식 A0B0 + AXBXX2 = A0B0 + ΑλΒλ Υ 출력하 는 것을 특징으로 한다.
본 발명은 모들러 감산부가 상기 출력부에 의해 연산된 다항식 C에 대해 다 항식 /( ^에 의한 모들러 (modular) 감산 연산을 하여 두 원소의 곱 _D= C mod /(Ji)를 얻는 단계를 더 포함하는 것을 특징으로 한다.
【발명의 효과】
본 발명의 일 측면에 따른 유한체 병렬 곱셈 장치 및 방법은 차수가 n-1인 두 다항식의 곱셈 연산을 복잡도면에서 보다 효을적으로 수행할 수 있도록 한다. 또한, 본 발명의 일 측면에 따른 유한체 병렬 곱셈 장치 및 방법은 차수가 n-1인 두 다항식의 곱셈 연산을 기반으로 하는 모든 하드웨어 설계에 적용될 수 있 으며, 유한체 6^(2")상의 곱셈 연산을 효율적으로 수행할 수 있도록 한다.
【도면의 간단한 설명】
도 1은 본 발명의 일 실시예에 따른 유한체 병렬 곱셈 장치의 블럭 구성도이 다.
도 2는 본 발명의 일 실시예에 따른 두 다항식의 한체 병렬 곱셈 방법의 순 서도이다.
도 3은 도 2의 단계 S400을 보다 상세하게 도시한 도면이다.
도 4는 상기 세 개의 블록들을 이용한 다항식 곱셈연산의 수행과정을 도시한 도면이다.
【발명의 실시를 위한 형태】
이하에서는 본 발명의 일 실시예에 따른 유한체 병렬 곱셈 장치 및 방법을 첨부된 도면들을 참조하여 상세하게 설명한다. 이러한 과정에서 도면에 도시된 선들 의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로 서, 이는 이용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야할 것이다. 유한체 6 2")이 기약 다항식 /( )에 의해 정의된다고 하면ᅳ (^(2") G^(2)[ ]/(/ )이고, 유한체 <가(2")의 임의의 두 원소 ^와 B는 다항식 기저 {Ι,Χ,…, 11ᅳ ^를 이용하여 다음과 같이 표현된다. 여기서 eG^(2)이다.
Α = α0 + αιΧ+ ···
Figure imgf000010_0001
+ byX+ ··· +bn_lXn~l 두 원소들 ^와 5의 곱 ∑>=AB는 다음 두 단계에 의하여 계산된다. 첫 번째 단계에서는 ^와 H를 다항식으로 간주하고 다항식의 곱셈 수행하여 c를 얻는다.
Figure imgf000010_0002
두 번째 단계에서는 첫 번째 단계에서 생성된 다항식 c를 다항식 /( )에 의한 모들러 (modular) 감산 연산을 하여, 두 원소의 곱 C mod/( )를 얻는다. 먼저, 두 번째 단계의 모들러 감산 연산의 비용을 고려한다. 여기서, 유한체 (? (2")을 정의하는 기약 다항식 으로 삼항 다항식 또는 오항 다항식이 선택될 수 있다. 예를 들어, 가 삼항 다항식 = 이라고 가정하자.
= 가 기약이면 다항식 j +r^+i도 기약이 되므로, A:의 값이
1 < < "을 만족한다고 가정할 수 있다. 이 경우, /( ) = "+^λ ι에 의한 모들 러 감산 연산은 다음과 같이 수행된다.
Figure imgf000011_0001
상기한 모들러 감산 연산은 (n_l) + (n_l) + (fc_l) = 2ri + fcᅳ 3 XOR 게이트 수와 2 시간 지연이 필요하다. XOR와 AND 게이트의 시간지연은 각각 Β^ Ρ® 로 표기된다.
상기와 같이 두 번째 단계는 간단하게 수행되며, 두 번째 단계의 복잡도는 첫 번째 단계와 비교할 때 매우 낮다. 따라서 곱셈 연산의 효을성은 첫 번째 단계를 얼마나 효율적으로 수행할 수 있는지에 의존한다. 그러므로 첫 번째 단계에 초점을 맞추어 그의 효율적인 수행방법을 제안하고자 한다.
이를 위해, 앞으로는 두 원소 ^와 다항식으로 간주한다.
도 1은 본 발명의 일 실시예에 따른 유한체 병렬 곱셈 장치의 블력 구성도이 다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 유한체 병렬 곱셈 장치는 제 1 백터 연산부 (10), 제 2 백터 연산부 (20), 제 1 다항식 연산부 (30), 제 2 다항식 연산부 (40), 출력부 (50), 및 모들러 감산부 (60)를 포함한다.
상기한 첫 번째 단계는 제 1 백터 연산부 (10), 게 2 백터 연산부 (20), 제 1 다항 식 연산부 (30), 제 2 다항식 연산부 (40) 및 출력부 (50)에서 수행되며, 두 번째 단계는 모들러 감산부 (60)에서 수행된다.
제 1 백터 연산부 (10)는 차수 n-1인 두 다항식 71 = 0 + ^^와 B=W 으로부터 차수가 그 1인 네 개의 다항식 Λ,,Λ, , ^을 입력받아 각 성분의 개수 가 nl0¾3/3인 네 개의 백터를 생성한다.
제 2 백터 연산부 (20)는 제 1 백터 연산부 (10)에서 생성된 네 개의 백터들을 입 력받아 성분끼리의 곱 연산을 통해 각 성분의 개수가 n l0 3/3인 네 개의 새로운 백 터를 생성한다.
제 1 다항식 연산부 (30)는 제 2 백터 연산부 (20)의 백터들을 입력받아, 이들 백 터를 이용하여 다항식 0¾+^ ) 를 계산한다.
제 2 다항식 연산부 (40)는 제 2 백터 연산부 (20)의 백터들을 입력받아, 이들 백 터를 이용하여 다항식 + 2를 계산한다.
출력부 (50)는 제 1 다항식 연산부 (30)와 제 2 다항식 연산부 (40)에 의해 각각 계산된 다항식들 (Λ쒜 4^0) 와 ^ 0H0 + 쒜 2를 입력받아 두 다항식 A와 B의 곱 C를 출력한다.
이하 도 2 내지 도 3 을 참조하여 본 발명의 일 실시예에 따른 유한체 병렬 곱셈 방법을 상세하게 설명한다.
도 2는 본 발명의 일 실시예에 따른 두 다항식의 유한체 병렬 곱셈 방법의 순서도이고, 도 3은 도 2의 단계 S400을 보다 상세하게 도시한 도면이다.
유한체 (^( 1)의 두 원소 ^와 5는 차수 ri— l인 다항식으로 간주되고, 각각 다음과 같이 두 부분으로 분리된다.
A = A0 + A1X, B=W 여기서, 다항식 A) , ^은 변수 (variable) ; (=^)에 관해 차수가 등 -1 인 다항식이다. 도 2 를 참조하면, 본 발명의 일 실시예에 따른 유한체 병렬 곱셈 방법은 제 1 백터 연산부 (10)가 차수 n_l인 두 다항식 yl = /l0 + ^와 5= 0 + ^ ^로부터 차 수 -1인 다항식 Λ,Α^ο,^을 입력받아 각각 η1ο 3/3개의 성분을 갖는 백터들 CPF A0), CPF A,), CPF B0), CPF B,)^ 생성하는 단계 (S100), 제 2 백터 연 산부 (20)가 상기 생성된 백터들 (7 0), CPF A,), CPF B0), CPF B,)^ 입
2" "2 2" 력받아 각 성분끼리의 곱을 수행하여, 0≤i,j≤ l인 i,j 대해 백터들 C] ΟΜ{Α Β3) = CPF±1 {A^CPF^ {Β}) 생성하는 단계 (S200), 제 1 다항식 연산
2 2 부 (30)가 상기 생성된 백터들 증 ^과 ,0을 입력받고 ^과 。을 이용하여 다 항식 ^ + ^H 를 연산 및 출력하는 단계 (S300), 제 2 다항식 연산부 (40)가 상기 생성된 백터들 중 0과 을 입력받고 。과 을 이용하여 다항식 ^ + ^ 2을 연산 및 출력하는 단계 (S400), 및 출력부 (50)가 제 1 다항식 연산부 (30)와 제 2 다항식 연산부 (40)에 의해 각각 계산된 다항식들 00 + 0) 와
+ ^을 입력받고 다항식들 o^+AHo) 와 Λ훼 4 ^을 이용하여 다 항식 A와 B의 곱 C를 출력하는 단계 (S500)를 포함한다.
도 2의 각 단계를 상세히 설명하면 다음과 같다.
먼저, = 2m이라 가정한다 (m>l). n이 2의 거듭제곱이 아닌 경우는 계수 를 0으로 간주하여 다항식의 차수가 2m l이라고 가정할 수 있다. Two-way split overlap 방법에 따라, 두 다항식 Α = α0+αιΧ+ ···
Figure imgf000014_0001
B=b0 + blX+ ·· +bn_lXn~1ϋ bt≡ GF(2)) 를 다음과 같이 두 부분으로 분리한다.
A = A0 + AXX, B= W 다항식 ^W ,H^ 변수 (variable) r(= Y2)에 관해 차수가 등— 1인 다항식 으로 다음과 같이 정의된다. ,
Figure imgf000014_0002
그러면, 두 다항식의 곱 C는 다음과 같은 수식을 통해 얻을 수 있다.
C=P0 + ΡλΧ2+ (Ρ0 + ^ + Ρ2 ) 여기서, P0,PVP2는 상기 다항식 을 이용하여 다음과 같이 정의된 다.
Ρ0(Υ) = Α0(Υ)Β0(Υ),
2(Υ) = (Α0(Υ) + Α1(Υ))(Β0(Υ)+Β1 ( Υ)). 상기 세 개의 곱 P0,PVP2는 C를 계산한 위의 방법을 재귀적으로 (recursively) 사용하여 계산된다. 상기한 two-way split overlap 방법을 이용한 다항 식 곱셈 연산 수행방법은 다음과 같이 세 개의 독립된 블록들 CPF(Component polynomial formation), CM(Component multiplication), R(Reconstruction)으로 나누 어 수행될 수 있다. 상기 세 블록들의 상세한 정의는 다음과 같다.
[정의 1] n=l이면,
CPFn 0 ), CPFn (A, ), CPFn (A0 + A, )] n> 1이고, A + A'이면,
Figure imgf000015_0001
CM(A B):= CPFn {A ) ® CPFn (B) c n = l이면
Rn{C()) + X2Rn{Cl)
RAC)
+ X(Rn(C0)+Rn(Cl) + Rn(C2)) C C, G^LOici/s이면 여기서, 두 백터에 대한 연산 ¾는 두 백터의 성분끼리 곱하여 새로운 백터 를 생성하는 연산이다. 그리고 C는 성분의 개수가 η1ο¾3인 백터이다. 도 4에서는 상기 세 개의 블록들을 이용한 다항식 곱셈연산의 수행과정이 도 시화된다. 두 다항식의 곱 C를 상기 블록들을 이용하여 표현하면 다음과 같다. [정리 1] 차수 η一 1인 두 다항식 와 H의 곱을 C라 하자. 그러면, 곱 C는 다음과 같 이 계산된다.
C=Rn{ CPFn (A ) ® CPFn (B)) 각 블록들을 수행하는데 필요한 복잡도는 아래의 표 1에서 주어진다. 여기서, 5 "귀과 /(n)은 차수가 r?_l인 두 다항식의 곱셈 연산 시 수행되는 블록 *에 대한 복잡도, 즉 블록 *을 실행하는데 필요한 게이트 수와 시간지연을 각 각 의미한다. X0R와 AND 게이트의 시간지연은 각각 와/ 로 표기된다. 또한, CA(Component addition)블록에 대한 복잡도를 추가한다. 4„블록에서는 성분의 개 수가 0 3인 두 백터 C와 C'의 더하기 (addition) 연산 C + 을 수행한다. 【표 11
Figure imgf000016_0001
다항식 곱셈 연산의 상기 블록들을 재조합하여 공간 복잡도를 줄이기 위해 다음 정리를 이용한다.
[정리 2] 성분의 개수가 0¾3인 임의의 두 백터 c와 · '에 대해 다음이 성립한다.
Rn(C+ C') = Rn(C) + Rn{C') 위의 [정리 2]와 [정의 1]에 있는 블록들의 정의를 이용하여 다항식의 곱셈 연산 수행을 위한 블록들을 새롭게 재조합한다.
먼저, 두 다항식 ^ = Λ) + ^ , =^ + ^ 의 곱 C를 다음과 같이 전개 후 재배열한다.
= (Α0Β0 + Α,Β,Χ2) + (ᅳ Α(Α + Α,Β0
= (Α0β0 + ΑΧΒΧ Ϋ) + 0H + A,BQ)X 다항식 , , ,^은 변수 = Y2에 관한 다항식이기 때문에 다항식 C의 계 수는 두 다항식 (Λ)쒜 4훼) 와 ΛΛ + ^ 계수를 상호 배치 (interleaving)하 여 얻어진다. 이에, 두 다항식 (ΛΑ + ^ ) 와 0H0+A^y를 구하고자 한다. 도 2에서, 제 1 백터 연산부 (10)는 다항식 0, , H0,H 입력받아 각 nl0¾3/3 의 성분을 갖는 백터들 C ^ 40), CPF A,), CPF„(B0), CPF^B^올 생성한다
"2 "2 "2 "2
(S100). 도 2에서, 제 2 백터 연산부 (20)는 상기 계산된 백터들 C ^C0),
"2
CPF A,), CPF BQ), CPF B,)^ 입력받아 각 성분끼리의 곱을 수행하여
"2 "2 Y
0<i,j< l인 기에 대해 백터들 ClJ := CM^^ = CPF A ® CPF^B^^ 생성 한다 (S200). 다음으로ᅳ 도 2에서, 제 1 다항식 연산부 (30)는 상기 생성된 백터들 중 과 ,0을 입력받아 다항식 (ΛΑ+Α^) 를 연산한다 (S300). [정리 1]에 의해, Λ^^ ^ ^)이고 = (¾,0)이므로, [정리 2]를 이용하면 다음이 성립한다.
(A0B1+AB0)X=(R C0: +R CQ )X=R CO + CQ )X
2 Ί ~2 도 2에서, 단계 (S300)은 4프블록에서 두 백터의 합 + 0을 계산하는
1 과정, 블록에서 상기 계산된 + ¾,0 백터를 입력받아 다항식 ^(dai + ¾,0) 을 계산하는 과정, 계산된 다항식 ^( j + ^C))를 쉬프트 (shift)함으로써 다항식 oJ +^H0)^를 출력하는 과정으로 이루어진다. 도 2에서, 제 2 다항식 연산부 (40)는 상기에서 생성된 백터들 증 0,0과 ^^을 입력받아 다항식 ΛΛ + ^^ 2=ΛΛ + ^^ 를 출력한다 (S400). [정리 1]에 의하 면, Λ = (¾,0), ^5^ ? ^!)이다. 먼저, 백터들 ^ 과 을 다음과 같이 표현한다.
앞의 [정의 1]에 있는 Rn블록의 정의에 의해 다음과 같은 식을 얻는다.
Figure imgf000018_0001
ΑλΒλ = R C l) = R C^ ) + Rl(C1')Y2+ (R, (C0') + R (¾' ) + ( ')) Y 상기 식과 [정리 2]를 사용하여 다음 식을 얻는다.
+ AlB1Y=RL(C0)+RL(C0 + C1 + C2 + C0')Y
+ R {C1 + C0' + C/ + C2')Y2+R„ (¾' ) Ϋ
~
= + E2Y2+ ΕΆΥΖ
= (Eo + E2Y ^ + (E + E3 Y2) Y
= (Eo + E2Z) + (E} + E3Z) Y 여기서 + +
Figure imgf000019_0001
이다. 그리고 E,EVE2,E^ 변수 ^에 대해 차수 2(^-1)인 다항식이다. 따라서 다다항식 0 0 H 의 변수 에 대한 계수는 다항식 E0 + E2Z와 +E ^의 계 수를 상호 배치함으로써 얻을 수 있다.. 도 2의 단계 (S400)은 다음과 같이 수행된다. 도 2에서 단계 (S400)는 4„Blocks에서 백터들 ,,0과 을 입력받아 상기 수식에 있는 백터돌 c0, Co + ^ + ^ + c^^ + z + c + ^', 를 계산하는 과정,
Λ으 Blocks에서 상기 계산된 백터들 C0,
Figure imgf000019_0002
C 을 입력받아 4개의 Λ블록을 수행하여 다항식 ΕΫ, ΕΝ Ε2, 을 계산하는 과정 , Addition
Blocks에서는 상기 계산된 변수 Z:=y2에 대한 다항식 E0,EVE2,E^ 입력받아 다 항식의 덧셈을 수행하여 ^ + E2 와 ^+E3Z를 생성하는 과정, 마지막으로 interleaving블록에서는 다항식 0 + 2 와 ^+E ^의 계수를 상호 배치 (interleaving)함으로써 다항식 + ^Ho + ^H 를 출력하는 과정을 포 함한다.
도 3에서는 앞서 설명한 도 2의 단계 (S400)에 있는 ^Blocks, Blocks,
ψ ~¥ Addition Blocks이 보다 상세하게 도시되었다. 도 2의 출력부 (50)는 제 1 다항식 연산부 (30)와 제 2 다항식 연산부 (40)에서 각 각 계산된 두 다항식 (Λ + ^ 0) 와 Λ훼 4셰 2를 입력받아 두 다항식의 계수 를 상호 배치하여 다항식의 곱 C를 출력한다 (S500). 다음으로, 도 2에 따라 수행된 첫 번째 단계, 즉 두 다항식의 곱셈 연산에 대 한 복잡도 (complexity)를 설명한다. 도 2의 단계 (S100)는 4개의 CJT^블록들을 병렬적으로 수행하므로
"2 시간지연의 복잡도가 필요하다.
Figure imgf000020_0001
도 2의 단계 (S200)는 4개의 ( 씨블록들을 병렬적으로 수행하므로 Sai; ")
1
AND 게이트 수, 시간지연의 복잡도가 요구된다.
Figure imgf000020_0002
도 2의 단계 (S300)는 4 블록 수행 후 Λ 블록을 수행한다. 이는
"2
SCA{^) + S ^) XOR 게이트 수, + ) 시간지연이 필요하다. 마지막 쉬프 트 블록은 하드웨어에서 비용없이 수행될 수 있다. 도 2의 단계 (S400)에 대한 복잡도는 그 과정을 상세하게 도시화한 도 3을 통 해 더욱 쉽게 알 수 있다. 도 3의 C^^Blocks은 XOR 게이트 수, 2D9 시간지연이 필요하다.
Figure imgf000020_0003
다음 ^R^Blocks에서는 4개의 블록들이 병렬적으로 수행되므로 그의 복잡도는 45^—) XOR 게이트 수, iAᅳ^ 시간지연이다. Addition Blocks에서는 변수
= r2에 대해 차수가 2( — 1)인 다항식들의 두 덧셈 ^ + ^ 와 ^+^ ^를 병렬 ᄌ으로 수행되므로 4(^—1) XOR 게이트 수, 1 시간지연이 필요하다. 도 3에 있 는 쉬프트 블록과 상호 배치 블록의 수행은 하드웨어에서 비용을 발생하지 않는다. 그러므로 도 2의 단계 (S400)의 복잡도는 ^ (^ ^ ) + 4(4-1) XOR 게이 트 수, Σ^)+3Σ>ω 시간지연이라는 것을 알 수 있다. 마지막으로 도 2의 (S500)의 상호 배치 블록은 비용없이 수행된다.
따라서 도 2에 따라 수행된 첫 번째 단계, 즉 다항식의 곱셈 C "를 계산하는데 필요한 복잡도는 앞의 [표 1]를 이용하면 다음과 같다.
XOR 게이트 수
Figure imgf000021_0001
AND 게이트 수 = 45^¾ = 1
.총 시간복잡도 = )+3
Figure imgf000021_0002
Z) ¾+21og23Dt
다음의 [표 2]는 첫 번째 단계, 즉 차수 n_l인 두 다항식의 기존 곱셈 연산 방법들과 본 발명의 도 2의 실시 예에 따른 연산 방법의 복잡도들을 비교한다. [표 2]에서 알 수 있듯이 본 발명의 실시 예에 따른 연산 방법은 비교예 2([H. Fan, J. Sun, M. Gu, and K.-Y. Lam, " Karatsuba -Of man polynomial multiplication algorithms," IET Information Security, vol. 4, pp. 8-14, 2010]), 및 비교여 13([M. Cenk, M.A. Hasan, and C. Negre, "subquadratic space complexity binary polynomial multipliers based on block recombination," IEEE Trans. Computers, vol. 63, no. 9, pp. 2273-2287, 2014])에 비해 낮은 공간 복잡도를 가진다.
【표 2]
Figure imgf000022_0001
이와 같이 본 발명의 일 실시예에 따른 유한체 병렬 곱셈 장치 및 방법은 차 수가 n _ l인 두 다항식의 곱셈 연산을 복잡도면에서 보다 효율적으로 수행할 수 있 도록 한다.
또한, 본 발명의 일 측면에 따른 유한체 병렬 곱셈 장치 및 방법은 이를 기 반으로 하는 모든 하드웨어 설계에 적용될 수 있으며 특히, 이를 이용한 유한체 (?F(2n)상의 곱셈 연산을 효을적으로 수행할 수 있도록 한다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적 인 것에 불과하며 당해 기술이 속하는 기술분야에서 통상의 지식을 가진 자라면 이 로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라 서, 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의하여 정해져야할 것이다.

Claims

【청구의 범위】
【청구항 11
차수 n-1인 두 다항식 ^ ^ + 와 5= 0 + 으로부터 각 성분의 개수가 η1ο¾3/3인 백터를 생성하는 제 1 백터 연산부;
상기 제 1 백터 연산부에서 생성된 백터들을 이용하여 각 성분의 개수가 nl0¾3/3인 백터를 생성하는 제 2 백터 연산부;
상기 제 2 백터 연산부에서 생성된 백터들을 이용하여 다항식 +^ι^) 를 연산하는 제 1 다항식 연산부;
상기 제 2 백터 연산부에서 생성된 백터들을 이용하여 다항식
Figure imgf000024_0001
를 연산하는 제 2 다항식 연산부 및;
상기 제 1 다항식 연산부와 상기 제 2 다항식 연산부에 의해 각각 연산된 다항 식 (쒜^ + ^) 및 다항식 ^Ho + AH^r2으로부터 두 다항식 ^와 5의 곱 C를 출 력하는 출력부를 포함하는 유한체 병렬 곱셈 장치.
【청구항 2]
제 1 항에 있어서, 상기 제 1 백터 연산부는 다항식 ^ = 0 +피와 5= 0 + 솨으로부터 차수가 -1인 네 개의 다항식 , , ,^을 입력받아 각 성분의 개수가 각 η'0¾3/3개의 성분 (component)을 갖는 백터 CP^(^0), CPF A,),
2 Ί
CPF B0), CPF^ (훼을 생성하는 것을 특징으로 하는 유한체 병렬 곱셈 장치.
I 2
【청구항 3】
제 1 항에 있어서ᅳ 상기 제 2 백터 연산부는 상기 제 1 백터 연산부에서 연산된 백터들을 입력받아 성분끼리의 곱 연산을 통해 0≤ i,j≤ l인 에 대해 백터들 Ct .= CM Bj) = CPF A;}® CPF^Bj、을 생성하는 것을 특징으로 하는 유한체 병렬 곱셈 장치.
【청구항 4】
제 1 항에 있어서, 상기 제 1 다항식 연산부는 상기 제 2 백터 연산부에 의해 연산된 백터들 증 ^ᅳ!과 ,0을 이용하여 다항식 쒜 H0) ^를 계산하는 것을 특징으로 하는 유한체 병렬 곱셈 장치.
【청구항' 5】
제 4 항에 있어서, 상기 제 1 다항식 연산부는 ^과 ,0의 합 + ,0을 계산하고, ·ι + ¾,0 백터를 이용하여 다항식 + ,0)을 계산한 후, 다항식
/^(δ^ + ή,ο)를 쉬프트 (shift)하여 다항식 (Λ +Α 0) 를 출력하는 것을 특징으
"2 로 하는 유한체 병렬 곱셈 장치.
【청구항 6】
제 1 항에 있어서, 상기 제 2 다항식 연산부는 상기 제 2 백터 연산부에 의해 연산된 벡터들 증 ,0과 을 이용하여 다항식 Λν + ^^^2를 연산하는 것을 특 징으로 하는 유한체 병렬 곱셈 장치
【청구항 7】
제 6 항에 있어서, 상기 제 2 다항식 연산부는 상기 제 2 백터 연산부에 의해 연산된 ¾0a을 입력받아 C0, ¾ + + ¾ + + + + '를 계산 하고, 계산된
Figure imgf000026_0001
; + ' + ¾', έ 을 이용하여 다항식
EWEVE2,E 계산하며, 계산된 변수 Z:= 2에 대한 다항식 E0,^E2,E3을 입력받 아 다항식의 덧셈을 수행하여 0 + ^Ζ와 ί + ΕΆΖ^ 생성한 후, 다항식 ¾ + ^ 와 E1+E3Z의 계수를 상호 배치 (interleaving)함으로써 다항식
A0B0 + ΑΒλΧ2 = Α0Β0 + ΑΧΒΧ Υ 출력하는 것을 특징으로 하는 유한체 병렬 곱셈 장 치.
【청구항 8】
제 1 항에 있어서, 상기 출력부에 의해 연산된 다항식 C에 대해 다항식 /( )에 의한 모들러 (modular) 감산 연산을 하여 두 원소의 곱 i5=Cmod/( )를 얻는 모들러 감산부를 더 포함하는 것을 특징으로 하는 유한체 병렬 곱셈 장치.
【청구항 9】
제 1 백터 연산부가 차수 n— l인 다항식 ^ ^ + 와 ^ ^ + 으로부 터 차수가 —i인 네 개의 다항식 ^을 입력받아 각 성분의 개수가 nl0 3인 백터 C F^A0), CPF A,), CPF^ {B0), CPF^_ 를 생성하는 단계;
2" "2 2"
제 2 백터 연산부가 상기 제 1 백터 연산부에서 생성된 백터들을 이용하여 각 성분의 개수가 η1ο¾3/3인 백터를 생성하는 단계; 제 1 다항식 연산부가 상기 제 2 백터 연산부에서 생성된 백터 증 ^ 과 ,0 을 이용하여 다항식 (A^+AH^ 를 연산하는 단계; 제 2 다항식 연산부가 상기 제 2 백터 연산부에서 생성된 백터 중 ,0과 du 을 이용하여 다항식 + 2를 연산하는 단계; 및
출력부가 상기 제 1 다항식 연산부와 상기 제 2 다항식 연산부에 의해 각각 연 산된 다항식 (ΛΗ +^ 0) 및 다항식 Λ + ^^ ^으로부터 두 다항식 Α와 B의 곱 C를 출력하는 단계를 포함하는 유한체 병렬 곱셈 방법.
【청구항 10]
제 9 항에 있어서, 상기 제 2 백터 연산부는 상기 제 1 백터 연산부에서 연산 된 백터들을 입력받아 성분끼리의 곱 연산을 통해 0≤ i,j'≤ l인 ?:, j에 대해 백터들 ¾:=€Μ(Α Bj) = CPF (^) ® CPF, (H,) ^ 생성하는 것을 특징으로 하는 유한체 병렬 곱셈 방법.
【청구항 111 제 9 항에 있어서, 상기 제 1 다항식 연산부는 과 ,0의 합 "αι + ,0을 계산하고, + 백터를 입력받아 다항식 /^(^ + ^^을 계산한 후, 다항식
^^(^u + ^o)를 쉬프트 (shift)하여 다항식 (Λ>^+^ 0) 를 출력하는 것을 특징으 로 하는 유한체 병렬 곱셈 방법.
【청구항 12】
제 9 항에 있어서, 상기 제 2 다항식 연산부는 상기 제 2 백터 연산부에 의해 연산된 Q。과 a을 입력받아 C0, Q + ¾ + ¾ + C0', ¾ + C0' + 0; + c;를 계산 하고, 계산된 Q, + ¾ + ¾ + + + + 을 이용하여 다항식
ΕφΕνΕ2,Ε^ 계산하며, 계산된 변수 Ζ:= 2에 대한 다항식 EWE E E^ 입력받 아 다항식의 덧셈을 수행하여 E0 + 2Z와 ^+ 3Ζ를 생성한 후, 다항식 ^ + _ 와 El+E3^의 계수를 상호 배치 (interleaving)하여 다항식
ΛΑ + ^^ ^Λ^ο^^^ 를 출력하는 것을 특징으로 하는 유한체 병렬 곱셈 방 법.
【청구항 13]
제 9 항에 있어서, 모들러 감산부가 상기 출력부에 의해 연산된 다항식 (7에 대해 다항식 /( ^에 의한 모들러 (modular) 감산 연산을 하여 두 원소의 곱 Z?=C mod/ )를 얻는 단계를 더 포함하는 것을 특징으로 하는 유한체 병렬 곱셈 방법.
PCT/KR2017/013417 2017-01-25 2017-11-23 유한체 병렬 곱셈 장치 및 방법 WO2018139750A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170012310A KR101837750B1 (ko) 2017-01-25 2017-01-25 유한체 병렬 곱셈 장치 및 방법
KR10-2017-0012310 2017-01-25

Publications (1)

Publication Number Publication Date
WO2018139750A1 true WO2018139750A1 (ko) 2018-08-02

Family

ID=61660793

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2017/013417 WO2018139750A1 (ko) 2017-01-25 2017-11-23 유한체 병렬 곱셈 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101837750B1 (ko)
WO (1) WO2018139750A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102075848B1 (ko) * 2018-11-22 2020-02-10 부산대학교 산학협력단 다항식 연산 최적화 처리 장치, 다항식 연산 최적화 처리 방법 및 기록매체

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060095495A1 (en) * 2004-10-29 2006-05-04 Choi Yong J Apparatus for hybrid multiplier in GF(2M) and method thereof
KR20080056036A (ko) * 2006-12-15 2008-06-20 영동대학교 유한체 상의 고속 직렬 곱셈기 구조
KR100976232B1 (ko) * 2009-02-13 2010-08-17 고려대학교 산학협력단 고속 비트-병렬 다항식 곱셈기, 그 곱셈 방법
KR101418686B1 (ko) * 2013-08-02 2014-07-10 공주대학교 산학협력단 유한체에서 타입 4 가우시안 정규기저를 이용한 이차 미만의 공간 복잡도를 갖는 병렬 곱셈 연산방법 및 그 연산장치
KR101533929B1 (ko) * 2014-06-27 2015-07-09 공주대학교 산학협력단 유한체 GF(3ⁿ)상에서 쉬프트 된 다항식 기저를 이용한 이차 미만의 공간복잡도를 갖는 병렬 곱셈기, 그 방법 및 이를 기록한 기록매체

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060095495A1 (en) * 2004-10-29 2006-05-04 Choi Yong J Apparatus for hybrid multiplier in GF(2M) and method thereof
KR20080056036A (ko) * 2006-12-15 2008-06-20 영동대학교 유한체 상의 고속 직렬 곱셈기 구조
KR100976232B1 (ko) * 2009-02-13 2010-08-17 고려대학교 산학협력단 고속 비트-병렬 다항식 곱셈기, 그 곱셈 방법
KR101418686B1 (ko) * 2013-08-02 2014-07-10 공주대학교 산학협력단 유한체에서 타입 4 가우시안 정규기저를 이용한 이차 미만의 공간 복잡도를 갖는 병렬 곱셈 연산방법 및 그 연산장치
KR101533929B1 (ko) * 2014-06-27 2015-07-09 공주대학교 산학협력단 유한체 GF(3ⁿ)상에서 쉬프트 된 다항식 기저를 이용한 이차 미만의 공간복잡도를 갖는 병렬 곱셈기, 그 방법 및 이를 기록한 기록매체

Also Published As

Publication number Publication date
KR101837750B1 (ko) 2018-03-13

Similar Documents

Publication Publication Date Title
WO2016046949A1 (ja) 楕円曲線スカラー倍演算方法
KR100932033B1 (ko) 복합 갈루아 필드 엔진과 갈루아 필드 나눗셈 및 제곱근엔진과 방법
Wang et al. Fast scalable radix-4 Montgomery modular multiplier
Jafri et al. Towards an optimized architecture for unified binary huff curves
Liu et al. High performance modular multiplication for SIDH
US8280938B2 (en) Semi-sequential Galois Field multiplier and the method for performing the same
Karmakar et al. Efficient finite field multiplication for isogeny based post quantum cryptography
Chen et al. FPGA realization of low register systolic all-one-polynomial multipliers over $ GF (2^{m}) $ and their applications in trinomial multipliers
US8719324B1 (en) Spectral modular arithmetic method and apparatus
Andreev et al. Postprocessing and higher order convergence of the mixed finite element approximations of biharmonic eigenvalue problems
WO2018139750A1 (ko) 유한체 병렬 곱셈 장치 및 방법
US10057064B2 (en) Computational method, computational device and computer software product for montgomery domain
Panjwani Scalable and parameterized hardware implementation of elliptic curve digital signature algorithm over prime fields
Elango et al. Hardware implementation of residue multipliers based signed RNS processor for cryptosystems
KR102057648B1 (ko) 중복 형태 리코딩을 이용한 곱셈 방법 및 모듈러 곱셈기
Negre et al. Efficient modular arithmetic in adapted modular number system using lagrange representation
Cenk et al. Improved three-way split formulas for binary polynomial multiplication
KR100902847B1 (ko) 분할 테이블을 이용한 유한체 곱셈 장치, 그 방법 및기록매체
Panchbhai et al. Implementation of point addition & point doubling for Elliptic Curve
Schinianakis et al. GF (2 n) Montgomery multiplication using Polynomial Residue Arithmetic
KR20190079857A (ko) 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법
Roy et al. Accelerating scalar conversion for Koblitz curve cryptoprocessors on hardware platforms
KR102372466B1 (ko) 가우시안 정규기저를 이용한 유한체 GF(2^m) 상의 병렬 곱셈 연산장치 및 연산방법
Lagarias Cyclic systems of simultaneous congruences
JP5554357B2 (ja) 演算装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17893599

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17893599

Country of ref document: EP

Kind code of ref document: A1