KR100976229B1 - 저면적 비트-병렬 다항식 곱셈기, 그 곱셈 방법 - Google Patents

저면적 비트-병렬 다항식 곱셈기, 그 곱셈 방법 Download PDF

Info

Publication number
KR100976229B1
KR100976229B1 KR1020090012136A KR20090012136A KR100976229B1 KR 100976229 B1 KR100976229 B1 KR 100976229B1 KR 1020090012136 A KR1020090012136 A KR 1020090012136A KR 20090012136 A KR20090012136 A KR 20090012136A KR 100976229 B1 KR100976229 B1 KR 100976229B1
Authority
KR
South Korea
Prior art keywords
polynomial
block
multiplication
elements
basis
Prior art date
Application number
KR1020090012136A
Other languages
English (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 KR1020090012136A priority Critical patent/KR100976229B1/ko
Application granted granted Critical
Publication of KR100976229B1 publication Critical patent/KR100976229B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/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
    • G06F7/523Multiplying only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

저면적 비트-병렬 다항식 곱셈기, 그 곱셈 방법이 개시된다. 본 발명의 일 실시 예에 따른 저면적 비트 병렬 다항식 곱셈기는 제1다항식 및 제2다항식 각각에서 적어도 하나의 원소를 변형 이동 다항식 기저로 변환하는 변환 블록; 상기 기저 변환이 되지 않은 원소들의 논리곱 연산에 포함되는 중복 연산을 수행하는 제1곱셈 블록; 상기 기저 변환이 되지 않은 원소들의 논리곱 연산에서, 상기 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하는 제2곱셈 블록; 상기 기저 변환이 되지 않은 원소들의 논리합 연산을 수행하는 제1덧셈 블록; 및 상기 변환 블록, 제1곱셈 블록, 제2곱셈 블록 및 제1덧셈 블록에서 출력되는 원소들을 이용하여 상기 제1다항식과 제2다항식간의 곱셈값을 생성하는 연산부를 포함한다. 본 발명의 다른 실시 예에 따른 저면적 비트 병렬 다항식 곱셈기는 제1다항식 및 제2다항식에서 적어도 하나의 원소
Figure 112009009171214-pat00001
,
Figure 112009009171214-pat00002
(i는 임의의 정수)를 각각
Figure 112009009171214-pat00003
,
Figure 112009009171214-pat00004
(k는 임의의 정수)로 기저 변환하는 변환 블록; 상기 기저 변환이 되지 않은 원소들의 논리곱 연산에 포함되는 중복 연산을 수행하는 제1곱셈 블록; 상기 기저 변환이 되지 않은 원소들의 논리곱 연산에서, 상기 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하는 제2곱셈 블록; 상기 기저 변환이 되지 않은 원소들의 논리합 연산을 수행하는 제1덧셈 블록; 및 상기 변환 블록, 제1곱셈 블록, 제2곱셈 블록 및 제1덧셈 블록에서 출력되는 원소들을 이용하여 상기 제1다항식과 제2다항식간의 곱셈값을 생성하는 연산부를 포함한다. 본 발명의 실시 예들에 의하면, AND 게이트와 XOR 게이트의 비용을 같다고 가정할 경우 기존 곱셈기에 비하여 최대 25%의 게이트가 감소하고, 중간 항이 k인 다항식
Figure 112009009171214-pat00005
중 100≤n<1000에서 n≤2k를 만족하는 1,335개의 삼항 기약다항식의 시간 복잡도는 33개(2.5%)가 기존의 결과보다 작고 1,188개(89%)가 기존과 같으므로, 낮은 공간 복잡도를 요구하는 환경에 효과적으로 적용될 수 있다.
Shifted Polynomial Basis, time complexity, space complexity

Description

저면적 비트-병렬 다항식 곱셈기, 그 곱셈 방법 {Low space bit-parellel polynomial multipier and Method thereof}
본 발명은 공개키 암호시스템 및 파이프라인이 아닌 구조의 비트병렬 곱셈기가 탑재 가능한 모든 암호칩 및 유한체 연산기 등에 적용될 수 있는, 작은 공간 복잡도를 가지는 비트 병렬 SPB 곱셈기에 관한 것이다.
이동 다항식 기저 (Shifted Polynomial Basis; 이하 'SPB')는 Fan과 Dai에 의해 제안되었다. 이를 이용하여 파이프라인(pipeline)이 아닌 비트-병렬 곱셈기도 제안된 바 있다. SPB는 다항식 기저 (Polynomial Basis; PB)를 변형한 형태로 SPB와 PB 사이의 기저 변환이 매우 간단하게 수행되는 특징이 있다. 따라서 기존의 SPB 비트-병렬 곱셈기는 기존의 PB 비트-병렬 곱셈기와 많이 비교된다.
종래의 SPB 삼항 기약다항식을 위한 비트-병렬 곱셈기는 기존 PB 기반 보다 시간 복잡도면에서 효율적이며 공간 복잡도는 동일하다. Negre는 Fan과 Dai의 곱셈기보다 공간 복잡도는 25% 증가하지만 시간 복잡도면에서 같거나
Figure 112009009171214-pat00006
만큼 작은 곱셈기를 제안한 바 있다. 한편, Fan과 Hasan이 공간 복잡도 증가 없이 동일한 시간 복잡도를 가지는 곱셈기를 제안하기도 하였다.
따라서, 본 발명이 이루고자 하는 첫 번째 기술적 과제는 공간 복잡도가 기존의 결과보다 작으며 시간 복잡도 또한 효율적인 저면적 비트-병렬 곱셈기를 제공하는 데 있다.
본 발명이 이루고자 하는 두 번째 기술적 과제는 공간 복잡도가 기존의 결과보다 작으며 시간 복잡도 또한 효율적인 저면적 비트-병렬 곱셈 방법을 제공하는 데 있다.
상기의 첫 번째 기술적 과제를 이루기 위하여, 본 발명의 일 실시 예에 따른 저면적 비트 병렬 다항식 곱셈기는 제1다항식 및 제2다항식 각각에서 적어도 하나의 원소를 변형 이동 다항식 기저로 변환하는 변환 블록; 상기 기저 변환이 되지 않은 원소들의 논리곱 연산에 포함되는 중복 연산을 수행하는 제1곱셈 블록; 상기 기저 변환이 되지 않은 원소들의 논리곱 연산에서, 상기 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하는 제2곱셈 블록; 상기 기저 변환이 되지 않은 원소들의 논리합 연산을 수행하는 제1덧셈 블록; 및 상기 변환 블록, 제1곱셈 블록, 제2곱셈 블록 및 제1덧셈 블록에서 출력되는 원소들을 이용하여 상기 제1다항식과 제2다항식간의 곱셈값을 생성하는 연산부를 포함한다.
바람직하게는, 상기 변환 블록, 제1곱셈 블록, 제2곱셈 블록 및 제1덧셈 블록은, 병렬적으로 연산을 수행할 수 있다.
바람직하게는, 상기 연산부는, 상기 변환 블록에서 출력되는 원소들간의 논리곱 연산에 포함되는 중복 연산을 수행하는 제3곱셈 블록; 및 상기 변환 블록에서 출력되는 원소들간의 논리곱 연산에서, 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하는 제4곱셈 블록을 포함할 수 있다. 여기서, 상기 연산부는 상기 제3곱셈 블록에서 출력되는 원소들간의 논리합 연산을 수행하는 제2이진 트리 덧셈 블록을 포함할 수 있다.
바람직하게는, 상기 연산부는, 상기 제1덧셈 블록에서 출력되는 원소들간의 논리곱 연산을 수행하는 제5곱셈 블록을 포함할 수 있다.
바람직하게는, 상기 연산부는, 상기 제2곱셈 블록에서 출력되는 원소들간의 논리합 연산을 수행하는 제2덧셈 블록을 포함할 수 있다.
바람직하게는, 상기 연산부는, 상기 제1곱셈 블록에서 출력되는 원소들간의 논리합 연산을 수행하는 제1이진 트리 덧셈 블록을 포함할 수 있다.
바람직하게는, 상기 변형 이동 다항식 기저는, 다항식 원소 중 적어도 하나의 원소의 차수가 나머지 원소의 차수와 불연속이 되는 다항식 기저일 수 있다.
상기의 첫 번째 기술적 과제를 이루기 위하여, 본 발명의 다른 실시 예에 따른 저면적 비트 병렬 다항식 곱셈기는 제1다항식 및 제2다항식에서 적어도 하나의 원소
Figure 112009009171214-pat00007
,
Figure 112009009171214-pat00008
(i는 임의의 정수)를 각각
Figure 112009009171214-pat00009
,
Figure 112009009171214-pat00010
(k는 임의의 정수)로 기저 변환하는 변환 블록; 상기 기저 변환이 되지 않은 원소들의 논리곱 연산에 포함되는 중복 연산을 수행하는 제1곱셈 블록; 상기 기저 변환이 되지 않은 원소들 의 논리곱 연산에서, 상기 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하는 제2곱셈 블록; 상기 기저 변환이 되지 않은 원소들의 논리합 연산을 수행하는 제1덧셈 블록; 및 상기 변환 블록, 제1곱셈 블록, 제2곱셈 블록 및 제1덧셈 블록에서 출력되는 원소들을 이용하여 상기 제1다항식과 제2다항식간의 곱셈값을 생성하는 연산부를 포함한다.
상기의 두 번째 기술적 과제를 이루기 위하여, 본 발명의 일 실시 예에 따른 저면적 비트 병렬 다항식 곱셈 방법은 변환 블록에서 제1다항식 및 제2다항식 각각의 적어도 하나의 원소를 변형 이동 다항식 기저로 변환하고, 제1곱셈 블록에서 상기 기저 변환이 되지 않은 원소들의 논리곱 연산에 포함되는 중복 연산을 수행하며, 제2곱셈 블록에서 상기 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하고, 제1덧셈 블록에서 상기 기저 변환이 되지 않은 원소들의 논리합 연산을 수행하는 단계; 및 상기 기저 변환, 논리곱 및 논리합의 결과값을 이용하여 상기 제1다항식과 제2다항식간의 곱셈값을 생성하는 단계를 포함한다.
바람직하게는, 상기 곱셈값을 생성하는 단계는, 상기 변환 블록에서 출력되는 원소들간의 논리곱 연산에 포함되는 중복 연산을 수행하고, 상기 변환 블록에서 출력되는 원소들간의 논리곱 연산 중 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하는 단계를 포함할 수 있다.
바람직하게는, 상기 곱셈값을 생성하는 단계는, 상기 제1덧셈 블록에서 출력되는 원소들간의 논리곱 연산을 수행하는 단계를 포함할 수 있다.
바람직하게는, 상기 곱셈값을 생성하는 단계는, 상기 제2곱셈 블록에서 출력 되는 원소들간의 논리합 연산을 수행하는 단계를 포함할 수 있다.
바람직하게는, 상기 변형 이동 다항식 기저는, 다항식 원소 중 적어도 하나의 원소의 차수가 나머지 원소의 차수와 불연속이 되는 다항식 기저일 수 있다.
본 발명의 실시 예들에 의하면, AND 게이트와 XOR 게이트의 비용을 같다고 가정할 경우 기존 곱셈기에 비하여 최대 25%의 게이트가 감소하고, 중간 항이 k인 다항식
Figure 112009009171214-pat00011
중 100≤n<1000에서 n≤2k를 만족하는 1,335개의 삼항 기약다항식의 시간 복잡도는 33개(2.5%)가 기존의 결과보다 작고 1,188개(89%)가 기존과 같으므로, 낮은 공간 복잡도를 요구하는 환경에 효과적으로 적용될 수 있다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나, 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다.
먼저, SPB 비트-병렬 곱셈 방법을 설명한다.
Figure 112009009171214-pat00012
는 w개의 항을 가지는 기약다항식
Figure 112009009171214-pat00013
에 의하여 생성되었고,
Figure 112009009171214-pat00014
의 근을
Figure 112009009171214-pat00015
라 정의하자. (이때
Figure 112009009171214-pat00016
이다.) 그러면
Figure 112009009171214-pat00017
의 임의의 두 원소
Figure 112009009171214-pat00018
Figure 112009009171214-pat00019
이다. 이때
Figure 112009009171214-pat00020
이다.
두 원소의 곱
Figure 112009009171214-pat00021
는 다항식 곱셈
Figure 112009009171214-pat00022
Figure 112009009171214-pat00023
에 의한 모듈러 감산 연산
Figure 112009009171214-pat00024
에 의해 계산된다. 따라서 곱셈 연산의 복잡도는 위의 두 과정에 의하여 결정되며, 모듈러 감산 연산 복잡도의 경우 기약다항식
Figure 112009009171214-pat00025
의 항의 개수에 의하여 영향을 받는다.
본 발명에서는 삼항 기약다항식에 적합한 SPB 곱셈 방법을 제안하므로 이후 모든 기약다항식은 중간 항이
Figure 112009009171214-pat00026
Figure 112009009171214-pat00027
이다. 2005년에
Figure 112009009171214-pat00028
의 원소를 SPB로 표현하는 방법이 제안되었으며 이는 다음과 같이 정의된다.
v를 임의의 정수라 하고
Figure 112009009171214-pat00029
Figure 112009009171214-pat00030
Figure 112009009171214-pat00031
의 다항식기저라 할 때, 순서집합
Figure 112009009171214-pat00032
Figure 112009009171214-pat00033
Figure 112009009171214-pat00034
Figure 112009009171214-pat00035
에 대한 SPB라 한다.
SPB로 표현된
Figure 112009009171214-pat00036
의 임의의 두 원소의
Figure 112009009171214-pat00037
Figure 112009009171214-pat00038
,
Figure 112009009171214-pat00039
로 표현되며, 두 원소의 곱은
Figure 112009009171214-pat00040
이다.
Figure 112009009171214-pat00041
는 다음과 같이 계산된다.
Figure 112009009171214-pat00042
라 하면,
Figure 112009009171214-pat00043
이다.
이때
Figure 112009009171214-pat00044
Figure 112009009171214-pat00045
부터
Figure 112009009171214-pat00046
까지 항을 가지므로
Figure 112009009171214-pat00047
사이의 항과
Figure 112009009171214-pat00048
사이의 항은 모듈러 감산 연산되어야 하므로 이를 각각
Figure 112009009171214-pat00049
Figure 112009009171214-pat00050
로 표현하고 모듈러 감산이 필요 없는 항들을 r이라하면
Figure 112009009171214-pat00051
이고,
Figure 112009009171214-pat00052
Figure 112009009171214-pat00053
Figure 112009009171214-pat00054
를 모듈러 감산한 결과를
Figure 112009009171214-pat00055
Figure 112009009171214-pat00056
라 하면
Figure 112009009171214-pat00057
이다.
또한 종전에 v의 선택시
Figure 112009009171214-pat00058
또는
Figure 112009009171214-pat00059
인 경우가 최적임이 증명되었다. 따라서
Figure 112009009171214-pat00060
인 경우를 고려하면
Figure 112009009171214-pat00061
는 다음의 수학식 1과 같다.
Figure 112009009171214-pat00062
곱셈기 구성에서 두 가지 방법을 고려할 수 있다. 첫 번째는 일반적인 곱셈기로
Figure 112009009171214-pat00063
Figure 112009009171214-pat00064
인 다항식 곱셈을 수행한 후 모듈러 감산연산을 수행하는 것이고, 두 번째는 마스트로비토 (mastrovito) 곱셈기로
Figure 112009009171214-pat00065
Figure 112009009171214-pat00066
에 의하여 생성된 감산행렬 Z를 생성한 후
Figure 112009009171214-pat00067
Figure 112009009171214-pat00068
를 계산하는 것이다. 여기서는 전자를 type-I, 후자를 type-II 곱셈기라 한다.
위의 두 가지 병렬 곱셈기의 시간 및 공간 복잡도는 다음과 같다. Type-I의 공간 복잡도의 경우
Figure 112009009171214-pat00069
차 다항식 곱셈에서
Figure 112009009171214-pat00070
개의 AND 게이트와
Figure 112009009171214-pat00071
개의 XOR 게이트가 소요되며, 모듈러 감산 단계인
Figure 112009009171214-pat00072
의 덧셈에서
Figure 112009009171214-pat00073
개의 XOR 게이트와
Figure 112009009171214-pat00074
의 덧셈에서
Figure 112009009171214-pat00075
개의 XOR 게이트가 소요되므로
Figure 112009009171214-pat00076
개의 XOR 게이트가 추가적으로 필요하다. 따라서 일반적으로 전체
Figure 112009009171214-pat00077
개의 AND 게이트와
Figure 112009009171214-pat00078
개의 XOR 게이트가 소요된다. 그러나 EST(Equally Spaced Trinomial)의 경우
Figure 112009009171214-pat00079
이고
Figure 112009009171214-pat00080
Figure 112009009171214-pat00081
이므로
Figure 112009009171214-pat00082
의 계산에서
Figure 112009009171214-pat00083
개의 XOR 게이트
Figure 112009009171214-pat00084
의 계산에서
Figure 112009009171214-pat00085
개의 XOR 게이트가 소요되므로 전체
Figure 112009009171214-pat00086
개의 AND 게이트와
Figure 112009009171214-pat00087
개의 XOR 게이트 가 소요된다. 시간복잡도의 경우 r의 계산에서
Figure 112009009171214-pat00088
의 시간 지연이 소요되며,
Figure 112009009171214-pat00089
이 EST
Figure 112009009171214-pat00090
일때
Figure 112009009171214-pat00091
Figure 112009009171214-pat00092
과 병렬연산이 가능하므로
Figure 112009009171214-pat00093
TX으로 최소 시간 지연을 가지며,
Figure 112009009171214-pat00094
일때 TA+
Figure 112009009171214-pat00095
Figure 112009009171214-pat00096
TX로 최대 시간 지연(Critical Path Delay)을 가지므로 type-I 곱셈기의 시간 복잡도를
Figure 112009009171214-pat00097
라 하면
Figure 112009009171214-pat00098
이다. Type-II 곱셈기의 경우 시간복잡도 계산을 위하여
Figure 112009009171214-pat00099
를 다음과 같은 6가지 경우로 고려한다.
첫 번째는
Figure 112009009171214-pat00100
그리고
Figure 112009009171214-pat00101
인 경우, 두 번째는
Figure 112009009171214-pat00102
인 경우, 세 번째는
Figure 112009009171214-pat00103
인 경우, 네 번째는
Figure 112009009171214-pat00104
그리고
Figure 112009009171214-pat00105
인 경우, 다섯 번째는
Figure 112009009171214-pat00106
인 경우, 여섯 번째는
Figure 112009009171214-pat00107
인 경우이다.
공간 복잡도는 type-I과 같이 일반적으로
Figure 112009009171214-pat00108
개의 AND 게이트와
Figure 112009009171214-pat00109
개의 XOR 게이트가 소요되며
Figure 112009009171214-pat00110
인 경우
Figure 112009009171214-pat00111
개의 AND 게이트와
Figure 112009009171214-pat00112
개의 XOR 게이트가 소요된다. 시간 복잡도는
Figure 112009009171214-pat00113
이다.
이하에서는 기존의 삼항 기약다항식 기반의 SPB 비트-병렬 곱셈기의 복잡도를 설명한다.
수학식 1을 정리하면
Figure 112009009171214-pat00114
이다. 이때, 시간 복잡도 분류를 위하여
Figure 112009009171214-pat00115
Figure 112009009171214-pat00116
의 두 가지 경우로 구분하고
Figure 112009009171214-pat00117
인 경우에 대하여 설명한다.
Figure 112009009171214-pat00118
를 정리하면 수학식 2와 같이 된다.
Figure 112009009171214-pat00119
Figure 112009009171214-pat00120
Figure 112009009171214-pat00121
Figure 112009009171214-pat00122
Figure 112009009171214-pat00123
를 정리하면 수학식 3과 같이 된다.
Figure 112009009171214-pat00124
이때
Figure 112009009171214-pat00125
Figure 112009009171214-pat00126
차부터
Figure 112009009171214-pat00127
차까지 나타나며 모든 항은
Figure 112009009171214-pat00128
개의
Figure 112009009171214-pat00129
들의 합으로 구성된다. 또한 덧셈을 위하여 (e)를 정리하면
Figure 112009009171214-pat00130
이 된다. 이를 적용하여
Figure 112009009171214-pat00131
Figure 112009009171214-pat00132
를 계산하면 수학식 4와 같이 된다.
Figure 112009009171214-pat00133
Figure 112009009171214-pat00134
Figure 112009009171214-pat00135
Figure 112009009171214-pat00136
Figure 112009009171214-pat00137
Figure 112009009171214-pat00138
Figure 112009009171214-pat00139
Figure 112009009171214-pat00140
따라서 -1항에서 v개의
Figure 112009009171214-pat00141
, 0항에서 v개의
Figure 112009009171214-pat00142
와 n-2v-1개의
Figure 112009009171214-pat00143
로 수학식 4의 모든
Figure 112009009171214-pat00144
가 계산된다.
도 1은 수학식 4의
Figure 112009009171214-pat00145
의 개수를 나타낸 것이다.
그리고 이때 연산량은
Figure 112009009171214-pat00146
번의 XOR이다. 따라서 공간 복잡도는
Figure 112009009171214-pat00147
에서 -v차부터
Figure 112009009171214-pat00148
차까지 모든 항은 n개의
Figure 112009009171214-pat00149
들의 합으로 구성 되므로
Figure 112009009171214-pat00150
개의 AND 게이트,
Figure 112009009171214-pat00151
개의 XOR 게이트가 소요되고
Figure 112009009171214-pat00152
의 계산에서 도 1과 같이
Figure 112009009171214-pat00153
개의 XOR 게이트가 소요된다. 따라서 전체 공간 복잡도는
Figure 112009009171214-pat00154
개의 AND 게이트와
Figure 112009009171214-pat00155
개의 XOR 게이트이다.
시간 복잡도의 경우 한 항에서
Figure 112009009171214-pat00156
계산 시에
Figure 112009009171214-pat00157
들이 병렬로 덧셈을 수행한다. 따라서 최대 시간 지연은 도 1에서 개수가 가장 많은 항이므로, 0차 항에서 1
Figure 112009009171214-pat00158
+1
Figure 112009009171214-pat00159
시간 이후
Figure 112009009171214-pat00160
또는
Figure 112009009171214-pat00161
의 개수는
Figure 112009009171214-pat00162
으로 가장 크므로 시간 복잡도는
Figure 112009009171214-pat00163
Figure 112009009171214-pat00164
Figure 112009009171214-pat00165
이다.
Figure 112009009171214-pat00166
인 경우도 위의 방법과 같이 정리하면, 공간 복잡도는
Figure 112009009171214-pat00167
개의 AND 게이트와
Figure 112009009171214-pat00168
개의 XOR 게이트이고 시간 복잡도는
Figure 112009009171214-pat00169
가 된다.
이하에서는 본 발명의 일 실시 예에 따른 비트 병렬 다항식 곱셈 방법에 대해 설명한다.
본 발명의 일 실시 예에 따른 비트 병렬 다항식 곱셈 방법을 설명하기 위하여 삼항 기약다항식
Figure 112009009171214-pat00170
의 환경에서 변형된 SPB를 정의하면 다음과 같다.
v를 임의의 정수라 하고
Figure 112009009171214-pat00171
Figure 112009009171214-pat00172
Figure 112009009171214-pat00173
의 다항식기저라 할 때,
Figure 112009009171214-pat00174
Figure 112009009171214-pat00175
가 각각
Figure 112009009171214-pat00176
,
Figure 112009009171214-pat00177
이면, 순서집합
Figure 112009009171214-pat00178
Figure 112009009171214-pat00179
Figure 112009009171214-pat00180
에 대한 변형된 MSPB(Modified Shifted Polynomial Basis)라 한다.
도 2는 본 발명의 일 실시 예에 따른 비트 병렬 다항식 곱셈 방법의 개념도이다.
본 발명의 일 실시 예에 따른 비트 병렬 다항식 곱셈 방법의 경우 입출력은 기존의 SPB를 사용하지만 최적 v를 k 또는 k-1을 사용했던 기존의 결과와 달리 v값을
Figure 112009009171214-pat00181
로 정의한다. 그리고 마스트로비토 곱셈을 수행하기 전에 도2와 같이 MSPB로 기저를 변환한 후 곱셈을 수행하며, 곱셈 결과는 다시 입력과 동일하게 처음의 SPB로 표현된다. 이때, 도 2의 기저 변환과 비트-병렬 곱셈은 병렬로 수행된다.
상세한 곱셈 방법 및 이의 효율은
Figure 112009009171214-pat00182
,
Figure 112009009171214-pat00183
,
Figure 112009009171214-pat00184
등으로 k값에 따라 구분하여 설명한다.
Figure 112009009171214-pat00185
인 경우의 설명은
Figure 112009009171214-pat00186
인 경우의 곱셈 수행을 최저항부터 최고차항까지 서로 대칭이 되도록 수행하면 되므로 생략한다.
Figure 112009009171214-pat00187
인 경우는 정의 2에서와 같이
Figure 112009009171214-pat00188
를 사용하며,
Figure 112009009171214-pat00189
에 의한 모듈러 감산 연산의 효율성을 최대화하기 위하여 기존의 방법과 다르게 다음과 같이 곱셈을 수행한다.
SPB로(
Figure 112009009171214-pat00190
) 표현된
Figure 112009009171214-pat00191
의 임의의 두 원소
Figure 112009009171214-pat00192
Figure 112009009171214-pat00193
Figure 112009009171214-pat00194
와 같이 표현된다.
두 원소
Figure 112009009171214-pat00195
Figure 112009009171214-pat00196
Figure 112009009171214-pat00197
를 이용하여 다음의 수학식 5와 같이 MSPB 원소로 변환한다.
Figure 112009009171214-pat00198
이때
Figure 112009009171214-pat00199
Figure 112009009171214-pat00200
를 각각
Figure 112009009171214-pat00201
,
Figure 112009009171214-pat00202
라 하면
Figure 112009009171214-pat00203
Figure 112009009171214-pat00204
Figure 112009009171214-pat00205
Figure 112009009171214-pat00206
이다. 따라서 두 원소의 곱
Figure 112009009171214-pat00207
는 다음의 수학식 6과 같다.
Figure 112009009171214-pat00208
Figure 112009009171214-pat00209
Figure 112009009171214-pat00210
Figure 112009009171214-pat00211
Figure 112009009171214-pat00212
Figure 112009009171214-pat00213
Figure 112009009171214-pat00214
이때,
Figure 112009009171214-pat00215
Figure 112009009171214-pat00216
Figure 112009009171214-pat00217
Figure 112009009171214-pat00218
이므로
Figure 112009009171214-pat00219
Figure 112009009171214-pat00220
은 실제 연산이 없으며 수학식 6은 다음의 수학식 7과 같다.
Figure 112009009171214-pat00221
Figure 112009009171214-pat00222
Figure 112009009171214-pat00223
Figure 112009009171214-pat00224
Figure 112009009171214-pat00225
Figure 112009009171214-pat00226
Figure 112009009171214-pat00227
Figure 112009009171214-pat00228
Figure 112009009171214-pat00229
Figure 112009009171214-pat00230
Figure 112009009171214-pat00231
Figure 112009009171214-pat00232
수학식 7에서 (ㄱ), (ㄷ), (ㅅ)는 모듈러 감산 되어야한다.
Figure 112009009171214-pat00233
에 의하여 (ㄷ)+(ㅁ)은 수학식 8과 같이 표현된다.
Figure 112009009171214-pat00234
Figure 112009009171214-pat00235
Figure 112009009171214-pat00236
수학식 8과 (ㄱ), (ㅅ)을 모듈러 감산 연산하면 수학식 7은 다음의 수학식 9와 같이 정리된다.
Figure 112009009171214-pat00237
Figure 112009009171214-pat00238
Figure 112009009171214-pat00239
Figure 112009009171214-pat00240
Figure 112009009171214-pat00241
또한 수학식 7에서
Figure 112009009171214-pat00242
Figure 112009009171214-pat00243
는 i가 n보다 작은 경우
Figure 112009009171214-pat00244
로 같으므로
Figure 112009009171214-pat00245
에서 (ㄹ) 각항의
Figure 112009009171214-pat00246
Figure 112009009171214-pat00247
과 (ㅂ) 각항의
Figure 112009009171214-pat00248
는 수학식 10과 같이 간소화된다.
Figure 112009009171214-pat00249
따라서 이를 적용하여 수학식 9의 각 항을 k에 따른 XOR게이트 시간 지연으로 정리하면 도 3과 같다.
도 3은
Figure 112009009171214-pat00250
일때
Figure 112009009171214-pat00251
계산에 따른 XOR 시간 지연을 도시한 것이다.
도 3에서 시간 지연을 계산할 때 k에 따라 다른 행들이 사용된다. 예를 들어,
Figure 112009009171214-pat00252
인 경우
Figure 112009009171214-pat00253
의 범위는
Figure 112009009171214-pat00254
,
Figure 112009009171214-pat00255
의 3행,
Figure 112009009171214-pat00256
,
Figure 112009009171214-pat00257
,
Figure 112009009171214-pat00258
이며 나머지 행들은
Figure 112009009171214-pat00259
에서는 존재하지 않는다.
수학식 9의 (a1)과 (a2), (b1)과 (b2)는 중복 연산이므로 독립 연산 후 다른 항들과 더해져야한다. 따라서 도 3의
Figure 112009009171214-pat00260
인 경우를 고려하면 각각 k,
Figure 112009009171214-pat00261
, k개의
Figure 112009009171214-pat00262
또는
Figure 112009009171214-pat00263
를 더해야한다. 이때
Figure 112009009171214-pat00264
가 독립 연산이므로 이를 더하는데 소요되는 XOR 시간 지연은
Figure 112009009171214-pat00265
이고, 나머지
Figure 112009009171214-pat00266
개는
Figure 112009009171214-pat00267
Figure 112009009171214-pat00268
시간 동안 매번 반으로 감소하므로,
Figure 112009009171214-pat00269
Figure 112009009171214-pat00270
일 때 전체 시간 복잡도 는
Figure 112009009171214-pat00271
가 된다.
이와 같이 공간 복잡도가 최소가 되도록 구성한 것을 저면적 비트-병렬 곱셈기라 한다.
Figure 112009009171214-pat00272
인 경우에 저면적 비트-병렬 곱셈기의 시간 복잡도는
Figure 112009009171214-pat00273
인 경우,
Figure 112009009171214-pat00274
,
Figure 112009009171214-pat00275
이고
Figure 112009009171214-pat00276
인 경우,
Figure 112009009171214-pat00277
가 된다. 또한,
Figure 112009009171214-pat00278
이고
Figure 112009009171214-pat00279
인 경우,
Figure 112009009171214-pat00280
가 된다.
한편,
Figure 112009009171214-pat00281
인 경우에 저면적 비트-병렬 곱셈기의 공간 복잡도는
Figure 112009009171214-pat00282
(이때,
Figure 112009009171214-pat00283
(
Figure 112009009171214-pat00284
))이다.
다음으로,
Figure 112009009171214-pat00285
인 경우 기존의 결과에서와 같이
Figure 112009009171214-pat00286
이며 Karatsuba-Ofman 방법을 적용하기 위하여
Figure 112009009171214-pat00287
Figure 112009009171214-pat00288
Figure 112009009171214-pat00289
,
Figure 112009009171214-pat00290
와 같이 변형된다.
이때, 두 원소의 곱
Figure 112009009171214-pat00291
는 다음의 수학식 11과 같다.
Figure 112009009171214-pat00292
Figure 112009009171214-pat00293
Figure 112009009171214-pat00294
Figure 112009009171214-pat00295
Figure 112009009171214-pat00296
Figure 112009009171214-pat00297
Figure 112009009171214-pat00298
Figure 112009009171214-pat00299
라 하고 수학식 11을 정리하면 수학식 12와 같이 된다.
Figure 112009009171214-pat00300
Figure 112009009171214-pat00301
Figure 112009009171214-pat00302
Figure 112009009171214-pat00303
Figure 112009009171214-pat00304
Figure 112009009171214-pat00305
Figure 112009009171214-pat00306
Figure 112009009171214-pat00307
Figure 112009009171214-pat00308
Figure 112009009171214-pat00309
Figure 112009009171214-pat00310
Figure 112009009171214-pat00311
인 경우도 중복 연산이 있으므로 각항에서 다른 덧셈들과 독립적으로 수행되어야 한다. 즉, 수학식 12에서 (12.1)과 (12.2)는 중복 연산이므로 (12.1)이 모두 연산된 후 각항에 더해지도록 하면, 곱셈기의 면적을 줄일 수 있다.
Figure 112009009171214-pat00312
인 경우에 본 발명의 일 실시 예에 따른 저면적 비트-병렬 곱셈기의 시간 복잡도는
Figure 112009009171214-pat00313
이고, 공간 복잡도는
Figure 112009009171214-pat00314
이다.
도 5는 본 발명의 일 실시 예에 따른 저면적 비트-병렬 곱셈기의 하드웨어 구조를 도시한 것이다.
수학식 9는 AND 또는 XOR 연산의 순서에 따라 구분되며, 이에 수학식 10의 간소화 표현까지 적용하여 블록 단위로 정리하면 다음과 같다.
즉, 제1곱셈 블록 (AND BLOCK5)은
Figure 112009009171214-pat00315
의 연산을 수행한다.
제2곱셈 블록을 구성하는 AND BLOCK4는
Figure 112009009171214-pat00316
Figure 112009009171214-pat00317
Figure 112009009171214-pat00318
의 연산을 수행하고, AND BLOCK6은
Figure 112009009171214-pat00319
Figure 112009009171214-pat00320
Figure 112009009171214-pat00321
의 연산을 수행한다. 제2곱셈 블록을 구성하는 AND BLOCK7은
Figure 112009009171214-pat00322
의 연산을 수행한다.
변환 블록(CONVERSION XOR BLOCK1)은
Figure 112009009171214-pat00323
,
Figure 112009009171214-pat00324
의 변환을 수행한다.
제1덧셈 블록(XOR BLOCK2)은
Figure 112009009171214-pat00325
의 연산을 수행한다.
이하에서는 두 번째 단계의 연산에 대해 설명한다.
제2덧셈 블록(BINARY XOR BLOCK3)은 제2곱셈 블록 (AND BLOCK4, AND BLOCK6, AND BLOCK7)의 같은 차수 연산 결과들 사이의 1TX 연산을 수행한다.
제4곱셈 블록(AND BLOCK1)은
Figure 112009009171214-pat00326
의 연산을 수행하고, 제3곱셈 블록(AND BLOCK2)은
Figure 112009009171214-pat00327
의 연산을 수행한다. 제5곱셈 블록(AND BLOCK3)은
Figure 112009009171214-pat00328
의 연산을 수행한다.
도 5에서 XOR BLOCK은 3가지로
Figure 112009009171214-pat00329
시간 지연이 일어나며 AND BLOCK은 7가지로
Figure 112009009171214-pat00330
시간 지연이 일어난다. 또한 도 5에서와 같이 상위
Figure 112009009171214-pat00331
+
Figure 112009009171214-pat00332
시간 지연 이후의 시간 및 공간 복잡도의 트레이드 오프 (trade-off)는 k에 의존한다. 이는 AND BLOCK2와 AND BLOCK5가 k에 따라 복잡도가 정의되기 때문이다.
도 5에서 BTX (Binary Tree of XORs)로 표시된 블록은 이진 트리 덧셈 블록으로서, 도 6은 BTX 구조의 일 예를 보여준다.
도 7은 도 5를
Figure 112009009171214-pat00333
에 의하여 정의되는
Figure 112009009171214-pat00334
를 예로 설계한 다이어그램이다.
도 7의 예에서는 XOR BLOCK2가 존재하지 않는다. 이는 XOR BLOCK2의 XOR 연산은 총
Figure 112009009171214-pat00335
개인데 도 6의 예에서는 0이 되기 때문이다. 따라서 이에 대응하는 AND BLOCK3도 존재하지 않는다.
도 8은 삼항 기약다항식을 위한 SPB 비트-병렬 곱셈기 복잡도를 비교한 표이다.
기존의 가장 효율적인 결과의 경우 시간 복잡도의 경우
Figure 112009009171214-pat00336
+
Figure 112009009171214-pat00337
이고 공간 복잡도의 경우 25개 AND 게이트와 24개 XOR 게이트인 반면, 도 7의 저면적 비트-병렬 곱셈기의 경우는 시간 복잡도는
Figure 112009009171214-pat00338
+
Figure 112009009171214-pat00339
로 기존과 같으나 공간 복잡도의 경우 21개의 AND 게이트와 24개의 XOR 게이트로 현존하는 SPB 곱셈기 중 가장 작은 공간 복잡도를 갖게 된다.
보다 구체적으로, 공간복잡도의 경우
Figure 112009009171214-pat00340
일 때 기존의 결과에 비하여
Figure 112009009171214-pat00341
개 AND 게이트와
Figure 112009009171214-pat00342
개 XOR 게이트가 감소함을 알 수 있다. 또한
Figure 112009009171214-pat00343
일 때는
Figure 112009009171214-pat00344
개 AND 게이트와
Figure 112009009171214-pat00345
Figure 112009009171214-pat00346
개 XOR 게이트가 감소함을 알 수 있다. 따라서 본 발명의 일 실시 예에 따른 곱셈기는 기존의 결과에 비하여 공간 복잡도가 감소한다. AND 게이트와 XOR 게이트의 비용을 같다고 가정할 경우 기존의 결과에 비하여 최대 25%의 게이트가 감소한다. 따라서 본 발명의 일 실시 예에 따른 곱셈기는 낮은 공간 복잡도를 요구하는 환경에 효과적으로 적용될 수 있다.
본 발명은 소프트웨어를 통해 실행될 수 있다. 바람직하게는, 본 발명의 일 실시 예에 따른 저면적 비트 병렬 다항식 곱셈 방법을 컴퓨터에서 실행시키기 위한 프로그램을 컴퓨터로 읽을 수 있는 기록매체에 기록하여 제공할 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되거나 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다.
컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 장치의 예로는 ROM, RAM, CD-ROM, DVD±ROM, DVD-RAM, 자기 테이프, 플로피 디 스크, 하드 디스크(hard disk), 광데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 장치에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 일 실시 예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시 예의 변형이 가능하다는 점을 이해할 것이다. 그리고, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.
본 발명은 공간 복잡도가 기존의 결과보다 작으며 시간 복잡도 또한 효율적인 저면적 비트-병렬 곱셈기 및 그 곱셈 방법에 관한 것으로, 공개키 암호시스템 및 파이프라인이 아닌 구조의 비트병렬 곱셈기가 탑재 가능한 모든 암호칩 및 유한체 연산기 등에 적용될 수 있다.
도 1은 수학식 4의
Figure 112009009171214-pat00351
의 개수를 나타낸 것이다.
도 2는 본 발명의 일 실시 예에 따른 비트 병렬 다항식 곱셈 방법의 개념도이다.
도 3은 본 발명의 일 실시 예에 따른 곱셈기의
Figure 112009009171214-pat00352
일때
Figure 112009009171214-pat00353
계산에 따른 XOR 시간 지연을 도시한 것이다.
도 4는 본 발명의 일 실시 예에 따른 곱셈기의
Figure 112009009171214-pat00354
일 때의 XOR 시간 지연을 도시한 것이다.
도 5는 본 발명의 일 실시 예에 따른 저면적 비트-병렬 곱셈기의 하드웨어 구조를 도시한 것이다.
도 6은 BTX 구조의 일 예를 보여준다.
도 7은 도 5를
Figure 112009009171214-pat00355
에 의하여 정의되는
Figure 112009009171214-pat00356
를 예로 설계한 다이어그램이다.
도 8은 삼항 기약다항식을 위한 SPB 비트-병렬 곱셈기 복잡도를 비교한 결과이다.

Claims (15)

  1. 다항식 기저를 변환하여 곱셈을 수행하는 다항식 곱셈기에 있어서,
    제1다항식 및 제2다항식 각각에서 적어도 하나의 원소를 변형 이동 다항식 기저로 변환하는 변환 블록;
    상기 기저 변환이 되지 않은 원소들의 논리곱 연산에 포함되는 중복 연산을 수행하는 제1곱셈 블록;
    상기 기저 변환이 되지 않은 원소들의 논리곱 연산에서, 상기 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하는 제2곱셈 블록;
    상기 기저 변환이 되지 않은 원소들의 논리합 연산을 수행하는 제1덧셈 블록; 및
    상기 변환 블록, 제1곱셈 블록, 제2곱셈 블록 및 제1덧셈 블록에서 출력되는 원소들을 이용하여 상기 제1다항식과 제2다항식간의 곱셈값을 생성하는 연산부를 포함하고,
    상기 변형 이동 다항식 기저는,
    다항식 원소 중 적어도 하나의 원소의 차수가 나머지 원소의 차수와 불연속이 되는 다항식 기저인 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈기.
  2. 제 1 항에 있어서,
    상기 변환 블록, 제1곱셈 블록, 제2곱셈 블록 및 제1덧셈 블록은,
    병렬적으로 연산을 수행하는 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈기.
  3. 제 1 항에 있어서,
    상기 연산부는,
    상기 변환 블록에서 출력되는 원소들간의 논리곱 연산에 포함되는 중복 연산을 수행하는 제3곱셈 블록; 및
    상기 변환 블록에서 출력되는 원소들간의 논리곱 연산에서, 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하는 제4곱셈 블록을 포함하는 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈기.
  4. 제 3 항에 있어서,
    상기 연산부는,
    상기 제3곱셈 블록에서 출력되는 원소들간의 논리합 연산을 수행하는 제2이진 트리 덧셈 블록을 포함하는 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈기.
  5. 제 1 항에 있어서,
    상기 연산부는,
    상기 제1덧셈 블록에서 출력되는 원소들간의 논리곱 연산을 수행하는 제5곱셈 블록을 포함하는 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈기.
  6. 제 1 항에 있어서,
    상기 연산부는,
    상기 제2곱셈 블록에서 출력되는 원소들간의 논리합 연산을 수행하는 제2덧셈 블록을 포함하는 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈기.
  7. 제 1 항에 있어서,
    상기 연산부는,
    상기 제1곱셈 블록에서 출력되는 원소들간의 논리합 연산을 수행하는 제1이진 트리 덧셈 블록을 포함하는 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈기.
  8. 삭제
  9. 다항식 기저를 변환하여 곱셈을 수행하는 다항식 곱셈기에 있어서,
    제1다항식 및 제2다항식에서 적어도 하나의 원소
    Figure 112010014149004-pat00347
    ,
    Figure 112010014149004-pat00348
    (i는 임의의 정수)를 각각
    Figure 112010014149004-pat00349
    ,
    Figure 112010014149004-pat00350
    (k는 임의의 정수)로 기저 변환하는 변환 블록;
    상기 기저 변환이 되지 않은 원소들의 논리곱 연산에 포함되는 중복 연산을 수행하는 제1곱셈 블록;
    상기 기저 변환이 되지 않은 원소들의 논리곱 연산에서, 상기 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하는 제2곱셈 블록;
    상기 기저 변환이 되지 않은 원소들의 논리합 연산을 수행하는 제1덧셈 블록; 및
    상기 변환 블록, 제1곱셈 블록, 제2곱셈 블록 및 제1덧셈 블록에서 출력되는 원소들을 이용하여 상기 제1다항식과 제2다항식간의 곱셈값을 생성하는 연산부를 포함하고,
    상기 변환 블록은,
    다항식 원소 중 적어도 하나의 원소의 차수가 나머지 원소의 차수와 불연속이 되는 다항식 기저로 기저 변환하는 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈기.
  10. 다항식 기저를 변환하여 다항식의 곱셈을 수행하는 방법에 있어서,
    변환 블록에서 제1다항식 및 제2다항식 각각의 적어도 하나의 원소를 변형 이동 다항식 기저로 변환하고, 제1곱셈 블록에서 상기 기저 변환이 되지 않은 원소들의 논리곱 연산에 포함되는 중복 연산을 수행하며, 제2곱셈 블록에서 상기 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하고, 제1덧셈 블록에서 상기 기저 변환이 되지 않은 원소들의 논리합 연산을 수행하는 단계; 및
    상기 기저 변환, 논리곱 및 논리합의 결과값을 이용하여 상기 제1다항식과 제2다항식간의 곱셈값을 생성하는 단계를 포함하고,
    상기 변형 이동 다항식 기저는,
    다항식 원소 중 적어도 하나의 원소의 차수가 나머지 원소의 차수와 불연속이 되는 다항식 기저인 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈 방법.
  11. 제 10 항에 있어서,
    상기 곱셈값을 생성하는 단계는,
    상기 변환 블록에서 출력되는 원소들간의 논리곱 연산에 포함되는 중복 연산을 수행하고, 상기 변환 블록에서 출력되는 원소들간의 논리곱 연산 중 중복 연산의 부분을 제외한 나머지 원소들 간의 논리곱 연산을 수행하는 단계를 포함하는 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈 방법.
  12. 제 10 항에 있어서,
    상기 곱셈값을 생성하는 단계는,
    상기 제1덧셈 블록에서 출력되는 원소들간의 논리곱 연산을 수행하는 단계를 포함하는 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈 방법.
  13. 제 10 항에 있어서,
    상기 곱셈값을 생성하는 단계는,
    상기 제2곱셈 블록에서 출력되는 원소들간의 논리합 연산을 수행하는 단계를 포함하는 것을 특징으로 하는, 저면적 비트 병렬 다항식 곱셈 방법.
  14. 삭제
  15. 제 10 항 내지 제 13 항 중 어느 한 항에 따른 저면적 비트 병렬 다항식 곱셈 방법을 컴퓨터 시스템에서 실행하기 위한 프로그램이 기록된 컴퓨터 시스템이 판독할 수 있는 기록매체.
KR1020090012136A 2009-02-13 2009-02-13 저면적 비트-병렬 다항식 곱셈기, 그 곱셈 방법 KR100976229B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090012136A KR100976229B1 (ko) 2009-02-13 2009-02-13 저면적 비트-병렬 다항식 곱셈기, 그 곱셈 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090012136A KR100976229B1 (ko) 2009-02-13 2009-02-13 저면적 비트-병렬 다항식 곱셈기, 그 곱셈 방법

Publications (1)

Publication Number Publication Date
KR100976229B1 true KR100976229B1 (ko) 2010-08-17

Family

ID=42759685

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090012136A KR100976229B1 (ko) 2009-02-13 2009-02-13 저면적 비트-병렬 다항식 곱셈기, 그 곱셈 방법

Country Status (1)

Country Link
KR (1) KR100976229B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000026250A (en) * 1998-10-19 2000-05-15 Samsung Electronics Co Ltd Method and apparatus for operating finite field
KR100457177B1 (ko) 2002-12-20 2004-11-16 한국전자통신연구원 유한체 상의 두 원소의 곱을 구하는 직렬-병렬 곱셈기
KR100610367B1 (ko) 2004-06-19 2006-08-10 삼성전자주식회사 정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치
KR20090059265A (ko) * 2007-12-06 2009-06-11 고려대학교 산학협력단 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000026250A (en) * 1998-10-19 2000-05-15 Samsung Electronics Co Ltd Method and apparatus for operating finite field
KR100457177B1 (ko) 2002-12-20 2004-11-16 한국전자통신연구원 유한체 상의 두 원소의 곱을 구하는 직렬-병렬 곱셈기
KR100610367B1 (ko) 2004-06-19 2006-08-10 삼성전자주식회사 정보 누출 공격을 방지하기 위한 갈로아 필드 상의 곱셈방법 및 장치, 역변환 장치 그리고 aes 바이트 치환연산장치
KR20090059265A (ko) * 2007-12-06 2009-06-11 고려대학교 산학협력단 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법

Similar Documents

Publication Publication Date Title
Thapliyal et al. Progress in reversible processor design: a novel methodology for reversible carry look-ahead adder
Kepley et al. Quantum circuits for F _ 2^ n F 2 n-multiplication with subquadratic gate count
Wang et al. Design, evaluation and fault-tolerance analysis of stochastic FIR filters
CN107967132B (zh) 一种用于神经网络处理器的加法器和乘法器
US11646880B2 (en) Secret computation method, secret computation system, secret computation apparatus, and program
Kant Finding linear dependencies in integration-by-parts equations: a Monte Carlo approach
KR102075848B1 (ko) 다항식 연산 최적화 처리 장치, 다항식 연산 최적화 처리 방법 및 기록매체
KR100976232B1 (ko) 고속 비트-병렬 다항식 곱셈기, 그 곱셈 방법
KR100950581B1 (ko) 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법
KR100976229B1 (ko) 저면적 비트-병렬 다항식 곱셈기, 그 곱셈 방법
Szyprowski et al. A study of optimal 4-bit reversible circuit synthesis from mixed-polarity Toffoli gates
Zajac Upper bounds on the complexity of algebraic cryptanalysis of ciphers with a low multiplicative complexity
KR101094354B1 (ko) 유한체의 원소간 비트-병렬 곱셈방법 및 장치
KR100670780B1 (ko) 유한체 GF(2^m)에서의 하이브리드 곱셈 연산 장치및 연산 방법
Ruan et al. Left-to-right optimal signed-binary representation of a pair of integers
Yunos et al. EVEN AND ODD NATURE FOR PSEUDO Ï „-ADIC NON-ADJACENT FORM
KR20140089230A (ko) 중복 형태 리코딩을 이용한 곱셈 방법 및 모듈러 곱셈기
Hua et al. Optimization and implementation of the number theoretic transform butterfly unit for large integer multiplication
JP6067596B2 (ja) ペアリング演算装置、マルチペアリング演算装置、プログラム
Garg et al. Higher-order nonlinearity of Kasami functions
Hariri et al. A Simplified Modulo (2 n-1) Squaring Scheme for Residue Number System
Gorodecky et al. Efficient hardware operations for the residue number system by boolean minimization
US7213043B2 (en) Sparce-redundant fixed point arithmetic modules
KR101626743B1 (ko) 유한체상의 몽고메리 알고리즘을 이용한 곱셉기 및 곱셈 방법
US20230268936A1 (en) Information processing device and information processing method

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: 20130621

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140630

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151109

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee