KR20080056036A - 유한체 상의 고속 직렬 곱셈기 구조 - Google Patents
유한체 상의 고속 직렬 곱셈기 구조 Download PDFInfo
- Publication number
- KR20080056036A KR20080056036A KR1020060128381A KR20060128381A KR20080056036A KR 20080056036 A KR20080056036 A KR 20080056036A KR 1020060128381 A KR1020060128381 A KR 1020060128381A KR 20060128381 A KR20060128381 A KR 20060128381A KR 20080056036 A KR20080056036 A KR 20080056036A
- Authority
- KR
- South Korea
- Prior art keywords
- coefficients
- multiplier
- coefficient
- register block
- multiplied
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/722—Modular multiplication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/724—Finite field arithmetic
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Error Detection And Correction (AREA)
- Complex Calculations (AREA)
Abstract
본 발명은 유한체 곱셈기에 관한 것으로, 특히 직렬 곱셈기보다는 짧은 지연시간을 얻으며, 병렬 곱셈기보다는 적은 하드웨어로 구현함으로써 고속으로 동작하는 새로운 직렬 유한체 곱셈기 구조를 제공하는 유한체 상의 고속 직렬 곱셈기를 제공하는 데 있다. 본 발명에 따르면 α가 m차 유한체 GF(2m)의 원시원(primitive element) 이며, 상기 유한체상의 두 원소 A, B 가 다음과 같을 때, A= a0 + a1α + .... + am-1αm-1, ai∈ GF(2), B= b0 + b1α + .... + bm-1αm-1, bi∈ GF(2), 상기 A, B의 곱을; 외부로부터 m 개의 a 계수들을 입력하며, 다수개의 레지스터들을 구비하는 A-계수 레지스터 블록과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a계수에 α2를 승산하고, 외부로부터 m 개의 b계수들 중 짝수항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 짝수항 b계수들과 상기α2이 승산된 a계수들을 AND 게이트로 결합하는 짝수모듈 곱셈기과; 외부로부터 입력되는 m 개의 a 계수들과 α를 승산한 A-계수 레지스터 블록과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a계수에 α2를 승산하고, 외부로부터 m 개의 b계수들 중 홀수항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 홀수항 b계수들과 상기 α2이 승산된 a계수들을 AND 게이트로 결합하는 홀수모 듈 곱셈기와; 상기 짝수모듈 곱셈기와 홀수모듈 곱셈기를 XOR 게이트 결합하여 2배속 직렬 곱셈값을 출력하는 출력부로 구성됨으로써, 종래의 직렬 곱셈기보다는 짧은 지연시간에 결과를 추출할 수 있고, 병렬 곱셈기보다는 적은 하드웨어로 구현할 수 있는 효과가 있다.
유한체 곱셈기, 직렬 곱셈기, 병렬 곱셈기,
Description
도 1은 종래의 GF(2m)상의 직렬 곱셈기이다.
도 2는 종래의 GF(25)상의 직렬 곱셈기이다.
도 3은 본 발명의 바람직한 실시예에 따른 GF(2m)상의 2배속 직렬 곱셈기를 나타낸 도면이다.
도 4는 종래의 GF(25)상의 α2 곱셈기이다.
도 5는 본 발명의 바람직한 실시예에 따른 GF(25)상의 2배속 직렬 곱셈기의 설계도이다.
도 6은 종래의 GF(25)상에서 병렬로 α를 곱하는 회로이다.
도 7은 본 발명의 바람직한 실시예에 따른 t배속 직렬 유한체 곱셈기를 나타낸 도면이다.
<도면의 주요 부분에 대한 부호의 설명>
100 : 곱셈기 110 : 덧셈기
120 : 출력기 200 : 곱셈부
202 : 제1 곱셈기 204 : 제2 곱셈기
300 : 출력부
본 발명은 유한체 곱셈기에 관한 것으로, 특히 직렬 곱셈기보다는 짧은 지연시간을 얻으며, 병렬 곱셈기보다는 적은 하드웨어로 구현함으로써 고속으로 동작하는 새로운 직렬 유한체 곱셈기 구조를 제공하는 유한체 상의 고속 직렬 곱셈기에 관한 것이다.
일반적으로 유한체(finite fields or Galois fields) 상의 연산은 오류정정 부호, 디지털 신호처리, 암호화 등의 여러 분야에서 널리 사용되고 있다. 특히 오류정정 부호 중 널리 사용되는 BCH 부호 및 Reed-Solomon 부호와 같은 블록부호, 그리고 최근 공개키 암호 알고리즘으로 관심이 집중되고 있는 타원곡선 암호시스템(Elliptic Curve Cryptosystem) 등은 모든 연산이 유한체 상에서 이루어진다. 따라서 유한체 상의 연산은 이들 분야의 시스템 설계 시 전체 시스템의 규모나 성능에 절대적인 영향을 미친다.
이러한 유한체 GF(2m)은 2m개의 원소(elements)를 가지고 있으며, 이 원소들을 표현하는 방법으로는 원시원(primitive element) α의 m-1차 이하 다항식으로 표현하는 다항식표현 방법 (polynomial representation)과 α의 지수로 표현하는 지수표현 (exponential or power representation)방법으로 나눌 수 있다. 지수표현을 이용하면 곱셈과 나눗셈은 각각 2진수의 덧셈과 뺄셈으로 대치되므로 쉽게 수행할 수 있는 반면에 덧셈이 복잡해지며, 다항식표현을 이용하면 덧셈은 각 비트 별 2원합(modulo-2 sum)으로 간단하게 수행되지만 곱셈과 나눗셈이 어려워지는 문제점이 있다. GF(2m)의 차수 m이 작은 경우에는 지수표현을 이용한 연산이 더 쉬운 반면, m이 커지면 지수표현 보다는 다항식표현을 이용한 연산이 더 적은 하드웨어로 구현할 수 있으며 고속처리가 가능하다.
따라서 다항식표현을 이용한 곱셈 및 나눗셈을 효율적으로 실행하는 방법으로서 표준기저(standard basis) 대신에 쌍대기저(dual basis)를 이용한 Berlekamp의 곱셈 알고리즘과 정규기저(normal basis)를 이용한 Massey 와 Omura의 곱셈 알고리즘이 있다. 이 알고리즘들은 다항식 기저를 적절히 변환하여 소요되는 하드웨어 및 지연시간을 줄이고자 하는 방법들이다.
그런데, 종래 유한체 GF(2m)상의 곱셈기는 조합회로를 사용한 병렬 곱셈기(parallel multiplier)와 순서회로를 사용한 직렬 곱셈기(serial multiplier)로 구현할 수 있는데, 이러한, 병렬 곱셈기는 한 클럭 사이클 내에 결과를 출력하는 회로이고, 직렬 곱셈기는 일반적으로 m클럭만큼의 시간 지연 후에 결과를 출력하기 때문에, 병렬 곱셈기는 연산속도는 빠른 반면에 회로가 복잡해지며, 직렬 곱셈기는 회로는 간단하지만, m클럭만큼의 시간 지연이 생기는 문제점이 있다.
따라서, 본 발명은 상기와 같은 종래의 문제점을 해결하기 위해 안출된 것으로서, 직렬 곱셈기보다는 짧은 지연시간을 얻으며, 병렬 곱셈기보다는 적은 하드웨어를 구현함으로써 고속으로 동작하는 새로운 직렬 유한체 곱셈기 구조를 제공하는데 있다.
상기와 같은 목적을 달성하기 위해 본 발명은 α가 m차 유한체 GF(2m)의 원시원(primitive element) 이며, 상기 유한체상의 두 원소 A, B 가 다음과 같을 때, A= a0 + a1α + .... + am -1αm-1, ai∈ GF(2), B= b0 + b1α + .... + bm -1αm-1, bi∈ GF(2), 상기 A, B의 곱을; 외부로부터 m 개의 a 계수들을 입력하며, 다수개의 레지스터들을 구비하는 A-계수 레지스터 블록과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a계수에 α2를 승산하고, 외부로부터 m 개의 b계수들 중 짝수항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 짝수항 b계수들과 상기α2이 승산된 a계수들을 AND 게이트로 결합하는 짝수모듈 곱셈기과; 외부 로부터 입력되는 m 개의 a 계수들과 α를 승산한 A-계수 레지스터 블록과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a계수에 α2를 승산하고, 외부로부터 m 개의 b계수들 중 홀수항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 홀수항 b계수들과 상기 α2이 승산된 a계수들을 AND 게이트로 결합하는 홀수모듈 곱셈기와; 상기 짝수모듈 곱셈기와 홀수모듈 곱셈기를 XOR 게이트 결합하여 2배속 직렬 곱셈값을 출력하는 출력부를 포함한다.
이하, 본 발명을 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 종래의 GF(2m)상의 직렬 곱셈기이다.
도 1에 도시된 바와 같이, 종래의 GF(2m)상의 직렬 곱셈기는 m개의 AND 게이트로 구성된 곱셈기(100)와, m개의 XOR(Exclusive OR)게이트로 구성된 덧셈기(110)와, 두개의 원소의 곱 값을 출력하는 출력기(120)을 포함하여 구성된다.
일반적으로 α를 유한체 GF(2m)의 원시원(primitive element)이라 할 때, 영원(zero element)을 제외한 2m-1개의 모든 원소들은 α의 멱(power)으로 표현할 수 있으며, 상기 α는 수학식(1)과 같은
p(x)= 1 + p1x+ .... + pm -1 xm -1 + xm, pi∈ GF(2).................수학식(1)
차수가 m인 원시 다항식(primitive polynomial)의 근(root), 즉 p(α)=0이므로 다음 수학식(2)와 같이 표현될 수 있다.
αm = 1 + p1α+ .... + pm -1 αm-1 .............................수학식(2)
따라서, 상기 수학식(2)와 같이 유한체 GF(2m)의 각 원소들은 차수가 m-1 이하인 α의 다항식으로 표현할 수 있고, 유한체 GF(2m)상의 임의의 한 원소 U는 다음 수학식 (3)으로 표현될 수 있다.
상기 수학식(3)에서 하기 수학식(4)와 같은 m개의 서로 독립인 원소들을 유한체 GF(2m)의 표준 기저(standard basis)라고 한다.
{ 1, α, α2, .... ,αm-2, αm-1}..................수학식(4)
상기 유한체 GF(2m)상에서 임의의 두 원소를 A와 B라 가정하고, 상기 수학식(3)과 같이 표현하면 수학식(5), 수학식(6)으로 표현된다.
A= a0 + a1α + .... + am -1αm-1, ai∈ GF(2)......................수학식(5)
B= b0 + b1α + .... + bm -1αm-1, bi∈ GF(2)......................수학식(6)
상기 A, B 두 원소의 곱을 Z라 하면 Z는 수학식(7)로 표현된다.
Z= AB mod p(x)
= A(b0 + b1α + b2α2 +....+ bm -1αm-1) mod p(x)
= b0A + b1[Aαmod p(x)] + b2[Aα2 mod p(x)]+ .... + bm -1[Aαm-1 mod p(x)]
..............................................................수학식(7)
상기 수학식(7)에서 두 원소의 곱 Z는 임의의 한 원소 A에 α를 곱해 가면서 B의 계수들과 차례로 곱하여 계속 더하는 것을 나타낸다. 따라서, LFSR(Linear Feedback Shift Register)를 이용하여 수학식(7)을 구현하면 상기 도 1에 도시된 바와 같이 직렬 곱셈기를 설계할 수 있다.
상기 도 1에서 굵은 선은 m비트 버스이고, 는 m비트 레지스터를, 덧셈부(110) 즉, 는 m개의 XOR(Exclusive OR)게이트를, 곱셈부(100) 즉, 는 m개의 AND 게이트를, 는 GF(2m)의 원시원 α를 곱하는 회로를 나타내고 있다.
유한체 GF(2m)에서 상기 수학식(5)와 같은 임의의 한 원소 A에 α를 곱하면 다음과 같은 수학식(8)이 된다.
Aα = a0α + a1α2 + a2α3 + .... + am -2αm-1 + am -1αmmod p(x)....수학식(8)
상기 수학식(8)에 상기 수학식(2)를 대입하면 수학식(9)가 된다.
Aα = am -1 +(a0 + am -1p1)α + (a1 + am -1p2)α2 + .... + (am -2 + am -1pm -1)αm-1 ....................................................................수학식(9)
상기 수학식(9)를 이용하면 도 1의 α를 곱하는(multiply-by-α)회로를 구현할 수 있다.
상기 도 1의 동작은 초기 상태에서 레지스터 Z를 클리어 시키고 임의의 두 원소 A와 B를 각각 레지스터 A와 B에 로드시킨다. 그리고 각 레지스터를 m번 쉬프트 시키면 레지스터 Z에 두 원소의 곱 Z가 저장된다. 따라서 m 클럭 시간에 곱셈의 결과를 얻을 수 있다.
도 2는 도 1의 직렬 곱셈기에서 원시다항식이 p(x) = 1 + x2 + x5인 경우에 해당되는 유한체 GF(25) 직렬 곱셈기이다.
상기 GF(25)상의 임의의 한 원소 A를 수학식 (10)이라고 가정할 때,
A= a0 + a1α + a2α2 + a3α3 + a4α4............................수학식(10)
상기 수학식(10)에 원시원 α를 곱하면 수학식 (11)과 같이 나타낼 수 있다.
Aα = (a0 + a1α + a2α2 + a3α3 + a4α4)α
= a0α + a1α2+ a2α3+ a3α4 + a4(1+α2)
= a4+ a0α + (a1 + a4)α2 + a2α3 + a3α4..................수학식(11)
따라서, GF(25)상에서 상기 도 1과 같은 직렬 곱셈기를 설계하면 도 2와 같이 된다. 그러나 도면에서 알 수 있듯이 종래의 직렬 곱셈기는 m 클럭 지연후에 곱셈 결과가 도출된다는 문제점이 있다.
도 3은 본 발명의 바람직한 실시예에 따른 GF(2m)상의 2배속 직렬 곱셈기를 나타낸 도면이고, 도 4는 종래의 GF(25)상의 α2 곱셈기이며, 도 5는 상기 도4를 사용하여 GF(25)상의 2배속 직렬 곱셈기로 설계한 도면이고, 도 6은 종래의 GF(25)상에서 병렬로 α를 곱하는 회로이다.
도 3에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 GF(2m)상의 2배속 직렬 곱셈기는 m개의 지수에 해당되는 소정 한 even 원소에 α2을 곱하면서 B의 짝수항 계수들과 차례로 곱하는 제1 곱셈기(202)와, α가 곱해진 소정 한 odd 원소에 α2를 곱하면서 상기 B의 홀수항 계수들과 차례로 곱하는 제2 곱셈기(204)로 이루어진 곱셈부(200)와, 상기 제1 및 제2 곱셈부의 결과를 덧셈하여 2배속 직렬 곱셈값을 출력하는 출력부(300)를 포함하여 구성된다.
상기 출력부(300)는 m개의 XOR 게이트로 구성된 덧셈기와, m비트 레지스터로 구성되어 있다.
이하, 도 3, 4, 5 및 6를 참조하여, 본 발명의 바람직한 실시예에 따른 GF(2m)상의 2배속 직렬 곱셈기의 동작과 설계과정을 설명하면 다음과 같다.
상기 2배속 직렬 유한체 곱셈기를 설계하기 위하여, 상기 수학식(7)을 α의 지수가 짝수인 항과 홀수인 항으로 나누면 수학식 (12)와 같이 표현될 수 있으며,
Z= Zeven+ Zodd.................................................수학식(12)
상기 수학식(12)에서 Zeven과 Zodd는 아래 수학식(13)과, 수학식(14)로 표현될 수 있다.
Zeven= b0A + b2Aα2 + b4Aα4 + .... + bm -3Aαm-3 + bm -1Aαm-1........수학식(13)
Zodd= b1Aα + b3Aα3 + b5Aα5 + .... + bm -4Aαm-4 + bm -2Aαm-2......수학식(14)
상기 수학식(7)과 (13)을 비교해보면, 상기 수학식(13)은 소정의 한 원소 A에 α 대신 α2을 곱해 가면서 B의 짝수 항 계수들과 차례로 곱하여 계속 더하는 것이다. 또한 상기 수학식(14)는 다음과 같이 수학식(15)로 표현될 수 있다.
Zodd= b1Aα + b3Aα3 + b5Aα5 + .... + bm -4Aαm-4 + bm -2Aαm-2
= b1(Aα) + b3(Aα)α2 + b5(Aα)α4 + .... + bm -4(Aα)αm-3 + bm -2(Aα)αm-1............................................................수학식(15)
상기 수학식(15)를 보면 상기 수학식(13)에서 A대신 Aα로 바꾸고 B의 홀수랑 계수들과 차례로 곱하면 수학식(13)과 동일한 구조가 됨을 알 수 있다. 따라서 수학식(13)과 수학식(15)를 이용하면 상기 도 3과 같은 2배속 직렬 곱셈기를 설계할 수 있다.
상기 도 3에서도 도 1과 마찬가지로 굵은 선은 m비트 버스이고, 는 m비트 레지스터를, 덧셈부(320) 즉, 는 m개의 XOR(Exclusive OR)게이트를, 곱셈부(202, 204) 즉, 는 m개의 AND 게이트를, 는 GF(2m)의 원시원 α를 곱하는 회로를 나타내고 있다.
상기 도 3은 초기상태에서 레지스터 Z는 클리어 시키고 위쪽 레지스터에는 A를 로드시키고, 아래쪽 레지스터에는 Aα를 로드시킨다. 그리고 각 레지스터를 m/2 번 쉬프트 시키면 레지스터 Z에 두 원소를 곱한 결과가 저장된다. 따라서 m/2 클럭 시간에 곱셈의 결과를 얻을 수 있다.
상기 도 3의 곱셈기를 도 1의 곱셈기와 비교해보면, m비트 레지스터와 m개의 XOR 게이트, m개의 AND 게이트, 그리고 α와 α2을 곱하는데 소요되는 몇 개의 XOR 게이트가 더 사용되었음을 알 수 있다. 그러나 곱셈에 소요되는 시간을 약 절반으로 줄일 수 있다.
예를 들어, 원시다항식이 p(x) = 1 + x2 + x5인 유한체 GF(25) 에서 도 3과 같은 2배속 직렬 곱셈기를 설계해 보면, 수학식(10)과 같은 GF(25)상의 임의의 한 원소 A에 α2을 곱하면 수학식(16)과 같이 표현된다.
Aα2 = a0α2 + a1α3 + a2α4 + a3α5 + a4α6
= a0α2 + a1α3 + a2α4 + a3(1+α2) + a4(α+α3)
= a3 + a4α + (a0 + a3)α2 + (a1 + a4)α3 + a2α4
..................... 수학식(16)
따라서, 상기 수학식(16)을 이용하면 도 4와 같이 GF(25) 상의 임의의 한 원소 A에 α2을 곱하는 회로를 설계할 수 있다.
도 4를 이용하여 도 3과 같은 GF(25)상의 2배속 직렬 곱셈기를 설계하면 도 5와 같다.
상기 도 5에서 "Multiply-by-α2는 도 4와 같은 회로이고, "Xα"는 GF(25)상의 임의의 한 원소 A에 α를 병렬로 곱하는 회로이다. 상기 병렬로 α를 곱하는 회로는 수학식(11)을 이용하면 도 6과 같이 설계할 수 있다.
상기 도 5는 초기 상태에서 레지스터 Z를 클리어 시키고 위쪽의 레지스터에는 A를 로드 시키고, 아래쪽의 레지스터에는 도 6의 출력인 Aα를 로드 시킨다. 그리고, 각 레지스터를 5/2 = 3번 쉬프트 시키면 레지스터 Z에 두 원소의 곱이 저장된다. 따라서 3 클럭 시간에 곱셈의 결과를 얻을 수 있다.
도 7은 본 발명의 바람직한 실시예에 따른 t배속 직렬 유한체 곱셈기를 나타낸 도면이다.
이하, 도 7을 참조하여 본 발명의 바람직한 실시예에 따른 t배속 직렬 유한체 곱셈기를 설명하면 다음과 같다.
2배속 직렬 곱셈기의 구조를 t배속 직렬 곱셈기 구조로 확장하기 위하여 수학식(7)을 t개로 분할하면 다음과 같이 정리된다.
Z0 = b0A + btAαt + b2tAα2t +....
Z1 = b1(Aα) + bt +1(Aα)αt + b2t +1(Aα)α2t +....
Z2= b2(Aα2) + bt +2(Aα2)αt + b2t +2(Aα2)α2t +....
.
.
.
Zt -1 = bt -1(Aαt-1) + b2t -1(Aαt-1)αt + b3t -1(Aαt-1)α2t + .........수학식(17)
상기 수학식(17)을 이용하여 도 3과 같은 구조를 갖는 t배속 직렬 곱셈기를 설계하면 도 7과 같이 된다. 상기 도 7과 같은 곱셈기는 m/t 클럭 시간에 곱셈의 결과를 얻을 수 있다.
상술한 바와 같이, 본 발명에 따른 유한체 상의 고속 직렬기 곱셈기는 직렬 곱셈기의 긴 지연시간과 병렬 곱셈기의 복잡한 회로 사이를 적절하게 절충함으로써, 직렬 곱셈기보다는 짧은 지연시간에 결과를 얻을 수 있으며, 병렬 곱셈기보다는 적은 회로로 구현됨으로써, 하드웨어 측면에서는 훨씬 적은 하드웨어로 구현가능하고, 고속으로 곱셈을 수행할 수 있는 장점이 있다.
이상에서 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
상술한 바와 같이, 본 발명에 따르면 B의 홀수 항 계수들을 곱하는 회로를 구현하는데 있어서, 한 클럭 사이클을 더 사용하기 때문에 종래 직렬 곱셈기보다는 짧은 지연시간에 결과를 얻을 수 있으며, 병렬 곱셈기보다는 적은 회로로 구현할 수 있고, 또한 m/2 클럭이 소요되므로 고속으로 곱셈을 수행하는 효과가 있다.
본 발명은 유한체의 표준기저 상에서 임의의 두 원소의 곱을 표현하는 다항식을 t 개로 분리하여 각각을 병렬로 처리하는 방식으로 종래의 유한체 곱셈기보다 t 배의 속도를 향상시킬 수 있다.
Claims (7)
- α가 m차 유한체 GF(2m)의 원시원(primitive element) 이며, 상기 유한체상의 두 원소 A, B 가 다음과 같을 때,A= a0 + a1α + .... + am -1αm-1, ai∈ GF(2)B= b0 + b1α + .... + bm -1αm-1, bi∈ GF(2)상기 A, B의 곱을;외부로부터 m 개의 a 계수들을 입력하며, 다수개의 레지스터들을 구비하는 A-계수 레지스터 블록과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a계수에 α2를 승산하고, 외부로부터 m 개의 b계수들 중 짝수항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 짝수항 b계수들과 상기α2이 승산된 a계수들을 AND 게이트로 결합하는 짝수모듈 곱셈기과;외부로부터 입력되는 m 개의 a 계수들과 α를 승산한 A-계수 레지스터 블록과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a계수에 α2를 승산하고, 외부로부터 m 개의 b계수들 중 홀수항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 홀수항 b계수들과 상기 α2이 승산된 a계수들을 AND 게이트로 결합하는 홀수모듈 곱셈기와;상기 짝수모듈 곱셈기와 홀수모듈 곱셈기를 XOR 게이트 결합하여 2배속 직렬 곱셈값을 출력하는 출력부를 포함하여 구성되는 것을 특징으로 하는 유한체 곱셈기.
- 제1항에 있어서, 상기 출력부는m개의 XOR 게이트로 구성된 덧셈부와;m개의 비트 레지스터로 구성되는 것을 특징으로 하는 유한체 곱셈기.
- 제2항에 있어서,상기 출력부는상기 레지스터 출력부의 출력값이 상기 덧셈부의 입력값으로 연결되는 것을 특징으로 하는 유한체 곱셈기.
- 제3항에 있어서,상기 홀수모듈 곱셈기의 출력값은 b1(Aα) + b3(Aα)α2 + b5(Aα)α4 + .... + bm -4(Aα)αm-3 + bm -2(Aα)αm-1인 것을 특징으로 하는 유한체 곱셈기.
- α가 m차 유한체 GF(2m)의 원시원(primitive element) 이며, 상기 유한체상 의 두 원소 A, B 가 다음과 같을 때,A= a0 + a1α + .... + am -1αm-1, ai∈ GF(2)B= b0 + b1α + .... + bm -1αm-1, bi∈ GF(2)상기 A, B의 곱을;외부로부터 m 개의 a 계수들을 입력하며, 다수개의 레지스터들을 구비하는 A-계수 레지스터 블록과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a계수에 αt를 승산하고, 외부로부터 m 개의 b계수들 중 (0, t, 2t, ....)항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 (0, t, 2t, 3t....)항 b계수들과 상기 αt가 승산된 a계수들을 AND 게이트로 결합하는 t 배수 모듈 곱셈기과;외부로부터 입력되는 m 개의 a 계수들과 α를 승산한 A-계수 레지스터 블록과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a-계수에 αt를 승산하고, 외부로부터 m 개의 b계수들 중 (1, t+1, 2t+1, ....)항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 (1, t+1, 2t+1, 3t+1....)항 b계수들과 상기 αt가 승산된 a계수들을 AND 게이트로 결합하는 (t 배수+1) 모듈 곱셈기와;외부로부터 입력되는 m 개의 a 계수들과 α2를 승산한 A-계수 레지스터 블록 과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a계수에 αt를 승산하고, 외부로부터 m 개의 b계수들 중 (2, t+2, 2t+2...)항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 (2, t+2, 2t+2...)항 b계수들과 상기 αt 가 승산된 a계수들을 AND 게이트로 결합하는 (t 배수+2) 모듈 곱셈기와;......외부로부터 입력되는 m 개의 a계수들과 αt- 1를 승산한 A-계수 레지스터 블록과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a계수에 αt를 승산하고, 외부로부터 m 개의 b계수들 중 (t-1, 2t-1, 3t-1...)항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 (t-1, 2t-1, 3t-1...)항 b계수들과 상기 αt가 승산된 a계수들을 AND 게이트로 결합하는 (2t 배수-1) 모듈 곱셈기와;상기 각각의 모듈 곱셈기를 XOR 게이트 결합하여 t배속 직렬 곱셈값을 출력하는 출력부를 포함하여 구성되는 것을 특징으로 하는 유한체 곱셈기.
- 제5항에 있어서, 상기 출력부는m개의 XOR 게이트로 구성된 덧셈부와;m개의 비트 레지스터로 구성되는 것을 특징으로 하는 유한체 곱셈기.
- 제6항에 있어서,상기 출력부는상기 레지스터 출력부의 출력값이 상기 덧셈부의 입력값으로 연결되는 것을 특징으로 하는 유한체 곱셈기.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060128381A KR100893695B1 (ko) | 2006-12-15 | 2006-12-15 | 유한체 상의 고속 직렬 곱셈기 구조 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060128381A KR100893695B1 (ko) | 2006-12-15 | 2006-12-15 | 유한체 상의 고속 직렬 곱셈기 구조 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080056036A true KR20080056036A (ko) | 2008-06-20 |
KR100893695B1 KR100893695B1 (ko) | 2009-04-17 |
Family
ID=39802453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060128381A KR100893695B1 (ko) | 2006-12-15 | 2006-12-15 | 유한체 상의 고속 직렬 곱셈기 구조 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100893695B1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018139750A1 (ko) * | 2017-01-25 | 2018-08-02 | 공주대학교 산학협력단 | 유한체 병렬 곱셈 장치 및 방법 |
KR20190079857A (ko) * | 2017-12-28 | 2019-07-08 | 공주대학교 산학협력단 | 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100444905B1 (ko) * | 2001-12-17 | 2004-08-21 | 이용석 | 유한체 곱셈기 |
KR100457177B1 (ko) * | 2002-12-20 | 2004-11-16 | 한국전자통신연구원 | 유한체 상의 두 원소의 곱을 구하는 직렬-병렬 곱셈기 |
-
2006
- 2006-12-15 KR KR1020060128381A patent/KR100893695B1/ko not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018139750A1 (ko) * | 2017-01-25 | 2018-08-02 | 공주대학교 산학협력단 | 유한체 병렬 곱셈 장치 및 방법 |
KR20190079857A (ko) * | 2017-12-28 | 2019-07-08 | 공주대학교 산학협력단 | 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR100893695B1 (ko) | 2009-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2283417B1 (en) | Implementation of arbitrary galois field arithmetic on a programmable processor | |
Drolet | A new representation of elements of finite fields GF (2/sup m/) yielding small complexity arithmetic circuits | |
Lee | A high-speed low-complexity Reed-Solomon decoder for optical communications | |
JP2004326112A (ja) | マルチプルモジュラス選択器、累算器、モンゴメリー掛け算器、マルチプルモジュラス発生方法、部分掛け発生方法、累算方法、掛け算方法、モジュラス選択器、およびブースレコーダ | |
Ji et al. | Fast parallel CRC algorithm and implementation on a configurable processor | |
Reyhani-Masoleh | A new bit-serial architecture for field multiplication using polynomial bases | |
JP3447053B2 (ja) | 組み合わせ回路、該組み合わせ回路を使用する符号化装置、復号装置、および半導体デバイス | |
KR100950581B1 (ko) | 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법 | |
KR100893695B1 (ko) | 유한체 상의 고속 직렬 곱셈기 구조 | |
US7539719B2 (en) | Method and apparatus for performing multiplication in finite field GF(2n) | |
US6138134A (en) | Computational method and apparatus for finite field multiplication | |
KR100946256B1 (ko) | 다정도 캐리 세이브 가산기를 이용한 듀얼필드상의확장성있는 몽고매리 곱셈기 | |
Conway | Galois field arithmetic over GF (p/sup m/) for high-speed/low-power error-control applications | |
EP2434650A1 (en) | Reed-Solomon encoder with simplified Galois field multipliers | |
Dash et al. | VLSI implementation of Reed-Solomon encoder algorithm for communication systems | |
Hasan et al. | Sequential multiplier with sub-linear gate complexity | |
Zhang et al. | Low-power design of Reed-Solomon encoders | |
Monfared et al. | A new multiplicative inverse architecture in normal basis using novel concurrent serial squaring and multiplication | |
Jeon et al. | Design of Montgomery multiplication architecture based on programmable cellular automata | |
CN101957739B (zh) | 基于分治的亚二次多项式乘法器 | |
Guo et al. | A low-complexity power-sum circuit for GF (2/sup m/) and its applications | |
Wu | Low complexity LFSR based bit-serial montgomery multiplier in GF (2 m) | |
Bharathwaj et al. | An alternate approach to modular multiplication for finite fields [GF (2/sup m/)] using Itoh Tsujii algorithm | |
Bhoite et al. | A systolic architecture based GF (2m) multiplier using modified LSD first multiplication algorithm | |
KR20010068349A (ko) | 표준기저를 기반으로 하는 유한체내 고속 gf곱셈기 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20130409 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20140205 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20150515 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |