KR100954583B1 - Serial apparatus and method for finite field multiplication using polynomial basis - Google Patents
Serial apparatus and method for finite field multiplication using polynomial basis Download PDFInfo
- Publication number
- KR100954583B1 KR100954583B1 KR1020080015541A KR20080015541A KR100954583B1 KR 100954583 B1 KR100954583 B1 KR 100954583B1 KR 1020080015541 A KR1020080015541 A KR 1020080015541A KR 20080015541 A KR20080015541 A KR 20080015541A KR 100954583 B1 KR100954583 B1 KR 100954583B1
- Authority
- KR
- South Korea
- Prior art keywords
- multiplication
- multiplier
- polynomial
- finite field
- result
- Prior art date
Links
Images
Classifications
-
- 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
-
- 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
- G06F7/525—Multiplying only in serial-serial fashion, i.e. both operands being entered serially
-
- 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/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/722—Modular multiplication
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
본 발명은 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법에 관한 것이며, 다항식 기저로 표현되는 제1 승수의 항 중에서 삼항 기약다항식의 각 항의 차수 중 중간 차수와 동일한 차수의 항을 제외하여 제2 승수를 생성하고, 상기 삼항 기약다항식에 의해 다항식 기저로 표현되는 피승수와 상기 제2 승수의 계수 곱셈 및 모듈러 연산을 수행하는 제1 곱셈 및 모듈러 연산부; 상기 제1 곱셈 및 모듈러 연산부의 중간 연산 결과를 저장하여 연산을 보조하고 상기 제1 곱셈 및 모듈러 연산부의 최종 연산 결과인 제1 연산 결과를 저장하는 제1 레지스터; 상기 삼항 기약다항식에 의해 상기 제1 승수에서 제외된 상기 항과 상기 피승수의 계수 곱셈 및 모듈러 연산을 수행하여 제2 연산 결과를 생성하는 제2 곱셈 및 모듈러 연산부; 및 상기 제2 곱셈 및 모듈러 연산부의 연산 결과를 저장하는 제2 레지스터를 포함하고, 상기 제1 곱셈 및 모듈러 연산부는 상기 제1 연산 결과가 생성되면 상기 제1 연산 결과에 상기 제2 레지스터에 저장된 상기 제2 연산 결과를 가산하여 상기 피승수 및 상기 제1 승수의 곱셈 결과를 생성하여 시간 및 공간 복잡도를 개선한다.
TECHNICAL FIELD The present invention relates to a polynomial basis-based finite field multiplication apparatus and method, wherein a second multiplier is excluded among terms of each term of the ternary term polynomial among terms of the first multiplier represented by the polynomial basis. A first multiplication and modular operation unit for generating a multiplier and a multiplication of the multiplier represented by the polynomial basis and the second multiplier by the ternary contract polynomial; A first register storing an intermediate operation result of the first multiplication and modular operation unit to assist the operation and storing a first operation result which is a final operation result of the first multiplication and modular operation unit; A second multiplication and modular operation unit configured to perform a coefficient multiplication and a modular operation of the term excluded from the first multiplier and the multiplicand by the ternary polynomial to generate a second operation result; And a second register configured to store an operation result of the second multiplication and modular operation unit, wherein the first multiplication and modular operation unit is stored in the second register in the first operation result when the first operation result is generated. A second operation result is added to generate a multiplication result of the multiplier and the first multiplier to improve time and space complexity.
Description
본 발명은 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법에 관한 것이며, 더 상세하게는 삼항 기약다항식을 기반으로 설계하여 시간 복잡도를 개선하기 위한 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법에 관한 것이다.The present invention relates to a polynomial basis based finite field multiplication apparatus and method, and more particularly, to a polynomial basis based finite field serial multiplication apparatus and method for improving time complexity by designing based on ternary weak polynomial. .
유한체(finite feild)란 유한한 개수의 원소를 포함하는 체(field)를 말한다. 유한체 상의 연산은 코딩이론(coding theory), 컴퓨터 대수(computer algebra), 공개키 암호(public key cryptosystem) 중 타원곡선 암호(elliptic curve cryptosystem) 또는 페어링 기반의 암호시스템(Pairing Based Cryptosystem)등 여러 분야에서 널리 쓰이고 있다. 유한체 상의 주요연산은 덧셈, 곱셈, 제곱, 및 역원 연산들이다. 유한체 연산은 주로 덧셈과 곱셈으로 구성되며, 그 외의 지수승 및 역원 연산 등은 덧셈과 곱셈의 반복 연산으로 구성된다. 그 중에서 곱셈 연산은 덧셈 연산에 비하여 시간-공간 자원을 많이 사용한다. 따라서 시스템 설계의 관점에서 효율적인 곱셈기 설계는 매우 중요하다.A finite feild is a field containing a finite number of elements. Finite field operations can be found in many fields, such as coding theory, computer algebra, elliptic curve cryptosystems in public key cryptosystems, or pairing based cryptosystems. It is widely used in. The main operations on the finite field are addition, multiplication, square, and inverse operations. Finite field operations mainly consist of addition and multiplication, and other exponential power and inverse operations consist of repetitive operations of addition and multiplication. Among them, the multiplication operation uses more time-space resources than the addition operation. Therefore, from the system design point of view, efficient multiplier design is very important.
현재까지 연구된 유한체 곱셈 연산기로는 크게 직렬 유한체 곱셈기, 병렬 유 한체 곱셈기, 하이브리드 유한체 곱셈기가 존재한다. 직렬 유한체 곱셈기는 마스트로비토(Maxtrovito)에 의하여 제안되어 유한체 곱셈기의 기본적인 구조로 자리 잡아 왔다. 병렬 유한체 곱셈기의 경우 고속 연산을 수행할 수 있으나 하드웨어 자원을 많이 필요로 하는 문제가 있다. 하이브리드(hybrid) 유한체 곱셈기는 1999년 파르(Paar)에 의하여 제안되어 직렬 유한체 곱셈기의 연산 수행속도 문제를 개선하고 병렬 유한체 곱셈기의 단점으로 볼 수 있는 하드웨어 자원 문제를 개선하였다. 그러나 하이브리드 곱셈기의 경우 사용 가능한 유한체로서 유한체의 차수가 합성수인 합성수 유한체를 사용하기 때문에 암호학적인 안전도가 떨어져 많은 응용 분야에 적용하기 힘들다. 따라서 직렬 유한체 곱셈기의 경우 앞서 언급한 바와 같이 연산 수행속도의 문제는 있지만, 병렬 구조 및 하이브리드 구조에 비하여 회로가 단순하고 적은 크기로 구현할 수 있기 때문에 제한된 크기와 소비전력을 요구하는 시스템 환경에서는 다른 곱셈기들에 비해 그 필요성이 크다.The finite field multipliers that have been studied so far include serial finite field multipliers, parallel finite multipliers, and hybrid finite field multipliers. A series finite field multiplier has been proposed by Maxtrovito and has become the basic structure of a finite field multiplier. In the case of a parallel finite multiplier, it is possible to perform a high speed operation, but there is a problem that requires a lot of hardware resources. The hybrid finite field multiplier was proposed by Parr in 1999 to improve the computational performance problem of the serial finite field multiplier and to solve the hardware resource problem that can be considered as a disadvantage of the parallel finite field multiplier. However, in the case of the hybrid multiplier, it is difficult to apply it to many application fields because of its low cryptographic security because it uses a synthetic finite field whose order of the finite field is a synthetic number. Therefore, in the case of the serial finite field multiplier, there is a problem of the operation speed as mentioned above, but since the circuit is simpler and smaller in size than the parallel structure and the hybrid structure, it is different from the system environment requiring limited size and power consumption. Compared to multipliers, the need is great.
한편, 유한체 곱셈기 설계에 있어서 원소 표현은 선택은 매우 중요하다. 주로 쓰는 원소 표현 방법으로는 정규 기저(normal basis) 표현, 다항식 기저(polynomial basis) 표현, 쌍대 기저(dual basis) 표현, 및 여분(redundant) 표현 등이 있다. 상기 각각의 기저들은 적용 환경에 따라 장단점을 가진다. 정규 기저 경우 제곱 연산을 사이클릭 쉬프트(Cyclic Shift) 연산으로 매우 쉽게 처리한다. 그러나 정규기저의 경우 다른 기저에 비하여 곱셈기 설계의 복잡도가 크다는 단점을 가진다. 따라서 공간 자원이 중요시되는 환경을 위해 다항식 기저를 사용하는 곱셈기들이 연구되고 있다. On the other hand, the choice of elemental representation is very important in finite field multiplier design. Commonly used element representation methods include normal basis expression, polynomial basis expression, dual basis expression, and redundant expression. Each of these bases has advantages and disadvantages depending on the application environment. The normal basis case makes square operations very easy with cyclic shifts. However, the regular basis has a disadvantage in that the complexity of the multiplier design is larger than that of the other basis. Therefore, multipliers using a polynomial basis have been studied for environments where spatial resources are important.
공개키 암호시스템에 있어서 유한체 연산의 고속화를 위하여 표수(characteristic)는 2, 3 등 작은 수가 선택되며, 최근 표수가 3인 유한체 위의 초특이 타원곡선에 대한 암호 애플리케이션을 Koblitz(Koblitz. N의 "An Elliptic Curve Implementation of the Finite Field Digital Signature Algorithm", CRYPTO 1998, LNCS 3574, pp.327-337, Springer-Verlag, 1998. 참조)와 Galbraith(S.D. Galbraith, "Supersingular Curves in Cryptography", ASIACRYPT 2001, LNCS 2248, pp.495-513, Springer-Verlag, 2001. 참조)가 제안하였다. 상기와 같은 페어링 연산 기반 암호시스템은 모듈러 감산 연산의 효율성을 고려하여 삼항 기약다항식(irreducible trinomial)을 주로 사용한다.To speed up the finite field operation in public key cryptosystems, a small number such as 2 or 3 is selected. A cryptographic application for a super-specific elliptic curve on a finite field with a recent number of 3 Koblitz (Koblitz. N An Elliptic Curve Implementation of the Finite Field Digital Signature Algorithm, CRYPTO 1998, LNCS 3574, pp.327-337, Springer-Verlag, 1998.) and Galbraith (SD Galbraith, "Supersingular Curves in Cryptography", ASIACRYPT 2001 , LNCS 2248, pp. 495-513, Springer-Verlag, 2001.). The pairing operation-based cryptography system mainly uses an irreducible trinomial in consideration of the efficiency of the modular subtraction operation.
또한, 비트-직렬(bit-serial) 곱셈기의 출력은 병렬-출력(Parallel Output) 또는 직렬-출력(Serial Output)으로 나뉘며, 곱셈 방법은 계수를 처리하는 순서에 따라 MSE(Most Significant Element), LSE(Least Significant Element) 타입으로 구분된다. 각각의 타입은 적용 환경에 따라 장단점을 가지면서 시간-공간 복잡도에 영향을 미친다. LSE 타입의 경우 내부연산 모듈의 일부를 병렬화할 수 있다는 장점이 있는 반면, 레지스터의 증가와 제어부가 복잡해진다는 단점이 있다. 따라서 공간 자원이 중요시되는 환경에서는 LSE 타입의 곱셈기에 비해 MSE 타입의 곱셈기가 효율적으로 사용될 수 있다.In addition, the output of a bit-serial multiplier is divided into parallel output or serial output, and the multiplication method is based on the order of processing coefficients, MSE (Most Significant Element), LSE Classified as (Least Significant Element) type. Each type has advantages and disadvantages depending on the application environment and affects time-space complexity. The LSE type has the advantage of parallelizing some of the internal operation modules, but has the disadvantage of increasing registers and complicated control. Therefore, in an environment where space resources are important, the MSE type multiplier can be used more efficiently than the LSE type multiplier.
그러나 기존의 유한체 GF(pm)에 대한 MSE 타입의 곱셈기는 수행시간이 빠른 경우에는 추가적인 모듈러 연산부 및 저장 공간을 필요로 하는 문제점이 있으며, 특히 추가적인 모듈러 연산부 없이 간단하게 설계되는 경우에는 연산 수행 시간이 느리다는 문제점이 있다.However, the conventional MSE type multiplier for the finite field GF (p m ) has a problem of requiring additional modular operation unit and storage space when the execution time is fast, especially when it is simply designed without additional modular operation unit. The problem is that time is slow.
따라서, 본 발명이 이루고자 하는 첫 번째 기술적 과제는, 삼항 기약다항식을 사용하여 시간 복잡도를 개선하는 다항식 기저 기반의 MSE 타입 유한체 직렬 곱셈 장치를 제공하는 것이다.Accordingly, the first technical problem to be achieved by the present invention is to provide a polynomial basis-based MSE type finite field multiplication apparatus that improves time complexity by using a ternary weak polynomial.
본 발명이 이루고자 하는 두 번째 기술적 과제는, 삼항 기약다항식을 사용하여 시간 복잡도를 개선하는 다항식 기저 기반의 MSE 타입 유한체 직렬 곱셈 방법을 제공하는 것이다.The second technical problem to be achieved by the present invention is to provide a polynomial basis-based MSE type finite field multiplication method that improves the time complexity by using the ternary weak polynomial.
본 발명이 이루고자 하는 세 번째 기술적 과제는, 삼항 기약다항식을 사용하여 시간 및 공간 복잡도를 개선하는 다항식 기저 기반의 MSE 타입 유한체 직렬 곱셈 장치를 제공하는 것이다.The third technical problem to be achieved by the present invention is to provide a polynomial basis-based MSE type finite field multiplication apparatus that improves time and space complexity by using a ternary weak polynomial.
본 발명이 이루고자 하는 네 번째 기술적 과제는, 삼항 기약다항식을 사용하여 시간 및 공간 복잡도를 개선하는 다항식 기저 기반의 MSE 타입 유한체 직렬 곱셈 방법을 제공하는 것이다.A fourth technical problem to be achieved by the present invention is to provide a polynomial basis-based MSE type finite field serial multiplication method that improves temporal and spatial complexity by using a ternary weak polynomial.
상기와 같은 첫 번째 기술적 과제를 해결하기 위하여, 본 발명은 삼항 기약다항식(f(x))을 사용하여 유한체 상의 두 원소의 곱셈을 수행하는 다항식 기저 기반의 유한체 직렬 곱셈 장치에 있어서, 다항식 기저로 표현되는 제1 승수(b(x))의 항 중에서 삼항 기약다항식(f(x))의 각 항의 차수 중 중간 차수(t)와 동일한 차수 의 항(btxt)을 제외하여 제2 승수(b'(x))를 생성하고, 상기 삼항 기약다항식(f(x))에 의해 다항식 기저로 표현되는 피승수(a(x))와 상기 제2 승수(b'(x))의 계수 곱셈 및 모듈러 연산을 수행하는 제1 곱셈 및 모듈러 연산부; 상기 제1 곱셈 및 모듈러 연산부의 중간 연산 결과를 저장하여 연산을 보조하고 상기 제1 곱셈 및 모듈러 연산부의 최종 연산 결과인 제1 연산 결과를 저장하는 제1 레지스터; 및 상기 삼항 기약다항식(f(x))에 의해 상기 제1 승수(b(x))에서 제외된 상기 항(btxt)과 상기 피승수(a(x))의 계수 곱셈 및 모듈러 연산을 수행하여 제2 연산 결과를 생성하고, 상기 제1 연산 결과를 상기 제2 연산 결과에 가산하여 상기 피승수(a(x))와 상기 제1 승수(b(x))의 곱셈 결과를 생성하는 제2 곱셈 및 모듈러 연산부를 포함하는 다항식 기저 기반의 유한체 직렬 곱셈 장치를 제공한다.In order to solve the first technical problem as described above, the present invention provides a polynomial basis-based finite field multiplication apparatus for performing multiplication of two elements on a finite body using a ternary weak polynomial (f (x)). Among the terms of the first term multiplier (b (x)) expressed as the basis, except for terms (b t x t ) of the same order (t) among the orders of each term of the ternary contract polynomial (f (x)). A multiplier b '(x) is generated, and the multiplier a (x) and the second multiplier b' (x) represented by the polynomial basis by the ternary term polynomial f (x) A first multiplication and modular operation unit performing coefficient multiplication and modular operations; A first register storing an intermediate operation result of the first multiplication and modular operation unit to assist the operation and storing a first operation result which is a final operation result of the first multiplication and modular operation unit; And a coefficient multiplication and modular operation of the term (b t x t ) and the multiplicand (a (x)) excluded from the first multiplier (b (x)) by the ternary polynomial polynomial f (x). Performing a second operation result and adding the first operation result to the second operation result to generate a multiplication result of the multiplier a (x) and the first multiplier b (x). A polynomial basis-based finite field multiplication apparatus including two multiplication and a modular operation is provided.
본 발명의 일 실시예에 따르면, 상기 다항식 기저 기반의 유한체 직렬 곱셈 장치는, 상기 피승수(a(x))를 저장하고 상기 제1 곱셈 및 모듈러 연산부에 상기 피승수(a(x))를 전달하는 제2 레지스터; 및 상기 제1 승수(b(x))를 저장하고 상기 제1 곱셈 및 모듈러 연산부에 상기 제1 승수(b(x))를 전달하는 제3 레지스터를 더 포함한다.According to an embodiment of the present invention, the polynomial basis-based finite field multiplication apparatus stores the multiplier (a (x)) and transfers the multiplier (a (x)) to the first multiplication and modular operation unit. A second register; And a third register that stores the first multiplier b (x) and transfers the first multiplier b (x) to the first multiplication and modular operation unit.
본 발명의 일 실시예에 따르면, 상기 다항식 기저 기반의 유한체 직렬 곱셈 장치는, 상기 제2 곱셈 및 모듈러 연산부의 연산 결과를 저장하여 상기 제1 승수 및 상기 피승수의 곱셈 결과를 출력하는 제4 레지스터를 더 포함한다.According to an embodiment of the present invention, the polynomial basis-based finite field serial multiplier, the fourth register for storing the result of the operation of the second multiplier and modular operation unit to output the multiplication result of the first multiplier and the multiplicand It further includes.
본 발명의 일 실시예에 따르면, 상기 다항식 기저 기반의 유한체 직렬 곱셈 장치는, 유한체의 표수(characteristic)가 2 또는 3일 수 있다.According to an embodiment of the present invention, the polynomial basis-based finite field serial multiplier may have a characteristic number of finite bodies of 2 or 3.
본 발명의 일 실시예에 따르면, 상기 다항식 기저 기반의 유한체 직렬 곱셈 장치가 사용하는 상기 삼항 기약다항식(f(x))은 수학식 f(x) = xm+ftxt+f0 로 표현될 수 있다(단, ft,f0∈GF(3) 이고, t는 0<t<m/2인 정수).According to an embodiment of the present invention, the ternary term polynomial (f (x)) used by the polynomial basis-based finite field multiplier is expressed by the equation f (x) = x m + f t x t + f 0 (Where f t , f 0 ∈GF (3) and t is an integer of 0 <t <m / 2).
본 발명의 일 실시예에 따르면, 마이크로프로세서상에 상기 다항식 기저 기반의 유한체 직렬 곱셈 장치를 시스템 온 칩(system on chip) 형태로 구현할 수 있다.According to an embodiment of the present invention, the polynomial basis-based finite field multiplication apparatus may be implemented on a microprocessor in the form of a system on chip.
상기와 같은 두 번째 기술적 과제를 해결하기 위하여, 본 발명은 삼항 기약다항식(f(x))을 사용하여 유한체 상의 두 원소의 곱셈을 수행하는 다항식 기저 기반의 유한체 직렬 곱셈 방법에 있어서, 다항식 기저로 표현되는 제1 승수(b(x))의 항 중에서 삼항 기약다항식(f(x))의 각 항의 차수 중 중간 차수(t)와 동일한 차수의 항(btxt)을 제외하여 제2 승수(b'(x))를 생성하고, 상기 삼항 기약다항식(f(x))에 의해 다항식 기저로 표현되는 피승수(a(x))와 상기 제2 승수(b'(x))의 계수 곱셈 및 모듈러 연산을 수행하는 제1 곱셈 및 모듈러 연산 단계; 상기 제1 곱셈 및 모듈러 연산 단계의 중간 연산 결과를 제1 레지스터에 저장하여 연산을 보조하고 상기 제1 곱셈 및 모듈러 연산 단계의 최종 연산 결과인 제1 연산 결과를 상기 제1 레지스터에 저장하는 단계; 및 상기 삼항 기약다항식(f(x))에 의해 상기 제1 승 수(b(x))에서 제외된 상기 항(btxt)과 상기 피승수(a(x))의 계수 곱셈 및 모듈러 연산을 수행하여 제2 연산 결과를 생성하고, 상기 제1 연산 결과를 상기 제2 연산 결과에 가산하여 상기 피승수(a(x))와 상기 제1 승수(b(x))의 곱셈 결과를 생성하는 제2 곱셈 및 모듈러 연산 단계를 포함하는 다항식 기저 기반의 유한체 직렬 곱셈 방법을 제공한다.In order to solve the second technical problem as described above, the present invention provides a polynomial basis-based finite field multiplication method for performing multiplication of two elements on a finite body using a ternary weak polynomial (f (x)). Among the terms of the first term multiplier (b (x)) expressed as the basis, except for the terms (b t x t ) of the same order (t) among the orders of the terms of the ternary term polynomial (f (x)). A multiplier b '(x) is generated, and the multiplier a (x) and the second multiplier b' (x) represented by the polynomial basis by the ternary term polynomial f (x) A first multiplication and modular operation step of performing coefficient multiplication and modular operation; Storing intermediate results of the first multiplication and modular operations in a first register to assist the operation, and storing first calculation results, which are the last calculation results of the first multiplication and modular operations, in the first register; And coefficient multiplication and modular operation of the term (b t x t ) and the multiplicand (a (x)) excluded from the first multiplier (b (x)) by the ternary polynomial polynomial f (x). Generating a second operation result and adding the first operation result to the second operation result to generate a multiplication result of the multiplier a (x) and the first multiplier b (x). A polynomial basis-based finite field multiplication method comprising a second multiplication and a modular operation step is provided.
본 발명의 일 실시예에 따르면, 상기 다항식 기저 기반의 유한체 직렬 곱셈 방법은, 상기 제1 곱셈 및 모듈러 연산 단계 전에 외부로부터 입력되는 상기 피승수(a(x)) 및 상기 제1 승수(b(x))를 각각 제2 레지스터 및 제3 레지스터 저장하는 단계를 더 포함하고, 상기 제1 곱셈 및 모듈러 연산 단계는, 상기 제2 레지스터 및 상기 제3 레지스터에 저장된 상기 피승수(a(x)) 및 상기 제1 승수(b(x))를 이용하여 상기 연산을 수행하는 단계이다.According to one embodiment of the present invention, the polynomial basis-based finite field multiplication method, the multiplier (a (x)) and the first multiplier (b () input from the outside before the first multiplication and modular operation step ( and x)) storing a second register and a third register, respectively, wherein the first multiplication and modular operation step comprises: the multiplicand a (x) stored in the second register and the third register; The operation is performed by using the first multiplier b (x).
본 발명의 일 실시예에 따르면, 상기 다항식 기저 기반의 유한체 직렬 곱셈 방법은 상기 제2 곱셈 및 모듈러 연산 단계의 연산 결과를 제4 레지스터에 저장하여 상기 제1 승수 및 상기 피승수의 곱셈 결과를 출력하는 단계를 더 포함한다.According to an embodiment of the present invention, the polynomial basis-based finite field serial multiplication method stores the operation results of the second multiplication and modular operation steps in a fourth register to output a multiplication result of the first multiplier and the multiplicand. It further comprises the step.
본 발명의 일 실시예에 따르면, 마이크로프로세서로 하여금 상기 다항식 기저 기반의 유한체 직렬 곱셈 방법을 수행하도록 구현할 수 있다.According to an embodiment of the present invention, a microprocessor may be implemented to perform the polynomial basis-based finite field multiplication method.
상기와 같은 세 번째 기술적 과제를 해결하기 위하여, 본 발명은 삼항 기약다항식(f(x))을 사용하여 유한체 상의 두 원소의 곱셈을 수행하는 다항식 기저 기반의 유한체 직렬 곱셈 장치에 있어서, 다항식 기저로 표현되는 제1 승수(b(x))의 항 중에서 삼항 기약다항식(f(x))의 각 항의 차수 중 중간 차수(t)와 동일한 차수의 항(btxt)을 제외하여 제2 승수(b'(x))를 생성하고, 상기 삼항 기약다항식(f(x))에 의해 다항식 기저로 표현되는 피승수(a(x))와 상기 제2 승수(b'(x))의 계수 곱셈 및 모듈러 연산을 수행하는 제1 곱셈 및 모듈러 연산부; 상기 제1 곱셈 및 모듈러 연산부의 중간 연산 결과를 저장하여 연산을 보조하고 상기 제1 곱셈 및 모듈러 연산부의 최종 연산 결과인 제1 연산 결과를 저장하는 제1 레지스터; 상기 삼항 기약다항식(f(x))에 의해 상기 제1 승수(b(x))에서 제외된 상기 항(btxt)과 상기 피승수(a(x))의 계수 곱셈 및 모듈러 연산을 수행하여 제2 연산 결과를 생성하는 제2 곱셈 및 모듈러 연산부; 및 상기 제2 곱셈 및 모듈러 연산부의 연산 결과를 저장하는 제2 레지스터를 포함하고, 상기 제1 곱셈 및 모듈러 연산부는 상기 제1 연산 결과가 생성되면 상기 제1 연산 결과에 상기 제2 레지스터에 저장된 상기 제2 연산 결과를 가산하여 상기 피승수(a(x)) 및 상기 제1 승수(b(x))의 곱셈 결과를 생성하는 다항식 기저 기반의 유한체 직렬 곱셈 장치를 제공한다.In order to solve the third technical problem as described above, the present invention provides a polynomial basis-based finite field multiplication apparatus for performing multiplication of two elements on a finite body using a ternary weak polynomial (f (x)). Among the terms of the first term multiplier (b (x)) expressed as the basis, except for the terms (b t x t ) of the same order (t) among the orders of the terms of the ternary term polynomial (f (x)). A multiplier b '(x) is generated, and the multiplier a (x) and the second multiplier b' (x) represented by the polynomial basis by the ternary term polynomial f (x) A first multiplication and modular operation unit performing coefficient multiplication and modular operations; A first register storing an intermediate operation result of the first multiplication and modular operation unit to assist the operation and storing a first operation result which is a final operation result of the first multiplication and modular operation unit; Performs coefficient multiplication and modular operation of the term (b t x t ) and the multiplicand (a (x)) excluded from the first multiplier (b (x)) by the ternary term polynomial f (x) A second multiplication and modular operation unit configured to generate a second operation result; And a second register configured to store an operation result of the second multiplication and modular operation unit, wherein the first multiplication and modular operation unit is stored in the second register in the first operation result when the first operation result is generated. A polynomial basis-based finite field multiplication apparatus for generating a multiplication result of the multiplier a (x) and the first multiplier b (x) by adding a second operation result.
본 발명의 일 실시예에 따르면, 상기 제1 레지스터는, 상기 제1 곱셈 및 모듈러 연산부에 의해 생성된 상기 피승수(a(x)) 및 상기 제1 승수(b(x))의 상기 곱셈 결과를 저장하여 출력한다.According to an embodiment of the present invention, the first register is configured to multiply the multiplication result of the multiplier a (x) and the first multiplier b (x) generated by the first multiplication and modular operation unit. Save and print.
본 발명의 일 실시예에 따르면, 상기 다항식 기저 기반의 유한체 직렬 곱셈 장치는, 상기 피승수(a(x))를 저장하고 상기 제1 곱셈 및 모듈러 연산부에 상기 피 승수(a(x))를 전달하는 제3 레지스터; 및 상기 제1 승수(b(x))를 저장하고 상기 제1 곱셈 및 모듈러 연산부에 상기 제1 승수(b(x))를 전달하는 제4 레지스터를 더 포함한다.According to an embodiment of the present invention, the polynomial basis-based finite field multiplication apparatus stores the multiplier (a (x)) and stores the multiplier (a (x)) in the first multiplication and modular operation unit. A third register to transfer; And a fourth register configured to store the first multiplier b (x) and transfer the first multiplier b (x) to the first multiplication and modular operation unit.
본 발명의 일 실시예에 따르면, 마이크로프로세서상에 상기 다항식 기저 기반의 유한체 직렬 곱셈 장치를 시스템 온 칩 형태로 구현할 수 있다.According to an embodiment of the present invention, the polynomial basis-based finite field multiplication apparatus may be implemented in a system-on-chip form on a microprocessor.
상기와 같은 네 번째 기술적 과제를 해결하기 위하여, 본 발명은 삼항 기약다항식(f(x))을 사용하여 유한체 상의 두 원소의 곱셈을 수행하는 다항식 기저 기반의 유한체 직렬 곱셈 방법에 있어서, 다항식 기저로 표현되는 제1 승수(b(x))의 항 중에서 삼항 기약다항식(f(x))의 각 항의 차수 중 중간 차수(t)와 동일한 차수의 항(btxt)을 제외하여 제2 승수(b'(x))를 생성하고, 상기 삼항 기약다항식(f(x))에 의해 다항식 기저로 표현되는 피승수(a(x))와 상기 제2 승수(b'(x))의 계수 곱셈 및 모듈러 연산을 수행하는 제1 곱셈 및 모듈러 연산 단계; 상기 삼항 기약다항식(f(x))에 의해 상기 제1 승수(b(x))에서 제외된 상기 항(btxt)과 상기 피승수(a(x))의 계수 곱셈 및 모듈러 연산을 수행하여 제2 연산 결과를 생성하는 제2 곱셈 및 모듈러 연산 단계; 상기 제1 곱셈 및 모듈러 연산 단계의 최종 연산 결과인 제1 연산 결과가 생성될 때까지 상기 제1 곱셈 및 모듈러 연산 단계의 중간 연산 결과를 제1 레지스터에 저장하여 연산을 보조하고, 그리고 상기 제2 곱셈 및 모듈러 연산 단계의 제2 연산 결과를 제2 레지스터에 저장하는 단계; 및 상기 제1 연 산 결과가 생성되면 상기 제1 연산 결과에 상기 제2 레지스터에 저장된 상기 제2 연산 결과를 가산하여 상기 피승수(a(x))와 상기 제1 승수(b(x))의 곱셈 결과를 생성하는 곱셈 결과 생성 단계를 포함하는 다항식 기저 기반의 유한체 직렬 곱셈 방법을 제공한다.In order to solve the fourth technical problem as described above, the present invention provides a polynomial basis-based finite field serial multiplication method for performing multiplication of two elements on a finite body using a ternary weak polynomial (f (x)). Among the terms of the first term multiplier (b (x)) expressed as the basis, except for the terms (b t x t ) of the same order (t) among the orders of the terms of the ternary term polynomial (f (x)). A multiplier b '(x) is generated, and the multiplier a (x) and the second multiplier b' (x) represented by the polynomial basis by the ternary term polynomial f (x) A first multiplication and modular operation step of performing coefficient multiplication and modular operation; Performs coefficient multiplication and modular operation of the term (b t x t ) and the multiplicand (a (x)) excluded from the first multiplier (b (x)) by the ternary term polynomial f (x) A second multiplication and modular operation step of generating a second operation result; Assisting the operation by storing an intermediate operation result of the first multiplication and modular operation step in a first register until a first operation result, which is a final operation result of the first multiplication and modular operation step, is generated. Storing a second operation result of the multiplication and modular operation steps in a second register; And when the first operation result is generated, adds the second operation result stored in the second register to the first operation result to determine the multiplier a (x) and the first multiplier b (x). A polynomial basis-based finite field multiplication method including a multiplication result generation step of generating a multiplication result is provided.
본 발명의 일 실시예에 따르면, 상기 다항식 기저 기반의 유한체 직렬 곱셈 방법은, 상기 곱셈 결과 생성 단계에서 생성된 상기 피승수(a(x)) 및 상기 제1 승수(b(x))의 상기 곱셈 결과를 상기 제1 레지스터에 저장하여 출력한다.According to one embodiment of the present invention, the polynomial basis-based finite field multiplication method, the multiplication of the multiplier (a (x)) and the first multiplier (b (x)) generated in the multiplication result generation step The multiplication result is stored in the first register and output.
본 발명의 일 실시예에 따르면, 상기 다항식 기저 기반의 유한체 직렬 곱셈 방법은, 상기 제1 곱셈 및 모듈러 연산 단계 전에 외부로부터 입력되는 상기 피승수(a(x)) 및 상기 제1 승수(b(x))를 각각 제3 레지스터 및 제4 레지스터 저장하는 단계를 더 포함하고, 상기 제1 곱셈 및 모듈러 연산 단계는, 상기 제3 레지스터 및 상기 제4 레지스터에 저장된 상기 피승수(a(x)) 및 상기 제1 승수(b(x))를 이용하여 상기 연산을 수행하는 단계이다.According to one embodiment of the present invention, the polynomial basis-based finite field multiplication method, the multiplier (a (x)) and the first multiplier (b () input from the outside before the first multiplication and modular operation step ( and x)) storing a third register and a fourth register, respectively, wherein the first multiplication and modular operation steps include: the multiplicand a (x) stored in the third register and the fourth register; The operation is performed by using the first multiplier b (x).
본 발명에 따른 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법은, 기존의 직렬 곱셈기에 비해 시간 복잡도를 개선하고, 나이가 공간 복잡도를 개선하는 이점을 제공한다.The polynomial basis-based finite field multiplication apparatus and method according to the present invention provides the advantages of improving time complexity and improving older spatial complexity over conventional serial multipliers.
본 발명에 관한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하고자 하는 기술적 과제의 개요를 우선 제시한다.Prior to the description of the specific contents of the present invention, for the sake of understanding, an outline of the technical problem to be solved by the present invention is first presented.
본 발명은 MSE 타입의 새로운 비트 직렬 곱셈 장치 및 방법을 제안한다. 본 발명에 따른 곱셈 장치 및 방법은 삼항 기약다항식을 기반으로 설계되며, 삼항 기약다항식을 사용하는 페어링 기반의 암호시스템의 GF(3m)을 일례로 하여 설계한다.The present invention proposes a new bit serial multiplication apparatus and method of the MSE type. The multiplication apparatus and method according to the present invention are designed based on the ternary contracted polynomial, and are designed based on the GF (3 m ) of a pairing based cryptographic system using the ternary contracted polynomial.
우선, f(x)를 GF(3) 위에서 차수가 m인 삼항 기약다항식이라 하고 f(x)를 하기 수학식 1과 같이 정의한다.First, f (x) is called a ternary contracted polynomial of order m above GF (3), and f (x) is defined as in
그러면 유한체 GF(3m)는 GF(3)[X]/(f(x))와 동형이기 때문에 GF(3m)의 원소 a(x)는 다항식 기저를 이용하여 하기 수학식 2와 같이 표현할 수 있다.Then, since the finite field GF (3 m ) is homogeneous with GF (3) [X] / (f (x)), the element a (x) of GF (3 m ) is expressed by
= (am -1…a1a0) , (단, ai∈GF(3))= (a m -1 … a 1 a 0 ), (where a i ∈GF (3))
ai는 GF(3)의 원소이기 때문에, ai를 표현하기 위해서는 2비트가 필요하게 된다. [PS03]에서는 GF(3)의 원소를 표현하기 위하여 하기 수학식 3과 같은 표기법을 사용한다.Since a i is an element of GF (3), two bits are required to represent a i . In [PS03], a notation such as
상기 표기법을 사용하여 GF(3)의 원소 ai 및 bi의 덧셈 ci=ai+bi는 3 XOR 게이트와 4 OR 게이트를 이용하여 다음과 같이 계산된다.Using the above notation, the addition c i = a i + b i of elements a i and b i of GF (3) is calculated as follows using 3 XOR gates and 4 OR gates.
ci H=(ai L∨bi L)t , ci L=(ai H∨bi H)t 그리고c i H = (a i L ∨b i L ) t, c i L = (a i H ∨b i H ) t and
t=(ai L∨bi H)(ai H∨bi L) 이다.t = (a i L ∨b i H ) (a i H ∨ b i L ).
특히, 2(ai H, ai L) = -(ai H, ai L) = (ai L, ai H)이므로 뺄셈과 2에 의한 곱셈은 덧셈을 이용하여 쉽게 계산할 수 있다.Specifically, 2 (a i H , a i L ) =-(a i H , a i L ) = (a i L , a i H ), so subtraction and multiplication by 2 can be easily calculated using addition.
이하, 본 발명에 따른 곱셈 장치와의 비교를 위해, 기존의 MSE(Most Significant Element) 타입의 비트-직렬 곱셈기를 개괄적으로 설명한다. 유한체 곱셈은 곱셈 연산, 즉 r'(x)=a(x)·b(x)와 모듈러 연산, 즉 r(x)= r'(x) mod f(x) 으로 구분된다. 따라서, 기존의 MSE 타입의 비트-직렬 곱셈기는 곱셈과 모듈러 연산을 독립으로 수행하는 기존의 제1 타입 곱셈기와, 곱셈과 모듈러 연산을 병렬 수행하는 인터리브 곱셈기(interleaved multiplier)인 기존의 제2 타입 곱셈기로 구분될 수 있다. 상기 기존의 제1 타입 곱셈기가 곱셈과 모듈러 연산을 독립 수행하는 제1 알고리듬은 다음과 같다.Hereinafter, a conventional bit-serial multiplier of the Most Significant Element (MSE) type will be described for comparison with a multiplication apparatus according to the present invention. Finite field multiplication is divided into multiplication operations, that is, r '(x) = a (x) · b (x) and modular operations, that is, r (x) = r' (x) mod f (x). Accordingly, a conventional MSE type bit-serial multiplier is a conventional first type multiplier that performs multiplication and modular operation independently, and an existing second type multiplier which is an interleaved multiplier that performs multiplication and modular operation in parallel. It can be divided into. A first algorithm in which the existing first type multiplier independently performs multiplication and modular operation is as follows.
제1 First 알고리듬Algorithm
상기 기존의 제2 타입 곱셈기가 곱셈과 모듈러 연산을 병렬 수행하는 제2 알고리듬은 다음과 같다.A second algorithm in which the existing second type multiplier performs multiplication and modular operation in parallel is as follows.
제2 2nd 알고리듬Algorithm
상기 제1 알고리듬의 경우 계수 곱셈과 r'(x)의 덧셈 연산으로 구성되나 GF(3)의 계수 곱셈은 1 또는 -1의 곱셈이므로 반복문은 덧셈 또는 뺄셈 연산을 m번 반복하게 된다. 그리고 모듈러 연산 r(x)=r'(x) mod f(x)는 삼항 기약다항식의 각 항의 차수 중 중간 차수인 t가 t<m/2를 만족하면 3번의 덧셈 또는 뺄셈 연산으로 구성된다. 따라서 r(x)의 계산에 m+3번의 덧셈 또는 뺄셈으로 r(x)를 계산할 수 있다.In the case of the first algorithm, a coefficient multiplication and an r '(x) addition operation are performed. However, the coefficient multiplication of GF (3) is a multiplication of 1 or -1, and the loop repeats the addition or subtraction operation m times. The modular operation r (x) = r '(x) mod f (x) consists of three addition or subtraction operations if t, the middle order t, of the terms of each term in the ternary polynomial satisfies t <m / 2. Therefore, r (x) can be calculated by adding or subtracting m + 3 times to calculate r (x).
상기 제2 알고리듬의 경우 하기 수학식 4를 반복적으로 수행하며 r(x)는 항상 m개의 항을 가진다. 따라서 2m번의 덧셈 또는 뺄셈으로 r(x)를 계산할 수 있다. In the case of the second algorithm, Equation 4 is repeatedly performed, and r (x) always has m terms. Therefore, r (x) can be calculated by 2m addition or subtraction.
= ai·b(x) + r(x)·x - rm -1·f(x)= a ib (x) + r (x) x-r m -1f (x)
상기 기존의 제1 타입 곱셈기의 경우 비교적 빠른 연산 속도를 가지나, r(x)의 2배나 되는 r'(x)의 저장 공간 및 추가 모듈러 연산부를 필요로 한다는 문제점이 있다. 상기 기존의 제2 타입 곱셈기의 경우 추가 모듈러 연산 모듈을 필요로 하지 않지만 연산속도가 기존의 제1 타입 곱셈기 보다도 느리다는 문제점이 있다.The conventional first type multiplier has a relatively fast operation speed, but has a problem of requiring an additional modular operation unit and a storage space of r '(x) that is twice as large as r (x). The conventional second type multiplier does not require an additional modular operation module, but has a problem that the operation speed is slower than that of the conventional first type multiplier.
이하, 본 발명의 기술적 과제의 해결 방안을 명확화하기 위해 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하되 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여할 수 있으며 당해 도면에 대한 설명시 필요한 경우 다른 도 면의 구성요소를 인용할 수 있음을 미리 밝혀둔다. 그리고 본 발명을 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불명료하게 할 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자 등의 의도 또는 관례 등에 따라 달라질 수 있을 것이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings to clarify the solutions of the technical problems of the present invention. The same reference numerals may be given even in the drawings, and it will be appreciated that components of other drawings may be cited when necessary in describing the drawings. In the following description of the present invention, detailed descriptions of related well-known techniques or configurations will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to intention or custom of a user, an operator, or the like. Therefore, the definition should be made based on the contents throughout the specification.
GF(pm)에서 삼항 기약다항식 f(x)=xm+ftxt+f0 ,(단, ft,f0∈GF(3), t< m/2)을 사용한 다항식 기저 기반의 유한체 곱셈을 기존의 MSE 타입 비트-직렬 곱셈기 보다 고속으로 수행하고, 나아가 추가적으로 증가하는 연산부가 최소가 되도록 설계하기 위해 본 발명은 다음과 같은 의미 있는 곱셈 연산의 변환을 도입한다.Ternary polynomial in GF (p m ) f (x) = x m + f t x t + f 0 Polynomial basis-based finite field multiplication using, (f t , f 0 ∈GF (3), t <m / 2) is faster than conventional MSE type bit-serial multiplier and further increases In order to design the addition minimum, the present invention introduces a transformation of the following meaningful multiplication operation.
다항식 기저로 표현되는 유한체 상의 두 원소인 피승수 및 승수를 각각 a(x) 및 b(x)라 하면 변환된 승수 b'(x)를 하기 수학식 5와 같이 정의할 수 있다.A multiplier and a multiplier, which are two elements on a finite body expressed as a polynomial basis, may be defined as a (x) and b (x), respectively, as shown in Equation 5 below.
상기 수학식 5 및 모듈러 연산의 성질에 의해, a(x) 및 b(x)의 곱셈은 하기 수학식 6과 같이 유도될 수 있다.By the property of Equation 5 and the modular operation, the multiplication of a (x) and b (x) can be derived as shown in Equation 6 below.
= a(x)*[b'(x) + bt·xt]mod f(x)= A (x) * [b '(x) + b t · x t] mod f (x)
= [a(x)*b'(x) mod f(x)] + [bt·xt*a(x) mod f(x)]= [a (x) * b '(x) mod f (x)] + [b txx t * a (x) mod f (x)]
삼항 기약다항식 환경을 고려하면 상기 수학식 6의 결과의 첫 번째 항인 [a(x)*b'(x) mod f(x)]의 연산은 비트-직렬 곱셈기에서 하기 수학식 7에 나타난 연산을 반복 수행하게 된다.Considering the ternary-term polynomial environment, the operation of [a (x) * b '(x) mod f (x)], which is the first term of the result of Equation 6, is performed by the bit-serial multiplier. Will be repeated.
= ai·b'(x)+r'(x)·x - r'm -1·f(x)= a ib '(x) + r' (x) x-r ' m -1f (x)
= ai·b'(x)+r'(x)·x - r'm -1·{xm+ftxt+f0}= a ib '(x) + r' (x) x-r ' m -1 (x m + f t x t + f 0 }
상기 수학식 7의 결과 중에서 첫 번째 항인 ai·b'(x)는 t항이 없고, 두 번째 항인 r'(x)·x에는 상수 항이 없으므로 상기 수학식 7은 한 번의 덧셈(뺄셈)으로 연산이 가능하다. 따라서, 상기 기존의 제2 알고리듬에 비하여 고속 연산을 수행할 수 있게 되고, 또한 모듈러 연산을 수행하므로 상기 기존의 제1 알고리듬에 비하여 적은 저장 공간을 사용할 수 있게 된다.In the result of Equation 7, the first term a i b '(x) has no t term, and the second term r' (x) · x has no constant term, so Equation 7 is calculated by one addition (subtraction). This is possible. Therefore, it is possible to perform a faster operation than the existing second algorithm, and also to perform a modular operation, it is possible to use less storage space than the existing first algorithm.
도 1에는 상기 수학식 6의 결과의 두 번째 항인 [bt·xt*a(x) mod f(x)]의 연산 원리가 도식적으로 나타나 있다. bt*a(x)의 연산 결과를 u1이라 한다. u1에 xt 를 곱하게 되면 레지스터 상에서는 t만큼의 자리 이동이 발생한다. u1*xt의 결과 중 m-t-1차 항부터 t차 항까지의 부분을 u2라 하고, m+t-1차 항부터 m-t차 항까지의 부분을 u3라 하면, 상기 삼항 기약다항식 f(x)=xm+ftxt+f0에 의해 u3에 대한 모듈러 연산을 수행하여 상기 [bt·xt*a(x) mod f(x)]의 결과를 얻게 된다.Figure 1 shows the operation principle of the second Anti - Human the result of Equation 6 [b t · x t * a (x) mod f (x)] is diagrammatically indicated by. The operation result of b t * a (x) is called u1. x t in u1 When multiplied, t shifts occur in registers. In the result of u1 * x t , the portion from the mt-first term to the order-order term is u2, and the portion from the m + t-first term to the order-mt term is u3. The result of [b t x x t * a (x) mod f (x)] is obtained by performing a modular operation on u3 by) = x m + f t x t + f 0 .
결론적으로, 상기 변환 승수 b'(x)를 이용하는 본 발명에 따른 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법에는 하기 제3 알고리듬이 사용된다.In conclusion, the following third algorithm is used in the polynomial basis-based finite field multiplication apparatus and method using the transform multiplier b '(x).
제3 The third 알고리듬Algorithm
도 2에는 상기 제3 알고리듬을 구현하기 위한 본 발명에 따른 제1 타입의 다항식 기저 기반의 유한체 직렬 곱셈 장치의 일례가 개략적인 블록도로 도시되어 있으며, 도 3 및 도 4에는 보다 세부적인 블록도로 도시되어 있다. 또한, 도 5에는 본 발명에 따른 제1 타입의 다항식 기저 기반의 유한체 직렬 곱셈 방법의 일례가 흐름도로 도시되어 있다.FIG. 2 is a schematic block diagram showing an example of a first type polynomial basis-based finite field multiplication apparatus according to the present invention for implementing the third algorithm. FIG. 3 and FIG. 4 are detailed block diagrams. Is shown. In addition, Fig. 5 shows a flowchart of an example of the first type of polynomial basis-based finite field serial multiplication method according to the present invention.
도 2 내지 도 5를 참조하면, 우선 제1 레지스터(310) 및 제2 레지스터(320)는 각각 다항식 기저로 표현되는 두 원소인 피승수 a(x) 및 제1 승수 b(x)를 저장한다(S500). 상기 제1 레지스터(310) 및 제2 레지스터(320)는 상기 두 원소의 계수를 하나씩 제1 곱셈 및 모듈러 연산부(200)로 출력한다. 그러면 상기 제1 곱셈 및 모듈러 연산부(200)는 상기 제1 승수 b(x)의 항 중에서 삼항 기약다항식 f(x)=xm+ftxt+f0의 각 항의 차수 중 중간 차수 t와 동일한 차수의 항 btxt을 제외하여 제2 승수 b'(x)를 생성하고(S510), 상기 삼항 기약다항식 f(x)을 사용하여 상기 제2 승수와 상기 피승수의 계수 곱셈 및 모듈러 연산을 수행한다(S520). 제3 레지스터(210)는 상기 제1 곱셈 및 모듈러 연산부(200)의 중간 연산 결과를 저장하여 연산을 보조하고 상기 제1 곱셈 및 모듈러 연산부(200)의 최종 연산 결과 r'(x), 즉 상기 수학식 6의 첫 번째 항인 [a(x)*b'(x) mod f(x)]의 연산 결과를 저장한다.2 to 5,
도 3을 참조하여 더 상세히 설명하면, 상기 제1 곱셈 및 모듈러 연산부(200)는 곱셈부(330, 340) 및 덧셈부(350)를 포함하며, 상기 곱셈부(330, 340)는 모듈러 연산 결과를 고려하여 상기 피승수 a(x)의 계수 ai와 상기 제2 승수 b'(x)의 계수들의 곱셈을 수행한다. 상기 제2 승수 b'(x)는 t차 항이 없기 때문에 대신 상기 곱셈부(330)에서는 상기 삼항 기약다항식 f(x)의 중간 차수 항인 t차 항의 계수 ft와 상기 제1 곱셈 및 모듈러 연산부(200)의 중간 연산 결과인 r'm -1과의 곱셈이 이루어진 다. 상기 곱셈부(340)에서는 상기 삼항 기약다항식 f(x)의 상수항인 f0와 상기 r'm - 1과의 곱셈이 이루어진다. 상기 덧셈부(350)에서는 상기 곱셈부(330, 340)의 연산 결과들과 상기 연산 결과들에 대응하는 상기 제1 곱셈 및 모듈러 연산부(200)의 중간 연산 결과를 더하여 그 결과인 ai·b'(x)+r'(x)·x mod f(x)를 상기 제1 곱셈 및 모듈러 연산부(200)의 다음 중간 연산 결과로서 상기 제3 레지스터에 저장한다. 상기 곱셈부(330) 및 상기 덧셈부(350)는 계수 곱셈 및 상기 계수 곱셈의 결과와 중간 연산 결과와의 덧셈 연산을 i=m-1 부터 i=0까지 수행하고 최종 연산 결과 r'(x)=[a(x)*b'(x) mod f(x)]를 상기 제3 레지스터(210)에 저장하게 된다.Referring to FIG. 3, the first multiplication and
제2 곱셈 및 모듈러 연산부(220)는 상기 삼항 기약다항식 f(x)에 의해 상기 제1 승수 b(x)에서 제외된 상기 항 btxt과 상기 피승수 a(x)의 계수 곱셈 및 모듈러 연산을 수행하여 제2 연산 결과, 즉 상기 수학식 6의 상기 두 번째 항인 [bt·xt*a(x) mod f(x)]의 연산 결과를 생성하고 상기 제3 레지스터(210)에 저장되는 제1 곱셈 및 모듈러 연산부(200)의 연산 결과를 상기 제2 연산 결과에 가산하여 상기 유한체 상의 두 원소 a(x) 및 b(x)의 곱셈 결과를 생성한다(S530).The second multiplication and
도 4를 참조하여 더 상세히 설명하면, 상기 제2 곱셈 및 모듈러 연산부(220)는 곱셈부(410, 420, 430) 및 덧셈부(440, 450)을 포함하며, 상기 곱셈부(410)는 btxt의 계수와 a(x)의 계수와의 곱셈 연산을 수행한다. 상기 곱셈부(420) 및 상기 곱셈부(430)는 모듈러 연산 결과를 고려하여 각각 ft 및 f0를 상기 곱셈부(410)의 연산 결과, 즉 bt*a(x)의 연산 결과인 v1(x) 중에서 m-t차 항에서 m-1차 항까지의 결과인 v1 ,2(x)와 곱셈 연산한다. 따라서, 상기 곱셈부(420)의 연산 결과인 v2(x)는 도 1의 ft·u3의 연산 결과에 해당하고, 상기 곱셈부(430)의 연산 결과인 v3(x)는 도 1의 f0·u3의 연산 결과에 해당한다. 상기 덧셈부(440)는, 상기 제1 곱셈 및 모듈러 연산부(200)의 최종 연산 결과인 r'(x) 중 m-1차 항부터 t차 항까지의 결과에, 상기 곱셈부(410)의 연산 결과인 v1(x) 중에서 m-t-1차 항에서 0차 항까지의 결과인 v1 ,2(x)를 대응하는 항 별로 각각 더하고, 또한 상기 제1 곱셈 및 모듈러 연산부(200)의 최종 연산 결과인 r'(x) 중 t-1차 항부터 0차 항까지의 결과에 상기 곱셈부(420)의 연산 결과인 v2(x)를 대응하는 항 별로 각각 더한다. 즉, 상기 덧셈부(440)의 결과는 r'(x)+{u2 + ft·u3}의 연산 결과에 해당한다. 따라서, 상기 덧셈부(450)는 상기 덧셈부(440)의 결과에 v3(x), 즉 f0·u3의 연산 결과를 더하는 연산부이다. 결국, 최종 결과는 r'(x)+{u2 + ft·u3 + f0·u3}가 된다. 도 1에서 도식적으로 확인한 바와 같이 {u2 + ft·u3 + f0·u3}는 [bt·xt*a(x) mod f(x)]의 연산 결과에 해당하므로, 유한체 상의 두 원소 a(x) 및 b(x)의 곱셈 결과 r(x) = r'(x)+[bt ·xt*a(x) mod f(x)]가 생성된다.Referring to FIG. 4, the second multiplier and
상기 제2 곱셈 및 모듈러 연산부(220)의 연산 결과는 레지스터의 일종인 어큐뮬레이터(accumulator; 460)에 저장되고 출력된다.The operation result of the second multiplication and
본 발명에 따른 제1 타입의 다항식 기저 기반의 유한체 직렬 곱셈 장치에서 레지스터를 이용하여 상기 제2 곱셈 및 모듈러 연산부(220)를 상기 제1 곱셈 및 모듈러 연산부(200)에 직렬로 연결한 제2 타입의 다항식 기저 기반의 유한체 직렬 곱셈 장치를 구성하면 시간 복잡도 및 공간 복잡도를 더욱 개선할 수 있다.In the first type polynomial basis-based finite field serial multiplier of the present invention, a second multiplier and
일 실시예에 있어서, 본 발명에 따른 제1 타입의 다항식 기저 기반의 유한체 직렬 곱셈 장치를 마이크로프로세서상에 시스템 온 칩(system on chip) 형태로 구현하여 상기 마이크로프로세서로 하여금 상기와 같은 다항식 기저 기반의 유한체 직렬 곱셈 방법을 수행하도록 할 수 있다. 본 발명을 마이크로프로세서로 구현하면 각종 시스템의 크기를 줄일 수 있고, 조립 과정을 단순화시킬 수 있으며, 제조 비용을 절감할 수 있는 등의 이점이 있다.In one embodiment, the first type of polynomial basis-based finite field multiplier according to the present invention is implemented on a microprocessor in the form of a system on chip, which causes the microprocessor to perform such a polynomial basis. Based finite field multiplication method. If the present invention is implemented in a microprocessor, the size of various systems can be reduced, the assembly process can be simplified, and manufacturing costs can be reduced.
도 6에는 본 발명에 따른 제2 타입의 다항식 기저 기반의 유한체 직렬 곱셈 장치의 일례가 개략적인 블록도로 도시되어 있으며, 도 7에는 보다 세부적인 블록도로 도시되어 있다. 또한, 도 8에는 본 발명의 따른 제2 타입의 다항식 기저 기반의 유한체 직렬 곱셈 방법의 일례가 흐름도로 도시되어 있다.FIG. 6 is a schematic block diagram showing an example of a second type of polynomial basis-based finite field multiplication apparatus according to the present invention, and FIG. 7 is a more detailed block diagram. Also shown in FIG. 8 is an example of a second type polynomial basis-based finite field serial multiplication method according to the present invention.
도 6 내지 도 8을 참조하면, 우선 제1 레지스터(710) 및 제2 레지스터(720)는 각각 다항식 기저로 표현되는 두 원소인 피승수 a(x) 및 제1 승수 b(x)를 저장 한다(S800). 상기 제1 레지스터(710) 및 제2 레지스터(720)는 상기 두 원소의 계수를 하나씩 제1 곱셈 및 모듈러 연산부(600)로 출력한다. 그러면 상기 제1 곱셈 및 모듈러 연산부(600)는 상기 제1 승수 b(x)의 항 중에서 삼항 기약다항식 f(x)=xm+ftxt+f0의 각 항의 차수 중 중간 차수 t와 동일한 차수의 항 btxt을 제외하여 제2 승수 b'(x)를 생성하고(S810), 상기 삼항 기약다항식 f(x)을 사용하여 상기 제2 승수와 상기 피승수의 계수 곱셈 및 모듈러 연산을 수행한다(S820). 어큐뮬레이터(610)는 일종의 레지스터로서 상기 제1 곱셈 및 모듈러 연산부(600)의 중간 연산 결과를 저장하여 연산을 보조하고 상기 제1 곱셈 및 모듈러 연산부(600)의 최종 연산 결과, 즉 상기 수학식 6의 첫 번째 항인 [a(x)*b'(x) mod f(x)]의 연산 결과를 저장한다.6 to 8, first, the
제2 곱셈 및 모듈러 연산부(620)는 상기 삼항 기약다항식 f(x)에 의해 상기 제1 승수 b(x)에서 제외된 상기 항 btxt과 상기 피승수 a(x)의 계수 곱셈 및 모듈러 연산을 수행하여 제2 연산 결과, 즉 상기 수학식 6의 상기 두 번째 항인 [bt·xt*a(x) mod f(x)]의 연산 결과를 생성하고 레지스터(630)에 저장한다(S830). 상기 제2 곱셈 및 모듈러 연산부(620)의 동작은 하기 제4 알고리듬과 같이 표현할 수 있다.The second multiplication and
제4 4th 알고리듬Algorithm
상기 제4 알고리듬에서 Pi*bt는 도 1의 u2에 해당하며, Qi*bt*ft 및 Qi*bt*f0는 각각 도 1의 ft*u3 및 f0*u3에 해당한다.In the fourth algorithm, P i * b t corresponds to u2 of FIG. 1, and Q i * b t * f t And Q i * b t * f 0 correspond to f t *
도 7을 참조하여 더 상세히 설명하면, 상기 제1 곱셈 및 모듈러 연산부(600)의 각 곱셈부(MUL) 및 덧셈부(ADD)의 동작은 본 발명에 따른 상기 제1 타입의 곱셈 장치에 포함되는 상기 제1 곱셈 및 모듈러 연산부(200)의 각 곱셈부 및 덧셈부의 동작과 기본적으로 동일하다. 다만, 상기 제1 곱셈 및 모듈러 연산부(600)는 제어신호(crl)에 의해 제어되는 멀티플렉서(730)를 포함하며, 상기 멀티플렉서(730)는 상기 제1 곱셈 및 모듈러 연산부(600)가 i=m-1부터 i=0까지 상기 각 곱셈부(MUL)에 의한 계수 곱셈 연산 및 상기 덧셈부(ADD)에 의한 덧셈 연산을 수행하는 동안에는 상기 곱셈부(MUL)의 연산 결과인 u(x)만을 상기 덧셈부(ADD)에 전달한다. 그리고, 상기 어큐뮬레이터(610)에 [a(x)*b'(x) mod f(x)]의 연산 결과가 모두 저장되면 상 기 멀티플렉서(730)는 제어신호(crl)에 따라 u(x) 대신 상기 레지스터(630)로부터 상기 제2 곱셈 및 모듈러 연산부(620)의 연산 결과, 즉 [bt·xt*a(x) mod f(x)]의 연산 결과를 상기 덧셈부(ADD)에 전달한다. 그러면 상기 덧셈부(ADD)는 상기 [a(x)*b'(x) mod f(x)]의 연산 결과와 상기 [bt·xt*a(x) mod f(x)]의 연산 결과를 더하여 유한체 상의 두 원소인 상기 피승수 a(x) 및 상기 제1 승수 b(x)의 곱셈 결과를 생성한다(S840). 생성된 곱셈 결과는 다시 상기 어큐뮬레이터(610)에 저장되고 출력된다.Referring to FIG. 7, the operations of the multiplication unit MUL and the adder ADD of the first multiplication and
상기 제2 곱셈 및 모듈러 연산부(620)의 동작을 상세히 설명하면, 레지스터(740)는 상기 피승수 a(x)의 계수 중에서 m-t-1차 항부터 0차 항까지의 계수를 저장한다. 곱셈부(760)는 상기 레지스터(740)에 저장된 m-t-1차 항부터 0차 항까지의 계수와 상기 btxt의 계수 bt와의 곱셈 연산을 수행하여 도 1의 u2에 해당하는 연산 결과를 출력한다. 로테이터(rotator; 750)는 상기 피승수 a(x)의 계수 중 m-1차 항부터 m-t차 항까지의 계수를 저장한다. 곱셈부(770)는 상기 로테이터(750)에 저장된 계수와 상기 bt와 곱셈 연산을 수행하여 도 1의 u3에 해당하는 연산 결과를 생성하고 그리고 상기 u3에 해당하는 연산 결과와 ft를 곱셈 연산하여 도 1의 ft·u3에 해당하는 연산 결과를 출력한다. 또한, 상기 곱셈부(770)는 제어신호(crl)에 따라 다시 상기 u3에 해당하는 연산 결과와 f0를 곱셈 연산하여 도 1의 f0·u3에 해당 하는 연산 결과를 출력한다. 덧셈부(780)는 상기 곱셈부(760)의 연산 결과 및 상기 곱셈부(770)의 연산 결과를 더하여 상기 레지스터(630)에 {u2 + ft·u3 + f0·u3}의 연산 결과, 즉 [bt·xt*a(x) mod f(x)]의 연산 결과를 저장한다.The operation of the second multiplication and
일 실시예에 따르면, 본 발명에 따른 제2 타입의 다항식 기저 기반의 유한체 직렬 곱셈 장치를 마이크로프로세서상에 시스템 온 칩(system on chip) 형태로 구현하여, 상기 마이크로프로세서로 하여금 상기와 같은 다항식 기저 기반의 유한체 직렬 곱셈 방법을 수행하도록 할 수 있다. 본 발명을 마이크로프로세서로 구현하면 각종 시스템의 크기를 줄일 수 있고, 조립 과정을 단순화시킬 수 있으며, 제조 비용을 절감할 수 있는 등의 이점이 있다.According to an embodiment, a second type of polynomial base-based finite field multiplication apparatus according to the present invention is implemented in a system on chip form on a microprocessor, thereby allowing the microprocessor to perform the above polynomial. A base-based finite field multiplication method can be performed. If the present invention is implemented in a microprocessor, the size of various systems can be reduced, the assembly process can be simplified, and manufacturing costs can be reduced.
하기 표 1에는 기존의 제1 타입 및 제2 타입 곱셈기와 본 발명에 따른 제1 타입 및 제2 타입의 다항식 기저 기반의 유한체 직렬 곱셈 장치의 시간 복잡도를 비교한 결과가 나타나 있다.Table 1 below shows the results of comparing the time complexity of the conventional first type and second type multipliers and the first and second type polynomial basis-based finite field multipliers.
상기 표 1에 나타난 바와 같이, 본 발명에 따른 곱셈 장치 및 방법은 기존의 MSE 타입 곱셈기에 비하여 시간지연을 감소시키며, 확장체의 표수(characteristic)와 관계없이 적용 가능하다. 특히, 확장체의 표수가 작은 타원곡선 암호 시스템, 페어링 기반의 암호시스템에서 고속 연산이 가능하며, 표수가 2 또는 3인 경우 기존의 곱셈기 보다 대략 2배 빠르게 동작한다는 이점을 제공한다.As shown in Table 1, the multiplication apparatus and method according to the present invention reduces the time delay compared to the conventional MSE type multiplier, and can be applied regardless of the characteristic of the extension. In particular, high-speed computation is possible in elliptic-curve cryptographic systems and pairing-based cryptosystems with small numbers of extensions, and when the number of tables is 2 or 3, it operates about twice as fast as a conventional multiplier.
하기 표 2에는 곱셈과 모듈러 연산을 독립 수행하는 기존의 제1 타입 곱셈기와 본 발명에 따른 다항식 기저 기반의 유한체 직렬 곱셈 장치의 공간 복잡도를 비교한 결과가 나타나 있다.Table 2 below shows a result of comparing the spatial complexity of the conventional first type multiplier that independently performs multiplication and modular operation, and the polynomial basis-based finite field serial multiplier according to the present invention.
상기 표 2에 나타난 바와 같이, 본 발명에 따른 다항식 기저 기반의 유한체 직렬 곱셈 장치는 기존의 제1 타입 곱셈기에 비해 공간 복잡도까지 개선한 이점을 제공한다.As shown in Table 2, the polynomial basis-based finite field multiplication apparatus according to the present invention provides an advantage of improved spatial complexity compared to the conventional first type multiplier.
이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 그러나 당업자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 본 발명이 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다.그러므로, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다.The present invention has been described above with reference to preferred embodiments thereof. However, it will be apparent to those skilled in the art that the present invention may be implemented in a modified form without departing from the essential features of the present invention. Therefore, the disclosed embodiments should be considered in descriptive sense only and not for purposes of limitation.
본 발명의 범위는 상술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The scope of the present invention is shown in the appended claims rather than the foregoing description, and all differences within the equivalent scope will be construed as being included in the present invention.
도 1은 본 발명의 곱셈 연산 원리를 도식적으로 나타낸 도면.1 is a diagram schematically illustrating the principle of multiplication operations of the present invention.
도 2는 본 발명에 따른 다항식 기저 기반의 유한체 직렬 곱셈 장치의 일례에 관한 개략적인 블록도.2 is a schematic block diagram of an example of a polynomial basis-based finite field multiplication apparatus in accordance with the present invention.
도 3 및 도 4는 본 발명에 따른 다항식 기저 기반의 유한체 직렬 곱셈 장치의 일례에 관한 세부적인 블록도.3 and 4 are detailed block diagrams of an example of a polynomial basis-based finite field multiplication apparatus in accordance with the present invention.
도 5는 본 발명에 따른 다항식 기저 기반의 유한체 직렬 곱셈 방법의 일례에 관한 흐름도.5 is a flow diagram of one example of a polynomial basis-based finite field multiplication method in accordance with the present invention.
도 6은 본 발명에 따른 다항식 기저 기반의 유한체 직렬 곱셈 장치의 일례에 관한 개략적은 블록도.6 is a schematic block diagram of an example of a polynomial basis-based finite field multiplication apparatus in accordance with the present invention.
도 7은 본 발명에 따른 다항식 기저 기반의 유한체 직렬 곱셈 장치의 일례에 관한 세부적인 블록도.7 is a detailed block diagram of an example of a polynomial basis-based finite field multiplication apparatus in accordance with the present invention.
도 8은 본 발명에 따른 다항식 기저 기반의 유한체 직렬 곱셈 방법의 일례에 관한 흐름도.8 is a flow diagram of one example of a polynomial basis-based finite field multiplication method in accordance with the present invention.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080015541A KR100954583B1 (en) | 2008-02-20 | 2008-02-20 | Serial apparatus and method for finite field multiplication using polynomial basis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080015541A KR100954583B1 (en) | 2008-02-20 | 2008-02-20 | Serial apparatus and method for finite field multiplication using polynomial basis |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090090219A KR20090090219A (en) | 2009-08-25 |
KR100954583B1 true KR100954583B1 (en) | 2010-04-26 |
Family
ID=41208144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080015541A KR100954583B1 (en) | 2008-02-20 | 2008-02-20 | Serial apparatus and method for finite field multiplication using polynomial basis |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100954583B1 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102075848B1 (en) * | 2018-11-22 | 2020-02-10 | 부산대학교 산학협력단 | Method, Apparatus and Recording Medium Of Polynomial Operation Optimization Processing |
US20230316121A1 (en) * | 2020-07-24 | 2023-10-05 | Industry-University Cooperation Foundation Hanyang University Erica Campus | Efficient quantum modular multiplier and quantum modular multiplication method |
KR102204081B1 (en) * | 2020-07-24 | 2021-01-15 | 한양대학교 에리카산학협력단 | Efficient quantum modular multiplier and method of quantum modular multiplication |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020079144A (en) * | 2001-04-13 | 2002-10-19 | 한국전자통신연구원 | Apparatus and Method of Polynomial-Basis Multiplication based on Finite-Field |
KR20040055550A (en) * | 2002-12-20 | 2004-06-26 | 한국전자통신연구원 | Serial-Parallel Multiplier to Multiply Two Elements in the Finite Field |
-
2008
- 2008-02-20 KR KR1020080015541A patent/KR100954583B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020079144A (en) * | 2001-04-13 | 2002-10-19 | 한국전자통신연구원 | Apparatus and Method of Polynomial-Basis Multiplication based on Finite-Field |
KR20040055550A (en) * | 2002-12-20 | 2004-06-26 | 한국전자통신연구원 | Serial-Parallel Multiplier to Multiply Two Elements in the Finite Field |
Also Published As
Publication number | Publication date |
---|---|
KR20090090219A (en) | 2009-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aysu et al. | Low-cost and area-efficient FPGA implementations of lattice-based cryptography | |
Kudithi et al. | High-performance ECC processor architecture design for IoT security applications | |
Javeed et al. | Low latency flexible FPGA implementation of point multiplication on elliptic curves over GF (p) | |
Yao et al. | Faster pairing coprocessor architecture | |
Kim et al. | FPGA implementation of high performance elliptic curve cryptographic processor over GF (2163) | |
Gao et al. | Elliptic curve scalar multiplier design using FPGAs | |
Shah et al. | A high‐speed RSD‐based flexible ECC processor for arbitrary curves over general prime field | |
Bisheh Niasar et al. | Efficient hardware implementations for elliptic curve cryptography over Curve448 | |
Cohen et al. | Architecture optimizations for the RSA public key cryptosystem: A tutorial | |
Perin et al. | Montgomery modular multiplication on reconfigurable hardware: Systolic versus multiplexed implementation | |
Schinianakis et al. | Residue number systems in cryptography: Design, challenges, robustness | |
KR100954583B1 (en) | Serial apparatus and method for finite field multiplication using polynomial basis | |
KR100457177B1 (en) | Serial-Parallel Multiplier to Multiply Two Elements in the Finite Field | |
KR100950581B1 (en) | Bit-parallel multiplier and multiplying method for finite field using redundant representation | |
KR100954579B1 (en) | Serial apparatus and method for finite field multiplication using polynomial basis | |
KR100954584B1 (en) | Apparatus and Method for MSD first GF3^m serial multiplication and Recording medium using this | |
KR101136972B1 (en) | method for evaluating Elliptic Curve Cryptosystem | |
O'Rourke et al. | Achieving NTRU with Montgomery multiplication | |
Li et al. | FPGA implementations of elliptic curve cryptography and Tate pairing over a binary field | |
Wang et al. | A unified architecture for a public key cryptographic coprocessor | |
Kalaiarasi et al. | A parallel elliptic curve crypto-processor architecture with reduced clock cycle for FPGA platforms | |
Jeon et al. | Elliptic curve based hardware architecture using cellular automata | |
Ma et al. | Fast implementation for modular inversion and scalar multiplication in the elliptic curve cryptography | |
Kavyashree et al. | Design and implementation of different architectures of montgomery modular multiplication | |
KR100974624B1 (en) | Method and Apparatus of elliptic curve cryptography processing in sensor mote and Recording medium using it |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130405 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20140304 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |