KR100954584B1 - Apparatus and Method for MSD first GF3^m serial multiplication and Recording medium using this - Google Patents
Apparatus and Method for MSD first GF3^m serial multiplication and Recording medium using this Download PDFInfo
- Publication number
- KR100954584B1 KR100954584B1 KR1020080039068A KR20080039068A KR100954584B1 KR 100954584 B1 KR100954584 B1 KR 100954584B1 KR 1020080039068 A KR1020080039068 A KR 1020080039068A KR 20080039068 A KR20080039068 A KR 20080039068A KR 100954584 B1 KR100954584 B1 KR 100954584B1
- Authority
- KR
- South Korea
- Prior art keywords
- msd
- multiplication
- operator
- generate
- polynomial
- 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
MSD first 직렬 곱셈 장치, 그 방법 및 이를 기록한 기록매체가 개시된다.MSD first A serial multiplication apparatus, a method thereof, and a recording medium recording the same are disclosed.
본 발명에 따른 MSD first 직렬 곱셈 장치는, 상에서 차수가 인 삼항 기약 다항식 을 사용하며, 상기 의 해가 일 때, 유한체 상의 두 원소 , 의 곱셈을 수행하여 직렬 곱셈 결과값 를 생성하는 기반의 MSD first 디지트 직렬 곱셈 장치에 있어서, 루프 인덱스 가 일 때, 개의 디지트의 인덱스를 라 하면, 상기 의 계수 , , 상기 삼항 기약 다항식의 계수로부터 생성되는 , 및 상기 삼항 기약 다항식의 계수에 따라 생성되는 를 입력으로 하여 과 을 생성하고, 상기 를 이용하여 를 생성하는 초기값 생성부; 루프 인덱스 가 일 때, 상기 연산된 를 이용하여 제 1 치환 연산자 λj를 생성하고, 상기 연산된 를 이용하여 제 2 치환 연산자 δj를 생성하는 전처리 연산부; 상기 전처리 연산부에서 생성된 제 2 치환 연산자 δj, 상기 의 계수 , , 및 를 입력으로 하여 의 결과값 을 생성하는 곱셈부; 이전 루프의 MSD first 디지트 직렬 곱셈의 결과값 , 상기 제 1 치환 연산자 λj, 및 상기 곱셈부의 결과값을 입력으로 하여 덧셈 결과값을 생성하는 가산부; 및 상기 덧셈 결과값을 라이트 쉬프트하여 상기 가산부에 피드백하는 쉬프트 레지스터를 포함한다.MSD first according to the invention Serial multiplication device, Order on Phosphorus Ternary Polynomial Using the above The sun When, two elements on the finite body , Series multiplication results by multiplying To generate Loop index for MSD first digit serial multiplier end when, Indexes of digits If I say Coefficient of , , Generated from the coefficients of the ternary polynomial And generated according to the coefficients of the ternary term polynomial As the input and Create and remind Using Initial value generating unit for generating a; Loop index end When is calculated Generates a first substitution operator λ j using A preprocessing operation unit to generate a second substitution operator δ j using; The second substitution operator δ j generated by the preprocessing operation unit, the Coefficient of , , And As the input Result of A multiplication unit for generating; Result of MSD first digit serial multiplication in the previous loop An adder configured to generate an addition result value by inputting the first substitution operator λ j and the result value of the multiplication part; And a shift register which write-shifts the addition result value and feeds it back to the adder.
본 발명에 의하면, 삼항 기약 다항식이 적용되는 페이링 기반의 암호 시스템에 있어서, 기존의 MSD-first 곱셈기에 비하여 적은 시간 지연을 가지고, 표수에 의존하지 않고, 기존의 유한체 곱셈기에 비하여 고속 동작하면서 이때 증가하는 공간 복잡도를 최소화할 수 있고, 이에 따라 페어링 기반의 암호 시스템을 더욱 효율적으로 설계할 수 있으며, 특히 삼항 기약 다항식을 사용하는 모든 유한체에 적용할 수 있기 때문에 이를 기반으로 하는 하드웨어 설계에 응용할 수 있는 효과가 있다.According to the present invention, in a paying-based cryptographic system to which the ternary term polynomial is applied, it has less time delay than the conventional MSD-first multiplier, does not depend on the number of tables, and operates at high speed compared to the conventional finite field multiplier. In this case, the increased space complexity can be minimized, and therefore, a pairing-based cryptographic system can be designed more efficiently, and in particular, it can be applied to all finite bodies using the ternary agreement polynomial. There is an effect that can be applied.
Description
본 발명은 유한체 상의 연산기에 관한 것으로서, 특히 유한체 상에서 삼항 기약다항식을 사용하여 페어링 기반의 암호시스템을 더욱 효율적으로 설계함으로써 공간을 줄인 고속 연산 시스템을 구축하고, 암호 시스템의 암호화, 복호화 및 전자서명을 빠른 속도로 수행할 수 있는 MSD first 직렬 곱셈 장치, 그 방법 및 이를 기록한 기록매체를 제공하는 것이다.The present invention relates to a calculator on a finite field, in particular MSD first, which can design a pairing-based cryptographic system more efficiently using ternary contract polynomials on a finite body to construct a high-speed computational system with reduced space, and perform encryption, decryption and digital signature of cryptographic system at high speed. A serial multiplication apparatus, a method thereof, and a recording medium recording the same are provided.
최근 유비쿼터스 환경에서 센서 네트워크 기술이 IT839 정책의 일환으로 활성화되고 있으며, 이러한 센서 네트워크는 관리자의 부재와 무선 통신, 자원의 제약 등으로 인하여 공격자가 쉽게 접근하여 공격을 시도할 수 있다.Recently, sensor network technology has been activated as part of IT839 policy in ubiquitous environment, and this sensor network can be attacked easily by attacker due to absence of administrator, wireless communication, and resource limitation.
한편, 암호서비스에 대한 요구가 많아지면서 대칭키 알고리즘에서 발생된 키 관리 문제와 인증 문제를 해결하기 위한 알고리즘이 많이 연구되었다.On the other hand, as the demand for cryptographic services increases, many algorithms have been studied to solve key management and authentication problems that occur in symmetric key algorithms.
1976년 Diffie와 Hellman이 처음으로 공개키 암호 알고리즘의 개념을 소개하 였다. 그 후 많은 알고리즘이 제안되었지만, 1978년 RSA가 소개되어 널리 사용되고 있다.In 1976, Diffie and Hellman first introduced the concept of a public key cryptographic algorithm. Since many algorithms have been proposed since 1978, RSA was introduced and widely used.
타원 곡선은 1985년 Kobiltz와 Miller에 의해 발표된 이후 꾸준히 연구되어 왔다.Elliptic curves have been steadily studied since they were published by Kobiltz and Miller in 1985.
타원 곡선 암호가 발표되었을 당시에는 새로운 암호에 대한 안전성 분석이 충분히 이루어지지 않았으므로 널리 사용되지 못했다.When the elliptic curve cipher was released, it was not widely used because the security analysis of the new cipher was insufficient.
이 후, 많은 연구자들에 의한 연구 결과에 따르면 같은 안전도에서 비교할 때, RSA에 비해 훨씬 빠르고 효율적이며 짧은 키 길이를 가지는 장점이 있다.Since then, research by many researchers has shown that compared to the same safety, it is much faster, more efficient and has a shorter key length than RSA.
예를 들면, 타원 곡선 암호의 160비트는 RSA의 1024비트와 같은 안전도를 가진다. 이에 따라서 타원 곡선 암호는 무선 인터넷이나 스마트카드 등 제한된 연산능력을 가지는 하드웨어에 적합한 암호 시스템으로 주목받게 되었다.For example, 160 bits of an elliptic curve cipher have the same security as 1024 bits of the RSA. Accordingly, elliptic curve cryptography has attracted attention as a cryptographic system suitable for hardware with limited computing power, such as wireless Internet or smart card.
한편, 다양한 차수 을 사용하는 상호 간의 거래에 있어서 Versatile 프로세서를 사용함으로써 호환성을 높일 수 있다.Meanwhile, various orders Versatile processors can be used to increase compatibility in transactions between two parties.
많은 암호시스템에서는 유한체 에서의 연산을 사용한다. 이는 일반적인 컴퓨터 상에서는 의 성능이 의 성능을 능가하기 때문이다.In many cryptosystems, finite Use the operation in. On a typical computer Performance Because it surpasses the performance.
실제로, 유한체에서의 연산을 더욱 빠르게 하기 위하여, 많은 프로세서가 제안되고 있다. 그러나, 대부분 고정된 유한체에서의 연산을 다루고 있고, 이 경우에는 체의 변화나 파라미터 변화가 있을 경우 새로운 프로세서가 필요하게 된다.Indeed, many processors have been proposed to speed up operations on finite bodies. However, most of them deal with operations on fixed finite bodies, in which case new processors are required in the case of sieve changes or parameter changes.
그러나, 최근 페어링(pairing)의 겹선 형성(bilinearity)과 같은 특성들이 새로운 암호시스템에 사용되면서 Weil 페어링과 Tate 페어링 등의 페어링의 효율성에 대한 관심과 연구가 증가하고 있다.However, recently, as characteristics such as bilinearity of pairing are used in a new encryption system, interest and research on the efficiency of pairing such as Weil pairing and Tate pairing are increasing.
페어링을 효율적으로 연산하기 위한 알고리즘은 Miller에 의해 처음 제안되었다.An algorithm for computing pairing efficiently was first proposed by Miller.
그 이후, Barreto외 3인의 "Efficient algorithms for pairing-based cryptosystems, CRYPTO 2002, LNCS 2442, pp.354-368, Springer-Verlag, 2002"와 Galbraith 외 2인의 "Implementing the Tate pairing, ANTS V, LNCS 2369, pp.324-337, Springer-Verlag, 2002"에서 표수가 2인 유한체 위에서 정의된 초특이 타원 곡선(supersingula elliptic curve)에서 Tate 페어링의 연산 속도를 향상시킬 수 있는 방법을 제안하였다.Since then, Barreto et al., "Efficient algorithms for pairing-based cryptosystems, CRYPTO 2002, LNCS 2442, pp.354-368, Springer-Verlag, 2002" and Galbraith et al. "Implementing the Tate pairing, ANTS V, LNCS 2369" , pp.324-337, Springer-Verlag, 2002 ", proposed a method to improve the computation speed of tate pairing in a supersingula elliptic curve defined on a finite field with a surface of 2.
그리고, Duursma와 Lee는 표수가 3인 경우에 닫힌 공식(closed formula)을 제안하였고, S. Kwon은 "Efficient Tate pairing computation for elliptic curves over binary fields, ACISP 2005, LNCS 3574, pp.134-145, Springer-Verlag, 2005"에서 표수가 2인 초특이 타원 곡선으로 Duursma와 Lee의 방법을 확장하였다.Duursma and Lee proposed closed formulas when the number is 3, and S. Kwon said, "Efficient Tate pairing computation for elliptic curves over binary fields, ACISP 2005, LNCS 3574, pp.134-145, Springer-Verlag, 2005 "extends Duursma's and Lee's methods to super-elliptic elliptic curves with a surface of 2.
한편, Barreto외 3인은 "Efficient Pairing Computation on Supersingular Abelian Varieties,” Designs, Codes and Cryptography, Vol.42, No.3, pp.239-271, 2007"에서 초특히 ablian variety에서 페어링을 효율적으로 연산하기 위한 일반적인 접근 방법인 페어링을 제안하였다.On the other hand, Barreto and three others efficiently calculated pairing in the ablian variety, especially in "Efficient Pairing Computation on Supersingular Abelian Varieties," Designs, Codes and Cryptography, Vol. 42, No. 3, pp.239-271, 2007. Is a common approach Proposed pairing.
한편, 최근 페어링을 구현하기 위한 많은 방법들이 제안되었다. 페어링 구현 은 소프트웨어뿐만 아니라 하드웨어에서 다양한 방법으로 진행되고 있지만, 병렬기법과 파이프라이닝(pipelining) 기법 등의 속도를 향상시킬 수 있는 다양한 방법이 있기 때문에 하드웨어 구현에 대한 연구가 좀 더 활발하게 진행되고 있다.On the other hand, many methods have recently been proposed for implementing pairing. Pairing is implemented not only in software but also in hardware, but there are various ways to improve the speed of parallel and pipelining techniques. Therefore, research on hardware implementation is more active. .
실제로, 와 에 대한 하드웨어 연구는 많이 진행되었다. 그러나, 페어링 기반의 암호 시스템의 효율성을 높이기 위한 Duursma-Lee의 알고리즘과 페어링 등의 사용으로 인하여 유한체 에 대한 하드웨어 구현 방법이 필요하게 되었다.in reality, Wow A lot of hardware research has been done. However, Duursma-Lee's algorithm to improve the efficiency of pairing-based cryptosystem Finite body due to use of pairing There is a need for a hardware implementation of.
를 위에서 차수가 인 삼항 기약 다항식이라고 하고, 를 의 해라 하자. To Degree from above It is called ternary term polynomial which is To Let's do it.
그러면, 유한체 은 그러면, 유한체 은 와 동형이기 때문에 의 원소 는 다항식 기저를 이용하여 하기의 수학식 1과 같이 표현할 수 있다.Then, finite body Is then a finite body silver Is isomorphic with Element of Can be expressed as
그리고, 는 의 해이므로 에 의하여 하기의 수학식 2를 구성할 수 있다.And, Is As it is the year of By the following equation (2) can be configured.
그리고, 라 하면, 는 하기의 수학식 3과 같이 구성할 수 있고, 는 의 덧셈 연산이다.And, Say, May be configured as in
이하, 기존의 디지트 직렬 곱셈기(Digit Serial multiplier)에 대하여 기술한다. 의 곱셈은 두 원소의 캐리 전파가 없는 다항식 곱셈과 주어진 삼항 기약 다항식 를 이용한 모듈러 연산으로 구성된다.Hereinafter, a conventional digit serial multiplier will be described. Multiplication of is a polynomial multiplication with no carry propagation of two elements and a given ternary polynomial polynomial It consists of modular operations using.
여기서는, 일반적인 페어링 기반의 암호 시스템에서 사용하는 삼항 기약 다항식 만을 고려한다.Here, the ternary agreement polynomial used in a common pairing-based cryptosystem Consider only.
디지트(Digit) 단위의 연산은 한번의 프로세스에 개의 계수를 처리하므로, 비트 단위 연산보다 고속 연산 수행이 가능하다.Digit operations in one process By processing two coefficients, it is possible to perform a faster operation than a bitwise operation.
상기 디지트의 크기를 라고 하면, 의 원소 는 하기의 수학식 4와 같이 표현된다.The size of the digit Speaking of Element of Is expressed by
이를 기반으로 우선, 기존에 제안된 [Low energy digit-serial/parallel finite field multiplier]에서의 MSD- first 디지트 직렬 곱셈기에 대하여 살펴보기로 한다.Based on this, first, the MSD-first digit serial multiplier in the proposed [low energy digit-serial / parallel finite field multiplier] will be described.
이를 타입 1(Type 1)의 MSD- first 디지트 직렬 곱셈기라 하면, 이 곱셈기는 전체적으로 클럭 사이클을 수행하며 번째 반복문에서 부분곱 개의 합은 하기의 수학식 5과 같이 표현된다.If we call this a
상기 수학식 5에서 연산된 는 m-1차 다항식이다. Calculated in Equation 5 Is the m-first order polynomial.
한편, 상기 수학식 5에 따라 연산된 와 누적값 를 더하여 MSD- first 디지트 직렬 곱셈의 결과값을 생성한다.Meanwhile, it is calculated according to Equation 5 And cumulative values Add to generate the result of MSD-first digit serial multiplication.
이와 같은 MSD- first 디지트 직렬 곱셈을 정리하면, 하기의 표 1에 따른 알고리즘 1과 같다.This MSD-first digit serial multiplication is summarized as
상기 알고리즘 1에 의하면 를 만족하는 및 를 곱하여 를 생성하는 MSD- first 디지트 직렬 곱셈에 있어서, 단계 2.1에서 부분곱마다 감산 연산을 수행하므로 이를 병렬화하는 경우, D(D-1)개의 기반의 곱셈기와 D(D-1)/2의 덧셈기가 필요하다.According to
여기서, 단계 2.1에서 부분곱의 모듈러 감산을 수행하는 수식인 는 도 1의 모듈러 감산 연산부에 의해 연산될 수 있다.Here, the formula for performing the modular subtraction of the partial product in step 2.1, May be calculated by the modular subtraction operator of FIG. 1.
한편, 는 개의 m-1차 다항식의 합이므로 덧셈기가 개로 구성되며, 상기 덧셈기에 따라서 의 시간 지연이 소요된다.Meanwhile, Is Is the sum of m-1 polynomials Adder Consisting of dogs, depending on the adder Takes time delay.
또한, 연산은 와 병렬로 수행되므로 의 연산에서 의 시간 지연이 소요되므로, 크리티컬 패스 딜레이(Critical Path Delay)는 이다.Also, Operation is In parallel with In the operation of Critical path delay, so the critical path delay to be.
이에 대하여 상기 표 1의 알고리즘 1을 하드웨어로 구성하면 도 2와 같다.On the other hand, if the
도 2를 참조하면, 상기 알고리즘 1에 따른 종래의 MSD- first 디지트 직렬 곱셈기는 의 계수인 개의 성분과 의 곱셈을 수행하는데 있어서 부분곱의 연산마다 감산 연산을 수행하기 위한 모듈라 감산 연산부가 필요함을 알 수 있고, 모듈라 감산 연산을 수행한 각각의 부분곱 성분끼리 덧셈 연산하는 덧셈기가 구성되어 있음을 확인할 수 있다.2, a conventional MSD-first digit serial multiplier according to
그 다음, 종래의 [FPGA accelerated Tate pairing based cryptosystemover binary fields]에서 제안된 MSD-first 디지트 직렬 곱셈기를 살펴보기로 하며, 이를 타입 2(type 2)의 MSD-first 디지트 직렬 곱셈기라고 하기로 한다.Next, the MSD-first digit serial multiplier proposed in the conventional [FPGA accelerated Tate pairing based cryptosystemover binary fields] will be described, which will be referred to as a
[FPGA accelerated Tate pairing based cryptosystemover binary fields]에서는 상기 타입 1의 MSD-first 디지트 직렬 곱셈기와는 달리 디지트(digit) 단위의 프로세스 연산에서 모듈러 감산을 수행하지 않고, 누적값 의 연산에서 한번에 처리한다.In [FPGA accelerated Tate pairing based cryptosystemover binary fields], unlike the
따라서, 디지트의 크기를 라고 할 때, 매 단계의 루프 마다 부분곱의 합 차 다항식의 연산은 하기의 수학식 6과 같다.Therefore, the size of the digit Say, every step of the loop Sum of partial products per The operation of the difference polynomial is shown in Equation 6 below.
그 다음은, 연산된 와 누적값인 를 더하는 단계이며, 이때, 는 차 다항식이다.Next, the computed And cumulative values Is the step of adding, Is It is a car polynomial.
타입 2의 곱셈기는 의 연산에서 모듈라 감산부가 없으므로 시간지연이 상기 타입 1보다 효율적이며, 각각의 는 상호 개 항만 더해지므로, 공간복잡도의 면에서 또한 효율적이다.
물론 가 차 이므로 이의 모듈러 감산 연산부가 증가하나, 의 모듈러 감산 연산부 감소에 비하여 미비하다. 따라서, 의 저장 공간인 비트를 제외한 모든 부분에서 상기 표 1의 타입 1보다 더욱 효율적이라고 할 수 있다.sure end Difference, so its modular subtraction operation increases. It is inferior to the reduction of modular subtraction operation of. therefore, Storage space for It can be said that it is more efficient than
한편, 상기 타입 2의 MSD-first 디지트 직렬 곱셈기는 하기의 표 2의 알고리즘 2와 같다.Meanwhile, the MSD-first digit serial multiplier of the
상기 알고리즘 2의 경우 단계 2.1에서 부분곱의 합을 수행하므로 이를 병렬화하는 경우 개의 기반의 곱셈기와 개의 기반의 덧셈기가 필요하다.In case of
여기서, 는 차 다항식이고, 가 하위 개의 계수가 0인 차 다항식이므로, 의 연산에서 개의 기반의 덧셈기가 필요하다.here, Is Is a car polynomial, Subordinate Coefficients with zero Is a polynomial, so In the operation of doggy You need a base adder.
시간 복잡도의 경우, 의 연산에서 개의 차 다항식의 부분곱의 합이므로 의 시간 지연이 소요된다.For time complexity, In the operation of doggy Is the sum of the partial products of the difference polynomial Takes time delay.
또한, 는 와 병렬로 연산이 수행되므로 의 연산에서 의 시간지연이 소요된다. Also, Is Because the operation is performed in parallel with In the operation of It takes time delay.
따라서, 크리티컬 패스 딜레이(Critical Path Delay)는 이며, 마지막 의 모듈러 연산을 위하여 1번 추가 반복된 연산이 수행된다.Therefore, the critical path delay Is the last One more repeated operation is performed for the modular operation of.
상기 표 2의 알고리즘 2를 하드웨어로 구성하면 도 3과 같다.
도 3을 참조하면, 상기 알고리즘 2에 따른 종래의 MSD- first 디지트 직렬 곱셈기는 의 계수인 개의 성분과 의 곱셈을 수행하는데 있어서 이전의 루프에서 모듈라 연산의 결과값을 감산 연산하는 모듈라 감산 연산부가 필요함을 알 수 있고, 각각의 부분곱을 수행하는 곱셈기와 곱셈 연산이 수행된 부분곱을 합하는 덧셈기가 구성되어 있음을 확인할 수 있다.3, a conventional MSD-first digit serial multiplier according to
그러나, 과 같이 표수가 3 이상인 타원곡선 암호 시스템은 다항식의 계수들의 모듈러 연산이 따로 수행되어야 하고, 연산 과정이 더욱 복잡하기 때문에, 실제로 표수가 3 이상인 타원 곡선 암호 시스템이 표수가 2인 타원 곡선 암호 시스템보다 더욱 높은 안전성을 제공함에도 불구하고 거의 사용되고 있지 않은 문제점이 있다.But, As the elliptic curve cryptosystem with 3 or more indexes requires the modular operation of coefficients of polynomials to be performed separately, and the computation process is more complicated, the elliptic curve cryptosystem with 3 or more indexes is actually more efficient than the elliptic curve cryptosystem with 2 or 2 indexes. Despite providing higher safety there is a problem that is rarely used.
본 발명이 해결하고자 하는 첫 번째 과제는 종래의 MSD-first 곱셈기에 비하여 표수에 의존하지 않고 기존의 유한체 곱셈기에 비하여 고속 동작하면서 이때 증가하는 공간 복잡도를 최소화할 수 있고, 적은 시간 지연을 가질 수 있는 MSD-first 디지트 직렬 곱셈 장치를 제공하는 것이다.The first problem to be solved by the present invention is to operate at a high speed compared to the conventional finite field multiplier without relying on the number of tables compared to the conventional MSD-first multiplier, thereby minimizing the increased space complexity, and can have a small time delay The MSD-first digit serial multiplication device is to provide.
본 발명이 해결하고자 하는 두 번째 과제는 상기 MSD-first 디지트 직렬 곱셈 장치를 적용한 MSD-first 디지트 직렬 곱셈 방법을 제공하는 것이다.A second object of the present invention is to provide an MSD-first digit serial multiplication method using the MSD-first digit serial multiplication apparatus.
한편, 본 발명이 해결하고자 하는 세 번째 과제는 상기 MSD-first 디지트 직렬 곱셈 방법을 컴퓨터에서 수행할 수 있도록 프로그램으로 기록된 기록매체를 제공하는 것이다.On the other hand, a third object of the present invention is to provide a recording medium recorded by a program so that the computer can perform the MSD-first digit serial multiplication method.
상기 첫 번째 과제를 해결하기 위하여 본 발명은,
상에서 차수가 인 삼항 기약 다항식 을 사용하며, 상기 의 해가 일 때, 유한체 상의 두 원소 , 의 곱셈을 수행하여 직렬 곱셈 결과값 를 생성하는 기반의 MSD first 디지트 직렬 곱셈 장치에 있어서, 루프 인덱스 가 일 때, 개의 디지트의 인덱스를 라 하면, 상기 의 계수 , , 상기 삼항 기약 다항식의 계수로부터 생성되는 , 및 상기 삼항 기약 다항식의 계수에 따라 생성되는 를 입력으로 하여 과 을 생성하고, 상기 를 이용하여 를 생성하는 초기값 생성부; 루프 인덱스 가 일 때, 상기 연산된 를 이용하여 제 1 치환 연산자 λj를 생성하고, 상기 연산된 를 이용하여 제 2 치환 연산자 δj를 생성하는 전처리 연산부; 상기 전처리 연산부에서 생성된 제 2 치환 연산자 δj, 상기 의 계수 , , 및 를 입력으로 하여 의 결과값 을 생성하는 곱셈부; 이전 루프의 MSD first 디지트 직렬 곱셈의 결과값 , 상기 제 1 치환 연산자 λj, 및 상기 곱셈부의 결과값을 입력으로 하여 덧셈 결과값을 생성하는 가산부; 및 상기 덧셈 결과값을 라이트 쉬프트하여 상기 가산부에 피드백하는 쉬프트 레지스터를 포함하는 기반의 MSD first 디지트 직렬 곱셈 장치를 제공한다.The present invention to solve the first problem,
Order on Phosphorus Ternary Polynomial Using the above The sun When, two elements on the finite body , Series multiplication results by multiplying To generate Loop index for MSD first digit serial multiplier end when, Indexes of digits If I say Coefficient of , , Generated from the coefficients of the ternary polynomial And generated according to the coefficients of the ternary term polynomial As the input and Create and remind Using Initial value generating unit for generating a; Loop index end When is calculated Generates a first substitution operator λ j using A preprocessing operation unit to generate a second substitution operator δ j using; The second substitution operator δ j generated by the preprocessing operation unit, the Coefficient of , , And As the input Result of A multiplication unit for generating; Result of MSD first digit serial multiplication in the previous loop An adder configured to generate an addition result value by inputting the first substitution operator λ j and the result value of the multiplication part; And a shift register which write-shifts the addition result value and feeds it back to the adder. MSD first digit serial multiplier.
삭제delete
한편, 상기 초기값 생성부는
수학식 에 따라 상기 를 이용하여 상기 를 생성하는 것을 특징으로 한다.On the other hand, the initial value generating unit
Equation According to the above Using above It characterized in that to generate.
그리고, 상기 초기값 생성부는 디지트 의 인덱스를 라 하면, 의 계수 , , 상기 삼항 기약 다항식의 계수로부터 생성되는 , 및 에 따라 연산되는 제 1 전처리 연산자 에 따라 수학식 에 의해 과 을 생성하는 것을 특징으로 한다.The initial value generating unit is a digit. Index of Say, Coefficient of , , Generated from the coefficients of the ternary polynomial , And First preprocessing operator, computed according to According to the equation By and It characterized in that to generate.
아울러, 상기 전처리 연산부는 수학식 에 의해 제 2 전처리 연산자 및 제 3 전처리 연산자 를 생성하는 것을 특징으로 한다.In addition, the preprocessing operation unit By the second preprocessing operator And third preprocessing operator It characterized in that to generate.
한편, 상기 전처리 연산부는 수학식 에 의해 상기 제 1 치환 연산자 λj 및 제 2 치환 연산자 δj를 생성하는 것을 특징으로 한다.On the other hand, the preprocessing operation unit By the first substitution operator λ j and And a second substitution operator δ j .
그리고, 상기 가산부는 이전 루프의 MSD first 디지트 직렬 곱셈의 결과값 및 상기 의 계수 와 상기 의 곱에 의해 생성되는 중간 연산값 를 이용하여 수학식 에 따라 덧셈 연산의 결과값을 생성하는 것을 특징으로 한다.And the adder is a result of MSD first digit serial multiplication of the previous loop. And said Coefficient of And above The intermediate operation produced by the product of Equation using The result of the addition operation is characterized in that for generating.
상기 두 번째 과제를 해결하기 위하여 본 발명은,
상에서 차수가 인 삼항 기약 다항식 을 사용하며, 상기 의 해가 일 때, 유한체 상의 두 원소 , 의 곱셈을 수행하여 직렬 곱셈 결과값 를 생성하는 기반의 MSD first 디지트 직렬 곱셈 방법에 있어서, 루프 인덱스 가 일 때, 개의 디지트의 인덱스를 라 하면, 상기 의 계수 , , 상기 삼항 기약 다항식의 계수로부터 생성되는 , 및 상기 삼항 기약 다항식의 계수에 따라 생성되는 를 입력으로 하여 과 을 생성하고, 상기 를 이용하여 를 생성하는 초기값 생성 단계; 루프 인덱스 가 일 때, 상기 연산된 를 이용하여 제 1 치환 연산자 λj를 생성하고, 상기 연산된 를 이용하여 제 2 치환 연산자 δj를 생성하는 전처리 연산 단계; 상기 전처리 연산 단계에서 생성된 제 2 치환 연산자 δj, 상기 의 계수 , , 및 를 입력으로 하여 의 결과값 을 생성하는 곱셈 결과값 생성 단계; 이전 루프의 MSD first 디지트 직렬 곱셈의 결과값 , 상기 제 1 치환 연산자 λj, 및 상기 곱셈 결과값 생성 단계의 결과값을 입력으로 하여 덧셈 결과값을 덧셈 결과값 생성 단계; 및 상기 덧셈 결과값을 라이트 쉬프트하여 상기 덧셈 결과값 생성 단계에 피드백하는 단계를 포함하는 기반의 MSD first 디지트 직렬 곱셈 방법을 제공한다.The present invention to solve the second problem,
Order on Phosphorus Ternary Polynomial Using the above The sun When, two elements on the finite body , Series multiplication results by multiplying To generate In the MSD first digit serial multiplication method based on a loop index, end when, Indexes of digits If I say Coefficient of , , Generated from the coefficients of the ternary polynomial And generated according to the coefficients of the ternary term polynomial As the input and Create and remind Using Generating an initial value; Loop index end When is calculated Generates a first substitution operator λ j using A preprocessing operation step of generating a second substitution operator δ j using; The second substitution operator δ j generated in the preprocessing operation, Coefficient of , , And As the input Result of Generating a multiplication result; Result of MSD first digit serial multiplication in the previous loop Generating an addition result value by inputting the first substitution operator λ j and the result value of the multiplication result generation step; And right shifting the addition result value and feeding back the generation result generation step. MSD first digit serial multiplication method.
삭제delete
그리고, 상기 초기값 생성 단계는 수학식 에 따라 상기 를 이용하여 상기 를 생성하는 것을 특징으로 한다.In addition, the initial value generating step is the equation According to the above Using above It characterized in that to generate.
아울러, 상기 초기값 생성 단계는 디지트 의 인덱스를 라 하면, 의 계수 , , 상기 삼항 기약 다항식의 계수로부터 생성되는 , 및 에 따라 연산되는 제 1 전처리 연산자 에 따라 수학식 에 의해 과 을 생성하는 것을 특징으로 한다.In addition, the initial value generating step is a digit Index of Say, Coefficient of , , Generated from the coefficients of the ternary polynomial , And First preprocessing operator, computed according to According to the equation By and It characterized in that to generate.
한편, 상기 전처리 연산 단계는 수학식 에 의해 제 2 전처리 연산자 및 제 3 전처리 연산자 를 생성하는 것을 특징으로 한다.On the other hand, the preprocessing step is a mathematical formula By the second preprocessing operator And third preprocessing operator It characterized in that to generate.
아울러, 상기 전처리 연산 단계는 수학식 에 의해 상기 제 1 치환 연산자 λj 및 제 2 치환 연산자 δj를 생성하는 것을 특징으로 한다.In addition, the preprocessing operation is represented by By the first substitution operator λ j and And a second substitution operator δ j .
상기 세 번째 과제를 해결하기 위하여 본 발명은,The present invention to solve the third problem,
상기 기반의 MSD first 디지트 직렬 곱셈 방법을 컴퓨터에서 수행할 수 있도록 프로그램으로 기록된 기록 매체를 제공한다.remind A program-recorded recording medium is provided for a computer-based MSD first digit serial multiplication method.
본 발명에 의하면, 삼항 기약 다항식이 적용되는 페이링 기반의 암호 시스템에 있어서, 기존의 MSD-first 곱셈기에 비하여 적은 시간 지연을 가지고, 표수에 의존하지 않고, 기존의 유한체 곱셈기에 비하여 고속 동작하면서 이때 증가하는 공간 복잡도를 최소화할 수 있고, 이에 따라 페어링 기반의 암호 시스템을 더욱 효율적으로 설계할 수 있으며, 특히 삼항 기약 다항식을 사용하는 모든 유한체에 적용할 수 있기 때문에 이를 기반으로 하는 하드웨어 설계에 응용할 수 있는 효과가 있다.According to the present invention, in a paying-based cryptographic system to which the ternary term polynomial is applied, it has less time delay than the conventional MSD-first multiplier, does not depend on the number of tables, and operates at high speed compared to the conventional finite field multiplier. In this case, the increased space complexity can be minimized, and therefore, a pairing-based cryptographic system can be designed more efficiently, and in particular, it can be applied to all finite bodies using the ternary agreement polynomial. There is an effect that can be applied.
본 발명은 에 기반한 MSD-first 디지트 직렬 곱셈기를 제안한다. 본 발명에서 제안하는 곱셈기는 상기 표 2의 타입 2의 모듈러 감산 연산부의 병렬화에 기반한다.The present invention We propose an MSD-first digit serial multiplier based on. The multiplier proposed in the present invention is based on the parallelization of the modular subtraction operator of
상기 알고리즘 2에서 는 하기의 수학식 7에 의해 표현될 수 있다.In
한편, 상기 알고리즘 2에서 반복문에서 가 에서 -1까지 감소하는 것을 고려하여 번째의 를 하기의 수학식 8과 같이 표기한다.On the other hand, in the loop in the
상기 수학식 8에서 의 식이 성립한다.In Equation 8 Equation of
한편, 본 발명을 위하여 하기의 정의 및 정리에 따라 본 발명을 더욱 상세히 상술하기로 한다.On the other hand, the present invention will be described in more detail according to the following definitions and theorems for the present invention.
우선 아래와 같이 첫 번째 정의를 기술하기로 한다.First, the first definition is described as follows.
정의 1(Definition 1 ( DefinitionDefinition 1) One)
가 의 원소라 하고, 삼차 기약 다항식 에 대하여 라 하면, 하기의 수학식 9에 의해 를 정의할 수 있다. end Ternary polynomial about In the following equation (9) Can be defined.
정리 1(Theorem 1 ( TheoremTheorem 1) One)
이면, 상기 정의 1에서 두 원소 의 곱은 하기의 수학식 10에 의해 정의될 수 있다. If two elements in
상기 수학식 10에서 의 값이 성립된다. 그리고, 가 삼항 기약 다항식이면, 가 성립되고, 항부터 까지의 계수는 0이다. 단 이다.In Equation 10 Is established. And, Is a ternary term polynomial, Is established, From the port The coefficient up to is 0. only to be.
한편, 의 0이 아닌 임의의 원소 는 자신의 역원이므로 의 등식이 성립한다. 따라서 의 항부터 항 까지의 계수는 하기의 수학식 11에 의한다.Meanwhile, Any nonzero element of Is his station Equation of therefore of From the port The coefficient up to the term is based on Equation 11 below.
이와 같이 상기 수학식 11에 의거하여 의 항부터 항 까지의 계수값은 0이 된다.()Thus, based on Equation 11 of From the port The count up to the term is zero. )
따라서, 는 상기 정리 1에 의하여 이며, 반복 연산을 고려하여 표현하면, 하기의 수학식 12와 같으며 가 차 이므로 는 차 이다.therefore, By the
상기 수학식 12에 의하여 반복문에서의 를 정의할 수 있고, 여기 서, 에서 가 0보다 작으면 이다.According to Equation 12 In a loop Can be defined here, in Is less than 0 to be.
한편, 상기 수학식 12에서 를 라고 하면, 는 와 같이 표현되고, 이를 상기 수학식 12에 대입하여 정리하면, 의 계수는 하기의 수학식 13과 같다. 이 때, 는 의 항의 계수이다.Meanwhile, in Equation 12 To Speaking of Is Expressed as, and substituted by Equation 12, The coefficient of is given by Equation 13 below. At this time, Is of The coefficient of the term.
단 이다.
only to be.
정리 2(Theorem 2 ( TheoremTheorem 2) 2)
를 라 하고, 일 때, 를 라고 하면, 의 계수 는 하기의 수학식 14에 의해 정리된다. To , when, To Speaking of Coefficient of Is summarized by Equation 14 below.
상기 수학식 14를 참조하여, 번째의 반복문에서 와 를 연산할 수 있으면, 번째의 반복문에서 의 모든 계수는 한 번의 곱셈과 번의 덧셈 연산으로 계산된다.With reference to Equation 14, In the first loop Wow If you can compute In the first loop All coefficients in one Multiplication Computed by one addition operation.
여기서, 의 항부터 까지의 계수는 0이므로, 에 대하여, 이고, 는 이므로, 를 라고 하면, 가 성립된다.here, of From the port The coefficient to is 0, so about, ego, Is Because of, To Speaking of Is established.
따라서, 는 번째 반복문에서 연산 가능하다.therefore, Is Can be calculated in the first loop.
또한, 이고, 상기 정의 1에 의하여 은 0이므로 는 번째의 반복문에서 연산 가능하다.Also, And by
따라서, 의 모든 계수는 한번의 곱셈과 번 의 덧셈 연산으로 연산된다.therefore, All coefficients of once Multiplication It is computed by one addition operation.
본 발명에 따른 MSD-first 비트 직렬 곱셈기를 정리하면 도 4의 알고리즘 3과 같다.The MSD-first bit serial multiplier according to the present invention is summarized as
도 4에 도시된 알고리즘 3에 대하여 기술하면 하기와 같다.The
본 발명에 따른 알고리즘 3은 한번의 곱셈과 번의 덧셈을 번 반복하며 각각의 곱셈(Multiplication)과 덧셈(Addition) 연산에서 (a), (b), (c)는 각각 병렬로 동작한다.
여기서, (a)는 를 초기화하는 과정으로 실제값은 의 연산값이므로, 의 범위를 가질 때, 는 의 계수에 의하여 갱신되며, 는 0이고, 나머지 는 와 같다.Where (a) is In the process of initializing Is an operation value of, When you have a range of Is Is updated by the coefficient of, Is 0, and the rest Is Same as
이는 도 4의 알고리즘 3에서 볼 수 있는 바와 같이, (a)initiation은 1(a), 2(a)로 구성되며, 인 반복문에서의 레지스터에 과 을 저장한다.As can be seen in
따라서, 본 발명에 따른 MSD-first 비트 직렬 곱셈기의 알고리즘 3은 만 연산하면 된다.Therefore,
(b)는 상기 표 2의 알고리즘 2의 를 연산하는 부분이고, (c)는 상기 표 2의 알고리즘 2에서의 를 연산하는 부분이므로, 번째의 는 번째에서 연산되어야 한다.(b) the
따라서, 본 발명에 따른 알고리즘 3은 가 일 때, 를 초기화하고, 가 일 때, 다음 사용할 를 연산하여야 하므로, 를 0으로 할당하여 (a)와 (c)를 준비한다.Therefore,
여기서, (c)Precomputation은 상기 (a)에 저장된 값을 이용하여 1(c), 2(c)와 같이 병렬 연산을 위한 제 1 치환 연산자 δj와 제 2 치환 연산자 λj를 연산한다.Here, (c) Precomputation calculates the first substitution operator δ j and the second substitution operator λ j for parallel operation, such as 1 (c) and 2 (c), using the values stored in (a).
이는 에서 부터 정상 작동하며, 번째의 결과값은 번 째에 사용되어 진다. this is Works fine on, The first result is It is used first.
한편, 본 발명에 따른 MSD-first 비트 직렬 곱셈기의 블록도는 도 5와 같다.On the other hand, MSD-first according to the present invention The block diagram of a bit serial multiplier is shown in FIG.
도 5를 참조하면, 본 발명에 따른 MSD-first 비트 직렬 곱셈기는 초기값 생성부(510), 전처리 연산부(520), 곱셈부(530), 가산부(540) 및 쉬프트 레지스터(550)으로 구성될 수 있다.5, MSD-first according to the present invention The bit serial multiplier may include an
한편, 본 발명에 따른 초기값 생성부(510), 전처리 연산부(520), 곱셈부(530), 가산부(540) 및 쉬프트 레지스터(550)의 구체적인 동작은 상기 도 4의 알고리즘과 동일하므로 구체적인 상술은 발명의 구성의 명확화를 위하여 과감히 생략하기로 한다.Meanwhile, detailed operations of the
상에서 차수가 인 삼항 기약 다항식 을 사용하며, 상기 의 해가 일 때, 유한체 상의 두 원소 , 의 곱셈을 수행하여 직렬 곱셈 결과값 를 생성함에 있어서, 상기 초기값 생성부(510)는 루프 인덱스 가 일 때, 개의 디지트의 인덱스를 라 하면, 의 계수 , , 상기 삼항 기약 다항식의 계수로부터 생성되는 , 및 상기 삼항 기약 다항식의 계수에 따라 생성되는 를 입력으로 하여 과 을 생성하고, 상기 를 이용하여 를 생성한다. Order on Phosphorus Ternary Polynomial Using the above The sun When, two elements on the finite body , Series multiplication results by multiplying In generating, the
여기서, 초기값 생성부(510)는 전술한 바와 같이, 하기의 수학식 15에 따라 상기 를 이용하여 를 생성할 수 있다.Here, the initial
한편, 디지트 의 인덱스를 라 하면, 의 계수 , , 상기 삼항 기약 다항식의 계수로부터 생성되는 , 및 에 따라 연산되는 제 1 전처리 연산자 에 따라 하기의 수학식 16에 의해 과 을 생성할 수 있다.Meanwhile, digit Index of Say, Coefficient of , , Generated from the coefficients of the ternary polynomial , And First preprocessing operator, computed according to In accordance with Equation 16 and Can be generated.
그리고, 전처리 연산부(520)는 루프 인덱스 가 일 때, 상기 연산된 를 이용하여 제 1 치환 연산자 λj를 생성하고, 상기 연산된 를 이용하여 제 2 치환 연산자 δj를 생성한다.Then, the
여기서, 상기 전처리 연산부(520)는 하기의 수학식 17에 의해 제 2 전처리 연산자 및 제 3 전처리 연산자 를 생성한다.Here, the
그리고, 상기 전처리 연산부(520)는 하기의 수학식 18에 의해 상기 제 1 치환 연산자 λj 및 제 2 치환 연산자 δj를 생성한다.The
그 다음, 곱셈부(530)는 상기 전처리 연산부(510)에서 생성된 제 1 치환 연산자 , 상기 의 계수 , , 및 를 입력으로 하여 의 결과값 을 생성한다.Next, the
가산부(540)는 이전 루프의 MSD first 디지트 직렬 곱셈의 결과값 , 상기 제 1 치환 연산자 λj, 및 상기 곱셈부의 결과값을 입력으로 하여 덧셈 결과값을 생성한다.The
여기서, 가산부(540)는 이전 루프의 MSD first 디지트 직렬 곱셈의 결과값 및 상기 의 계수 와 상기 의 곱에 의해 생성되는 중간 연산값 를 이용하여 하기의 수학식 19에 따라 덧셈 연산의 결과값을 생성할 수 있다.Here, the
그러면, 마지막으로 쉬프트 레지스터(550)에서 상기 덧셈 결과값을 라이트 쉬프트하여 상기 가산부에 피드백함으로써 본 발명에 따른 MSD-first 비트 직렬 곱셈의 연산을 반복적으로 수행하게 된다.Then, the
여기서, 쉬프트 레지스터(550)는 비트의 정보를 저장하며, 는 각각 비트를 저장한다.Here, the
상기 도 4와 도 5를 참조하면, 덧셈과 곱셈의 각각의 (a)와 (c)의 구성에서 곱셈기 개와 덧셈기 개가 소요되며, 주 연산부와 병렬로 동작한다.4 and 5, in the configuration of (a) and (c), respectively, of addition and multiplication, Multiplier Dog Adder It takes dogs and operates in parallel with the main computing unit.
또한, 를 고려하여 동작하므로 비트의 중간값 는 마지막 사이클에서 비트의 결과값이 된다.Also, Works in consideration of The median of the bits In the last cycle This is the result of the bit.
도 6은 본 발명에 따른 MSD-first 비트 직렬 곱셈 방법의 흐름도를 도시한 것이다. 6 is MSD-first according to the present invention A flowchart of the bit serial multiplication method is shown.
전술한 기존의 [low energy digit-serial/parallel finite field multiplier]의 발명은 모듈러 감산 연산의 결과인 개의 중간 결과값과 누적값 의 합이 연산되어야 하므로, 트리 구조의 덧셈 연산에서 의 연산이 소요되므로, 의 덧셈 연산에 대한 시간 지연이 필요하게 된다.The invention of the above-mentioned low energy digit-serial / parallel finite field multiplier is a result of the modular subtraction operation. Intermediate results and cumulative values Since the sum of must be computed, the addition operation of the tree structure Operation takes A time delay is required for the addition operation of.
또한 기존의 [FPGA accelerated Tate pairing based cryptosystemover binary fields]의 경우 개의 중간 결과값과 누적값 의 모듈러 감산 연산의 합이 병렬로 연산되어야 하므로, 의 덧셈 연산에 대한 시간 지연이 필요하다.In addition, the existing [FPGA accelerated Tate pairing based cryptosystemover binary fields] Intermediate results and cumulative values Since the sum of the modular subtraction operations of must be computed in parallel, We need a time delay for the addition operation of.
그러나, 본 발명의 경우, 제 1 치환 연산자 λj 와 제 2 치환 연산자 δj의 사전 연산을 이용하여 누적값 의 모듈러 감산 연산과 의 덧셈 연산을 1번의 덧셈 연산으로 수행하여 의 덧셈 연산에 대한 시간 지연만으로도 연산이 가능하다.However, in the case of the present invention, the cumulative value using the dictionary operation of the first substitution operator λ j and the second substitution operator δ j Modular subtraction operation Add operation in one add operation The operation can be performed with only a time delay for the addition operation of.
도 6에서 본 발명에 따른 MSD-first 비트 직렬 곱셈 방법은 상기 도 4 및 도 5의 구성과 동일하므로 구체적인 상술은 발명의 구성의 명확화를 위하여 생략하기로 한다.MSD-first according to the present invention in Figure 6 Since the bit serial multiplication method is the same as the configuration of FIGS. 4 and 5, a detailed description thereof will be omitted for clarity.
상에서 차수가 인 삼항 기약 다항식 을 사용하며, 상기 의 해가 일 때, 유한체 상의 두 원소 , 의 곱셈을 수행하여 직렬 곱셈 결과값 를 생성하는 기반의 MSD first 디지트 직렬 곱셈을 수행하기 위하여, 우선 루프 인덱스 가 일 때, 개의 디지트의 인덱스를 라 하면, 의 계수 , , 상기 삼항 기약 다항식의 계수로부터 생성되는 , 및 상기 삼항 기약 다항식의 계수에 따라 생성되는 를 입력으로 하여 과 을 생성하고, 상기 를 이용하여 를 생성한다(S610). Order on Phosphorus Ternary Polynomial Using the above The sun When, two elements on the finite body , Series multiplication results by multiplying To generate To perform based MSD first digit serial multiplication, first loop index end when, Indexes of digits Say, Coefficient of , , Generated from the coefficients of the ternary polynomial And generated according to the coefficients of the ternary term polynomial As the input and Create and remind Using To generate (S610).
그 다음, 루프 인덱스 가 일 때, 상기 연산된 를 이용하여 제 1 치환 연산자 λj를 생성하고, 상기 연산된 를 이용하여 제 2 치환 연산자 δj를 생성한다(S620).Then loop index end When is calculated Generates a first substitution operator λ j using By using the second substitution operator δ j is generated (S620).
그 다음, 상기 전처리 연산부에서 생성된 제 2 치환 연산자 δj, 상기 의 계수 , , 및 를 입력으로 하여 의 곱셈 결과값 을 생성한다(S630).Next, the second substitution operator δ j generated by the preprocessing operation unit, the Coefficient of , , And As the input Multiplication of To generate (S630).
그 다음, 이전 루프의 MSD first 디지트 직렬 곱셈의 결과값 , 상기 제 1 치환 연산자 λj, 및 상기 곱셈부의 결과값을 입력으로 하여 덧셈 결과값을 생성하는 덧셈 결과값을 생성한다(S640).Next, the result of the MSD first digit serial multiplication of the previous loop In operation S640, an addition result value for generating an addition result value is generated by inputting the first substitution operator λ j and the result value of the multiplication unit.
그러면, 마지막으로 상기 덧셈 결과값을 라이트 쉬프트하여 상기 가산부에 피드백한다(S650).Then, the addition result is light-shifted and fed back to the adding unit at step S650.
본 발명에 따른 기반의 MSD first 디지트 직렬 곱셈 방법은 소프트웨어를 통해 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.According to the invention The based MSD first digit serial multiplication method can be implemented through software. When implemented in software, the constituent means of the present invention are code segments that perform the necessary work. The program or code segments may be stored on a processor readable medium or transmitted by a computer data signal coupled with a carrier on a transmission medium or network.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 테이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기 록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The computer-readable recording medium includes all kinds of recording devices in which data is stored which can be read by a computer system. Examples of computer-readable recording devices include ROM, RAM, CD-ROM, DVD ± ROM, DVD-RAM, magnetic tape, floppy disks, hard disks, and optical data storage devices. The computer readable recording medium can also be distributed over network coupled computer devices so that the computer readable code is stored and executed in a distributed fashion.
한편, 이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니라고 할 것이다.On the other hand, the present invention described above can be variously substituted, modified and changed within the scope without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains to the embodiments and It will not be limited by the accompanying drawings.
도 1은 종래의 모듈러 감산 연산부의 개략도를 도시한 것이다.1 shows a schematic diagram of a conventional modular subtraction operation unit.
도 2는 종래의 MSD- first 디지트 직렬 곱셈기의 일 례를 도시한 것이다.2 shows an example of a conventional MSD-first digit series multiplier.
도 3은 종래의 MSD- first 디지트 직렬 곱셈기의 다른 예를 도시한 것이다.3 shows another example of a conventional MSD-first digit series multiplier.
도 4는 본 발명에 따른 MSD-first 비트 직렬 곱셈의 알고리즘을 도시한 것이다.Figure 4 illustrates an algorithm of MSD-first bit serial multiplication in accordance with the present invention.
도 5는 본 발명에 따른 MSD-first 비트 직렬 곱셈기의 블록도를 도시한 것이다.5 is MSD-first according to the present invention A block diagram of a bit serial multiplier is shown.
도 6은 본 발명에 따른 MSD-first 비트 직렬 곱셈 방법의 흐름도를 도시한 것이다.6 is MSD-first according to the present invention A flowchart of the bit serial multiplication method is shown.
Claims (12)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080039068A KR100954584B1 (en) | 2008-04-26 | 2008-04-26 | Apparatus and Method for MSD first GF3^m serial multiplication and Recording medium using this |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080039068A KR100954584B1 (en) | 2008-04-26 | 2008-04-26 | Apparatus and Method for MSD first GF3^m serial multiplication and Recording medium using this |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090113138A KR20090113138A (en) | 2009-10-29 |
KR100954584B1 true KR100954584B1 (en) | 2010-04-26 |
Family
ID=41554249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080039068A KR100954584B1 (en) | 2008-04-26 | 2008-04-26 | Apparatus and Method for MSD first GF3^m serial multiplication and Recording medium using this |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100954584B1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101214789B1 (en) | 2011-02-28 | 2012-12-26 | 고려대학교 산학협력단 | Method of mapping messages to points on elliptic curve over GF(3^m) and pairing-based cryptosystem using it |
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 |
KR20160003373A (en) | 2014-07-01 | 2016-01-11 | 경북대학교 산학협력단 | Photovoltaic power generation measurement system by latitude and longitude |
KR20170000592A (en) | 2015-06-24 | 2017-01-03 | 아주대학교산학협력단 | Two-photon fluorescent probes, method of preparing the same and method of imaging of zinc ion in Golgi using the same |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030028298A (en) * | 2001-09-29 | 2003-04-08 | 대한민국(경북대학교 총장) | Digit-serial systolic multiplier for finite fields |
KR100550015B1 (en) | 2003-12-18 | 2006-02-08 | 한국전자통신연구원 | Infinite field multiplying apparatus adapted for multiplying operation of GF3^m infinite field, mod 3 bit-stream adder therefor, and mod3 bit-stream adder therefor |
-
2008
- 2008-04-26 KR KR1020080039068A patent/KR100954584B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030028298A (en) * | 2001-09-29 | 2003-04-08 | 대한민국(경북대학교 총장) | Digit-serial systolic multiplier for finite fields |
KR100550015B1 (en) | 2003-12-18 | 2006-02-08 | 한국전자통신연구원 | Infinite field multiplying apparatus adapted for multiplying operation of GF3^m infinite field, mod 3 bit-stream adder therefor, and mod3 bit-stream adder therefor |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101214789B1 (en) | 2011-02-28 | 2012-12-26 | 고려대학교 산학협력단 | Method of mapping messages to points on elliptic curve over GF(3^m) and pairing-based cryptosystem using it |
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 |
WO2015199325A1 (en) * | 2014-06-27 | 2015-12-30 | 공주대학교 산학협력단 | Parallel multiplier having space complexity less than quadratic complexity using shifted polynomial basis on finite field gf (3n), method thereof, and recording medium recording same |
KR20160003373A (en) | 2014-07-01 | 2016-01-11 | 경북대학교 산학협력단 | Photovoltaic power generation measurement system by latitude and longitude |
KR20170000592A (en) | 2015-06-24 | 2017-01-03 | 아주대학교산학협력단 | Two-photon fluorescent probes, method of preparing the same and method of imaging of zinc ion in Golgi using the same |
Also Published As
Publication number | Publication date |
---|---|
KR20090113138A (en) | 2009-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Knezevic et al. | Faster interleaved modular multiplication based on Barrett and Montgomery reduction methods | |
Azarderakhsh et al. | Low-complexity multiplier architectures for single and hybrid-double multiplications in Gaussian normal bases | |
Daly et al. | An FPGA implementation of a GF (p) ALU for encryption processors | |
Fan et al. | Efficient hardware implementation of Fp-arithmetic for pairing-friendly curves | |
Jafri et al. | Towards an optimized architecture for unified binary huff curves | |
Tian et al. | High-speed FPGA implementation of SIKE based on an ultra-low-latency modular multiplier | |
Javeed et al. | FPGA based high speed SPA resistant elliptic curve scalar multiplier architecture | |
Shah et al. | A high‐speed RSD‐based flexible ECC processor for arbitrary curves over general prime field | |
Tawalbeh et al. | An integrated radix-4 modular divider/multiplier hardware architecture for cryptographic applications. | |
Großschädl | A bit-serial unified multiplier architecture for finite fields GF (p) and GF (2 m) | |
Harb et al. | FPGA implementation of the ECC over GF (2m) for small embedded applications | |
KR100954584B1 (en) | Apparatus and Method for MSD first GF3^m serial multiplication and Recording medium using this | |
Hossain et al. | FPGA-based efficient modular multiplication for Elliptic Curve Cryptography | |
Gonda et al. | Improvements of addition algorithm on genus 3 hyperelliptic curves and their implementation | |
Kalaiarasi et al. | A parallel elliptic curve crypto-processor architecture with reduced clock cycle for FPGA platforms | |
Alkar et al. | A hardware version of the RSA using the Montgomery's algorithm with systolic arrays | |
Nti et al. | Asic design of low area rsa cryptocore based on montgomery multiplier | |
McIvor et al. | A high-speed, low latency RSA decryption silicon core | |
KR100974624B1 (en) | Method and Apparatus of elliptic curve cryptography processing in sensor mote and Recording medium using it | |
Poomagal et al. | Modular multiplication algorithm in cryptographic processor: A review and future directions | |
Byrne et al. | Versatile processor for GF (pm) arithmetic for use in cryptographic applications | |
KR100954582B1 (en) | Adder for GF3, Multiplier for GF3, Apparatus for computing unified addition subtraction for GF3 and Apparatus for MSB first GF3^m serial multiplication | |
Arunachalamani et al. | High Radix Design for Montgomery Multiplier in FPGA platform | |
Lee et al. | Systolic multiplier for Montgomery’s algorithm | |
Huzaifa et al. | Low latency Montgomery multiplier for cryptographic applications |
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 |