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

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

Info

Publication number
KR100893695B1
KR100893695B1 KR1020060128381A KR20060128381A KR100893695B1 KR 100893695 B1 KR100893695 B1 KR 100893695B1 KR 1020060128381 A KR1020060128381 A KR 1020060128381A KR 20060128381 A KR20060128381 A KR 20060128381A KR 100893695 B1 KR100893695 B1 KR 100893695B1
Authority
KR
South Korea
Prior art keywords
multiplier
coefficient
coefficients
multiplied
register
Prior art date
Application number
KR1020060128381A
Other languages
English (en)
Other versions
KR20080056036A (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 : 짝수부분 곱셈기 204 : 홀수부분 곱셈기
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) 상기 두 원소의 곱을 산출하는 곱셈기에 있어서, 외부로부터 m 개의 a 계수들이 입력되는 A-계수 레지스터블록, 상기 a 계수들에 α2을 곱하는 α2곱셈기(multiply-by-α2), 외부로부터 m개의 b계수들 중 짝수항 계수들이 입력되는 복수의 레지스터를 구비하는 B-레지스터블록 및 상기 짝수항 b계수들과 상기 α2 이 승산된 a계수들을 결합하는 앤드게이트(202)를 포함하는 짝수모듈 곱셈기; 외부로부터 입력되는 m 개의 a 계수들에 α를 곱하는 α곱셈회로, 상기 α가 곱해진 a 계수들이 입력되는 복수의 레지스터를 구비하는 Aα-계수 레지스터 블록, 상기 α가 곱해진 a 계수들에 α2을 곱하는 α2곱셈기(multiply-by-α2), 외부로부터 m개의 b계수들 중 홀수항 계수들이 입력되는 복수의 레지스터를 구비하는 B-레지스터블록 및 상기 홀수항 b계수들과 상기 α 및 α2 이 승산된 a계수들을 결합하는 앤드게이트(204)를 포함하는 홀수모듈곱셈기; 상기 짝수모듈곱셈기로부터의 출력과 상기 홀수모듈곱셈기로부터의 출력에 대한 배타적논리합을 수행하는 m개의 제1배타적논리합 게이트; 및 상기 제1배타적논리합 게이트로부터의 출력을 수용하기 위해 덧셈부 및 m개의 비트레지스터를 구비하는 출력부;를 포함하여 구성되고, 상기 덧셈부는 상기 비트레지스터의 값과 상기 제1배타적논리합 게이트들의 출력을 입력으로 하고 출력값을 상기 비트레지스터에 전달하는 m개의 제2배타적논리합 게이트를 포함하여 구성된다.
또한, 본 발명은 α가 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) 상기 두 원소의 곱(Z=Z0 내지 Zt-1)을 t개로 분할한 식이 다음과 같이 표현될 때, Z0=b0A+btt+b2t2t+………, Z1=b1(Aα)+bt+1(Aα)αt+b2t+1(Aα)α2t+…, ……, Zk=bk(Aαk)+bt+k(Aαkt+b2t+k(Aαk2t+…,……, Zt-1=bt-1(Aαt-1)+b2t-1(Aαt-1t+b3t-1(Aαt-12t+… 상기 두 원소의 곱(Z)을 산출하기 위한 곱셈기에 있어서, 상기 곱셈기는 상기 B원소의 b계수들을 t개의 b계수군으로 나누어 곱셈하기 위해 t개의 b계수군 각각에 대한 곱셈을 수행하기 위한 t개의 모듈곱셈기; 상기 모듈곱셈기들의 출력에 대해 배타적논리합을 수행하는 제1배타적논리합게이트; 및 상기 배타적논리합 게이트로부터의 출력을 수용하기 위해 덧셈부 및 m개의 비트레지스터를 구비하는 출력부;를 포함하여 구성되며, 상기 t개의 모듈곱셈기 중 k항 곱셈기는 외부로부터 m개의 a 계수들이 입력되는 A-계수레지스터블록, 상기 a계수들에 αt-1 를 곱하는 αt-1 곱셈기, 외부로부터 m개의 b계수들 중 k항 계수들이 입력되는 복수의 레지스터를 구비하는 B-레지스터블록 및 상기 k항 b계수들과 상기 αt-1 이 승산된 a계수들을 결합하는 앤드게이트를 포함하여 구성되고, 상기 덧셈부는 상기 비트레지스터의 값과 상기 제1배타적논리합 게이트들의 출력을 입력으로 하고, 출력값을 상기 비트레지스터에 전달하는 m개의 제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)
    상기 두 원소의 곱을 산출하는 곱셈기에 있어서,
    외부로부터 m 개의 a 계수들이 입력되는 A-계수 레지스터블록, 상기 a 계수들에 α2을 곱하는 α2곱셈기(multiply-by-α2), 외부로부터 m개의 b계수들 중 짝수항 계수들이 입력되는 복수의 레지스터를 구비하는 B-레지스터블록 및 상기 짝수항 b계수들과 상기 α2 이 승산된 a계수들을 결합하는 앤드게이트(202)를 포함하는 짝수모듈 곱셈기;
    외부로부터 입력되는 m 개의 a 계수들에 α를 곱하는 α곱셈회로, 상기 α가 곱해진 a 계수들이 입력되는 복수의 레지스터를 구비하는 Aα-계수 레지스터 블록, 상기 α가 곱해진 a 계수들에 α2을 곱하는 α2곱셈기(multiply-by-α2), 외부로부터 m개의 b계수들 중 홀수항 계수들이 입력되는 복수의 레지스터를 구비하는 B-레지스터블록 및 상기 홀수항 b계수들과 상기 α 및 α2 이 승산된 a계수들을 결합하는 앤드게이트(204)를 포함하는 홀수모듈곱셈기;
    상기 짝수모듈곱셈기로부터의 출력과 상기 홀수모듈곱셈기로부터의 출력에 대한 배타적논리합을 수행하는 m개의 제1배타적논리합 게이트; 및
    상기 제1배타적논리합 게이트로부터의 출력을 수용하기 위해 덧셈부 및 m개의 비트레지스터를 구비하는 출력부;를 포함하여 구성되고,
    상기 덧셈부는 상기 비트레지스터의 값과 상기 제1배타적논리합 게이트들의 출력을 입력으로 하고 출력값을 상기 비트레지스터에 전달하는 m개의 제2배타적논리합 게이트를 포함하여 구성되는 것을 특징으로 하는 유한체 곱셈기.
  2. 삭제
  3. 삭제
  4. 삭제
  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)
    상기 두 원소의 곱(Z=Z0 내지 Zt-1)을 t개로 분할한 식이 다음과 같이 표현될 때,
    Z0=b0A+btt+b2t2t+………, Z1=b1(Aα)+bt+1(Aα)αt+b2t+1(Aα)α2t+…, ……, Zk=bk(Aαk)+bt+k(Aαkt+b2t+k(Aαk2t+…,……, Zt-1=bt-1(Aαt-1)+b2t-1(Aαt-1t+b3t-1(Aαt-12t+…
    상기 두 원소의 곱(Z)을 산출하기 위한 곱셈기에 있어서,
    상기 곱셈기는 상기 B원소의 b계수들을 t개의 b계수군으로 나누어 곱셈하기 위해 t개의 b계수군 각각에 대한 곱셈을 수행하기 위한 t개의 모듈곱셈기;
    상기 모듈곱셈기들의 출력에 대해 배타적논리합을 수행하는 제1배타적논리합게이트; 및
    상기 배타적논리합 게이트로부터의 출력을 수용하기 위해 덧셈부 및 m개의 비트레지스터를 구비하는 출력부;를 포함하여 구성되며,
    상기 t개의 모듈곱셈기 중 k항 곱셈기는
    외부로부터 m개의 a 계수들이 입력되는 A-계수레지스터블록, 상기 a계수들에 αt-1 를 곱하는 αt-1 곱셈기, 외부로부터 m개의 b계수들 중 k항 계수들이 입력되는 복수의 레지스터를 구비하는 B-레지스터블록 및 상기 k항 b계수들과 상기 αt-1 이 승산된 a계수들을 결합하는 앤드게이트를 포함하여 구성되고,
    상기 덧셈부는 상기 비트레지스터의 값과 상기 제1배타적논리합 게이트들의 출력을 입력으로 하고, 출력값을 상기 비트레지스터에 전달하는 m개의 제2배타적논리합 게이트를 포함하여 구성되는 것을 특징으로 하는 유한체 곱셈기.
  6. 삭제
  7. 삭제
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 KR20080056036A (ko) 2008-06-20
KR100893695B1 true 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)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101837750B1 (ko) * 2017-01-25 2018-03-13 공주대학교 산학협력단 유한체 병렬 곱셈 장치 및 방법
KR102110162B1 (ko) * 2017-12-28 2020-05-14 공주대학교 산학협력단 다항식 곱셈 연산 방법에 기반한 유한체의 병렬 곱셈 연산 방법

Citations (2)

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

Patent Citations (2)

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

Also Published As

Publication number Publication date
KR20080056036A (ko) 2008-06-20

Similar Documents

Publication Publication Date Title
EP2283417B1 (en) Implementation of arbitrary galois field arithmetic on a programmable processor
EP1449063B1 (en) Galois field multiplier system
US4873688A (en) High-speed real-time Reed-Solomon decoder
Lee A high-speed low-complexity Reed-Solomon decoder for optical communications
US7543011B2 (en) Montgomery modular multiplier and method thereof using carry save addition
JP5978382B2 (ja) 非バイナリ線形ブロックコードの並列符号化
EP1855190A2 (en) Montgomery modular multiplier and method therof using carry save addition
Cho et al. Strength-reduced parallel Chien search architecture for strong BCH codes
Ji et al. Fast parallel CRC algorithm and implementation on a configurable processor
US7240204B1 (en) Scalable and unified multiplication methods and apparatus
JP3447053B2 (ja) 組み合わせ回路、該組み合わせ回路を使用する符号化装置、復号装置、および半導体デバイス
US6263471B1 (en) Method and apparatus for decoding an error correction code
KR100893695B1 (ko) 유한체 상의 고속 직렬 곱셈기 구조
Reyhani-Masoleh A new bit-serial architecture for field multiplication using polynomial bases
US7320101B1 (en) Fast parallel calculation of cyclic redundancy checks
KR19990026630A (ko) 리드-솔로몬 복호기와 그 복호방법
JPH11136136A (ja) リードソロモン符号化装置及び方法
JP4045872B2 (ja) 符号化方法および符号化装置
Park et al. High-speed low-complexity Reed-Solomon decoder using pipelined Berlekamp-Massey algorithm
KR100946256B1 (ko) 다정도 캐리 세이브 가산기를 이용한 듀얼필드상의확장성있는 몽고매리 곱셈기
Monfared et al. A new multiplicative inverse architecture in normal basis using novel concurrent serial squaring and multiplication
Zhang et al. Low-power design of Reed-Solomon encoders
JPH1196030A (ja) 有限体上の乗算方法及び乗算回路
CN101957739B (zh) 基于分治的亚二次多项式乘法器
JPS61216044A (ja) 信号処理装置

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