KR20080056036A - 유한체 상의 고속 직렬 곱셈기 구조 - Google Patents

유한체 상의 고속 직렬 곱셈기 구조 Download PDF

Info

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
Application number
KR1020060128381A
Other languages
English (en)
Other versions
KR100893695B1 (ko
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 KR1020060128381A priority Critical patent/KR100893695B1/ko
Publication of KR20080056036A publication Critical patent/KR20080056036A/ko
Application granted granted Critical
Publication of KR100893695B1 publication Critical patent/KR100893695B1/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/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/722Modular multiplication
    • 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/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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic 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

유한체 상의 고속 직렬 곱셈기 구조{ARCHITECTURE OF FAST-SERIAL FINITE FIELD MULTIPLIER}
도 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)으로 표현될 수 있다.
U= u0 + u1α + .... + um -1 α m- 1 =
Figure 112006092920215-PAT00001
, ui∈ GF(2)..........수학식(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비트 버스이고,
Figure 112006092920215-PAT00002
는 m비트 레지스터를, 덧셈부(110) 즉,
Figure 112006092920215-PAT00003
는 m개의 XOR(Exclusive OR)게이트를, 곱셈부(100) 즉,
Figure 112006092920215-PAT00004
는 m개의 AND 게이트를,
Figure 112006092920215-PAT00005
는 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 -1p22 + .... + (am -2 + am -1pm -1m-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 + b22 + b44 + .... + bm -3m-3 + bm -1m-1........수학식(13)
Zodd= b1Aα + b33 + b55 + .... + bm -4m-4 + bm -2m-2......수학식(14)
상기 수학식(7)과 (13)을 비교해보면, 상기 수학식(13)은 소정의 한 원소 A에 α 대신 α2을 곱해 가면서 B의 짝수 항 계수들과 차례로 곱하여 계속 더하는 것이다. 또한 상기 수학식(14)는 다음과 같이 수학식(15)로 표현될 수 있다.
Zodd= b1Aα + b33 + b55 + .... + bm -4m-4 + bm -2m-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비트 버스이고,
Figure 112006092920215-PAT00006
는 m비트 레지스터를, 덧셈부(320) 즉,
Figure 112006092920215-PAT00007
는 m개의 XOR(Exclusive OR)게이트를, 곱셈부(202, 204) 즉,
Figure 112006092920215-PAT00008
는 m개의 AND 게이트를,
Figure 112006092920215-PAT00009
는 GF(2m)의 원시원 α를 곱하는 회로를 나타내고 있다.
상기 도 3은 초기상태에서 레지스터 Z는 클리어 시키고 위쪽 레지스터에는 A를 로드시키고, 아래쪽 레지스터에는 Aα를 로드시킨다. 그리고 각 레지스터를
Figure 112006092920215-PAT00010
m/2
Figure 112006092920215-PAT00011
번 쉬프트 시키면 레지스터 Z에 두 원소를 곱한 결과가 저장된다. 따라서
Figure 112006092920215-PAT00012
m/2
Figure 112006092920215-PAT00013
클럭 시간에 곱셈의 결과를 얻을 수 있다.
상기 도 3의 곱셈기를 도 1의 곱셈기와 비교해보면, m비트 레지스터와 m개의 XOR 게이트, m개의 AND 게이트, 그리고 α와 α2을 곱하는데 소요되는 몇 개의 XOR 게이트가 더 사용되었음을 알 수 있다. 그러나 곱셈에 소요되는 시간을 약 절반으로 줄일 수 있다.
예를 들어, 원시다항식이 p(x) = 1 + x2 + x5인 유한체 GF(25) 에서 도 3과 같은 2배속 직렬 곱셈기를 설계해 보면, 수학식(10)과 같은 GF(25)상의 임의의 한 원소 A에 α2을 곱하면 수학식(16)과 같이 표현된다.
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 + a32 + (a1 + a43 + 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α를 로드 시킨다. 그리고, 각 레지스터를
Figure 112006092920215-PAT00014
5/2
Figure 112006092920215-PAT00015
= 3번 쉬프트 시키면 레지스터 Z에 두 원소의 곱이 저장된다. 따라서 3 클럭 시간에 곱셈의 결과를 얻을 수 있다.
도 7은 본 발명의 바람직한 실시예에 따른 t배속 직렬 유한체 곱셈기를 나타낸 도면이다.
이하, 도 7을 참조하여 본 발명의 바람직한 실시예에 따른 t배속 직렬 유한체 곱셈기를 설명하면 다음과 같다.
2배속 직렬 곱셈기의 구조를 t배속 직렬 곱셈기 구조로 확장하기 위하여 수학식(7)을 t개로 분할하면 다음과 같이 정리된다.
Z0 = b0A + btt + b2t2t +....
Z1 = b1(Aα) + bt +1(Aα)αt + b2t +1(Aα)α2t +....
Z2= b2(Aα2) + bt +2(Aα2t + b2t +2(Aα22t +....
.
.
.
Zt -1 = bt -1(Aαt-1) + b2t -1(Aαt-1t + b3t -1(Aαt-12t + .........수학식(17)
상기 수학식(17)을 이용하여 도 3과 같은 구조를 갖는 t배속 직렬 곱셈기를 설계하면 도 7과 같이 된다. 상기 도 7과 같은 곱셈기는
Figure 112006092920215-PAT00016
m/t
Figure 112006092920215-PAT00017
클럭 시간에 곱셈의 결과를 얻을 수 있다.
상술한 바와 같이, 본 발명에 따른 유한체 상의 고속 직렬기 곱셈기는 직렬 곱셈기의 긴 지연시간과 병렬 곱셈기의 복잡한 회로 사이를 적절하게 절충함으로써, 직렬 곱셈기보다는 짧은 지연시간에 결과를 얻을 수 있으며, 병렬 곱셈기보다는 적은 회로로 구현됨으로써, 하드웨어 측면에서는 훨씬 적은 하드웨어로 구현가능하고, 고속으로 곱셈을 수행할 수 있는 장점이 있다.
이상에서 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것이 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
상술한 바와 같이, 본 발명에 따르면 B의 홀수 항 계수들을 곱하는 회로를 구현하는데 있어서, 한 클럭 사이클을 더 사용하기 때문에 종래 직렬 곱셈기보다는 짧은 지연시간에 결과를 얻을 수 있으며, 병렬 곱셈기보다는 적은 회로로 구현할 수 있고, 또한
Figure 112006092920215-PAT00018
m/2
Figure 112006092920215-PAT00019
클럭이 소요되므로 고속으로 곱셈을 수행하는 효과가 있다.
본 발명은 유한체의 표준기저 상에서 임의의 두 원소의 곱을 표현하는 다항식을 t 개로 분리하여 각각을 병렬로 처리하는 방식으로 종래의 유한체 곱셈기보다 t 배의 속도를 향상시킬 수 있다.

Claims (7)

  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계수에 α2를 승산하고, 외부로부터 m 개의 b계수들 중 짝수항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 짝수항 b계수들과 상기α2이 승산된 a계수들을 AND 게이트로 결합하는 짝수모듈 곱셈기과;
    외부로부터 입력되는 m 개의 a 계수들과 α를 승산한 A-계수 레지스터 블록과, 상기 A-계수 레지스터 블럭과 연결되어 각각의 a계수에 α2를 승산하고, 외부로부터 m 개의 b계수들 중 홀수항 계수들이 입력되는 다수개의 레지스터들을 구비하는 B-레지스터 블럭과, 상기 홀수항 b계수들과 상기 α2이 승산된 a계수들을 AND 게이트로 결합하는 홀수모듈 곱셈기와;
    상기 짝수모듈 곱셈기와 홀수모듈 곱셈기를 XOR 게이트 결합하여 2배속 직렬 곱셈값을 출력하는 출력부를 포함하여 구성되는 것을 특징으로 하는 유한체 곱셈기.
  2. 제1항에 있어서, 상기 출력부는
    m개의 XOR 게이트로 구성된 덧셈부와;
    m개의 비트 레지스터로 구성되는 것을 특징으로 하는 유한체 곱셈기.
  3. 제2항에 있어서,
    상기 출력부는
    상기 레지스터 출력부의 출력값이 상기 덧셈부의 입력값으로 연결되는 것을 특징으로 하는 유한체 곱셈기.
  4. 제3항에 있어서,
    상기 홀수모듈 곱셈기의 출력값은 b1(Aα) + b3(Aα)α2 + b5(Aα)α4 + .... + bm -4(Aα)αm-3 + bm -2(Aα)αm-1인 것을 특징으로 하는 유한체 곱셈기.
  5. α가 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배속 직렬 곱셈값을 출력하는 출력부를 포함하여 구성되는 것을 특징으로 하는 유한체 곱셈기.
  6. 제5항에 있어서, 상기 출력부는
    m개의 XOR 게이트로 구성된 덧셈부와;
    m개의 비트 레지스터로 구성되는 것을 특징으로 하는 유한체 곱셈기.
  7. 제6항에 있어서,
    상기 출력부는
    상기 레지스터 출력부의 출력값이 상기 덧셈부의 입력값으로 연결되는 것을 특징으로 하는 유한체 곱셈기.
KR1020060128381A 2006-12-15 2006-12-15 유한체 상의 고속 직렬 곱셈기 구조 KR100893695B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100444905B1 (ko) * 2001-12-17 2004-08-21 이용석 유한체 곱셈기
KR100457177B1 (ko) * 2002-12-20 2004-11-16 한국전자통신연구원 유한체 상의 두 원소의 곱을 구하는 직렬-병렬 곱셈기

Cited By (2)

* Cited by examiner, † Cited by third party
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