KR101418686B1 - Subquadratic Space Complexity Parallel Multiplier and Method using type 4 Gaussian normal basis - Google Patents
Subquadratic Space Complexity Parallel Multiplier and Method using type 4 Gaussian normal basis Download PDFInfo
- Publication number
- KR101418686B1 KR101418686B1 KR1020130091814A KR20130091814A KR101418686B1 KR 101418686 B1 KR101418686 B1 KR 101418686B1 KR 1020130091814 A KR1020130091814 A KR 1020130091814A KR 20130091814 A KR20130091814 A KR 20130091814A KR 101418686 B1 KR101418686 B1 KR 101418686B1
- Authority
- KR
- South Korea
- Prior art keywords
- type
- result
- elements
- finite element
- rti
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
Abstract
Description
본 발명은 병렬 곱셈 연산방법 및 그 연산장치에 관한 것으로서, 보다 상세하게는 타입 4 가우시안 정규기저(Gaussian normal basis:이하, “GNB”라 함)를 이용하여 유한체 상에서 곱셈 연산을 수행할 때 필요한 공간 복잡도(space complexity)를 줄임으로써, 하드웨어 구현 시 요구되는 면적의 감소를 통한 비용 절감 효과를 얻을 수 있는, 유한체 상에서 타입 4 가우시안 정규기저를 이용한 이차 미만의 공간 복잡도를 갖는 병렬 곱셈 연산방법 및 그 연산장치에 관한 것이다.
The present invention relates to a parallel multiply operation method and an operation apparatus thereof, and more particularly, to a parallel multiply operation method and a multiplier operation method for performing a multiply operation on a finite field by using a
유한체 상에서 가장 중요하고 기본이 되는 곱셈 연산 기법은, 타원 곡선 암호(elliptic curve cryptography), 페어링 기반 암호(paring-based cryptography) 등의 공개키 암호(public key cryptography)와 코딩 이론(coding theory) 등 다양한 분야에 널리 활용되는 핵심 기술이다. Finite element The most important and basic multiplication operation technique is to use various fields such as elliptic curve cryptography and public key cryptography such as paring-based cryptography and coding theory Is a core technology that is widely used.
유한체 상에서 연산의 효율성은 유한체의 원소를 표현하는데 사용되는 기저(basis)의 선택에 크게 영향을 받는다. 기저 중 정규기저(normal basis)는 제곱 연산(squaring)을 비트 순환 쉬프트(bit cyclic shift)로 계산 할 수 있어 하드웨어(hardware) 상에서 아무 비용없이 수행 될 수 있다는 큰 장점을 가지고 있으나, 지금까지 알려진 곱셈 연산(multiplication)은 다른 기저를 사용 했을 때와 비교하여 비효율적이다. 이에 정규기저의 특별한 형태로 최적 정규기저(Optimal normal basis:이하 “ONB”라 함)나 GNB 등을 이용한 효율적인 곱셈 연산 설계에 대한 연구가 많이 이루어지고 있다.Finite element The efficiency of the operation on the finite element is greatly influenced by the selection of the basis used to represent the finite field element. The normal basis of the base has a great advantage that squaring can be performed with bit cyclic shift so that it can be performed without any cost in hardware. However, the known multiplication Multiplication is inefficient compared to using other bases. In this paper, we propose an effective multiplicative arithmetic operation using an optimal normal basis (GNB) as a special form of regular basis.
지금까지 유한체 상에서 제안된 정규기저를 이용한 다양한 병렬 곱셈기(multiplier)들의 대부분은 이차 이상의 공간 복잡도(quadratic space complexity)를 가진다. 다시 말해, 곱셈 연산을 수행할 때 필요한 상에서의 XOR 게이트(gate) 또는 AND 게이트의 수가 이상이다. 그러나 스마트 기기의 확산으로 인해 기존 PC 기반 환경에 비해 연산의 경량화가 요구되어, 곱셈 연산을 수행 할 때 필요한 공간 복잡도, 즉 상의 필요한 게이트 수가 이 되는 이차 미만의 공간 복잡도(subquadratic space complexity)를 가진 병렬 곱셈기 개발의 필요성이 증가하고 있다.So far, Most of the parallel multipliers using the regular bases proposed in this paper have quadratic space complexity higher than the second order. In other words, when performing a multiply operation The number of XOR gates or AND gates Or more. However, due to the proliferation of smart devices, it is required to reduce the computational complexity compared to the existing PC-based environment. Thus, the space complexity required for performing the multiplication operation Required gate number The need for parallel multiplier development with subquadratic space complexity is increasing.
최근, 정규기저의 특별한 형태인 ONB를 이용하여 유한체 상에서 이차 미만의 공간 복잡도를 가진 병렬 곱셈기들이 제안되었다. Leone는 Karatsuba 알고리즘을 이용하여 처음으로 타입 1 ONB를 이용한 이차 미만의 공간 복잡도를 가진 곱셈기를 제안하였다. 다음으로 Fan과 Hasan은 Toeplitz 행렬과 벡터의 곱(Toeplitz matrix-vector product)을 이용하여 타입 1, 2 ONB를 이용한 이차 미만의 공간 복잡도를 가진 곱셈기를 제안하였다. Adikari et al.은 Toeplitz 행렬과 벡터의 곱을 재조합(recombination)한 방법을 이용하여 타입 1, 2 ONB를 이용한 이차 미만의 공간 복잡도를 가진 곱셈기를 제안하였다. 이에 다른 형태의 정규기저를 이용한 이차 미만의 공간 복잡도를 가진 병렬 곱셈기의 설계도 요구되고 있다.
In recent years, parallel multipliers with less than quadratic space complexity on a finite field have been proposed using ONB, a special form of regular basis. Leone proposed a first - order multiplier with less than second order space complexity using the
본 발명은 전술한 요구에 부응하기 위하여 창안된 것으로서, ONB 이외의 다른 형태의 정규기저를 이용하여 이차 미만의 공간 복잡도를 갖는 병렬 곱셈기 및 그 곱셈 연산방법을 제공하는 것을 목적으로 한다. 특히, 정규기저의 한 형태인 타입 4 GNB를 이용하여 유한체 상에서 이차 미만의 공간 복잡도를 갖는 병렬 곱셈 연산방법 및 그 연산장치를 제공하는 것을 목적으로 한다. 또한 기존의 곱셈 연산방법 및 그 연산장치와 비교하여 낮은 공간 복잡도를 가짐으로써, 제한된 환경에도 적용 가능한 병렬 곱셈 연산방법 및 그 연산장치를 제공하는 것을 목적으로 한다.
It is an object of the present invention to provide a parallel multiplier having a space complexity less than a second order by using another type of regular basis other than the ONB, and to provide a multiplication operation method thereof. In particular, using the
전술한 목적을 달성하기 위한 본 발명의 제1 실시예에 따른 병렬 곱셈 연산방법은, 유한체 의 원소 a를 벡터 로 입력 받아, 벡터 을 유한체 의 원소로 변환하는 과정; 상기 유한체 의 원소 b를 벡터 로 입력 받아, 벡터 을 상기 유한체 의 원소로 변환하는 과정; 상기 유한체 의 두 원소를 입력 받아 두 원소의 곱 c를 계산해서 벡터 로 출력하는 과정; 및 상기 유한체 의 원소 c를 벡터 로 입력 받아, 벡터 를 상기 유한체 의 원소로 변환하는 과정을 포함하는 것을 특징으로 한다.According to a first aspect of the present invention, there is provided a parallel multiply operation method including: The element a of As a result, To a finite element Into an element of < RTI ID = 0.0 > The finite element The element b of As a result, Lt; / RTI > Into an element of < RTI ID = 0.0 > The finite element And then calculates the product c of the two elements to obtain the vector ; And the finite element The element c of As a result, Lt; RTI ID = 0.0 & Into an element of < / RTI >
여기서, 상기 유한체 의 임의의 두 원소 a, b는 타입 4 GNB 를 이용하여 다음과 같이 표현된다.Here, Any two elements a and b of
여기서, 두 원소 a, b의 코디네이트 벡터(coordinate vector)는 각각 와 이다.Here, the coordinate vectors of the two elements a and b are Wow to be.
유한체 의 타입 2 GNB의 정규 원소를 라 할 때, 정규 원소 사이의 관계식 를 이용하여 두 원소 a와 b는 다음과 같이 유한체 의 원소로 인식되며,Finite element Of the
상기 유한체 의 타입 2 GNB로 표현한 두 원소 a, b의 코디네이트 벡터는 각각 가 된다.The finite element The coordinate vectors of the two elements a and b expressed in the
타입 2 GNB 를 이용하여 표현된 유한체 의 원소 가 상기 유한체 에도 포함되는 원소인 경우 다음과 같은 식이 성립하며,
상기 유한체 의 타입 4 GNB로 표현한 원소 c의 코디네이트 벡터는 가 된다.The finite element The coordinate vector of the element c represented by the
전술한 목적을 달성하기 위한 본 발명의 제2 실시예에 따른 병렬 곱셈 연산방법은, 유한체 의 원소 a를 벡터 로 입력 받아, 벡터 을 유한체 의 원소로 변환하는 과정; 상기 유한체 의 원소 b를 벡터 로 입력 받아, 벡터 을 상기 유한체 의 원소로 변환하는 과정; 상기 유한체 의 두 원소를 입력 받아 두 원소의 곱 c를 계산해서 벡터 로 출력하는 과정; 및 상기 유한체 의 원소 c를 벡터 로 입력 받아, 벡터 를 상기 유한체 의 원소로 변환하는 과정을 포함하는 것을 특징으로 한다.According to a second aspect of the present invention, there is provided a parallel multiplication operation method including: The element a of As a result, To a finite element Into an element of < RTI ID = 0.0 > The finite element The element b of As a result, Lt; / RTI > Into an element of < RTI ID = 0.0 > The finite element And then calculates the product c of the two elements to obtain the vector ; And the finite element The element c of As a result, Lt; RTI ID = 0.0 & Into an element of < / RTI >
상기 유한체 의 임의의 두 원소 a, b는 타입 4 GNB 를 이용하여 다음과 같이 표현된다.The finite element Any two elements a and b of
여기서, 두 원소 a, b의 코디네이트 벡터(coordinate vector)는 각각 와 이다.Here, the coordinate vectors of the two elements a and b are Wow to be.
유한체 의 타입 1 GNB의 정규 원소를 라 할 때, 정규 원소 사이의 관계식 를 이용하여 두 원소 a와 b는 다음과 같이 상기 유한체 의 원소로 인식되며,
상기 유한체 의 타입 1 GNB로 표현한 두 원소 a, b의 코디네이트 벡터는 각각The finite element The coordinate vectors of the two elements a and b represented by the
타입 1 GNB 를 이용하여 표현된 유한체 의 원소 가 상기 유한체 에도 포함되는 원소라면 다음의 식이 성립하며,
상기 유한체 의 타입 4 GNB로 표현한 원소 c의 코디네이트 벡터는 가 된다.The finite element The coordinate vector of the element c represented by the
전술한 목적을 달성하기 위한 본 발명의 제1 실시예에 따른 병렬 곱셈 연산장치는, 유한체 의 원소 a를 벡터 로 입력 받아, 벡터 을 유한체 의 원소로 변환하는 제1 변환부; 상기 제1 변환부의 유한체 의 원소 b를 벡터 로 입력 받아, 벡터 을 유한체 의 원소로 변환하는 제2 변환부; 상기 제1 변환부 및 상기 제2 변환부의 유한체 의 두 원소를 입력 받아 두 원소의 곱 c를 계산해서 벡터 로 출력하는 출력부; 및 상기 출력부로부터 유한체 의 원소 c를 벡터 로 입력 받아, 벡터 를 유한체 의 원소로 변환하는 제3 변환부를 포함하는 것을 특징으로 한다.According to a first aspect of the present invention, there is provided a parallel multiplication arithmetic unit comprising: The element a of As a result, To a finite element A first conversion unit for converting an input signal into an element of The finite element of the first transforming unit The element b of As a result, To a finite element A second conversion unit for converting the input data into an element of the second conversion unit; The first transforming unit and the second transforming unit finite element And then calculates the product c of the two elements to obtain the vector ; And a controller The element c of As a result, To an element of a finite field.
전술한 목적을 달성하기 위한 본 발명의 제2 실시예에 따른 병렬 곱셈 연산장치는, 유한체 의 원소 a를 벡터 로 입력 받아, 벡터 을 유한체 의 원소로 변환하는 제1 변환부; 상기 제1 변환부의 유한체 의 원소 b를 벡터 로 입력 받아, 벡터 을 상기 유한체 의 원소로 변환하는 제2 변환부; 상기 제1 변환부 및 상기 제2 변환부의 유한체 의 두 원소를 입력 받아 두 원소의 곱 c을 계산해서 벡터 로 출력하는 출력부; 및 상기 출력부로부터 유한체 의 원소 c를 벡터 로 입력 받아, 벡터 를 유한체 의 원소로 변환하는 제3 변환부를 포함하는 것을 특징으로 한다.
According to a second aspect of the present invention, there is provided a parallel multiplication arithmetic unit comprising: The element a of As a result, To a finite element A first conversion unit for converting an input signal into an element of The finite element of the first transforming unit The element b of As a result, Lt; / RTI > A second conversion unit for converting the input data into an element of the second conversion unit; The first transforming unit and the second transforming unit finite element And then calculates the product c of the two elements to obtain the vector ; And a controller The element c of As a result, A finite element To an element of the second conversion unit.
본 발명에 따르면, 곱셈 연산방법 및 그 연산장치는 타입 4 GNB를 이용한 곱셈 연산을 효율적으로 수행 할 수 있을 뿐 아니라, 스마트 기기의 확산으로 인해 경량화된 IT 기기들에 대한 보안 분야의 핵심 기술로 적용 가능하다.
According to the present invention, the multiplication operation method and the operation device can efficiently perform multiplication operation using the
도 1은 본 발명의 실시 예에 따라 유한체 을 이용하여 상에서 곱셈 연산을 수행하는 방법을 나타낸 제어 흐름도이다.
도 2는 유한체 , , 사이의 포함관계와 각 유한체의 GNB, GNB의 정규원소들 사이의 관계식을 나타낸 도면이다.
도 3은 본 발명의 실시 예들에 따른 타입 4 GNB를 이용한 상의 병렬 곱셈기들의 공간 복잡도를 표로 나타낸 도면이다.
도 4는 본 발명의 다른 실시 예에 따라 유한체 을 이용하여 상에서 곱셈 연산을 수행하는 방법을 나타낸 제어 흐름도이다.
도 5는 타입 4 GNB를 이용한 상의 병렬 곱셈기들의 공간 복잡도를 표로 나타낸 도면이다.1 is a block diagram of an embodiment of the present invention, Using FIG. 4 is a flowchart illustrating a method of performing a multiplication operation on a plurality of processors according to an embodiment of the present invention.
Fig. , , And the relationship between normal elements of GNB and GNB of each finite element.
FIG. 3 is a flowchart illustrating a method of using
FIG. 4 is a block diagram of an alternative embodiment of the present invention, Using FIG. 4 is a flowchart illustrating a method of performing a multiplication operation on a plurality of processors according to an embodiment of the present invention.
FIG. 5 is a flowchart illustrating a method of using
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 상세하게 설명한다. 이하의 설명에 있어서, 당업자에게 주지 저명한 기술에 대해서는 그 상세한 설명을 생략할 수 있다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, a detailed description of known techniques well known to those skilled in the art may be omitted.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 동일한 명칭의 구성 요소에 대하여 도면에 따라 다른 참조부호를 부여할 수도 있으며, 서로 다른 도면임에도 불구하고 동일한 참조부호를 부여할 수도 있다. 그러나, 이와 같은 경우라 하더라도 해당 구성 요소가 실시예에 따라 서로 다른 기능을 갖는다는 것을 의미하거나, 서로 다른 실시예에서 동일한 기능을 갖는다는 것을 의미하는 것은 아니며, 각각의 구성 요소의 기능은 해당 실시예에서의 각각의 구성요소에 대한 설명에 기초하여 판단하여야 할 것이다.In describing the constituent elements of the present invention, the same reference numerals may be given to constituent elements having the same name, and the same reference numerals may be given thereto even though they are different from each other. However, even in such a case, it does not mean that the corresponding component has different functions according to the embodiment, or does not mean that the different components have the same function. It should be judged based on the description of each component in the example.
또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 수 있다.In the following description of the embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성요소에 직접적으로 연결되거나 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.In describing the components of the present invention, terms such as first, second, A, B, (a), and (b) may be used. These terms are intended to distinguish the constituent elements from other constituent elements, and the terms do not limit the nature, order or order of the constituent elements. When a component is described as being "connected", "coupled", or "connected" to another component, the component may be directly connected or connected to the other component, Quot; may be "connected," "coupled," or "connected. &Quot;
도 1은 본 발명의 실시 예에 따라 유한체 을 이용하여 상에서 곱셈 연산을 수행하는 방법을 나타낸 제어 흐름도이다.1 is a block diagram of an embodiment of the present invention, Using FIG. 4 is a flowchart illustrating a method of performing a multiplication operation on a plurality of processors according to an embodiment of the present invention.
도 1은 유한체 의 원소 a를 벡터 로 입력 받아, 벡터 을 유한체 의 원소로 변환하는 과정(100), 의 원소 b를 벡터 로 입력 받아, 벡터 을 유한체 의 원소로 변환하는 과정(200), 의 두 원소를 입력 받아 두 원소의 곱 c을 계산해서 벡터 로 출력하는 과정(300), 유한체 의 원소 c를 벡터 로 입력 받아, 벡터 를 의 원소로 변환하는 과정(400)으로 구성된다.Fig. The element a of As a result, To a finite element (100), and The element b of As a result, To a finite element (200) of transforming into an element of And then calculates the product c of the two elements to obtain the vector (300), a finite state machine The element c of As a result, To (400).
도 1의 각 단계를 상세히 설명하면 다음과 같다. Each step of FIG. 1 will be described in detail as follows.
상에서 타입 t GNB는 다음과 같이 정의된다. The type t GNB is defined as follows.
(정의 1)(Definition 1)
가 소수(prime)라고 가정한다. 를 위수(order) t를 가진 의 원소라 하고, 상에서 2의 위수는 ordp2로 표시한다. 그리고 는 상의 단위원에 대한 p번째 원시근(primtive pth root of unity)이라고 가정하고, 라고 한다. 만약 가 성립하면 는 상의 의 정규기저가 되는데 이를 타입 t GNB라 하고 β는 타입 t GNB의 정규원소(normal element)라 부른다. Is a prime. With an order t And, The ordinal of 2 on ord is denoted by
(타입 1, 2 ONB는 타입 1, 2 GNB와 동일하다.)(
유한체 이 타입 4 GNB를 가지기 때문에 정의 1에 의해, 는 소수이다. 이때, 의 원소 2의 위수 ordp2는 4n이 되고, 원소 2n의 위수는 4가 된다는 것을 보일 수 있다. 를 상의 단위원에 대한 p번째 원시근이라 하면, 정의 1에 의해 가 의 타입 4 GNB의 정규원소, 가 타입 4 GNB가 된다. Finite element With this
더 나아가 은 소수이고 이므로 정의 1에 의해 는 의 타입 1 GNB(타입 1 ONB)의 정규원소이고 은 타입 1 GNB가 된다. Furthermore Is a prime number So by
또한, 은 소수이고 이므로 정의 1에 의해는 의 타입 2 GNB(타입 2 ONB)의 정규원소이고 은 타입 2 GNB가 된다. Also, Is a prime number So by
도 2는 유한체 , , 사이의 포함관계와 각 유한체의 GNB, GNB의 정규원소들 사이의 관계식을 나타낸 도면이다.Fig. , , And the relationship between normal elements of GNB and GNB of each finite element.
유한체 의 임의의 두 원소 a, b는 타입 4 GNB 를 이용하여 수학식 1과 같이 표현된다.Finite element Any two elements a and b of
[수학식 1][Equation 1]
두 원소 a, b의 코디네이트 벡터(coordinate vector)는 각각 와 로 도 1의 (100)과 (200)에서와 같이 입력된다. 도 2의 정규 원소 사이의 관계식 를 이용하여 두 원소 a와 b는 수학식 2와 같이 유한체 의 원소로 인식된다. The coordinate vectors of the two elements a and b are Wow (100) and (200) of FIG. The relationship between the regular elements in Fig. The two elements a and b are expressed by the following equation (2) As shown in Fig.
[수학식 2]&Quot; (2) "
따라서, 유한체 의 타입 2 GNB로 표현한 두 원소 a, b의 코디네이트 벡터는 각각 가 되고 이 과정은 도 1의 (100)과 (200)에 나타낸 바와 같이 된다.Therefore, The coordinate vectors of the two elements a and b expressed in the
도 1의 (300)은 의 원소 a, b를 벡터로 받아 상에서 타입 2 GNB(타입 2 ONB)를 이용한 이차 미만의 공간 복잡도를 가진 기존의 병렬 곱셈기를 이용하여 a와 b의 곱 를 계산하는 과정이다. (300)의 출력은 의 타입 2 GNB를 이용한 c의 코디네이트 벡터 로 주어진다. 1 (300) Take the elements a and b as vectors Using a
c는 에 속하는 두 원소 a와 b의 곱이기 때문에 에도 속한다. 따라서 원소 c를 의 타입 4 GNB를 이용하여 표현할 수 있다. 의 타입 2 GNB의 정규원소 β0와 의 타입 4 GNB의 정규원소 β 사이의 관계식 은 상기에서 보였다. 이 관계식과 유한체 이론(finite field theory)을 이용하여 c가 에 포함되는 원소라면 수학식 3이 성립한다는 것을 보일 수 있다.c is Is a product of two elements a and b belonging to . Therefore, Can be expressed using the
[수학식 3]&Quot; (3) "
그러므로 유한체 의 타입 4 GNB로 표현한 원소 c의 코디네이트 벡터는 가 되고 이 과정은 도 1의 (400)에 나타낸 바와 같다.Therefore, The coordinate vector of the element c represented by the
다음에, 도 1에 따라 수행된 상의 곱셈기의 복잡도(complexity)를 설명한다. 도 1의 (100), (200), (400) 과정은 실제 하드웨어에서 아무 비용없이 수행 될 수 있다. 도 1의 (300) 과정은 상에서 타입 2 ONB를 이용한 곱셈 연산을 수행하는 과정이다. 따라서 도 1에 따라 수행된 상의 곱셈기의 복잡도는 도 1의 (300) 과정의 상에서 이용한 곱셈기의 복잡도와 일치한다. 다시 말해, 상에서 타입 2 ONB를 이용하여 원소 a와 b의 곱 를 계산하기 위한 곱셈기의 공간 복잡도가 라면, 도 1에 따라 수행된 상의 곱셈기의 공간 복잡도도 가 되어 이차 미만의 공간 복잡도를 가지게 된다.Next, the complexity of an image multiplier performed according to FIG. 1 will be described. The steps (100), (200), and (400) of FIG. 1 can be performed in real hardware at no cost. The
도 3에 나타낸 표에서 4번째와 5번째 행들은 도 1의 (300)에서 Fan과 Hasan이 제안한 상의 곱셈기를 사용했을 경우, 도 1에 나타낸 곱셈 연산방법에 따라 수행된 상의 곱셈기의 복잡도를 보여준다. 여기서, 제1 곱셈기는 이하에서 설명하는 도 4의 실시예에 따른 곱셈기를 의미하며, 제2 곱셈기는 도 1의 실시예에 따른 곱셈기를 의미한다.In the table shown in Fig. 3, the fourth and fifth rows are shown in Fig. 1 (300) by Fan and Hasan When the multiplier is used, the multiplication is performed according to the multiplication operation method shown in FIG. 1 It shows the complexity of the multiplier over. Here, the first multiplier means a multiplier according to the embodiment of FIG. 4 described below, and the second multiplier means a multiplier according to the embodiment of FIG.
도 4는 본 발명의 다른 실시 예에 따라 유한체 을 이용하여 상에서 곱셈 연산을 수행하는 방법을 나타낸 제어 흐름도이다.FIG. 4 is a block diagram of an alternative embodiment of the present invention, Using FIG. 4 is a flowchart illustrating a method of performing a multiplication operation on a plurality of processors according to an embodiment of the present invention.
도 4는 유한체 의 원소 a를 벡터 로 입력 받아, 벡터 을 유한체 의 원소로 변환하는 과정(10), 의 원소 b를 벡터 로 입력 받아, 벡터 을 유한체 의 원소로 변환하는 과정(20), 의 두 원소를 입력 받아 두 원소의 곱 c을 계산해서 벡터 로 출력하는 과정(30), 유한체 의 원소 c를 벡터 로 입력 받아, 벡터 를 의 원소로 변환하는 과정(40)으로 구성된다.Fig. The element a of As a result, To a finite element (10), The element b of As a result, To a finite element (20), And then calculates the product c of the two elements to obtain the vector (30), a finite state machine The element c of As a result, To (40).
이어서, 도 4의 각 단계를 상세히 설명한다.Next, each step of FIG. 4 will be described in detail.
유한체 의 임의의 두 원소 a, b는 타입 4 GNB 를 이용하여 수학식 4와 같이 표현된다.Finite element Any two elements a and b of
[수학식 4]&Quot; (4) "
두 원소 a, b의 코디네이트 벡터(coordinate vector)는 각각 와 로 도 4의 (10)과 (20)에서처럼 입력된다. 도 2의 정규 원소 사이의 관계식 를 이용하여 두 원소 a와 b는 수학식 5와 같이 유한 체의 원소로 인식된다. The coordinate vectors of the two elements a and b are Wow (10) and (20) of FIG. The relationship between the regular elements in Fig. The two elements a and b are expressed by the following equation (5) As shown in Fig.
[수학식 5]&Quot; (5) "
따라서, 유한체 의 타입 1 GNB로 표현한 두 원소 a, b의 코디네이트 벡터는 각각Therefore, The coordinate vectors of the two elements a and b represented by the
되고 이 과정은 도 4의 (10)과 (20)에서 도시화 된다.This process is illustrated in (10) and (20) of FIG.
도 4의 (30)은 의 원소 a, b를 벡터로 받아 상에서 타입 1 GNB(타입 1 ONB)를 이용한 이차 미만의 공간 복잡도를 가진 기존의 병렬 곱셈기를 이용하여 a와 b의 곱 를 계산하는 과정이다. (30)의 출력은 의 타입 1 GNB를 이용한 c의 코디네이트 벡터 로 주어진다. 4 (30) Take the elements a and b as vectors Using a
c는 에 속하는 두 원소 a와 b의 곱이기 때문에 에도 속한다. 따라서 원소 c를 의 타입 4 GNB를 이용하여 표현할 수 있다. 의 타입 1 GNB의 정규원소 와 의 타입 4 GNB의 정규원소 β 사이의 관계식 은 도 2에서 주어진다. 이 관계식과 유한체 이론을 이용하여 c가 에 포함되는 원소라면 수학식 6이 성립한다는 것을 보일 수 있다.c is Is a product of two elements a and b belonging to . Therefore, Can be expressed using the
[수학식 6]&Quot; (6) "
그러므로 유한체 의 타입 4 GNB로 표현한 원소 c의 코디네이트 벡터는 가 되고 이 과정은 도 4의 (40)에 나타낸 바와 같다.Therefore, The coordinate vector of the element c represented by the
도 4에 따라 수행된 상의 곱셈기의 복잡도(complexity)를 설명한다. 도 4의 (10), (20), (40) 과정은 실제 하드웨어에서 아무 비용없이 수행 될 수 있다. 도 4의 (30) 과정은 상에서 타입 1 ONB를 이용한 곱셈 연산을 수행하는 과정이다. 따라서 도 4에 따라 수행된 상의 곱셈기의 복잡도는 도 4의 (30) 과정의 상에서 이용한 곱셈기의 복잡도와 일치한다. 다시 말해, 상에서 타입 1 ONB를 이용하여 원소 a와 b의 곱 c(= a ·b)를 계산하기 위한 곱셈기의 공간 복잡도가 라면, 도 4에 따라 수행된 상의 곱셈기의 공간 복잡도도 가 되어 이차 미만의 공간 복잡도를 가지게 된다.4, The complexity of the multiplier on the output. The steps (10), (20), and (40) of FIG. 4 can be performed in real hardware at no cost. 4, the process of (30) And a multiplication operation using the
도 3에 나타낸 표의 2번째와 3번째 행들은 도 4의 (30)에서 Fan과 Hasan이 제안한 상의 곱셈기를 사용했을 경우, 도 4에 따라 수행된 상의 곱셈기의 복잡도를 보여준다. The second and third rows of the table shown in Fig. 3 correspond to those of Fan and Hasan in Fig. 4 (30) Lt; RTI ID = 0.0 > multiplier < / RTI > It shows the complexity of the multiplier over.
도 3에서 알 수 있듯이, 도 1에 따라 상에서 곱셈 연산을 수행한 제 2곱셈기가 도 4에 따라 수행된 제 1곱셈기보다 더 효율적이다. As can be seen in Figure 3, A second multiplier that performs a multiplication operation on the first multiplier is more efficient than the first multiplier performed according to FIG.
도 5에 나타낸 표는 유한체 상에서 타입 4 GNB를 이용한 기존의 병렬 곱셈기와 제안된 병렬 곱셈기의 복잡도를 비교한다. 여기서, 제안된 곱셈기의 복잡도는 도 1에 따라 수행되며 유한체 상에서의 곱셈기는 Fan과 Hasan이 제안했던 곱셈기와 Adikari et al.이 제안했던 곱셈기를 이용하였다. 도 5에 의하면 본 발명의 실시예에 따른 곱셈기는 최초로 이차 미만의 공간 복잡도를 가지고 있다. The table shown in Fig. We compare the complexity of the proposed parallel multiplier with the existing parallel multiplier using the
이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.The present invention is not necessarily limited to these embodiments, as all the constituent elements constituting the embodiment of the present invention are described as being combined or operated in one operation. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. In addition, such a computer program may be stored in a computer-readable medium such as a USB memory, a CD disk, a flash memory, etc., and read and executed by a computer, thereby implementing embodiments of the present invention. As the storage medium of the computer program, a magnetic recording medium, an optical recording medium, a carrier wave medium, or the like may be included.
또한, 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 상세한 설명에서 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Furthermore, all terms including technical or scientific terms have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined in the Detailed Description. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 또한, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이며, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 따라서, 본 발명의 보호 범위는 청구범위에 의하여 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
The foregoing description is merely illustrative of the technical idea of the present invention and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. In addition, the embodiments disclosed in the present invention are not intended to limit the scope of the present invention but to limit the scope of the technical idea of the present invention. Accordingly, the scope of protection of the present invention should be construed according to the claims, and all technical ideas within the scope of equivalents should be interpreted as being included in the scope of the present invention.
Claims (6)
제2 변환부가 상기 유한체 의 원소 b를 벡터 로 입력 받아, 벡터 을 상기 유한체 의 원소로 변환하는 과정;
출력부가 상기 유한체 의 두 원소를 입력 받아 두 원소의 곱 c를 계산해서 벡터 로 출력하는 과정; 및
제3 변환부가 상기 유한체 의 원소 c를 벡터 로 입력 받아, 벡터 를 상기 유한체 의 원소로 변환하는 과정
을 포함하는 것을 특징으로 하는 병렬 곱셈 연산방법.
The first transform section is a finite element The element a of As a result, To a finite element Into an element of < RTI ID = 0.0 >
The second transforming unit The element b of As a result, Lt; / RTI > Into an element of < RTI ID = 0.0 >
The output unit And then calculates the product c of the two elements to obtain the vector ; And
The third transform section The element c of As a result, Lt; RTI ID = 0.0 & To the element of
And a multiplier for multiplying the parallel multiplication result.
정규 원소 사이의 관계식 를 이용하여 두 원소 a와 b는 다음과 같이 유한체 의 원소로 인식되며,
상기 유한체 의 타입 2 GNB로 표현한 두 원소 a, b의 코디네이트 벡터는 각각 가 되는 것을 특징으로 하는 병렬 곱셈 연산방법.
The method according to claim 1,
Relation between normal elements The two elements a and b are defined as follows: , And the < RTI ID = 0.0 >
The finite element The coordinate vectors of the two elements a and b expressed in the type 2 GNB of Of the multiplication result.
상기 유한체 의 원소 c가 상기 유한체 에 포함되는 원소인 경우 다음과 같은 식이 성립하며,
상기 유한체 의 타입 4 GNB로 표현한 원소 c의 코디네이트 벡터는 가 되는 것을 특징으로 하는 병렬 곱셈 연산방법.
The method according to claim 1,
The finite element The element c of the finite element The following equation is established,
The finite element The coordinate vector of the element c represented by the type 4 GNB of Of the multiplication result.
제2 변환부가 상기 유한체 의 원소 b를 벡터 로 입력 받아, 벡터 을 상기 유한체 의 원소로 변환하는 과정;
출력부가 상기 유한체 의 두 원소를 입력 받아 두 원소의 곱 c를 계산해서 벡터 로 출력하는 과정; 및
제3 변환부가 상기 유한체 의 원소 c를 벡터 로 입력 받아, 벡터 를 상기 유한체 의 원소로 변환하는 과정
을 포함하는 것을 특징으로 하는 병렬 곱셈 연산방법.
The first transform section is a finite element The element a of As a result, To a finite element Into an element of < RTI ID = 0.0 >
The second transforming unit The element b of As a result, Lt; / RTI > Into an element of < RTI ID = 0.0 >
The output unit And then calculates the product c of the two elements to obtain the vector ; And
The third transform section The element c of As a result, Lt; RTI ID = 0.0 & To the element of
And a multiplier for multiplying the parallel multiplication result.
상기 제1 변환부의 유한체 의 원소 b를 벡터 로 입력 받아, 벡터 을 유한체 의 원소로 변환하는 제2 변환부;
상기 제1 변환부 및 상기 제2 변환부의 유한체 의 두 원소를 입력 받아 두 원소의 곱 c를 계산해서 벡터 로 출력하는 출력부; 및
상기 출력부로부터 유한체 의 원소 c를 벡터 로 입력 받아, 벡터 를 유한체 의 원소로 변환하는 제3 변환부
를 포함하는 것을 특징으로 하는 병렬 곱셈 연산장치.
Finite element The element a of As a result, To a finite element A first conversion unit for converting an input signal into an element of
The finite element of the first transforming unit The element b of As a result, To a finite element A second conversion unit for converting the input data into an element of the second conversion unit;
The first transforming unit and the second transforming unit finite element And then calculates the product c of the two elements to obtain the vector ; And
From the output section, The element c of As a result, To an element of a finite field,
And a multiplier for multiplying the parallel multiplication result.
상기 제1 변환부의 유한체 의 원소 b를 벡터 로 입력 받아, 벡터 을 상기 유한체 의 원소로 변환하는 제2 변환부;
상기 제1 변환부 및 상기 제2 변환부의 유한체 의 두 원소를 입력 받아 두 원소의 곱 c을 계산해서 벡터 로 출력하는 출력부; 및
상기 출력부로부터 유한체 의 원소 c를 벡터 로 입력 받아, 벡터 를 유한체 의 원소로 변환하는 제3 변환부
를 포함하는 것을 특징으로 하는 병렬 곱셈 연산장치.
Finite element The element a of As a result, To a finite element A first conversion unit for converting an input signal into an element of
The finite element of the first transforming unit The element b of As a result, Lt; / RTI > A second conversion unit for converting the input data into an element of the second conversion unit;
The first transforming unit and the second transforming unit finite element And then calculates the product c of the two elements to obtain the vector ; And
From the output section, The element c of As a result, A finite element And a third conversion unit
And a multiplier for multiplying the parallel multiplication result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130091814A KR101418686B1 (en) | 2013-08-02 | 2013-08-02 | Subquadratic Space Complexity Parallel Multiplier and Method using type 4 Gaussian normal basis |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130091814A KR101418686B1 (en) | 2013-08-02 | 2013-08-02 | Subquadratic Space Complexity Parallel Multiplier and Method using type 4 Gaussian normal basis |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101418686B1 true KR101418686B1 (en) | 2014-07-10 |
Family
ID=51741962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130091814A KR101418686B1 (en) | 2013-08-02 | 2013-08-02 | Subquadratic Space Complexity Parallel Multiplier and Method using type 4 Gaussian normal basis |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101418686B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101533929B1 (en) * | 2014-06-27 | 2015-07-09 | 공주대학교 산학협력단 | Subquadratic Space Complexity Parallel Multiplier for using shifted polynomial basis, method thereof, and recording medium using this |
KR101607812B1 (en) | 2015-07-21 | 2016-04-01 | 공주대학교 산학협력단 | METHOD AND APPARATUS FOR PARALLEL MULTIPLICATION CALCULATION USING DICKSON BASIS ON GF(2^n) FINITE FIELD |
WO2018139750A1 (en) * | 2017-01-25 | 2018-08-02 | 공주대학교 산학협력단 | Finite field parallel multiplier and method therefor |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040055550A (en) * | 2002-12-20 | 2004-06-26 | 한국전자통신연구원 | Serial-Parallel Multiplier to Multiply Two Elements in the Finite Field |
KR20050036451A (en) * | 2003-10-16 | 2005-04-20 | 삼성전자주식회사 | Method and apparatus for multiplication operation in finite field |
KR20060133086A (en) * | 2004-04-07 | 2006-12-22 | 샌드브리지 테크놀로지스, 인코포레이티드 | Processor having parallel vector multiply and reduce operations with sequential semantics |
KR20110027176A (en) * | 2009-09-10 | 2011-03-16 | 고려대학교 산학협력단 | Method of bit-parallel multiplying elements of finite field and apparatus using it |
-
2013
- 2013-08-02 KR KR1020130091814A patent/KR101418686B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040055550A (en) * | 2002-12-20 | 2004-06-26 | 한국전자통신연구원 | Serial-Parallel Multiplier to Multiply Two Elements in the Finite Field |
KR20050036451A (en) * | 2003-10-16 | 2005-04-20 | 삼성전자주식회사 | Method and apparatus for multiplication operation in finite field |
KR20060133086A (en) * | 2004-04-07 | 2006-12-22 | 샌드브리지 테크놀로지스, 인코포레이티드 | Processor having parallel vector multiply and reduce operations with sequential semantics |
KR20110027176A (en) * | 2009-09-10 | 2011-03-16 | 고려대학교 산학협력단 | Method of bit-parallel multiplying elements of finite field and apparatus using it |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101533929B1 (en) * | 2014-06-27 | 2015-07-09 | 공주대학교 산학협력단 | Subquadratic Space Complexity Parallel Multiplier for using shifted polynomial basis, method thereof, and recording medium using this |
KR101607812B1 (en) | 2015-07-21 | 2016-04-01 | 공주대학교 산학협력단 | METHOD AND APPARATUS FOR PARALLEL MULTIPLICATION CALCULATION USING DICKSON BASIS ON GF(2^n) FINITE FIELD |
WO2017014413A1 (en) * | 2015-07-21 | 2017-01-26 | 공주대학교 산학협력단 | Parallel multiplication method and apparatus using dickson basis on finite field gf(2n) |
WO2018139750A1 (en) * | 2017-01-25 | 2018-08-02 | 공주대학교 산학협력단 | Finite field parallel multiplier and method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wen et al. | Solving a low-rank factorization model for matrix completion by a nonlinear successive over-relaxation algorithm | |
JP7007488B2 (en) | Hardware-based pooling system and method | |
Sjöberg et al. | Initializing Wiener–Hammerstein models based on partitioning of the best linear approximation | |
TWI731543B (en) | Computer data processing method and device | |
US9305394B2 (en) | System and process for improved sampling for parallel light transport simulation | |
CN103577278B (en) | Method and system for data backup | |
US11294985B2 (en) | Efficient analog in-memory matrix multiplication processor | |
US11777707B2 (en) | Homomorphic encryption for machine learning and neural networks using high-throughput CRT evaluation | |
Maor et al. | An FPGA implementation of stochastic computing-based LSTM | |
KR101418686B1 (en) | Subquadratic Space Complexity Parallel Multiplier and Method using type 4 Gaussian normal basis | |
Günther et al. | Recursive approach to determine correlation functions in multibaryon systems | |
Steffens et al. | Quantum field tomography | |
KR101533929B1 (en) | Subquadratic Space Complexity Parallel Multiplier for using shifted polynomial basis, method thereof, and recording medium using this | |
Lee et al. | Area-efficient subquadratic space-complexity digit-serial multiplier for type-II optimal normal basis of $ GF (2^{m}) $ using symmetric TMVP and block recombination techniques | |
US8281263B2 (en) | Propagating design tolerances to shape tolerances for lithography | |
CN104317892B (en) | The temporal aspect processing method and processing device of Portable executable file | |
EP3972188A1 (en) | Low circuit depth homomorphic encryption evaluation | |
US20150142433A1 (en) | Irregular Pattern Identification using Landmark based Convolution | |
CN109241784A (en) | A kind of close SM2 signature verification method of the state of SSD and system | |
Draganić et al. | Architecture for single iteration reconstruction algorithm | |
CN111313985B (en) | Broadband power line carrier communication analog noise generation method and device and electronic equipment | |
KR20080050054A (en) | Method for generating sparse w-naf key, method for processing and method for encrypting thereof | |
US9842086B2 (en) | Calculation device, calculation method, and program | |
KR100976232B1 (en) | Fast bit-parellel polynomial multipier and method thereof | |
CN112765542A (en) | Arithmetic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated 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: 20170704 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180820 Year of fee payment: 5 |