[go: up one dir, main page]

KR100606437B1 - Polynomial Multipliers and Methods in Extensions - Google Patents

Polynomial Multipliers and Methods in Extensions Download PDF

Info

Publication number
KR100606437B1
KR100606437B1 KR1020040107115A KR20040107115A KR100606437B1 KR 100606437 B1 KR100606437 B1 KR 100606437B1 KR 1020040107115 A KR1020040107115 A KR 1020040107115A KR 20040107115 A KR20040107115 A KR 20040107115A KR 100606437 B1 KR100606437 B1 KR 100606437B1
Authority
KR
South Korea
Prior art keywords
order
extension
value
division
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR1020040107115A
Other languages
Korean (ko)
Other versions
KR20060068425A (en
Inventor
장남수
김창한
임종인
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020040107115A priority Critical patent/KR100606437B1/en
Publication of KR20060068425A publication Critical patent/KR20060068425A/en
Application granted granted Critical
Publication of KR100606437B1 publication Critical patent/KR100606437B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods 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/72Methods 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/724Finite field arithmetic

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

확장체에서 다항식 곱셈장치 및 방법이 개시된다. 검색부는 소정의 분할차수 S에 대해 입력된 확장체의 차수 n이 하위경계값 Sk-1와 상위경계값 Sk 사이에 존재하도록 하는 k를 검색한다. 상태값결정부는 하위경계값 Sk-1과 상위경계값 Sk 사이의 구간을 하위경계값 Sk-1보다 크고 상위경계값 Sk보다 작은 복수의 분할값에 의해 분할하여 형성된 복수의 분할구간 중에서 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정한다. 최적차수결정부는 수학식 n'=State·Sk-2에 의해 얻어진 값을 최적의 확장체 차수로 결정한다. 여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다. 본 발명에 따르면, 확장체의 차수가 비교적 큰 경우에도 불구하고 계수-곱셈의 경우 3배 이상 연산량을 줄일 수 있다.Disclosed are a polynomial multiplier and method in an extension. The search unit searches for k such that the order n of the extension input for the predetermined division order S exists between the lower boundary value S k-1 and the upper boundary value S k . State value determination section lower boundary value S k-1 and the upper bound value S a plurality of divided sections formed by division by the division value of a small plurality of intervals between the k than the lower boundary value larger upper bound value that is less than S k-1 S k The upper boundary value of the division section to which the order n of the extension belongs is determined as a state value. The optimum order determination unit determines the value obtained by the equation n '= State Sk-2 as the optimal extension body order. Where n 'is the optimal extension order and State means the state value. According to the present invention, even in the case where the degree of extension is relatively large, in the case of coefficient-multiplication, the amount of calculation can be reduced by three times or more.

확장체, 다항식 곱셈, 차수, 상태값, 연산량Extended, Polynomial Multiplication, Order, State, Amount

Description

확장체에서 다항식 곱셈장치 및 방법{Apparatus for performing polymomual multiplication in extension field and method thereof}Apparatus for performing polymomual multiplication in extension field and method

도 1은 본 발명에 따른 확장체에서 다항식 곱셈장치에 대한 바람직한 실시예의 구성을 도시한 블록도,1 is a block diagram showing the configuration of a preferred embodiment of a polynomial multiplication apparatus in an extension according to the present invention;

도 2는 본 발명에 따른 확장체에서 효율적인 다항식 곱셈방법에 대한 바람직한 일 실시예의 수행과정을 도시한 흐름도,2 is a flow chart showing the implementation of a preferred embodiment for an efficient polynomial multiplication method in an extension according to the present invention;

도 3은 본 발명에 따른 확장체에서 효율적인 다항식 곱셈방법에 대한 바람직한 다른 실시예의 수행과정을 도시한 흐름도,Figure 3 is a flow chart showing the implementation of another preferred embodiment for the efficient polynomial multiplication method in the extension according to the present invention,

도 4는 기존의 KO방법과 알고리즘 1을 적용한 KO방법의 계수-곱셈 연산량을 비교한 결과를 도시한 도면, 그리고,4 is a diagram showing the result of comparing the coefficient-multiplication calculation amount of the conventional KO method and the KO method to which Algorithm 1 is applied, and

도 5는 기존의 다중분할 카라슈바 방법에 본 발명에 따른 알고리즘을 적용한 결과를 도시한 도면이다.FIG. 5 is a diagram illustrating the results of applying the algorithm according to the present invention to a conventional multi-splitting Karaschva method.

본 발명은 확장체에서 다항식 곱셈장치 및 방법에 관한 것으로, 보다 상세하게는, 다중분할 카라슈바 방법에 의한 다항식 곱셈을 효율적으로 수행할 수 있는 다항식 곱셈장치 및 방법에 관한 것이다.The present invention relates to a polynomial multiplication apparatus and method in an extension, and more particularly, to a polynomial multiplication apparatus and a method capable of efficiently performing multinomial multiplication by a multi-part Karashiba method.

인수분해 문제, 이산대수 문제 등을 기반으로 하는 대다수의 공개키 암호 시스템은 지수 연산을 기반으로 한다. 지수 연산은 알고리즘에 따라 장단점을 가지며, 이들 알고리즘의 효율성은 곱셈 연산의 연산량을 기준으로 한다. 따라서 유한체 곱셈 연산의 효율적인 구성은 하드웨어 및 소프트웨어 분야에서 오랜 기간 동안 화제가 되어왔으며 현재까지도 활발히 연구 중이다. 알고리즘의 효율성은 자원의 사용이나 복잡도 등이 기준이 되며 이중에서 복잡도는 알고리즘의 가치를 판단하는 가장 큰 기준이다. 일반적으로 유한체의 크기를 n이라 하면 대략의 복잡도를 O(n)등으로 표현한다. Most public key cryptosystems based on factoring problems, discrete algebraic problems, etc. are based on exponential operations. Exponential operations have advantages and disadvantages depending on the algorithms, and the efficiency of these algorithms is based on the amount of multiplication operations. Thus, the efficient construction of finite multiplication operations has been a hot topic in hardware and software for a long time and is being actively studied. Algorithm efficiency is based on resource usage and complexity, and complexity is the biggest criterion for determining the value of an algorithm. In general, if the size of the fin is n, the approximate complexity is expressed as O (n).

PrimePrime mulmul sqrsqr addadd subsub 175bit175 bit 0.6720.672 0.6560.656 0.0340.034 0.0470.047 89bit89bit 0.1870.187 0.1620.162 0.0310.031 0.0430.043 62bit62 bit 0.1090.109 0.1020.102 0.0310.031 0.0420.042 31bit31bit 0.01560.0156 0.00630.0063 0.00470.0047 0.00470.0047

확장체 GF(pn)에서 복잡도는 계수간의 덧셈, 뺄셈, 곱셈 등의 연산량을 말한다. 이들 중에서 곱셈의 연산량은 가장 큰 비중을 차지하므로 복잡도 측정시 많은 비중을 차지한다. 표 1은 P4VC 2.8에서 측정한 GF(p)의 속도이며 단위는 μsec 이다. In extension GF (p n ), complexity refers to the amount of computation between addition, subtraction, and multiplication between coefficients. Of these, the amount of multiplication is the largest part of the calculation, so it takes a lot of weight when measuring complexity. Table 1 shows the rate of GF (p) measured in P4VC 2.8 and is in μsec.

이하에서는 계수간의 덧셈, 뺄셈, 곱셈 연산량을 #ADD, #SUB, #MUL로 표기한다. 그리고 하드웨어에서 구현되는 이진체 연산의 경우 시간지연(Time Delay) 또한 중요한 고려사항이다. 계수간의 덧셈과 뺄셈 연산의 시간지연의 경우 TX(XOR 게이트 의 시간지연)로 표기하며, 곱셈 연산의 경우는 TA(AND 게이트의 시간지연)로 표기하며, 전체 시간지연의 경우 TTOT로 표기한다. 일반적인 확장체 pn의 경우는 계수간의 연산량이 복잡도의 중요한 기준이 되며, p=2인 이진체의 경우 하드웨어 분야에서 주로 고려되므로 연산량(게이트 수)와 시간지연을 동시에 고려하여야 하며 이를 시간(Time)과 공간(space) 복잡도라 한다. 본 발명에서는 이진체가 아닌 일반적인 확장체의 경우를 기준으로 고려하며 , 또한 본 발명에 따른 결과를 이용하면 이진체 환경에 대한 분석 또한 용이하다.Hereinafter, addition, subtraction, and multiplication operations between coefficients are referred to as #ADD, #SUB, and #MUL. In addition, time delay is also an important consideration in binary implementations implemented in hardware. The time delay of addition and subtraction between coefficients is denoted by T X (time delay of XOR gate), the multiplication operation is denoted by T A (AND gate time delay), and the total time delay is denoted by T TOT . Mark it. In the case of general extension p n , the amount of computation between coefficients is an important criterion of complexity, and in the case of binary data with p = 2, the amount of gates and time delay must be considered at the same time. ) And space complexity. In the present invention, it is considered based on the case of the general extension rather than the binary, and using the results according to the present invention, it is also easy to analyze the binary environment.

일반적인 확장체에서 다항식 곱셈 연산은 다음과 같은 기준으로 나누어 볼 수 있다.In general extension, polynomial multiplication can be divided by the following criteria.

◆ 기저에 따른 확장체 곱셈 구성◆ Basal body multiplication configuration

◆ 곱셈 방법에 따른 확장체 곱셈 구성◆ Extended Body Multiplication by Multiplication Method

◆ 기약 다항식의 선택에 따른 곱셈 연산의 구성◆ Composition of Multiplication Operations by Selection of Contracted Polynomials

확장체에서 기저는 다항식기저(Polynomial Basis)와 정규기저(Normal Basis)로 나누어 볼 수 있다. 다항식기저는 소프트웨어와 하드웨어 모두에서 널리 쓰이고 있으나 정규기저의 경우는 제곱의 경우 쉬프트(Shift) 연산으로 간단하게 구성이 되지만 곱셈의 경우 행렬(Matrix) 연산을 기반으로 하므로 하드웨어 환경에는 적합하나 소프트웨어 환경에는 적합하지 않다. 또한 기약다항식의 선택에 따라 모듈러 감산(reduction) 연산 시 덧셈 연산량이 결정된다. 따라서 일반적으로 기약 다항식의 헤밍 웨이트가 작을수록 효율적으로 구성된다. 하지만, 예외적으로 올원 기약다 항식(All-One Polynomial)의 경우 헤밍웨이트는 가장 높지만 이들보다 더욱 효율적으로 구성되는 환경이 존재한다. 현재 삼항 기약다항식, 오항 기약다항식, 올원 기약다항식 등이 주 연구대상이 되고 있다.In the extension, the base can be divided into Polynomial Basis and Normal Basis. Polynomial basis is widely used in both software and hardware, but in the case of regular basis, it is simply composed of shift operation in case of square, but it is suitable for hardware environment because it is based on matrix operation in case of multiplication. Inappropriate. In addition, the amount of addition computation is determined during the modular reduction operation according to the selection of the contract polynomial. Therefore, in general, the smaller the hemming weight of the contracted polynomial, the more efficiently it is constructed. However, in the case of the All-One Polynomial, the hemming weight is the highest, but there is an environment that is more efficient than these. Currently, ternary polynomials, pentagonal polynomials, and all-one polynomials are the main research subjects.

다양한 곱셈 방법이 존재하지만 이들 모두는 일반적인 곱셈 방법, 카라슈바(Karatsuba-Ofman, KO) 방법 혹은 이들을 변형한 방법으로 구성되어 있다. 이들 두 가지 방법의 가장 큰 차이점은 계수간의 곱셈 구성 방법의 차이이다. 이들 두 곱셈 방법의 가장 큰 차이점은 계수간의 곱셈을 변형하여 계수간의 곱셈 수는 줄이고 덧셈 수는 늘리는 것이다. 일반적인 확장체 GF(pn)의 경우 계수간의 곱셈이 계수간의 덧셈 연산 보다 복잡도가 훨씬 크므로 계수간의 곱셈 연산량이 줄어들면 효율성이 증가하나 p=2인 이진체의 경우 계수간의 곱셈 연산은 덧셈 연산과 같이 한 개의 게이트(Gate)로 구성되므로 곱셈 연산량이 줄어든다고 하여 꼭 효율성이 증가한다고는 말할 수 없다. 본 발명에서는 다항식 곱셈 방법에 대한 분석 결과를 제시하는 바 일반적인 다항식 기저를 사용할 경우의 기약 다항식의 선택문제와 본 발명에 따른 결과와는 무관하다.Various multiplication methods exist, but all of them consist of a general multiplication method, the Karatsuba-Ofman (KO) method, or a variation of these methods. The main difference between these two methods is the difference in the method of multiplication between the coefficients. The main difference between these two multiplication methods is to transform the multiplication between the coefficients to reduce the multiplication between the coefficients and increase the number of additions. In the general expansion GF (p n ), the multiplication between coefficients is much more complicated than the addition between coefficients, so if the multiplication between coefficients decreases, the efficiency increases. As it is composed of one gate as described above, the amount of multiplication is reduced, which does not necessarily mean that the efficiency increases. In the present invention, an analysis result of the polynomial multiplication method is presented, and it is irrelevant to the problem of selection of the contract polynomial when using a general polynomial basis and the result of the present invention.

확장체 곱셉 연산량을 효율적으로 줄이는 방법으로 카라슈바(Karatsuba-Ofman)방법이 있다. 카라슈바 방법의 효율성을 높이는 방법으로 엠. 레온은 유한체에 대한 저복잡도 병렬처리 곱셉기를 제안하면서 최적 반복횟수의 개념을 제시하였다. 그러나 카라슈바 방법은 확장체의 차수가 2의 배수일 때만 적용되는 문제점이 있다. 이러한 문제점은 엠. 언스트 등이 제안한 다중분할 카라슈바 방법에 의해 상당부분 보완되었다. 그러나 엠. 언스트 등은 다중분할 카라슈바 방법의 복잡도를 제시하지 아니하여 해당 방법을 실질적인 적용함에 있어 어려움이 존재한다. 이러한 다중분할 카라슈바 방법의 문제를 극복하기 위해 보다 효율적인 다중분할 카라슈바 방법과 복잡도가 제안된 바 있다.The Karatsuba-Ofman method is an efficient way to reduce the extended body multiplication. M as a way to increase the efficiency of the Karasuba method. Leon proposes a low complexity parallel processing multiplier for finite bodies and presents the concept of optimal number of iterations. However, the Karashiba method has a problem that is applied only when the degree of the expansion body is a multiple of 2. This problem is M. This is largely complemented by the multi-part Karasuba method proposed by Ernst et al. But M. Ernst et al. Do not present the complexity of the multi-part Karasuba method, and there are difficulties in practical application of the method. In order to overcome the problems of the multi-division Karasuba method, a more efficient multi-division Karasuba method and complexity have been proposed.

이하에서 기존의 확장체 곱셈의 구성 방법에 대해 살펴본다.Hereinafter, a description will be given of a method of constructing a conventional extended body multiplication.

기존의 확장체 곱셈은 다항식 곱셈 방법에 따라 SchoolBook(SB) 곱셈 방법, 카라슈바(Karatsuba-Ofman) 곱셈 방법, 그리고, 다중분할 카라슈바(Multi-Segment Karatsuba) 방법으로 구분되며, Successive Extention 방법도 존재한다.Existing extension multiplication is divided into SchoolBook (SB) multiplication method, Karatsuba-Ofman multiplication method, and Multi-Segment Karatsuba method according to polynomial multiplication method, and successive extension method also exists. do.

GF(p)에서의 n차 기약다항식 f(x)에 의하여 생성된 유한체 GF(pn)의 원소간의 곱셈에 관하여 살펴본다. 다항식 기저에 의해 GF(pn)의 원소 a(x)와 b(x)는 다음과 같이 표현된다.The multiplication between elements of the finite field GF (p n ) generated by the nth order polynomial f (x) in GF (p) will be described. By polynomial basis, the elements a (x) and b (x) of GF (p n ) are expressed as

Figure 112004059417330-pat00001
Figure 112004059417330-pat00001

이 때, ai, bi ∈ GF(p)이다. At this time, a i , b i ∈ GF (p).

확장체의 곱셈은 확장체의 두 원소 a(x)와 b(x)를 n-1차 다항식으로 보고 곱하는 다항식 곱셈 과정과 곱셈의 결과인 다음의 수학식으로 표현되는 2n-2차 다항식을 n차 기약 다항식 f(x)로 나눈 나머지를 구하는 과정인 모듈로 축소(Modulo Red- uction)로 나뉜다. Multiplication of the extension is a polynomial multiplication process that multiplies the two elements a (x) and b (x) of the extension as n-1 polynomials, and 2n-2nd polynomial expressed by the following equation as a result of multiplication: It is divided into modulo reduction, which is the process of finding the remainder divided by the next contract polynomial f (x).

Figure 112004059417330-pat00002
Figure 112004059417330-pat00002

효율적인 곱셈을 위해서는 다항식 곱셈 과정과 모듈로 축소과정을 최적화해야 한다. For efficient multiplication, we need to optimize polynomial multiplication and modulo reduction.

먼저, SB 곱셈 방법에 대해 살펴본다.First, the SB multiplication method will be described.

SchoolBook(SB)방법을 이용하여 유한체 원소의 다항식 곱셈을 수행하면 수학식 2에서

Figure 112004059417330-pat00003
이다. 따라서 곱셈의 연산량은 a(x)의 전체 계수의 수와 b(x)의 전체 계수의 수를 곱한 만큼 필요하므로 n×n=n2 번의 계수-곱셈 연산이 필요하며 덧셈의 연산량은 c(x)의 n-1차를 기준으로 대칭이므로 수학식 3에 의해 산출된 횟수의 계수-덧셈 연산이 필요하다. Polynomial multiplication of finite element using the SchoolBook (SB) method
Figure 112004059417330-pat00003
to be. Therefore, the amount of multiplication needs to be multiplied by the total number of coefficients of a (x) and the total number of coefficients of b (x), so n × n = n two coefficient-multiplication operations are needed. Since the symmetry is based on the n-1th order of), the coefficient-add operation of the number of times calculated by Equation 3 is required.

Figure 112004059417330-pat00004
Figure 112004059417330-pat00004

따라서 연산량은 다음과 같다.Therefore, the calculation amount is as follows.

Figure 112004059417330-pat00005
Figure 112004059417330-pat00005

다음으로, KO 곱셈 방법에 대해 살펴본다.Next, we will look at the KO multiplication method.

GF(pn)에서 기본적인 KO방법은 유한체의 원소를 2중-분할하여 divide-and- conquer방법을 적용한다. n/2이 짝수라면 KO는 반복 적용될 수 있다. 따라서 확장체 GF(pn)에서 n=2m·t(m≠0)의 형태일 때 연산이 가능하다. n-1차의 다항식에 KO를 직접 적용하면 log2n번 반복 수행이 가능하다.The basic KO method in GF (p n ) is the divide-and-conquer method by double-dividing a finite element. If n / 2 is even, KO may be applied repeatedly. Therefore, the operation can be performed when n = 2 m · t (m ≠ 0) in the extension GF (p n ). By applying KO directly to the n-1th polynomial, log 2 n iterations can be performed.

한편, 다중분할 카라슈바 방법에서 계수-덧셈 연산은 두 과정으로 나누어진다. 첫째는 n/2 비트 다항식 곱셈기의 입력 값의 연산이고, 두 번째는 n/2 비트 다항식 곱셈기의 출력 값의 연산이다. 만약 KO 방법을 1번 반복 수행한다면 첫 번째 과정 n/2 개의 비트 덧셈, (A0+A1), (B0+B1)에서 2(n/2)개의 XOR 게이트가 필요하고 두 번째 과정 n/2차 곱셈기의 출력 값 A0B0, A1B1, (A0 +A1)(B0+B1)과 계수간의 덧셈연산에서 3n-4 개의 XOR 게이트가 필요하다. 따라서 KOA가 m 번의 반복 연산을 수행하며 최하위 연산기를 SB 곱셈기를 사용한다고 가정할 때 전체 연산량은 다음과 같다. On the other hand, the coefficient-addition operation is divided into two processes in the multi-part Karashiba method. The first is the operation of the input value of the n / 2 bit polynomial multiplier, and the second is the operation of the output value of the n / 2 bit polynomial multiplier. If we repeat the KO method once, we need 2 (n / 2) XOR gates in the first process n / 2 bit addition, (A 0 + A 1 ), (B 0 + B 1 ) and the second process 3n-4 XOR gates are required for the addition operation between the output values A 0 B 0 , A 1 B 1 , (A 0 + A 1 ) (B 0 + B 1 ) and the coefficients of the n / 2th-order multiplier. Therefore, assuming that KOA performs m iterations and uses the least significant multiplier SB multiplier,

Figure 112004059417330-pat00006
Figure 112004059417330-pat00006

위의 결과에 의하여 KO 방법을 이용한 병렬 처리 곱셈기는 SB 방법을 이용한 병렬 처리 곱셈기보다 공간 복잡도가 낮다. 부가적으로 다중분할 카라슈마 방법에서는 최적화된 KOA의 반복 횟수를 n/2k=4일 때의 k로 제안하였다.According to the above results, the parallel processing multiplier using the KO method has lower spatial complexity than the parallel processing multiplier using the SB method. In addition, the multi- split Karasuma method suggested the optimized number of repetitions of KOA as k when n / 2 k = 4.

다음으로, 다중분할 카라슈바 곱셈 방법에 대해 살펴본다ㅏ.Next, we will look at the multi-part Karashiba multiplication method.

MSK 곱셈방법은 KOA방법을 확장하여 유한체의 원소를 다중으로 분할하여 곱한다. 유한체 GF(2n)에서 n (mod k)=0 이라 가정하면 k-다중 분할 카라슈바 (MSKk) 방법으로 두 원소의 곱셈을 수행할 수 있다. 만약 n (mod k) ≠0 이라면 필요한 만큼의 계수를 0으로 채운다. 본 절에서는 다중분할을 이용한 병렬 처리 곱셈기에 관하여 설명한다. 이는 간단하게 5중 분할(5-Segment)을 예로 설명한다. GF(2n)에서 n=5mt(m≠0) 라 가정하면, a(x), b(x) ∈ GF(2n)는 5중 분할로 세분되며 이를 표현하면 다음과 같다. The MSK multiplication method extends the KOA method to divide and multiply the elements of the finite body by multiples. Assuming that n (mod k) = 0 in the finite field GF (2 n ), the multiplication of two elements can be performed by the k-multiplexed Karasuba (MSK k ) method. If n (mod k) ≠ 0, fill as many coefficients as needed. This section describes a parallel processing multiplier using multiple partitions. This is simply described as a 5-segment example. Assuming that n = 5 mt (m ≠ 0) in GF (2 n ), a (x) and b (x) ∈ GF (2 n ) are subdivided into five divisions.

Figure 112004059417330-pat00007
Figure 112004059417330-pat00007

따라서 비트의 곱셈 c(x)는 다음과 같다. Thus, the multiplication of the bits c (x) is

Figure 112004059417330-pat00008
Figure 112004059417330-pat00008

여기서, d(x)는 다음과 같다.Here, d (x) is as follows.

Figure 112004059417330-pat00009
Figure 112004059417330-pat00009

■ 모든 MSK 방법의 곱셈은 다음과 같은 과정으로 분류된다. ■ The multiplication of all MSK methods is classified into the following processes.

* STEP 1 : 다항식 곱셈 이전의 덧셈 연산* STEP 1: Addition operation before polynomial multiplication

* STEP 2 : 다항식 곱셈STEP 2: Polynomial Multiplication

* STEP 3 : 다항식 곱셈 이후의 덧셈 연산STEP 3: Add operation after polynomial multiplication

이하에서는 분류된 STEP별로 5중분할 카라슈바 방법의 복잡도에 대하여 살펴본다. Hereinafter, the complexity of the five-slicing Karasuba method for each classified step will be described.

첫째로, STEP1에서 MSK5 방법의 곱셈을 위하여 입력값의 분할들의 GF(pn)에서의 계수-덧셈이 수행된다. 따라서 A0+A1, B0+B1, A0 +A1+A3+A4, B0+B1+B3+B4 들은 각각 분할들의 계수간의 n/5-1차 계수-덧셈연산이므로 18·n/5번의 계수-덧셈 연산으로 수행된다. First, coefficient-addition in GF (p n ) of the partitions of the input value is performed for multiplication of the MSK 5 method in STEP1. Thus A 0 + A 1 , B 0 + B 1 , A 0 + A 1 + A 3 + A 4 , B 0 + B 1 + B 3 + B 4 are the n / 5-first order coefficients between the coefficients of the partitions, respectively. Because it is an addition operation, it is performed by 18 · n / 5 coefficient-addition operations.

둘째로, STEP2에서 A0B0, A1B1, …, (A3+A4 )(B3+B4), (A0+A1+A3+A4)(B0 +B1+B3+B4)는 n/5-1차 하위-곱셈이므로 14·(TOTn/5)번의 연산이 수행된다. Secondly, in STEP2, A 0 B 0 , A 1 B 1 ,. , (A 3 + A 4 ) (B 3 + B 4 ), (A 0 + A 1 + A 3 + A 4 ) (B 0 + B 1 + B 3 + B 4 ) is the n / 5-1 order Since it is a multiplication, 14 · (TOT n / 5 ) operations are performed.

마지막으로, STEP3에서 14개의 하위-곱셈 결과의 덧셈(뺄셈)연산이 수행된다. 하위-곱셈 각각의 결과는 2·(n/5-1)차이고 중복연산을 고려하면 11·(2·n/5- 1)번의 계수-덧셈 연산과 12·(2·n/5-1)번의 계수-뺄셈 연산이 필요하며 각항은 n/5-1개의 계수가 중복되므로 8·(n/5-1)번의 계수-덧셈 연산이 필요하다. 따라서 MSK5 방법을 m번 반복하였을 경우의 연산량은 아래와 같다.Finally, in STEP3, the addition (subtraction) operation of the 14 sub-multiplication results is performed. The result of each of the sub-multiplications is 2 · (n / 5-1) difference, and considering the redundant operation, the coefficient-add operation 11 · (2 · n / 5-1) and 12 · (2 · n / 5-1) Count-subtraction operations are required, and each term requires 8 · (n / 5-1) count-add operations because n / 5-1 coefficients are duplicated. Therefore, the calculation amount in case of repeating the MSK 5 method m times is as follows.

Figure 112004059417330-pat00010
Figure 112004059417330-pat00010

수학식 9의 연산결과를 이용하여 m번의 반복 후 하위-곱셈 방법을 SB 방법으로 구성하였을 경우 연산량은 다음과 같다.When the sub-multiplication method is configured by the SB method after m iterations using the calculation result of Equation 9, the calculation amount is as follows.

Figure 112004059417330-pat00011
Figure 112004059417330-pat00011

STEP1에서는 MSK의 곱셈 연산량을 줄이기 위하여 패턴을 이용한 입력값의 사전 계수-덧셈연산으로 하위-곱셈의 연산량을 줄인다. 따라서 사전연산의 결과가 하위-곱셈의 입력값으로 사용된다. STEP2에서는 사전연산의 결과를 이용하여 n/5-1차 하위-곱셈 연산을 수행하며 이 결과는 STEP3의 각각의 계수와 중복된 차수간의 계수-덧셈(뺄셈)연산을 통하여 결과값을 출력하게 된다.STEP1 reduces the amount of sub-multiplication by using pre-counting-add operation of input values using patterns to reduce the amount of multiplication in MSK. Therefore, the result of precomputation is used as the input value of the sub-multiplication. STEP2 performs n / 5-1th order sub-multiplication operation using the result of precomputation, and the result is outputted through coefficient-addition (subtraction) operation between each coefficient of STEP3 and overlapping orders. .

분할-정복 방법은 시간과 공간 복잡도에서 교환이 일어난다. 그러므로 반복횟수가 늘어남에 따라 시간 복잡도는 증가하지만 효과적으로 공간복잡도가 감소된 다. n=pmt라 가정하면 최대 m번의 반복 수행이 가능하다. 하지만 m은 최적화된 반복횟수가 아니다. 왜냐하면 GF(2p)에서 SB 곱셈기가 MSKp보다 낮은 공간 복잡도를 가지기 때문이다. 그러므로 엠. 언스트 등이 제안한 GF(2p)에 대한 타원곡선 암호화 방법을 적용하면

Figure 112004059417330-pat00012
에서 m≠0이라 가정하면 MSKp의 최적화된 반복횟수는 n/pk≠p를 만족하는 k이다. The split-conquer method takes place in time and space complexity. Therefore, as the number of iterations increases, the time complexity increases, but the space complexity is effectively reduced. Assuming n = p m t, a maximum of m iterations can be performed. M is not an optimized number of iterations. This is because the SB multiplier at GF (2 p ) has a lower spatial complexity than MSK p . Therefore M. Applying the elliptic curve encryption method for GF (2 p ) proposed by Ernst et al.
Figure 112004059417330-pat00012
Assuming that m ≠ 0 at, the optimized number of iterations of MSK p is k, which satisfies n / p k ≠ p.

한편, Successive Extension(SE) 방법은 확장체 GF(pn)에서 n이 작은 소수(2,3,...) 로 구성되었을 경우 장점을 가진다. 환경에 따른 곱셈, 제곱, 역원 계산의 연산량은 표 2에 기재되어 있다.On the other hand, the Successive Extension (SE) method has an advantage when n is composed of a small number (2, 3, ...) in the extension GF (p n ). The amount of calculation of the multiplication, square, and inverse calculation according to the environment is shown in Table 2.

환경Environment MULMUL SQRSQR INVINV 기약 다항식Pledge polynomial 기저Basis ADDADD MULMUL ADDADD MULMUL ADDADD MULMUL INVINV x2+1x 2 +1 다항식기저Polynomial basis 55 33 33 22 22 44 1One x2-2x 2 -2 다항식기저Polynomial basis 66 33 22 33 33 44 1One x2+x+1x 2 + x + 1 ONB TYPE 1ONB TYPE 1 44 33 44 22 22 44 1One x2-x-1x 2 -x-1 정규기저Regular basis 44 33 33 33 22 44 1One x2-x+1x 2 -x + 1 정규기저Regular basis 44 33 44 22 22 44 1One

Figure 112004059417330-pat00013
의 곱셈을 고려할 때, SE 방법은 다음의 수학식과 같이 연속적으로 계수-곱셈을 수행한다.
Figure 112004059417330-pat00013
Considering the multiplication of, the SE method performs coefficient-multiplication continuously as in the following equation.

Figure 112004059417330-pat00014
Figure 112004059417330-pat00014

따라서,

Figure 112004059417330-pat00015
의 경우 일반적으로 구성하면 All- One-Polynomial을 사용할 수 없으나 SE방법의 경우 사용이 가능하다. therefore,
Figure 112004059417330-pat00015
In case of general configuration, you cannot use All-One-Polynomial, but in case of SE method, you can use it.

기존의 방법과 SE방법의 장단점은 표 3에 기재되어 있다.The advantages and disadvantages of the existing and SE methods are listed in Table 3.

GF(p)→GF(pn)을 한번에 구성하는 경우When GF (p) → GF (p n ) is configured at once SE방법을 사용하는 경우When using the SE method 장점Advantages - n번의 모듈러 감산 연산을 수행한다. - 확장체 차수에 의존하지 않는다.Perform n modular subtraction operations. Does not depend on extension order - 덧셈(뺄셈) 연산을 최적화할 수 있다. - 다양한 기저와 기약다항식을 선택할 수 있다.-Optimize addition (subtraction) operations. Choose from a variety of basis and contract polynomials. 단점Disadvantages - 기저 선택에 제약을 받는다. - 기약다항식의 선택에 제약을 받는다.Limited by base choice Limited by the choice of the contract polynomial - 확장체의 차수가 작은 소수의 곱으로 구성되어야 한다. - 연속적으로 확장할 때마다 모듈러 감산 연산을 수행하여야 한다.-The order of extension should consist of a small number of products. -Whenever expanding continuously, modular subtraction operation should be performed.

표 3을 참조하면, 기존의 방법은 기저선택 및 기약다항식의 선택에 제약이 따른다. 또한, SE 방법은 확장체의 차수가 작은 소수의 곱으로 구성되어 있는 경우에 한정되며, 연속적으로 확장할 때마다 모듈러 감산 연산을 수행하여야 하는 문제가 있다.Referring to Table 3, the existing method is limited in the selection of the basis selection and the contract polynomial. In addition, the SE method is limited to a case where the order of the extension is composed of a small number of products, and there is a problem that a modular subtraction operation must be performed each time it is continuously extended.

본 발명이 이루고자 하는 기술적 과제는, 확장체의 차수 증가에도 불구하고 계수 곱셈의 연산량을 줄일 수 있는 확장체에서 다항식 곱셈장치 및 방법을 제공하는 데 있다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a polynomial multiplication apparatus and method in an extension that can reduce the amount of computation of coefficient multiplication despite an increase in the order of the expansion.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 확장체에서 다항식 곱셈장치의 바람직한 일 실시예는, 소정의 분할차수 S에 대해 입력된 확장체의 차수 n이 하위경계값 Sk-1와 상위경계값 Sk 사이에 존재하도록 하는 k를 검색하는 검색부; 상기 하위경계값 Sk-1과 상기 상위경계값 Sk 사이의 구간을 상기 하위경계값 Sk-1 보다 크고 상기 상위경계값 Sk보다 작은 복수의 분할값에 의해 분할하여 형성된 복수의 분할구간 중에서 상기 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정하는 상태값결정부; 및 수학식 n'=State·Sk-2에 의해 얻어진 값을 최적의 확장체 차수로 결정하는 최적차수결정부;를 구비한다. 여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.In order to achieve the above technical problem, in a preferred embodiment of the polynomial multiplication apparatus in an extension according to the present invention, the order n of the extension input for a predetermined division order S is higher than the lower boundary value S k-1. A search unit for searching k to exist between the boundary values S k ; The lower boundary value of S k-1 and the higher threshold S k a plurality of divided sections to section the lower boundary value of S k-1 larger and formed by dividing by the upper boundary value of a division value of the smaller plurality than S k between A state value determination unit that determines, as a state value, an upper boundary value of a division section to which the order n of the extension belongs; And an optimum order determining unit that determines the value obtained by the equation n '= State Sk-2 as an optimal extension body order. Where n 'is the optimal extension order and State means the state value.

상기의 기술적 과제를 달성하기 위한, 본 발명에 따른 확장체에서 다항식 곱셈장치의 바람직한 다른 실시예는, 입력된 확장체의 차수 n이 하위경계값 2k-2k-2보다 크고 상위경계값 2k+1-2k-1보다 작거나 같도록 하는 k를 검색하는 검색부; 3·2 k-2, 2k, 5·2k-2, 그리고, 6·2k-2로 구성되는 분할값에 의해 형성되는 복수의 분할 구간 중에서 상기 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정하는 상태값결정부; 및 수학식 n'=State·2k-1에 의해 얻어진 값을 최적의 확장체 차수로 결정하는 최적차수결정부;를 구비한다. 여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.In order to achieve the above technical problem, another preferred embodiment of the polynomial multiplication apparatus in the expansion body according to the present invention is that the order n of the input expansion body is larger than the lower boundary value 2 k -2 k -2 and the upper boundary value 2. a searcher for searching k such that k + 1 −2 k −1 or less; The division section to which the order n of the extension belongs among the plurality of division sections formed by the division values composed of 3 · 2 k-2 , 2 k , 5 · 2 k-2 , and 6 · 2 k-2 . A state value determining unit which determines an upper boundary value as a state value; And an optimum order determining unit that determines the value obtained by the equation (n '= State.2k -1) as the optimal extension body order. Where n 'is the optimal extension order and State means the state value.

상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 확장체에서 다항식 곱셈방법의 바람직한 일 실시예는, 소정의 분할차수 S에 대해 입력된 확장체의 차수 n이 하위경계값 Sk-1와 상위경계값 Sk 사이에 존재하도록 하는 k를 검색하는 단 계; 상기 하위경계값 Sk-1과 상기 상위경계값 Sk 사이의 구간을 상기 하위경계값 Sk-1보다 크고 상기 상위경계값 Sk보다 작은 복수의 분할값에 의해 분할하여 형성된 복수의 분할구간 중에서 상기 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정하는 단계; 및 수학식 n'=State·Sk-2에 의해 얻어진 값을 최적의 확장체 차수로 결정하는 단계;를 포함한다. 여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.In order to achieve the above technical problem, a preferred embodiment of the polynomial multiplication method in an extension according to the present invention, the order n of the extension input for the predetermined division order S is equal to the lower boundary value S k-1 . Retrieving k such that it exists between upper boundary values S k ; The lower boundary value of S k-1 and the higher threshold S k a plurality of divided sections to section the lower boundary value of S k-1 larger and formed by dividing by the upper boundary value of a division value of the smaller plurality than S k between Determining an upper boundary value of a division section to which the order n of the extension belongs among the state values; And determining the value obtained by the equation n '= State Sk-2 as an optimal extension body order. Where n 'is the optimal extension order and State means the state value.

상기의 다른 기술적 과제를 달성하기 위한, 본 발명에 따른 확장체에서 다항식 곱셈방법의 바람직한 다른 실시예는, 입력된 확장체의 차수 n이 하위경계값 2k-2k-2보다 크고 상위경계값 2k+1-2k-1보다 작거나 같도록 하는 k를 검색하는 단계; 3·2k-2, 2k, 5·2k-2, 그리고, 6·2k-2로 구성되는 분할값에 의해 형성되는 복수의 분할 구간 중에서 상기 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정하는 단계; 및 수학식 n'=State·2k-1에 의해 얻어진 값을 최적의 확장체 차수로 결정하는 단계;를 포함한다. 여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.Another preferred embodiment of the polynomial multiplication method in an extension according to the present invention for achieving the above another technical problem is that the order n of the input extension is greater than the lower boundary value 2 k -2 k -2 and the upper boundary value. Searching k such that it is less than or equal to 2 k + 1 -2 k-1 ; The division section to which the order n of the extension belongs among the plurality of division sections formed by the division values composed of 3 · 2 k-2 , 2 k , 5 · 2 k-2 , and 6 · 2 k-2 . Determining an upper boundary value as a state value; And determining the value obtained by the equation n '= State · 2 k−1 as the optimal extension body order. Where n 'is the optimal extension order and State means the state value.

이에 의해, 확장체의 차수가 비교적 큰 경우에도 불구하고 계수-곱셈의 경우 3배 이상 연산량을 줄일 수 있다.Thereby, even in the case where the degree of extension is relatively large, the computation amount can be reduced by three times or more in the case of coefficient-multiplication.

이하에서, 첨부된 도면들을 참조하여 본 발명에 따른 확장체에서 다항식 곱 셈장치 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the polynomial multiplication apparatus and method in the extension according to the present invention.

먼저, 임의의 확장체 GF(pn)에서 다항식 곱셈을 효율적으로 구성하는 방법에 대하여 설명한다. 본 발명에서는 일반적인 확장체 환경을 고려하므로 계수-곱셈 연산량을 최소화하는 방법을 기술한다. KO방법을 적용하면 확장체의 차수가 n=2mt일 때 t가 작은 값일수록 효율성이 좋아진다. 즉, 확장체의 차수가 소수이거나 비교적 큰 소수들의 곱으로 구성되어 있으면 실질적으로 효율성이 없다. 하지만 표준문서 등에서 제안하는 확장체의 차수는 안전성을 고려하여 대부분 소수이므로 소수 차수를 가지는 확장체에 대한 대책이 필요하다.First, a method for efficiently constructing polynomial multiplication in an arbitrary extension GF (p n ) will be described. In the present invention, a method for minimizing the coefficient-multiplication amount is described since the general extension environment is considered. By applying the KO method, the smaller the value of t is, the better the efficiency is when the degree of extension is n = 2 m t. In other words, if the degree of the extension consists of a small number or a product of relatively large numbers, it is substantially inefficient. However, since the degree of the extension body proposed in the standard document is mostly a minority in consideration of safety, a countermeasure for an extension body having a minority order is necessary.

먼저, KO 방법을 사용한 최적 확장체 차수 선택 방법에 대해 설명한다.First, a method of selecting an optimal extended body order using the KO method will be described.

KO 방법을 사용한 다항식 곱셈 연산은 다음과 같은 두 가지 성질을 만족한다. 확장체의 차수가 홀수일 때는 KO방법이 적용되지 않으므로 SB 방법을 사용하는 것으로 가정한다.Polynomial multiplication using the KO method satisfies the following two properties. Since the KO method is not applied when the degree of the extension is odd, it is assumed that the SB method is used.

보조정리 1. (KO 방법을 다항식 곱셈에 적용할 경우)Auxiliary Theorem 1. (When the KO Method is Applied to Polynomial Multiplication)

기약다항식의 차수를 n라 하고 #MUL을 다항식 곱셈의 계수-곱셈 연산량이라 한다. 만약 n이 짝수이고 n > 8이면, 다음의 수학식을 만족한다.The order of the contract polynomial is n and #MUL is the coefficient-multiplication of polynomial multiplication. If n is even and n> 8, the following equation is satisfied.

Figure 112004059417330-pat00016
Figure 112004059417330-pat00016

여기서, n이 짝수이므로 n=2t라 하고, 이 때, t는 1보다 큰 정수이다. n-1차 확장체의 경우는 홀수 차수이므로 SB 방법이 적용되어 계수-곱셈의 연산량은 #MULDB(n-1)=(2t-1)2이다. 그리고 확장체의 차수가 n인 경우는 한번 KO 방법을 적용 가능하므로 #MULKO(n)=3t2이다. 따라서 #MULDB(n-1) > #MULKO (n)이면, 다음의 수학식으로 표현된다. Since n is even, n = 2t, where t is an integer greater than one. In the case of the n-first extension, the SB method is applied so that the amount of coefficient-multiplication is #MUL DB (n-1) = (2t-1) 2 . And when the order of the extension is n, once the KO method is applicable, #MUL KO (n) = 3t 2 . Therefore, if #MUL DB (n-1)>#MUL KO (n), it is represented by the following equation.

Figure 112004059417330-pat00017
Figure 112004059417330-pat00017

이 때, t는 양의 정수이므로 부등식을 만족하기 위해서는 t > 4 이어야 한다. 즉 n이 8보다 큰 경우 #MULDB(n-1) > #MULKO(n)이다. 보조정리 1에 의하여 만약 n이 홀수이면 n 번째 계수로 0을 추가하여 n+1차에 KO방법을 적용하는 것이 더 효율적임을 알 수 있다. 또한, n이 짝수일 때 #MULDB(n-1) > #MULKO(n)이면, #MUL KO(2n) > 3·#MULSB(n)이므로 #MULKO(2(n-1)) > #MULKO(2n)가 성립한다. 이를 정리하면 다음과 같은 정리를 얻을 수 있다.At this time, since t is a positive integer, t> 4 is required to satisfy the inequality. That is, when n is greater than 8, #MUL DB (n-1)>#MUL KO (n). According to supplementary theorem 1, it is more efficient to apply the KO method to the order n + 1 by adding 0 as the nth coefficient if n is odd. Also, if n is even, if #MUL DB (n-1)>#MUL KO (n), then #MUL KO (2n)> 3 · MUL SB (n), so #MUL KO (2 (n-1) )>#MUL KO (2n) holds. This can be summarized as follows.

정리 2. (KO 방법을 다항식 곱셈에 적용할 경우)Theorem 2. (When the KO Method is Applied to Polynomial Multiplication)

기약다항식의 차수를 n이라 하고 #MUL을 다항식 곱셈의 계수-곱셈 연산량이라 하고, n=2kt이고 보조정리 1을 만족한다고 가정한다. k 가 양의 정수이고 t > 4이면 다음을 만족한다. Assume that the order of the polynomial polynomial is n and #MUL is the coefficient-multiplication of polynomial multiplication, and n = 2 k t and satisfies auxiliary theorem 1. If k is a positive integer and t> 4, then

Figure 112004059417330-pat00018
Figure 112004059417330-pat00018

정리 2는 보조정리 1에 의하여 쉽게 증명된다. 보조정리 1과 정리 2의 결과에 의하면 확장체의 차수가 크더라도 계수-곱셈 연산량은 작음을 알 수 있다. 예를 들어, GF(p258)에서 다항식곱셈을 수행하는 경우 계수-곱셈 연산량은 49,923이지만, GF(p320)에서 다항식 곱셈을 수행하는 경우 계수-곱셈 연산량은 18,225로 대략 2.5배 정도 작음을 알 수 있다. 따라서 임의의 확장체에서 계수-곱셈의 복잡도가 최적화되도록 구성할 필요가 있다.Theorem 2 is easily proved by Supplementary Theorem 1. The results of Auxiliary Theorem 1 and Theorem 2 show that the coefficient-multiplication is small even if the degree of extension is large. For example, polynomial multiplication at GF (p 258 ) is 49,923, but polynomial multiplication at GF (p 320 ) is 18,225, which is approximately 2.5 times smaller. Can be. Therefore, it is necessary to configure so that the complexity of coefficient-multiplication in any extension is optimized.

알고리즘 1: KO 방법을 이용한 효율적인 다항식 곱셈의 구성Algorithm 1: Construction of an Efficient Polynomial Multiplication Using the KO Method

INPUT : 확장체의 차수 nINPUT: order n of extension

OUTPUT : 효율성이 높은 차수 n'OUTPUT: Higher order n '

1. 2k-2k-2 < n ≤ 2k+1-2k-1인 k를 찾는다.1. Find k with 2 k -2 k-2 <n ≤ 2 k + 1 -2 k-1 .

2. k < 3이면, 일반적인 KO 방법을 적용한다.2. If k <3, the general KO method is applied.

3. 다음 세 가지 경우 중 해당하는 경우를 찾는다.3. Find one of the following three cases.

3.1. 3·2k-2 < n ≤ 2k이면 State=4.3.1. If 3 · 2 k-2 <n ≤ 2 k, State = 4.

3.2. 2k < n ≤ 5·2k-2 이면 State=5.3.2. If 2 k <n ≤ 5 · 2 k-2, State = 5.

3.3. 5·2k-2 < n ≤ 6·2k-2 이면 State=6.3.3. If 5 · 2 k-2 <n ≤ 6 · 2 k-2, State = 6.

4. n'=State·2k-2를 반환한다.4. Return n '= State · 2 k-2 .

입력 값으로 들어간 확장체의 차수 n이 아닌 n' 에서 구성하는 경우 더 작은 계수-곱셈의 복잡도를 가진다. 따라서 알고리즘 1에서 n < n' 인 경우 n'-n 개의 0을 패딩(Padding)하여 다항식 곱셈 연산을 구성한다. 알고리즘 1을 이용하면 임의의 차수를 가지는 확장체에 대하여 KO 방법을 이용하여 다항식 곱셈 연산과정을 수행시 가장 작은계수-곱셈을 가지는 차수를 구할 수 있게 된다. 위의 알고리즘을 사용한 결과와 기존의 방법을 사용한 결과를 비교하면 다음과 같다.When configured at n 'rather than the order n of the extension as input, it has a smaller coefficient-multiplication complexity. Therefore, when n <n 'in Algorithm 1, a polynomial multiplication operation is constructed by padding n'-n zeros. Using Algorithm 1, it is possible to obtain an order having the smallest coefficient-multiplication when performing a polynomial multiplication process using the KO method for an extension having an arbitrary order. The result of using the algorithm above and the result using the conventional method are as follows.

차수(n)Order (n) KO 방법KO method 알고리즘 1Algorithm 1 77 4949 2727 2222 363363 243243 6060 2,0252,025 729729 7676 3,2493,249 2,0252,025 9292 4,7614,761 2,1872,187 122122 11,16311,163 2,1872,187 146146 15,98715,987 6,0756,075 180180 18,22518,225 6,5616,561 234234 41,06741,067 6,5616,561 298298 66,60366,603 18,22518,225 370370 102,675102,675 19,68319,683 394394 116,427116,427 19,68319,683

표 4에 기재된 바와 같이 알고리즘 1을 적용하면 기존의 KO방법에서 가장 효율적인 차수를 찾아 구성할 수 있게 된다. 또한, 확장체의 차수가 증가할수록 수십 배 이상의 계수-곱셈 연산량을 줄일 수 있다.Applying Algorithm 1, as shown in Table 4, it is possible to find and configure the most efficient order in the existing KO method. In addition, as the degree of the extension increases, the coefficient-multiplication operation amount may be reduced by several tens of times or more.

다음으로, MSK3 방법을 사용한 최적 확장체 차수 선택에 대해 설명한다.Next, the optimal extension order selection using the MSK 3 method will be described.

MSK3방법을 사용한 다항식 곱셈 연산은 다음과 같은 성질을 만족한다. 3-중분할의 경우 확장체의 차수가 3의 배수여야 적용되므로 n이 3의 배수이면 n-1과 n-2는 3의 배수가 아니므로 다항식 곱셈을 수행할 경우 SB 방법을 적용한다.Polynomial multiplication using the MSK 3 method satisfies the following properties: In the case of 3-middle division, the order of extension is applied to multiples of 3, so if n is a multiple of 3, n-1 and n-2 are not multiples of 3, so the SB method is used to perform polynomial multiplication.

보조정리 3. (MSK3 방법을 다항식 곱셈에 적용할 경우)Auxiliary Theorem 3. (When MSK3 Method is Applied to Polynomial Multiplication)

기약다항식의 차수를 n이라 하고 #MUL을 다항식 곱셈의 계수-곱셈 연산량이라 한다. 만약 n = 3t 이면, 다음을 만족한다.The order of the contract polynomial is n and #MUL is the coefficient-multiplication of polynomial multiplication. If n = 3t, then

t≥2인 경우:

Figure 112004059417330-pat00019
If t≥2:
Figure 112004059417330-pat00019

t≥3인 경우:

Figure 112004059417330-pat00020
If t≥3:
Figure 112004059417330-pat00020

보조정리 3에 의하여 n = 3t일 때 t 가 2보다 큰 경우 3t' - 2, 3t' - 1, 3t' 중에서 3t'의 경우가 가장 계수-곱셈량이 작다. 따라서 확장체의 차수가 9보다 큰 경우 확장체의 차수가 3의 배수인 것만을 고려한다.When n is equal to 3t according to Auxiliary Theorem 3, 3t 'is the smallest coefficient-multiplication among 3t'-2, 3t '-1, and 3t'. Therefore, if the degree of expansion is greater than 9, only the degree of expansion is considered to be a multiple of three.

정리 4. (MSK3 방법의 다항식 곱셈을 적용 경우)Theorem 4. (When applying polynomial multiplication of the MSK 3 method)

기약다항식의 차수를 n(3k-1 < n < 3k)라 하고 #MUL을 다항식 곱셈의 계수-곱셈 연산량이라 하면 다음과 같이 정리된다.If the order of the contract polynomial is n (3 k-1 <n <3 k ) and #MUL is the coefficient-multiplication of polynomial multiplication,

1.

Figure 112004059417330-pat00021
One.
Figure 112004059417330-pat00021

2.

Figure 112004059417330-pat00022
2.
Figure 112004059417330-pat00022

3.

Figure 112004059417330-pat00023
3.
Figure 112004059417330-pat00023

4.

Figure 112004059417330-pat00024
4.
Figure 112004059417330-pat00024

이 때 k > 0 이다. Where k> 0.

보조정리 3은 쉽게 증명이 가능하므로 자세한 증명은 생략한다. 정리 4에서 1의 경우, 다중분할 카라슈바 방법에 의하여 3중분할 방법을 1번 반복하는 경우 6 번의 하위-곱셈이 구성되므로

Figure 112004059417330-pat00025
이다. 정리 4에서 2의 경우, n=t·3k-2라 하면, t는 3 < t < 4의 범위를 가져야하므로 만족하는 경우가 없으며, n=t·3k-3이라 하면, t는 32 < t < 4·3의 범위를 가지므로
Figure 112004059417330-pat00026
이다. 따라서 보조정리 3에 의하여 정리 4에서 2의 경우는 만족한다. 정리 4에서 3의 경우, n=t·3k-2라 하면, 4 < t < 2·3이므로
Figure 112004059417330-pat00027
이다. 따라서 보조정리 3에 의하여 정리 4에서 3의 경우는 만족한다. 정리 4에서 4의 경우, n=t·3k-2라 하면, 2·3 < t < 32이므로
Figure 112004059417330-pat00028
이고 보조정리 3에 의하여 4번째 성질도 만족한다.Assistance Theorem 3 can be easily proved, so detailed proof is omitted. In case of theorem 4 to 1, if the triple division method is repeated once by the multi-sharing Karashuba method, six sub-multiplications are formed.
Figure 112004059417330-pat00025
to be. In the theorem 4 to 2, if n = t · 3 k-2 , t must be in the range of 3 <t <4, and there is no case to satisfy. If n = t · 3 k-3 , t is 3 2 <t <4 · 3
Figure 112004059417330-pat00026
to be. Therefore, in theorem 3, the case of theorem 4 to 2 is satisfied. For theorem 4 to 3, let n = t · 3 k-2 , since 4 <t <2 · 3
Figure 112004059417330-pat00027
to be. Therefore, the theorem 4 to 3 is satisfied by the auxiliary theorem 3. In the case of theorem 4 to 4, let n = t · 3 k-2 <t <3 2 so
Figure 112004059417330-pat00028
In addition, the fourth property is satisfied by the auxiliary theorem 3.

보조정리 3과 정리 4의 성질을 알고리즘으로 정리하면 다음과 같다.The properties of Auxiliary Theorem 3 and Theorem 4 can be summarized as follows.

알고리즘 2: MSK3 방법을 이용한 효율적인 다항식 곱셈의 구성Algorithm 2: Construction of an Efficient Polynomial Multiplication Using the MSK 3 Method

INPUT : 확장체의 차수 nINPUT: order n of extension

OUTPUT : 효율성이 높은 차수 n'OUTPUT: Higher order n '

1. n < 3보다 작은 경우 n을 반환한다. Return n if n <3

2. 3k-1 < n ≤ 3k 를 만족하는 k를 찾는다.2. Find k that satisfies 3 k-1 <n ≤ 3 k .

3. 다음 중 해당하는 경우를 찾는다.3. Find the case that applies to you.

3.1. 3k-1 < n ≤ 4·3k-2 이면 State=4.3.1. If 3 k-1 <n ≤ 4 · 3 k-2, State = 4.

3.2. 4·3k-2 < n ≤ 2·3k-1 이면 State=6.3.2. If 4 · 3 k-2 <n ≤ 2 · 3 k-1, State = 6.

3.3. 2·3k-1 < n < 3k이면 State=9.3.3. If 2 · 3 k-1 <n <3 k, State = 9.

4. n'=State·3k-2를 반환한다.4. Return n '= State · 3 k-2 .

다음으로, MSK5 방법을 사용한 최적 확장체 차수 선택에 대해 설명한다.Next, the optimal extension order selection using the MSK 5 method will be described.

MSK5방법을 사용한 다항식 곱셈 연산은 다음과 같은 성질을 만족한다. 5-중분할의 경우 확장체의 차수가 5의 배수여야 적용되므로 n 이 5의 배수이면 n-1, …, n-4 는 5의 배수가 아니므로 다항식 곱셈을 수행할 경우 SB 방법을 적용한다.Polynomial multiplication using the MSK 5 method satisfies the following properties: In the case of 5-middle division, the degree of expansion is applied only when it is a multiple of 5. Since n-4 is not a multiple of 5, the SB method is applied when performing polynomial multiplication.

보조정리 5. (MSK5 방법의 다항식 곱셈을 적용 경우)Auxiliary Theorem 5. (When Polynomial Multiplication of MSK 5 Method is applied)

기약다항식의 차수를 n 라 하고 #MUL을 다항식 곱셈의 계수-곱셈 연산량이라 할 때, n = 5t 이면, 다음을 만족한다. If the order of the contract polynomial is n and #MUL is the coefficient-multiplication of polynomial multiplication, n = 5t,

Figure 112004059417330-pat00029
Figure 112004059417330-pat00029

Figure 112004059417330-pat00030
Figure 112004059417330-pat00030

Figure 112004059417330-pat00031
Figure 112004059417330-pat00031

Figure 112004059417330-pat00032
Figure 112004059417330-pat00032

보조정리 6에 의하여 n = 5t일 때 t가 4보다 큰 경우 5t'-4, 5t'-3, 5t'-2, 5t'-1, 5t' 중에서 5t'의 경우가 가장 계수-곱셈 연산량이 작다. 따라서 확장체의 차수가 20보다 큰 경우 확장체의 차수가 5의 배수인 것만을 고려한다.When the t is greater than 4 when n = 5t according to the auxiliary theorem 6, 5t'-4, 5t'-3, 5t'-2, 5t'-1, and 5t 'are the most coefficient-multiplications. small. Therefore, if the degree of the expansion body is greater than 20, only the degree of expansion of 5 is considered.

정리 6. (MSK5 방법의 다항식 곱셈을 적용 경우)Theorem 6. (When applying polynomial multiplication of the MSK5 method)

기약다항식의 차수를 n (5k-1 < n ≤ 5k )라 하고 #MUL을 다항식 곱셈의 계수-곱셈 연산량이라 하면 다음을 만족한다.If the order of the weak polynomial is n (5 k-1 <n ≤ 5 k ) and #MUL is the coefficient-multiplication of polynomial multiplication, the following is satisfied.

1.

Figure 112004059417330-pat00033
One.
Figure 112004059417330-pat00033

2.

Figure 112004059417330-pat00034
2.
Figure 112004059417330-pat00034

3.

Figure 112004059417330-pat00035
3.
Figure 112004059417330-pat00035

4.

Figure 112004059417330-pat00036
4.
Figure 112004059417330-pat00036

5.

Figure 112004059417330-pat00037
5.
Figure 112004059417330-pat00037

6.

Figure 112004059417330-pat00038
6.
Figure 112004059417330-pat00038

7.

Figure 112004059417330-pat00039
7.
Figure 112004059417330-pat00039

이 때, k > 1 이다. At this time, k> 1.

정리 6의 2번째 경우를 예로 살펴본다. 범위에 존재하는 n에 대하여 인 경우 만족하는 t가 존재하지 않으면, 보조정리 5에 의하여 에서 이면 인 경우는 존재하지 않는다. 따라서 MSK3의 경우와 같이 증명이 유도된다.Consider the second case of Theorem 6 as an example. For n present in the range, if there is no satisfying t, then the case does not exist in A by theorem 5. Thus proof is derived as in the case of MSK3.

보조정리 6 와 정리 7 을 이용하여 알고리즘을 구성하면 다음과 같다.The algorithm is constructed using the auxiliary theorem 6 and theorem 7 as follows.

알고리즘 3: MSK5 방법을 이용한 효율적인 다항식 곱셈의 구성Algorithm 3: Construction of an Efficient Polynomial Multiplication Using the MSK 5 Method

INPUT : 확장체의 차수 nINPUT: order n of extension

OUTPUT : 효율성이 높은 차수 n'OUTPUT: Higher order n '

1. n < 4 보다 작은 경우 n을 반환한다. 1. If n <4, return n.

2. n = 4, 5 인 경우 n=5를 반환한다. 2. If n = 4, 5, n = 5 is returned.

3. 5k-1 < n ≤ 5k 를 만족하는 k를 찾는다.3. Find k that satisfies 5 k-1 <n ≤ 5 k .

4. 다음 중 해당하는 경우를 찾는다.4. Find the case below that applies to you.

4.1. 5k-1 < n ≤ 6·5k-2 이면 State=6.4.1. If 5 k-1 <n ≤ 6 · 5 k-2, State = 6.

4.2. 6·5k-2 < n ≤ 7·5k-2 이면 State=7.4.2. If 6 · 5 k-2 <n ≤ 7 · 5 k-2, State = 7.

4.3. 7·5k-2 < n ≤ 2·5k-1 이면 State=10.4.3. If 7 · 5 k-2 <n ≤ 2 · 5 k-1, State = 10.

4.4. 2·5k-1 < n ≤ 11·5k-2 이면 State=11.4.4. If 2 · 5 k−1 <n ≦ 11 · 5 k−2, State = 11.

4.5. 11·5k-2 < n ≤ 3·5k-1 이면 State=15.4.5. If 11 · 5 k-2 <n ≦ 3 · 5 k-1, State = 15.

4.6. 3·5k-1 < n ≤ 5k 이면 State=25.4.6. When 3 · 5 k−1 <n ≤ 5 k, State = 25.

5. n'=State·5k-2를 반환한다.5. Return n '= State · 5 k-2 .

도 1은 본 발명에 따른 확장체에서 다항식 곱셈장치에 대한 바람직한 실시예의 구성을 도시한 블록도이다.1 is a block diagram showing the configuration of a preferred embodiment of a polynomial multiplication apparatus in an extension according to the present invention.

도 1을 참조하면, 본 발명에 따른 확장체에서 다항식 곱셈장치(100)는, 검색부(110), 상태값결정부(120), 최적차수결정부(130), 제어부(140)를 구비한다.Referring to FIG. 1, the polynomial multiplication apparatus 100 in the expanded body according to the present invention includes a search unit 110, a state value determiner 120, an optimum order determiner 130, and a controller 140. .

검색부(110)는 소정의 분할차수 S에 대해 입력된 확장체의 차수 n이 하위경계값 Sk-1와 상위경계값 Sk 사이에 존재하도록 하는 k를 검색한다. 상태값결정부(120)는 하위경계값 Sk-1과 상위경계값 Sk 사이의 구간을 하위경계값 Sk-1 보다 크고 상위경계값 Sk보다 작은 복수의 분할값에 의해 분할하여 형성된 복수의 분할구간 중에서 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정한다. 최적차수결정부(130)는 다음의 수학식에 의해 얻어진 값을 최적의 확장체 차수로 결정한다.The search unit 110 searches for k such that the order n of the extension input for the predetermined division order S exists between the lower boundary value S k-1 and the upper boundary value S k . State determination unit 120 is formed by dividing by the lower boundary value of S k-1 and the upper bound value of S divided value of a small plurality of sections than the lower boundary value larger upper bound value that is less than S k-1 S k between the k The upper boundary value of the divided section to which the order n of the extension belongs among the plurality of divided sections is determined as a state value. The optimum order determiner 130 determines the value obtained by the following equation as an optimal extension body order.

n'=State·Sk-2,n '= StateSk -2 ,

여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.Where n 'is the optimal extension order and State means the state value.

제어부(140)는 다른 구성요소의 동작을 제어한다.The controller 140 controls the operation of other components.

상기의 구성을 갖는 다항식 곱셈장치(100)는 상술한 알고리즘 2 및 3을 하드웨어적으로 구현한 장치이다. 따라서, 다항식 곱셈장치(100)에 알고리즘 2가 적용된 경우, 즉, 분할차수 S가 3인 경우에, 상기 분할값은 4·Sk-2와 2·Sk-1로 정의된다. 이 때, 최적차수결정부(130)는 확장체의 차수 n이 분할차수 S보다 작으면 확장체의 차수 n을 최적의 확장체 차수로 결정한다. 이와 달리, 다항식 곱셈장치(100)에 알고리즘 3이 적용된 경우, 즉 분할차수 S가 5인 경우에, 분할값은 6·Sk-2, 7·Sk-2, 2·Sk-1, 11·Sk-2, 그리고, 3·Sk-1로 정의된다. 이 때, 최적차수결정부(130)는 확장체의 차수 n이 분할차수 S에서 1을 감한 값보다 작으면 확장체의 차수 n을 최적의 확장체 차수로 결정하며, 확장체의 차수 n이 분할차수 S에서 1을 감한 값 또는 분할차수 S와 같으면 분할차수 S를 최적의 확장체 차수로 결정한다.The polynomial multiplication apparatus 100 having the above configuration is a hardware implementation of the algorithms 2 and 3 described above. Therefore, when the algorithm 2 is applied to the polynomial multiplication apparatus 100, that is, when the division order S is 3, the division values are defined as 4 · S k-2 and 2 · S k-1 . At this time, when the order n of the extension is smaller than the division order S, the optimum order determination unit 130 determines the order n of the extension as the optimal extension. In contrast, when algorithm 3 is applied to the polynomial multiplier 100, that is, when the division order S is 5, the division values are 6 · S k-2 , 7 · S k-2 , 2 · S k-1 , 11 · S k-2 and 3 · S k-1 . At this time, when the order n of the extension is smaller than the value obtained by subtracting 1 from the division order S, the optimum order determiner 130 determines the order n of the extension as the optimal extension order, and the order n of the extension is divided. If the value S is subtracted from the order S or equal to the division order S, the division order S is determined as the optimal extension body order.

한편, 상술한 알고리즘 1을 구현한 다항식 곱셈장치 역시 각각의 구성요소의 기능만 상이할 뿐 도 1에 도시된 바와 실질적으로 동일한 구성을 갖는다. 알고리즘 1이 구현된 다항식 곱셈장치의 경우에 각각의 구성요소의 기능은 다음과 같다. On the other hand, the polynomial multiplication apparatus that implements the above-described algorithm 1 also has substantially the same configuration as shown in FIG. In the case of the polynomial multiplier with Algorithm 1, the function of each component is as follows.

검색부(110)는 입력된 확장체의 차수 n이 하위경계값 2k-2k-2보다 크고 상위경계값 2k+1-2k-1보다 작거나 같도록 하는 k를 검색한다. 이 때, 상기 확장체의 차수 n은 짝수이고, k는 3보다 크거나 같다. 상태값결정부(120)는 3·2k-2, 2k, 5·2k-2 , 그리고, 6·2k-2로 구성되는 분할값에 의해 형성되는 복수의 분할 구간 중에서 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정한다. 최적차수결정부(130)는 다음의 수학식에 의해 얻어진 값을 최적의 확장체 차수로 결정한다.The search unit 110 searches k such that the order n of the input extension is greater than the lower boundary value 2 k -2 k -2 and less than or equal to the upper boundary value 2 k +1 -2 k -1. In this case, the order n of the extension is even, and k is greater than or equal to three. The state value determining unit 120 includes an extension body of a plurality of divided sections formed by divided values composed of 3 · 2 k-2 , 2 k , 5 · 2 k-2 , and 6 · 2 k-2 . The upper boundary value of the division section to which order n belongs is determined as a state value. The optimum order determiner 130 determines the value obtained by the following equation as an optimal extension body order.

n'=State·2k-1,n '= State 2 k-1 ,

여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.Where n 'is the optimal extension order and State means the state value.

도 2는 본 발명에 따른 확장체에서 효율적인 다항식 곱셈방법에 대한 바람직한 일 실시예의 수행과정을 도시한 흐름도이다.Figure 2 is a flow chart showing the implementation of a preferred embodiment for an efficient polynomial multiplication method in an extension according to the present invention.

도 2를 참조하면, 검색부(110)는 소정의 분할차수 S에 대해 입력된 확장체의 차수 n이 하위경계값 Sk-1와 상위경계값 Sk 사이에 존재하도록 하는 k를 검색한다(S200). 상태값결정부(120)는 하위경계값 Sk-1과 상위경계값 Sk 사이의 구간을 상기 하위경계값 Sk-1보다 크고 상위경계값 Sk보다 작은 복수의 분할값에 의해 분할하여 형성된 복수의 분할구간 중에서 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정한다(S210). 최적차수결정부(130)는 다음의 수학식에 의해 얻어진 값을 최적의 확장체 차수로 결정한다.Referring to FIG. 2, the search unit 110 searches for k such that the order n of the extension input for the predetermined division order S exists between the lower boundary value S k-1 and the upper boundary value S k ( S200). State determination unit 120 is divided by a lower boundary value of S k-1 and the upper bound value S dividing the value of the smaller plurality is greater than the upper bound value S k the interval between the k than the lower boundary value of S k-1 The upper boundary value of the divided section to which the order n of the extension belongs among the plurality of divided sections is determined as a state value (S210). The optimum order determiner 130 determines the value obtained by the following equation as an optimal extension body order.

n'=State·Sk-2,n '= StateSk -2 ,

여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.Where n 'is the optimal extension order and State means the state value.

이상에서 분할차수에 따른 분할값 및 확장체의 차수와 분할차수의 크기에 따른 최적의 확장체 차수는 도 1을 참조하여 설명한 알고리즘 2 및 알고리즘 3의 경우와 동일하다. In the above description, the optimal extension order according to the division value, the order of extension and the magnitude of the extension is the same as that of Algorithm 2 and Algorithm 3 described with reference to FIG. 1.

도 3은 본 발명에 따른 확장체에서 효율적인 다항식 곱셈방법에 대한 바람직한 다른 실시예의 수행과정을 도시한 흐름도이다.Figure 3 is a flow chart showing the implementation of another preferred embodiment for an efficient polynomial multiplication method in the extension according to the present invention.

도 3을 참조하면, 검색부(110)는 입력된 확장체의 차수 n이 하위경계값 2k-2k-2보다 크고 상위경계값 2k+1-2k-1보다 작거나 같도록 하는 k를 검색한다(S300). 이 때, 확장체의 차수 n은 짝수이고, k는 3보다 크거나 같다. 상태값결정부(120)는 3·2k-2, 2k, 5·2k-2, 그리고, 6·2k-2로 구성되는 분할값에 의해 형성되는 복수의 분 할 구간 중에서 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정한다(S310). 최적차수결정부(130)는 다음의 수학식에 의해 얻어진 값을 최적의 확장체 차수로 결정한다. Referring to FIG. 3, the search unit 110 may determine that the order n of the input extension is greater than the lower boundary value 2 k −2 k −2 and less than or equal to the upper boundary value 2 k + 1 −2 k −1. Search k (S300). At this time, the order n of the extension is even, and k is greater than or equal to three. The state value determining unit 120 expands the body into a plurality of divided sections formed by the divided values composed of 3 · 2 k-2 , 2 k , 5 · 2 k-2 , and 6 · 2 k-2 . The upper boundary value of the division section to which the order n belongs is determined as a state value (S310). The optimum order determiner 130 determines the value obtained by the following equation as an optimal extension body order.

n'=State·2k-1,n '= State 2 k-1 ,

여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.Where n 'is the optimal extension order and State means the state value.

본 발명에 따른 확장체에서 효율적인 다항식 곱셈장치 및 방법에 의하면, 종래의 다항식 곱셈방법보다 수십 배 이상의 계수-곱셈 연산량을 줄일 수 있다. 즉, 본 발명에 따른 확장체에서 효율적인 다항식 곱셈장치 및 방법은 각각의 다항식 곱셈 방법의 설계 기준이 된다. 도 4는 기존의 KO방법과 알고리즘 1을 적용한 KO방법의 계수-곱셈 연산량을 비교한 결과를 도시한 도면이다. 도 4를 참조하면, 기존의 KO방법은 다항식의 차수가 증가할수록 계수-곱셈 연산량이 급격하게 증가하나, 알고리즘 1을 적용한 경우 다항식의 차수가 높아져도 계수-곱셈 연산량은 그다지 증가하지 않는다.According to the efficient polynomial multiplication apparatus and method in the expansion body according to the present invention, it is possible to reduce the number of coefficient-multiplication operations more than ten times more than the conventional polynomial multiplication method. In other words, the efficient polynomial multiplication apparatus and method in the expansion body according to the present invention serve as a design criterion for each polynomial multiplication method. FIG. 4 is a diagram illustrating a result of comparing coefficient-multiplication calculation amounts of a conventional KO method and a KO method to which algorithm 1 is applied. Referring to FIG. 4, in the conventional KO method, the coefficient-multiplication operation amount is rapidly increased as the degree of the polynomial is increased. However, when the algorithm 1 is applied, the coefficient-multiplication operation amount is not increased much.

한편, 표 5에는 기존의 MSK3 방법과 알고리즘 2를 적용한 방법의 계수-곱셈 연산량에 대한 비교결과가 기재되어 있다. On the other hand, Table 5 shows a comparison result of the coefficient-multiplication calculation of the conventional MSK 3 method and Algorithm 2 applied method.

n=15n = 15 n=30n = 30 n=52n = 52 n=79n = 79 n=105n = 105 n=120n = 120 n=159n = 159 n=241n = 241 n=319n = 319 MSK3 MSK 3 150150 600600 2,7042,704 6,2416,241 7,3507,350 9,6009,600 16,85416,854 58,08158,081 101,761101,761 알고리즘 2Algorithm 2 144144 576576 864864 1,2961,296 3,4563,456 5,1845,184 5,1845,184 7,7767,776 20,73620,736

또한, 표 6에는 기존의 MSK5 방법과 알고리즘 3를 적용한 방법의 계수-곱셈 연산량에 대한 비교결과가 기재되어 있다. Table 6 also shows a comparison result of the coefficient-multiplication calculation of the conventional MSK5 method and the algorithm 3 method.

n=10n = 10 n=40n = 40 n=60n = 60 n=80n = 80 n=140n = 140 n=160n = 160 n=230n = 230 n=260n = 260 n=380n = 380 MSK5 MSK 5 5656 896896 2,0162,016 3,5843,584 10,97610,976 14,33614,336 29,62429,624 37,85637,856 80,86480,864 알고리즘 2Algorithm 2 5656 784784 1,7641,764 2,7442,744 7,0567,056 9,6049,604 10,97610,976 23,71623,716 38,41638,416

표 5 및 표 6은 다중분할 카라슈바 방법을 이용한 방법의 계수-곱셈량과 본 발명에 따른 곱셈 방법 중에서 알고리즘 2를 적용한 경우의 계수-곱셈 연산량 비교결과가 기재되어 있다. 표 5 및 표 6을 참조하면, 확장체의 차수가 증가함에 따라 본 발명에 따른 곱셈 방법을 적용한 결과가 더욱 효율적임을 알 수 있다. 또한, MSK 방법이 아직 일반화되지 않은 문제점이 있으나 기존의 SE 방법과 비교하면 효율성의 증가 폭이 훨씬 큼을 알 수 있다.Table 5 and Table 6 show the result of comparing the coefficient-multiplication amount of the method using the multi-division Karasuba method and the coefficient-multiplication calculation amount when the algorithm 2 is applied among the multiplication methods according to the present invention. Referring to Tables 5 and 6, it can be seen that the result of applying the multiplication method according to the present invention is more efficient as the degree of extension is increased. In addition, although the MSK method has not yet been generalized, it can be seen that the efficiency increase is much greater than that of the conventional SE method.

도 5는 기존의 다중분할 카라슈바 방법에 본 발명에 따른 알고리즘을 적용한 결과를 도시한 도면이다. 도 5를 참조하면, 본 발명에 따른 알고리즘은 기존의 MSK 방법이 확장체 차수에 따라 불규칙적이었던 계수-곱셈 연산량을 가장 효율적인 차수로 제한한 형태이다. 이 때 본 발명에 따른 알고리즘에서 반환하는 확장체의 차수를 사용하여 구성하면 계수-덧셈(뺄셈) 연산량 또한 효율적임을 다중분할 카라슈바 방법에서 제안된 복잡도를 기준으로 쉽게 검증할 수 있다. FIG. 5 is a diagram illustrating the results of applying the algorithm according to the present invention to a conventional multi-splitting Karaschva method. Referring to FIG. 5, the algorithm according to the present invention is a form in which the conventional MSK method limits the coefficient-multiplication calculation amount that is irregular according to the extension order to the most efficient order. In this case, it is possible to easily verify that the coefficient-addition (subtraction) amount is also efficient based on the complexity proposed in the multi-part Karaschba method by using the order of the extension returned from the algorithm according to the present invention.

기존의 MSK5가 m번 반복 수행할 경우 최하위를 SB방법으로 곱셈기를 구성하면 다음과 같은 복잡도를 얻을 수 있다.If the existing MSK 5 performs m iterations, the lowest complexity can be obtained by constructing the multiplier with the lowest SB method.

Figure 112004059417330-pat00040
Figure 112004059417330-pat00040

Figure 112004059417330-pat00041
Figure 112004059417330-pat00041

Figure 112004059417330-pat00042
Figure 112004059417330-pat00042

한편, 언스트가 제안한 방법은 불필요한 패턴을 가진다. 따라서, 불필요한 패턴을 제거하면 기존의 MSK 방법보다 곱셈량을 줄일 수 있다. 새로운 MSK5가 m번 반복 수행할 경우 최하위를 SB방법으로 곱셈기를 구성하면 다음과 같은 복잡도를 얻을 수 있다.On the other hand, Ernst's method has an unnecessary pattern. Therefore, eliminating unnecessary patterns can reduce the multiplication amount than the conventional MSK method. If the new MSK 5 performs m iterations, the lowest complexity can be achieved by constructing the multiplier at the lowest level using the SB method.

Figure 112004059417330-pat00043
Figure 112004059417330-pat00043

Figure 112004059417330-pat00044
Figure 112004059417330-pat00044

Figure 112004059417330-pat00045
Figure 112004059417330-pat00045

따라서 다양한 차수에 적용이 불가능한 Successive Extension 방법보다 효율적이며 특히 소수 차수를 가지는 확장체에 적용할 때 효과적이다. 본 발명에 따른 곱셈방법을 이용하면 p=2인 이진체의 경우도 쉽게 확장이 가능하며 이는 작은 복잡도를 가지는 하드웨어를 설계하는 경우 유용하게 사용될 수 있다.Therefore, it is more effective than the Successive Extension method, which cannot be applied to various orders, and is particularly effective when applied to extensions with decimal orders. The multiplication method according to the present invention can be easily extended in the case of a binary body of p = 2, which can be usefully used when designing hardware having a small complexity.

본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, and may also be implemented in the form of a carrier wave (for example, transmission over the Internet). Include. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.

이상에서 본 발명의 바람직한 실시예에 대해 도시하고 설명하였으나, 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific preferred embodiments described above, and the present invention belongs to the present invention without departing from the gist of the present invention as claimed in the claims. Various modifications can be made by those skilled in the art, and such changes are within the scope of the claims.

본 발명에 따른 확장체에서 다항식 곱셈장치 및 방법에 의하면, 확장체의 차수가 비교적 큰 경우에도 불구하고 계수-곱셈의 경우 3배 이상 연산량을 줄일 수 있으며, 기저선택 및 기약다항식의 선택에 제약을 받지 않고, 확장체의 차수에 제한받지 않는다. According to the polynomial multiplication apparatus and method in the expansion body according to the present invention, in the case of coefficient-multiplication, the amount of computation can be reduced by three times or more, even when the degree of the expansion body is relatively large. Not limited to the degree of expansion.

Claims (14)

소정의 분할차수 S에 대해 입력된 확장체의 차수 n이 하위경계값 Sk-1와 상위경계값 Sk 사이에 존재하도록 하는 k를 검색하는 검색부;A search unit for searching k such that the order n of the extension input for the predetermined division order S exists between the lower boundary value S k-1 and the upper boundary value S k ; 상기 하위경계값 Sk-1과 상기 상위경계값 Sk 사이의 구간을 상기 하위경계값 Sk-1보다 크고 상기 상위경계값 Sk보다 작은 복수의 분할값에 의해 분할하여 형성된 복수의 분할구간 중에서 상기 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정하는 상태값결정부; 및The lower boundary value of S k-1 and the higher threshold S k a plurality of divided sections to section the lower boundary value of S k-1 larger and formed by dividing by the upper boundary value of a division value of the smaller plurality than S k between A state value determination unit that determines, as a state value, an upper boundary value of a division section to which the order n of the extension belongs; And 다음의 수학식에 의해 얻어진 값을 최적의 확장체 차수로 결정하는 최적차수결정부;를 포함하는 것을 특징으로 하는 확장체에서 다항식 곱셈장치:A polynomial multiplication apparatus for an extension, comprising: an optimum order determination unit for determining an optimal extension order value obtained by the following equation: n'=State·Sk-2,n '= StateSk -2 , 여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.Where n 'is the optimal extension order and State means the state value. 제 1항에 있어서,The method of claim 1, 상기 분할차수 S가 3인 경우에, 상기 분할값은 4·Sk-2와 2·Sk-1인 것을 특징으로 하는 확장체에서 다항식 곱셈장치.And the division values S are 3, wherein the division values are 4 · S k-2 and 2 · S k-1 . 제 2항에 있어서,The method of claim 2, 상기 최적차수결정부는 확장체의 차수 n이 상기 분할차수 S보다 작으면 상기 확장체의 차수 n을 최적의 확장체 차수로 결정하는 것을 특징으로 하는 확장체에서 다항식 곱셈장치.And the optimum order determining unit determines the order n of the extension as an optimal extension body when the order n of the extension is smaller than the division order S. 제 1항에 있어서,The method of claim 1, 상기 분할차수 S가 5인 경우에, 상기 분할값은 6·Sk-2, 7·Sk-2, 2·Sk-1, 11·Sk-2, 그리고, 3·Sk-1인 것을 특징으로 하는 확장체에서 다항식 곱셈장치.When the division order S is 5, the division values are 6 · S k-2 , 7 · S k-2 , 2 · S k-1 , 11 · S k-2 , and 3 · S k-1 Polynomial multiplier in the expansion body, characterized in that. 제 4항에 있어서,The method of claim 4, wherein 상기 최적차수결정부는 상기 확장체의 차수 n이 상기 분할차수 S에서 1을 감한 값보다 작으면 상기 확장체의 차수 n을 최적의 확장체 차수로 결정하며, 상기 확장체의 차수 n이 상기 분할차수 S에서 1을 감한 값 또는 상기 분할차수 S와 같으면 상기 분할차수 S를 최적의 확장체 차수로 결정하는 것을 특징으로 하는 확장체에서 다항식 곱셈장치.If the order n of the extension is less than the value obtained by subtracting 1 from the division order S, the optimum order determination unit determines the order n of the extension as an optimal extension body, and the order n of the extension is the division order. And a dividing order S is determined to be an optimal extension order if the value of 1 subtracted from S or the division order S is determined. 소정의 분할차수 S에 대해 입력된 확장체의 차수 n이 하위경계값 Sk-1와 상위경계값 Sk 사이에 존재하도록 하는 k를 검색하는 단계;Retrieving k such that the order n of the extension input for the predetermined division order S exists between the lower boundary value S k-1 and the upper boundary value S k ; 상기 하위경계값 Sk-1과 상기 상위경계값 Sk 사이의 구간을 상기 하위경계값 Sk-1보다 크고 상기 상위경계값 Sk보다 작은 복수의 분할값에 의해 분할하여 형성된 복수의 분할구간 중에서 상기 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정하는 단계; 및The lower boundary value of S k-1 and the higher threshold S k a plurality of divided sections to section the lower boundary value of S k-1 larger and formed by dividing by the upper boundary value of a division value of the smaller plurality than S k between Determining an upper boundary value of a division section to which the order n of the extension belongs among the state values; And 다음의 수학식에 의해 얻어진 값을 최적의 확장체 차수로 결정하는 단계;를 포함하는 것을 특징으로 하는 확장체에서 다항식 곱셈방법:Determining a value obtained by the following equation as an optimal extension order; a polynomial multiplication method for an extension including: n'=State·Sk-2,n '= StateSk -2 , 여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.Where n 'is the optimal extension order and State means the state value. 제 6항에 있어서,The method of claim 6, 상기 분할차수 S가 3인 경우에, 상기 분할값은 4·Sk-2와 2·Sk-1인 것을 특징으로 하는 확장체에서 다항식 곱셈방법.And in the case where the division order S is 3, the division values are 4 · S k-2 and 2 · S k-1 . 제 7항에 있어서,The method of claim 7, wherein 상기 확장체의 차수 n이 상기 분할차수 S보다 작으면 상기 확장체의 차수 n을 최적의 확장체 차수로 결정하는 것을 특징으로 하는 확장체에서 다항식 곱셈방법.And the order n of the extension is smaller than the division order S, and the order n of the extension is determined to be the optimal extension order. 제 6항에 있어서,The method of claim 6, 상기 분할차수 S가 5인 경우에, 상기 분할값은 6·Sk-2, 7·Sk-2, 2·Sk-1, 11·Sk-2, 그리고, 3·Sk-1인 것을 특징으로 하는 확장체에서 다항식 곱셈방법. When the division order S is 5, the division values are 6 · S k-2 , 7 · S k-2 , 2 · S k-1 , 11 · S k-2 , and 3 · S k-1 Polynomial multiplication method in the extension, characterized in that. 제 9항에 있어서,The method of claim 9, 상기 확장체의 차수 n이 상기 분할차수 S에서 1을 감한 값보다 작으면 상기 확장체의 차수 n을 최적의 확장체 차수로 결정하며, 상기 확장체의 차수 n이 상기 분할차수 S에서 1을 감한 값 또는 상기 분할차수 S와 같으면 상기 분할차수 S를 최적의 확장체 차수로 결정하는 것을 특징으로 하는 확장체에서 다항식 곱셈방법.If the order n of the extension is smaller than the value obtained by subtracting 1 from the division order S, the order n of the extension is determined as the optimal extension body, and the order n of the extension is subtracted 1 from the division order S. The polynomial multiplication method according to claim 1, wherein the dividing order S is determined to be an optimal extension order if the value is equal to the division order S. 입력된 확장체의 차수 n이 하위경계값 2k-2k-2보다 크고 상위경계값 2k+1-2 k-1보다 작거나 같도록 하는 k를 검색하는 검색부;Retrieving k so that the order of the input extension member n is less than or equal to the lower boundary value 2 k -2 greater than the upper bound value k-2 2 k + 1 -2 k-1 search unit; 3·2k-2, 2k, 5·2k-2, 그리고, 6·2k-2로 구성되는 분할값에 의해 형성되는 복수의 분할 구간 중에서 상기 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정하는 상태값결정부; 및The division section to which the order n of the extension belongs among the plurality of division sections formed by the division values composed of 3 · 2 k-2 , 2 k , 5 · 2 k-2 , and 6 · 2 k-2 . A state value determining unit which determines an upper boundary value as a state value; And 다음의 수학식에 의해 얻어진 값을 최적의 확장체 차수로 결정하는 최적차수결정부;를 포함하는 것을 특징으로 하는 확장체에서 다항식 곱셈장치:A polynomial multiplication apparatus for an extension, comprising: an optimum order determination unit for determining an optimal extension order value obtained by the following equation: n'=State·2k-1,n '= State 2 k-1 , 여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.Where n 'is the optimal extension order and State means the state value. 제 11항에 있어서,The method of claim 11, 상기 확장체의 차수 n은 짝수이고, 상기 k는 3보다 크거나 같은 것을 특징으로 하는 확장체에서 다항식 곱셈장치.The order n of the extension is an even number, wherein k is greater than or equal to 3 polynomial multiplier in the extension. 입력된 확장체의 차수 n이 하위경계값 2k-2k-2보다 크고 상위경계값 2k+1-2 k-1보다 작거나 같도록 하는 k를 검색하는 단계;Retrieving k so that the order of the input extension member n is less than or equal to the lower boundary value 2 k -2 greater than the upper bound value k-2 2 k + 1 -2 k-1; 3·2k-2, 2k, 5·2k-2, 그리고, 6·2k-2로 구성되는 분할값에 의해 형성되는 복수의 분할 구간 중에서 상기 확장체의 차수 n이 속하는 분할구간의 상위경계값을 상태값으로 결정하는 단계; 및The division section to which the order n of the extension belongs among the plurality of division sections formed by the division values composed of 3 · 2 k-2 , 2 k , 5 · 2 k-2 , and 6 · 2 k-2 . Determining an upper boundary value as a state value; And 다음의 수학식에 의해 얻어진 값을 최적의 확장체 차수로 결정하는 단계;를 포함하는 것을 특징으로 하는 확장체에서 다항식 곱셈방법:Determining a value obtained by the following equation as an optimal extension order; a polynomial multiplication method for an extension including: n'=State·2k-1,n '= State 2 k-1 , 여기서, n'는 최적의 확장체 차수이고, State는 상태값을 의미한다.Where n 'is the optimal extension order and State means the state value. 제 13항에 있어서,The method of claim 13, 상기 확장체의 차수 n은 짝수이고, 상기 k는 3보다 크거나 같은 것을 특징으로 하는 확장체에서 다항식 곱셈방법.The order n of the extension is an even number, and k is greater than or equal to 3 polynomial multiplication method in the extension.
KR1020040107115A 2004-12-16 2004-12-16 Polynomial Multipliers and Methods in Extensions Expired - Fee Related KR100606437B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040107115A KR100606437B1 (en) 2004-12-16 2004-12-16 Polynomial Multipliers and Methods in Extensions

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040107115A KR100606437B1 (en) 2004-12-16 2004-12-16 Polynomial Multipliers and Methods in Extensions

Publications (2)

Publication Number Publication Date
KR20060068425A KR20060068425A (en) 2006-06-21
KR100606437B1 true KR100606437B1 (en) 2006-08-01

Family

ID=37162740

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040107115A Expired - Fee Related KR100606437B1 (en) 2004-12-16 2004-12-16 Polynomial Multipliers and Methods in Extensions

Country Status (1)

Country Link
KR (1) KR100606437B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980015799A (en) * 1996-08-23 1998-05-25 배순훈 Galois field multiplier by combination logic circuit
US6138134A (en) 1997-09-22 2000-10-24 Toyo Communication Equipment Co., Ltd. Computational method and apparatus for finite field multiplication
JP2001202016A (en) 2000-01-21 2001-07-27 Matsushita Electric Ind Co Ltd Finite field multiplication circuit
KR20020093554A (en) * 2001-06-09 2002-12-16 주식회사 하이닉스반도체 Method of construction of parallel In-Output multiplier over Galois Field

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980015799A (en) * 1996-08-23 1998-05-25 배순훈 Galois field multiplier by combination logic circuit
US6138134A (en) 1997-09-22 2000-10-24 Toyo Communication Equipment Co., Ltd. Computational method and apparatus for finite field multiplication
JP2001202016A (en) 2000-01-21 2001-07-27 Matsushita Electric Ind Co Ltd Finite field multiplication circuit
KR20020093554A (en) * 2001-06-09 2002-12-16 주식회사 하이닉스반도체 Method of construction of parallel In-Output multiplier over Galois Field

Also Published As

Publication number Publication date
KR20060068425A (en) 2006-06-21

Similar Documents

Publication Publication Date Title
Okada et al. Implementation of elliptic curve cryptographic coprocessor over GF (2m) on an FPGA
Thapliyal et al. Progress in reversible processor design: a novel methodology for reversible carry look-ahead adder
Dadda et al. Pipelined adders
Vassiliadis et al. A general proof for overlapped multiple-bit scanning multiplications
Wu Bit-parallel polynomial basis multiplier for new classes of finite fields
Pillutla et al. Area-efficient low-latency polynomial basis finite field GF (2m) systolic multiplier for a class of trinomials
Kanani et al. ACA-CSU: A carry selection based accuracy configurable approximate adder design
KR100606437B1 (en) Polynomial Multipliers and Methods in Extensions
KR100670780B1 (en) Hybrid Multiplication Computing Device and Method in Finite Field
Bhavani et al. High performance accurate multiplier using hybrid reverse carry propagate adder
KR100902847B1 (en) Finite field multiplication apparatus using partition table, method and recording medium
US7461107B2 (en) Converter circuit for converting 1-redundant representation of an integer
Meher Systolic formulation for low-complexity serial-parallel implementation of unified finite field multiplication over GF (2 m)
KR100954586B1 (en) Polynomial Basis-based Binary Parallel Multiplication Apparatus and Method and Microprocessor Using the Same
KR100976232B1 (en) Fast bit-parellel polynomial multipier and method thereof
Sharma et al. Addition Of redundant binary signed digits using RBSD Adder
Shao et al. Low Complexity Implementation of Unified Systolic Multipliers for NIST Pentanomials and Trinomials Over $\textit {GF}(2^{m}) $
US8478809B2 (en) Method and apparatus for multiplying polynomials with a prime number of terms
Hasan et al. Sequential multiplier with sub-linear gate complexity
Awasthi et al. Hybrid signed digit arithmetic in efficient computing: A comparative approach to performance assay
Aston et al. Computing the invariant measure and the Lyapunov exponent for one-dimensional maps using a measure-preserving polynomial basis
Hasan On matrix-vector product based sub-quadratic arithmetic complexity schemes for field multiplication
KR100438456B1 (en) Digit-serial systolic multiplier for finite fields
KR100725675B1 (en) Karaschva multiplication method to reduce unnecessary operations
Reyhani-Masoleh et al. On low complexity bit parallel polynomial basis multipliers

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

FPAY Annual fee payment

Payment date: 20120615

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20130621

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20140722

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20140722

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000