KR100950581B1 - 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법 - Google Patents

여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법 Download PDF

Info

Publication number
KR100950581B1
KR100950581B1 KR1020070126016A KR20070126016A KR100950581B1 KR 100950581 B1 KR100950581 B1 KR 100950581B1 KR 1020070126016 A KR1020070126016 A KR 1020070126016A KR 20070126016 A KR20070126016 A KR 20070126016A KR 100950581 B1 KR100950581 B1 KR 100950581B1
Authority
KR
South Korea
Prior art keywords
matrix
subtraction
row
finite field
polynomial
Prior art date
Application number
KR1020070126016A
Other languages
English (en)
Other versions
KR20090059265A (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 KR1020070126016A priority Critical patent/KR100950581B1/ko
Publication of KR20090059265A publication Critical patent/KR20090059265A/ko
Application granted granted Critical
Publication of KR100950581B1 publication Critical patent/KR100950581B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 기존의 여분 표현을 사용한 곱셈기보다 공간 및 시간 복잡도 면에서 우수하며, left-to-right 지수승 환경에 효율적으로 사용할 수 있는 유한체 비트-병렬 곱셈 장치 및 방법에 관한 것이다.
본 발명에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치는, ESP(Equally Spaced polynomial) 기약 다항식을 기반으로 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치로서, 유한체 GF(2m) 상의 제1 원소로서 여분 표현(redundant representation)으로 표현되는 상기 제1 원소를 입력받아, 상기 제1 원소의 다항식 계수를 구성원소로 하여 다항식 곱셈을 수행하는 상기 제1 원소에 관한 행렬에 대해 행렬 감산 과정을 수행하여 감산 행렬을 생성하는 감산 행렬 생성부; 및 상기 유한체 GF(2m) 상의 제2 원소로서 다항식 기저(polynomial basis)로 표현되는 상기 제2 원소를 입력받아, 상기 제2 원소의 다항식 계수를 구성원소로 하는 상기 제2 원소에 관한 행렬과 상기 감산 행렬 생성부에 의해 생성된 감산 행렬을 내적하여 상기 감산 행렬의 각각의 행에 대응하는 내적값을 생성하는 내적부를 포함한다.

Description

여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및 방법{Bit-parallel multiplier and multiplying method for finite field using redundant representation}
본 발명은 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치 및 방법에 관한 것이며, 더 상세하게는 시간 및 공간 복잡도 면에서 향상되고 left-to-right 지수승 환경에서 효율적으로 사용할 수 있는 유한체 비트-병렬 곱셈 장치 및 방법에 관한 것이다.
유한체(finite feild)란 유한한 개수의 원소를 포함하는 체(field)를 말한다. 즉, 유한체 GF(2m)는 2m개의 원소들을 포함하는 수 체계이다. 유한체 상의 연산은 코딩이론(coding theory), 컴퓨터 대수(computer algebra), 공개키 암호(public key cryptosystem) 중 타원곡선 암호(elliptic curve cryptosystem) 등 여러 분야에서 널리 쓰이고 있다. 유한체 GF(2m)의 주요연산은 덧셈, 곱셈, 제곱, 역원 연산들이다. 상기 연산들 중에서, 덧셈과 제곱 연산은 이진체 특성에 의하여 쉽게 수행될 수 있지만, 곱셈과 역원 연산은 복잡한 구조가 요구된다. 특히, 공개키 암호 시 스템에서 가장 많은 비중을 차지하는 지수승 연산의 경우, 반복적인 곱셈으로 구성되므로 곱셈기의 효율성이 공개키 암호 시스템의 효율성에 크게 영향을 미친다.
현재까지 연구된 유한체 곱셈 연산기로는 크게 직렬 유한체 곱셈기, 병렬 유한체 곱셈기, 하이브리드 유한체 곱셈기가 존재한다. 직렬 유한체 곱셈기는 마스트로비토(Maxtrovito)에 의하여 제안되어 유한체 곱셈기의 기본적인 구조로 자리 잡아 왔다. 그러나 직렬 유한체 곱셈기는 시간 복잡도가 높아 고속 연산에 부적합한 문제가 있다. 하이브리드 유한체 곱셈기는 1999년 파르(Paar)에 의하여 제안되어 직렬 유한체 곱셈기의 연산 수행속도 문제를 개선하고 병렬 유한체 곱셈기의 단점으로 볼 수 있는 하드웨어 자원 문제를 개선하였다. 그러나 하이브리드 곱셈기의 경우 사용 가능한 유한체로서 유한체의 차수가 합성수인 합성수 유한체를 사용하기 때문에 암호학적인 안전도가 떨어져 많은 응용 분야에 적용하기 힘들다. 병렬 유한체 곱셈기의 경우 앞서 언급한 바와 같이 비교적 하드웨어 자원을 많이 필요로 하는 문제가 있으나, 고속 연산을 수행할 수 있으므로 연산량이 많고 시간이 중요시되는 환경에서 다른 곱셈기들에 비해 그 필요성이 크다.
한편, 유한체 GF(2m) 곱셈기 설계에 있어서 원소 표현은 선택은 매우 중요하다. 주로 쓰는 원소 표현 방법으로는 정규기저(normal basis) 표현, 다항식 기저(polynomial basis) 표현, 쌍대 기저(dual basis) 표현, 및 여분(redundant) 표현 등이 있다. 상기 각각의 기저들은 환경에 따라 장단점을 가진다. 상기 기저들 중 여분 표현을 사용하는 경우 다른 기저들과 비교할 때, 모듈러 감산 부분을 빠르 게 구성할 수 있는 특성을 이용하여 시간-공간 복잡도의 트레이드오프(trade-off)에 관한 효율성을 제공한다. 예컨대, 다항식 기저에서 차수가 m이고 항의 차수의 차이가 s인 ESP(Equally Spaced Polynomial)
Figure 112007087800958-pat00001
의 경우 복잡도는 m2 AND 게이트, m2-s XOR 게이트의 공간 복잡도와
Figure 112007087800958-pat00002
의 시간 복잡도를 가진다(T A 는 2개의 입력에 1개의 출력을 가진 AND 게이트 시간, T X 2개의 입력에 1개의 출력을 가진 XOR 게이트 시간). 그러나 연산 시간을 줄이기 위해 여분 표현(redundant representation)을 적용하면 (m+s)2 AND 게이트, (m+s-1)(m+s) XOR 게이트의 공간 복잡도와
Figure 112007087800958-pat00003
의 시간 복잡도를 가진다. 따라서 s가 최소인 AOP(All One Polynomial)이 가장 효율적이다(K.-Y. Chang, D. Hong 및 H.-Y. Cho의 "Low complexity bit-parallel multiplier for ?㎀?defined by all-one polynomials using redundant representation," IEEE Trans. Computers, vol. 54, no. 12, pp. 1628-1630, Dec. 2005. 참조). 그럼에도 기존의 유한체 GF(2m)에 대한 여분 표현의 곱셈기는 연산 시간에 비하여 연산량이 많아 다른 기저로 표현한 곱셈기에 비해 공간 복잡도가 많이 늘어나는 문제점이 있다. 또한, 공개키 암호시스템에서 많이 사용되는 지수승 연산 환경에는 효율성이 크게 떨어지는 문제점이 있다.
따라서, 본 발명이 이루고자 하는 첫 번째 기술적 과제는, 지수승 연산 환경에서 효율적으로 동작하면서도 공간복잡도를 감소시킬 수 있는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치를 제공하는 것이다.
본 발명이 이루고자 하는 두 번째 기술적 과제는, 지수승 연산 환경에서 효율적으로 동작하면서도 공간복잡도를 감소시킬 수 있는 비트-병렬 곱셈 장치에서의 유한체 비트-병렬 곱셈 방법을 제공하는 것이다.
상기와 같은 첫 번째 기술적 과제를 해결하기 위하여, ESP(Equally Spaced polynomial) 기약 다항식을 기반으로 여분 표현을 사용하여 유한체 비트-병렬 곱셈을 수행하는 장치가 제공되며, 상기 비트-병렬 곱셈 장치는, 유한체 GF(2m) 상의 제1 원소로서 여분 표현(redundant representation)으로 표현되는 상기 제1 원소를 입력받아, 상기 제1 원소의 다항식 계수를 구성원소로 하여 다항식 곱셈을 수행하는 상기 제1 원소에 관한 행렬에 대해 행렬 감산 과정을 수행하여 감산 행렬을 생성하는 감산 행렬 생성부; 및 상기 유한체 GF(2m) 상의 제2 원소로서 다항식 기저(polynomial basis)로 표현되는 상기 제2 원소를 입력받아, 상기 제2 원소의 다항식 계수를 구성원소로 하는 상기 제2 원소에 관한 행렬과 상기 감산 행렬 생성부에 의해 생성된 감산 행렬을 내적하여 상기 감산 행렬의 각각의 행에 대응하는 내적값을 생성하는 내적부를 포함한다.
본 발명의 일 실시예에 따르면, 상기 감산 행렬 생성부는 ESP의 차수가 m이고, 상기 ESP의 항 사이의 차수의 차가 s이고, 그리고 상기 ESP의 근이 α일 때, αm+s=1인 특성을 이용하여 상기 행렬 감산 과정을 수행할 수 있다.
본 발명의 일 실시예에 따르면, 상기 감산 행렬 생성부는 상기 제1 원소에 관한 상기 행렬의 m+s+i행의 구성원소를 i행의 구성원소와 배타적 논리합(XOR) 연산을 수행하여 상기 i행으로 이동시킴으로써 상기 행렬 감산 과정을 수행할 수 있다.
본 발명의 일 실시예에 따르면, 상기 내적부는 상기 감산 행렬 생성부에서 생성된 상기 감산 행렬의 구성원소를 구조적인 연결에 의해 상기 감산 행렬의 각각의 행 별로 출력하는 리니어 시프트(linear shift)부; 상기 제2 원소에 관한 상기 행렬의 구성원소를 상기 리니어 시프트부의 각각의 출력에 포함되는 구성원소와 각각 논리곱 연산하여 상기 연산의 결과를 출력하는 논리곱 연산부; 및 상기 논리곱 연산부의 출력을 이진 트리 구조로 배타적 논리합 연산을 수행하여 상기 감산 행렬의 각각의 행에 대응하는 상기 내적값을 생성하는 배타적 논리합 연산부를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 상기 리니어 시프트부는, 상기 감산 행렬의 i행이 입력되면 상기 구조적인 연결에 의해 상기 i행을 1열씩 이동시켜 마지막 열의 구성원소를 제거하고 상기 감산 행렬의 i+1행의 첫 번째 열의 구성원소와 함께 상기 감산 행렬의 상기 i+1행을 출력하는 리니어 시프트기를 통해 상기 감산 행렬의 구성원소를 상기 감산 행렬의 각각의 행 별로 출력할 수 있다.
본 발명이 일 실시예에 따르면, 상기 배타적 논리합 연산부는 상기 리니어 시프트부의 임의의 한 출력에 대응하는 상기 논리곱 연산부의 출력들을 입력 쌍으로 하여 이진 트리 구조로 배타적 논리합 연산을 수행하는 BTX(Binary Tree XOR)들을 포함할 수 있다.
상기와 같은 첫 번째 기술적 과제를 해결하기 위하여, 본 발명의 다른 일 실시예에 따라 ESP(Equally Spaced polynomial) 기약 다항식을 기반으로 여분 표현을 사용하여 유한체 비트-병렬 곱셈을 수행하는 장치가 제공되며, 상기 다른 일 실시예에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치는, 유한체 GF(2m) 상의 제1 원소로서 여분 표현(redundant representation)으로 표현되는 상기 제1 원소를 입력받아, 상기 제1 원소의 다항식 계수를 구성원소로 하여 다항식 곱셈을 수행하는 상기 제1 원소에 관한 행렬에 대해 행렬 감산 과정을 수행하여 감산 행렬을 생성하는 감산 행렬 생성부; 상기 감산 행렬 생성부에 의해 생성된 감산 행렬의 i행이 입력되면 구조적인 연결에 의해 상기 i행을 1열씩 이동시켜 마지막 열의 구성원소를 제거하고 상기 감산 행렬의 i+1행의 첫 번째 열의 구성원소와 함께 상기 감산 행렬의 상기 i+1행을 출력하는 리니어 시프트기를 통해 상기 감산 행렬의 구성원소를 상기 감산 행렬의 각각의 행 별로 출력하는 리니어 시프트부; 상기 유한체 GF(2m) 상의 제2 원소로서 다항식 기저(polynomial basis)로 표현되는 상기 제2 원소를 입력받아, 상기 제2 원소의 다항식 계수 및 상기 리니어 시프트부의 각각의 출력에 포함되는 구성원소로서 상기 제2 원소의 상기 다항식 계수에 대응하는 상기 구성원소를 입력 쌍으로 하여 논리곱 연산을 수행하여 연산 결과를 출력하는 논리곱 연산부; 및 상기 리니어 시프트부의 임의의 한 출력에 대응하는 상기 논리곱 연산부의 출력들을 입력 쌍으로 하여 이진 트리 구조로 배타적 논리합 연산을 수행하여, 상기 리니어 시프트부의 상기 각각의 출력에 대응하는 연산 결과를 생성하는 배타적 논리합 연산부를 포함할 수 있다.
상기와 같은 두 번째 기술적 과제를 해결하기 위하여, 비트-병렬 곱셈 장치에서 ESP(Equally Spaced polynomial) 기약 다항식을 기반으로 여분 표현을 사용하여 유한체 비트-병렬 곱셈을 수행하는 방법이 제공되며, 상기 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법은, 유한체 GF(2m) 상의 제1 원소로서 여분 표현(redundant representation)으로 표현되는 상기 제1 원소를 입력받아, 상기 제1 원소의 다항식 계수를 구성원소로 하여 다항식 곱셈을 수행하는 상기 제1 원소에 관한 행렬에 대해 행렬 감산 과정을 수행하여 감산 행렬을 생성하는 행렬 감산 단계; 및 상기 유한체 GF(2m) 상의 제2 원소로서 다항식 기저(polynomial basis)로 표현되는 상기 제2 원소를 입력받아, 상기 제2 원소의 다항식 계수를 구성원소로 하는 상기 제2 원소에 관한 행렬과 상기 행렬 감산 단계에서 생성된 감산 행렬을 내적하여 상기 감산 행렬의 각각의 행에 대응하는 내적값을 생성하는 행렬 곱셈 단계를 포함한다.
본 발명에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치 및 방법은, 기존의 여분 표현을 사용한 곱셈기보다 공간 및 시간 복잡도 면에서 우수하며, left-to-right 지수승 환경에 효율적으로 사용할 수 있다는 이점을 제공한다.
본 발명에 관한 구체적인 내용의 설명에 앞서 이해의 편의를 위해 본 발명이 해결하고자하는 기술적 과제의 개요를 우선 제시한다.
유한체 GF(2m)을 생성하는데 이용되는 ESP 기약 다항식을 다음과 같이 정의한다. GF(2)에서 차수가 m이고 항사이의 차가 s인 ESP 다항식
Figure 112007087800958-pat00004
를 ESP(Equally-Spaced Polynomial)라 한다(단, m=ns). 그리고 ESP가 기약이면, m은 짝수가 된다. α를 GF(2) 위에서 차수가 m인 ESP p(x)의 근이라고 하면, 다항식 기저는 {1,α,α2,…,αm-1}이 되며 GF(2m)의 모든 원소가 상기 1,α,α2,…,αm-1의 선형 결합으로 표현된다. 또한, ESP p(x)의 경우 αm+s=1이므로 αm+s+i차 항 이후의 곱셈 결과는 αi차 항 이후로 더해진다. 그리고 αm차 항부터 αm+s-1차 항까지의 감산시 발생하는 시간 복잡도를 줄이기 위해, 다항식 기저{1,α,α2,…,αm-1}를 확장한 {1,α,α2,…,αm+s-1}을 고려한다. 그러면, GF(2m)에 존재하는 임의의 원소 A는 A=
Figure 112007087800958-pat00005
(단, ai∈GF(2), 0≤i≤m+s-1 이고 i=정수)로 표현된다. 이와 같이 유한체 원소 표현에서 본래 기저에 항을 추가하여 나타내는 방법을 여분 표현(redundant representation)이라 한다. α가 ESP p(x)의 근이므로 p(α)=0이 되며, 유한체 GF(2m)에 존재하는 임의의 원소 a(α) 및 b(α)는 a(α)=
Figure 112007087800958-pat00006
및 b(α)=
Figure 112007087800958-pat00007
로 표현된다(단, ai,bj∈GF(2)).
상기 두 원소 a(α) 및 b(α)의 곱셈을 수행하는 연산 과정에는 다음과 같은 두 가지 방법이 있다. 첫 번째 방법은, 곱셈 단계와 모듈러 감산 단계를 분리해서 계산하는 일반적인 방법이며, 두 번째 방법은 곱셈 단계와 모듈러 감산을 하나의 행렬로 구성해 처리하는 마스트로비토 곱셈방법이다. 상기 두 번째 방법인 마스트로비토 곱셈방법의 경우 병렬 처리가 가능해 고속 연산에 적합하다. 따라서, 유한체 GF(2m)에 대한 고속 병렬 곱셈기를 설계하기 위하여 상기 마스트로비토 곱셈방법을 사용한다. 두 원소의 곱셈 연산은 하기 수학식 1과 같다.
c(α) = a(α)·b(α)
=
Figure 112007087800958-pat00008
=
Figure 112007087800958-pat00009
상기 다항식 표현의 곱셈을 나타내기 위하여 하기 수학식 2와 같이 행렬 M을 정의한다.
Figure 112007087800958-pat00010
그러면, 상기 수학식 2에 나타난 행렬 M을 이용하여 상기 다항식 곱셈을 행렬의 표현식 c=M·b으로 나타낼 수 있다. 상기 행렬 M은 (2m-1+2s)×(m+s) 행렬이고, c=(c0,c1,…,c2m -2+2s) T , 그리고 b=(b0,b1,…,bm +s-1) T 이다(T는 행벡터를 의미한다). c를 여분 표현으로 나타내기 위해서는 행렬 감산 과정 및 행렬 곱셈 과정이 필요하다.
행렬 감산 과정에 있어서, αm+s=1임을 이용하면 다항식 c(α)의 m+s+i차 항 이후가 i차 항 이후로 더해진다. 상기 과정을 상기 행렬 M의 표현으로 설명하자면, 상기 행렬 M의 (m+s+i)행 이후가 i행 이후로 더해진다. 따라서 행렬 M의 특성상 추가적인 배타적 논리합 게이트(XOR gate) 없이 상기 행렬 M:(2m-1+2s)×(m+s)을 하기 수학식 3에 나타난 행렬 M':(m+s)×(m+s)로 구성할 수 있다.
Figure 112007087800958-pat00011
다음으로 행렬 곱셈 과정에 있어서, 상기 다항식 c(α)을 p(α)로 감산한 다항식을 c'(α)로 정의한다. 그러면, 상기 다항식 p(α)로 감산하는 과정은 상기 행렬 감산 과정과 관련되어 있으며, 상기 행렬 M'을 이용해 모듈러 감산을 행렬의 표현식 c'=M'·b로 나타낼 수 있다. 상기 행렬의 표현식에서 행렬 M'은 (m+s)×(m+s) 행렬이고, 그리고 c'=(c'0,c'1,…,c'm -1+s) T , b=(b0,b1,…,bm +s-1) T 이다. 여분 표현을 사용하는 기존 곱셈기의 효율성을 설명하자면, 행렬 M'에 행렬 b를 곱할 때 각 행마다 (m+s)개의 곱과 합이 수행되고 총 행의 개수가 (m+s)이므로, (m+s)2 AND 게이트, (m+s-1)(m+s) XOR 게이트의 공간 복잡도와
Figure 112007087800958-pat00012
시간 복잡도가 소요된다.
앞서 설명한 바와 같이, 유한체 원소 표현에는 다항식 기저 표현, 정규 기저 표현, 쌍대 기저 표현, 및 여분 표현 등 여러 가지 종류가 있으며, 각각의 환경에 따라 장단점을 가진다. 따라서 연산을 수행할 때 상기 연산에 장점을 가지는 원소 표현으로 변환하는 일은 필수적이다. 본 발명에 따른 곱셈 장치 및 방법은 ESP 기 약 다항식의 특성, 즉 αm+s=1을 고려하여 여분 표현을 선택한다. 그리고 연산 결과를 다항식 기저로 표현하려면 하기 수학식 4와 같이 αm차 항부터 αm+s-1차 항까지를 p(x)로 감산한다.
Figure 112007087800958-pat00013
따라서, 유한체 GF(2m)의 원소를 여분 표현에서 다항식 기저 표현으로 변환하는데에는 다음과 같은 복잡도가 요구된다. 공간 복잡도의 경우, s개의 항이 순서대로 n개씩 더해지므로 m XOR 게이트, 시간 복잡도의 경우, 더해지는 부분이 한 번씩 병렬로 구성되므로 1TX 시간 지연이 일어난다.
본 발명에 따른 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및 방법 은 다항식 지수승 연산이 많이 쓰인다는 것을 감안한 것으로서, Left-to-Right 지수승 환경과 같이 고정된 형태의 인자가 반복적으로 곱해지는 환경은 고정된 다항식에 의한 곱을 반복적으로 수행한다는 점에 착안한 것이다. 즉, 고정된 형태의 입력 값은 다항식 기저로 표현한 원소를 사용하고, 다른 하나의 입력 값은 여분 표현으로 표현한 원소를 사용하여 상기 양 원소를 곱하는 형태이다. 일반적인 ESP에서 여분 표현을 사용한 기존 곱셈기들과는 달리 본 발명에 따른 곱셈 장치 및 방법은 하나의 입력 값이 다항식 기저로 표현되기 때문에 감산하는 부분이 적어지고, 그 결과 기존의 여분 표현 곱셈기보다 시간 및 공간 복잡도 면에서 효율성을 제공한다.
이하, 본 발명의 기술적 과제의 해결 방안을 명확화하기 위해 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하되 도면의 구성요소들에 참조번호를 부여함에 있어서 동일 구성요소에 대해서는 비록 다른 도면상에 있더라도 동일 참조번호를 부여할 수 있으며 당해 도면에 대한 설명시 필요한 경우 다른 도면의 구성요소를 인용할 수 있음을 미리 밝혀둔다.
본 발명을 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불명료하게 할 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자 등의 의도 또는 관례 등에 따라 달라질 수 있을 것이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1에는 본 발명에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치의 일례가 블록도로 도시되어 있다. 도 1을 참조하면, 본 발명에 따른 곱셈 장치는 감산 행렬 생성부(100)와 내적부(110)를 포함한다. 상기 감산 행렬 생성부(100)는 유한체 GF(2m) 상의 임의의 원소로서 여분 표현(redundant representation)으로 표현되는 원소 a(α)를 입력받는다. 그리고 상기 감산 행렬 생성부(100)는 상기 원소 a(α)의 다항식 계수를 구성원소로 하는 행렬(M)로서 다항식 곱셈을 수행하기 위하여 정의되는 행렬(M)의 행렬 감산 과정을 수행하여 감산 행렬(M')을 생성한다. 그러면, 상기 내적부(110)는 상기 유한체 GF(2m) 상의 원소로서 다항식 기저(polynomial basis)로 표현되는 원소 b(α)를 입력받아, 상기 원소 b(α)의 다항식 계수를 구성원소로 하는 상기 원소 b(α)에 관한 행렬을 생성하고, 상기 원소 b(α)에 관한 행렬과 상기 감산 행렬 생성부(100)에 의해 생성된 감산 행렬(M')을 내적하여 상기 감산 행렬의 각각의 행에 대응하는 출력(c)을 생성한다.
더 상세히 설명하면, 상기 유한체의 임의의 원소 a(α) 및 b(α)가 각각 여분 표현 및 다항식 기저 표현으로 표현되므로, a(α)=
Figure 112007087800958-pat00014
이고 b(α)=
Figure 112007087800958-pat00015
이다(단, ai,bj∈GF(2)). 상기 두 원소 a(α) 및 b(α)를 곱하는 과정은 하기 수학식 5와 같다.
Figure 112007087800958-pat00016
상기 수학식 5에 나타난 곱셈 과정을 수행하기 위해 상기 감산 행렬 생성부(100)는 하기 수학식 6과 같이 행렬 M을 정의한다.
Figure 112007087800958-pat00017
상기 수학식 6의 행렬 M을 이용해 다항식 곱셈을 하기 수학식 7과 같이 행렬의 표현식으로 나타낼 수 있다.
c=M·b
상기 수학식 6에서 정의된 바와 같이 상기 행렬 M은 a(α)의 다항식 계수를 구성원소로 하고 있는 (2m-1+s)×m 행렬이고, c=(c0,c1,…,c2m -2+2s) T , 그리고 b=(b0,b1,…,bm +s-1) T 이다(T는 행벡터를 의미한다). 이때, 상기 c는 c(α)의 다항식 계수로 이루어진 (2m-1+s)×1 행렬이고, b는 b(α)의 다항식 계수로 이루어진 m×1 행렬이다. 즉, c는 상기 행렬 M과 상기 행렬 b의 내적에 의해 구해진다. 상기 행렬 c를 여분 표현으로 나타내기 위한 감산 과정은 기약 ESP p(x)와 관련되어 나타난다. 기약 ESP p(x)의 특성인 α가 p(x)의 근일 때, αm+s=1을 이용한 결과값 c'(α)는 하기 수학식 8과 같다.
Figure 112007087800958-pat00018
, (c'i∈GF(2))
상기 수학식 8을 행렬로 표현하기 위해서 다음의 두 가지 단계를 거친다.
행렬 감산 단계
αm+s=1인 특성을 이용해 감산하면 다항식 c(α)의 m+s+i차 항 이후가 각각 i차 항 이후로 더해진다. 그러면, 상기 수학식 6의 행렬 M은 추가적인 XOR 게이트 없이 행렬 M'((m+s)×m 행렬)으로 구성할 수 있고, 변화 과정은 하기 수학식 9와 같다.
M[m+s+i→i], (i=1,2,…,m-1)
상기 수학식 9에서 M[i→j]는 i행 구성원소를 j행의 구성원소와 배타적 논리합(XOR) 연산을 수행하여 j행으로 이동시키는 것으로 정의한다. 따라서, 상기 감산 행렬 생성부(100)에서 상기 수학식 6의 행렬 M((2m-1+s)×m 행렬)은 상기 수학식 9에 의해 하기 수학식 10에 나타난 행렬 M'((m+s)×m 행렬)로 변화된다.
Figure 112007087800958-pat00019
행렬 곱셈 단계
상기 감산 행렬 생성부(100)에서 상기 행렬 감산 단계를 통해 얻은 상기 행렬 M'을 이용하여, 여분 표현으로 나타낸 다항식 c'(α)에 관한 모듈러 감산을 하기 수학식 11과 같이 행렬의 표현식으로 나타낼 수 있다.
c'=M'·b
상기 수학식 11에서 상기 행렬 M'은 (m+s)×m 행렬이고, 그리고 c'=(c'0,c'1,…,c'm -1+s) T , b=(b0,b1,…,bm +s-1) T 이다. 이때, 상기 c'는 c'(α)의 다항식 계수를 구성원소로 하는 (m+1)×1 행렬이고, b는 b(α)의 다항식 계수를 구성원소로 하는 m×1 행렬이다. 즉, c'는 상기 내적부(110)에서 상기 행렬 M'와 상기 행렬 b의 내적에 의해 구해진다.
이하, 상기 내적부(110)의 세부동작을 상세히 설명한다. 상기 내적부(110)는 리니어 시프트(linear shift)부(120), 논리곱 연산부(130), 및 배타적 논리합 연산부(140)를 포함한다. 상기 감산 행렬 생성부(100)에서 상기 감산 행렬 M'을 생성하면 상기 내적부(110)에 포함되는 리니어 시프트부(120)에서 상기 감산 행렬 M'의 구성원소를 상기 감산 행렬 M'의 각각의 행 별로 출력한다. 상기 리니어 시프트부(120)는 리니어 시프트기(122)들을 포함하며, 상기 리니어 시프트기(122)는 상기 감산 행렬 M'의 i행이 입력되면 구조적인 연결, 예컨대 내부 결선에 의해 상기 i행을 1열씩 이동시켜 마지막 열의 구성원소를 제거하고 상기 감산 행렬 M'의 i+1행 첫 번째 열의 구성원소에 해당하는 ai와 함께 상기 감산 행렬 M'의 i+1행을 출력한다.
도 2에는 상기 리니어 시프트기(122)의 구조가 도시되어 있다. 도 2에 도시된 바와 같이 상기 리니어 시프트기(122)는 구조적인 연결에 의해 동작을 수행하기 때문에 각각의 리니어 시프트기들의 출력 간에는 시간적 차이가 발생하지 않는다.
상기 리니어 시프트부(120)가 상기 감산 행렬 M'의 각각의 행을 출력하면 상기 논리곱 연산부(130)는 상기 리니어 시프트부(120)의 각각의 출력에 포함되는 구성원소와 그에 대응하는 상기 행렬 b의 구성원소를 입력 쌍으로 하여 각각의 논리곱 연산을 수행하고 상기 논리곱 연산의 결과를 출력한다. 상기 논리곱 연산부(130)는 상기 리니어 시프트부(120)의 상기 각각의 출력에 대응하는 PPG(Partial product generator; 132)를 포함하며 상기 PPG(132)들을 통해 상기 리니어 시프트부(120)의 상기 각각의 출력에 대한 논리곱 연산을 수행한다. 상기 PPG(132)는 상기 리니어 시프트부(120)의 각각의 출력에 포함되는 구성원소와 그에 대응하는 상기 행렬 b의 구성원소를 입력 쌍으로 하는 2 입력 AND 게이트의 병렬구조로 이루어져 있다. 본 발명의 일 실시예에 따르면, 상기 내적부(110)에 포함되는 상기 논리곱 연산부(130)가 상기 원소 b(α)를 입력받아, 상기 행렬 b를 생성하고, 상기 행렬 b의 구성원소와 상기 리니어 시프트부(120)의 각각의 출력에 포함되는 구성원소로서 상기 행렬 b의 상기 구성원소에 대응하는 구성원소를 입력 쌍으로 하여 논리곱 연산을 수행하여 상기 리니어 시프트부(120)의 각각의 출력에 대응하는 연산 결과를 출력할 수 있다.
도 3 및 도 4에는 본 발명에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치에 사용되는 PPG(132)의 구조, 및 상기 PPG(132)의 출력들에 대하여 2 입력 XOR 게이트의 이진 트리 구조로 배타적 논리합 연산을 수행하는 BTX(Binary Tree XOR; 142)의 구조가 회로도로 도시되어 있다. 상기 논리곱 연산부(130)가 상기 PPG들 중 하나의 PPG(132)를 통해 상기 감산 행렬 M'의 임의의 한 행, 즉 상기 리니어 시프트부(120)의 임의의 한 출력에 대하여 상기 행렬 b의 구성요소들과의 논리곱 연산 결과들을 출력하면, 상기 배타적 논리합 연산부(140)는 상기 리니어 시프트부(120)의 각각의 출력에 대응하는 BTX들, 즉 상기 PPG들에 대응하는 BTX들 중 상기 하나의 PPG(132)에 대응하는 BTX(142)를 통해 상기 출력된 논리곱 연산 결과들에 대하여 XOR 게이트의 이진 트리 구조로 배타적 논리합 연산을 수행하여 상 기 리니어 시프트부(120)의 상기 임의의 한 출력에 대응하는 하나의 연산 결과를 출력한다. 도 3에는 본 발명에 따른 곱셈 장치의 구조 중 상기 감산 행렬 M'의 제1행부터 제m-1행까지의 구조에 관한 회로도가 도시되어 있으며, 도 5에는 도 3의 회로가 블록도로 도시되어 있다. 도 4에는 본 발명에 따른 곱셈 장치의 구조 중 상기 감산 행렬 M'의 제m행부터 제m+s행까지의 구조에 관한 회로도가 도시되어 있으며, 도 6에는 도 4의 회로가 블록도로 도시되어 있다. 도 5 및 도 6에서
Figure 112007087800958-pat00020
는 2 입력 AND 게이트를 나타내며,
Figure 112007087800958-pat00021
는 2 입력 XOR 게이트를 나타낸다.
도 7에는 본 발명에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법의 일례에 관한 흐름도가 도시되어 있다. 도 7을 참조하면, 비트-병렬 곱셈 장치에서 ESP(Equally Spaced polynomial) 기약 다항식을 기반으로 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법은, 유한체 GF(2m) 상의 원소로서 여분 표현(redundant representation)으로 표현되는 상기 원소 a(α)를 입력받아, 상기 원소 a(α)의 다항식 계수를 구성원소로 하는 행렬로서 다항식 곱셈을 수행하기 위한 상기 행렬 M을 정의하고(S700), 상기 정의된 행렬을 감산하여 감산 행렬 M'을 생성한다(S710). 상기 행렬 M을 정의하는 행렬 정의 단계 및 상기 감산 행렬 M'을 생성하는 행렬 감산 단계의 세부과정은 상술한 바와 같다.
다음으로, 상기 유한체 GF(2m) 상의 원소로서 다항식 기저(polynomial basis)로 표현되는 상기 원소 b(α)를 입력받아, 상기 원소 b(α)의 다항식 계수를 구성원소로 하는 상기 원소 b(α)에 관한 행렬 b를 생성하고, 상기 행렬 b와 상기 행렬 감산 단계에서 생성된 감산 행렬 M'을 내적하여 상기 감산 행렬 M'의 각각의 행에 대응하는 출력을 생성한다(S720). 상기 감산 행렬 M'의 각각의 행에 대응하는 출력을 생성하는 행렬 곱셈 단계의 세부과정은 상술한 바와 같다.
본 발명에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치 및 방법에 요구되는 복잡도를 살펴보면, 상기 행렬 M'을 상기 행렬 b에 곱할 때 상기 행렬 M'의 각 행은 병렬로 구성되므로, 공간 복잡도는 AND 게이트: m(m+s), XOR 게이트: (m-1)(m+s)이고, 시간 복잡도는
Figure 112007087800958-pat00022
이다.
하기 표 1에서 본 발명에 따른 곱셈 장치와 기존의 곱셈기들의 공간 및 시간 복잡도를 비교하였다.
Figure 112007087800958-pat00023
상기 표 1에서, Itoh-Tsujii 곱셈기는 T. Itoh 및 S. Tsujii의 "Structure of Parallel Multipliers for a Class of Fields GF(2m),"(Information and Computation, vol.83, pp.21-40, 1989)를 참조하고, Hasan 곱셈기는 M.A. Hasan, M.Z. Wang, 및 V.K. Bhargava의 "Modular Construction of Low Complexity Parallel Multipliers for a Class of Finite fields GF(2m),"(IEEE Trans. Computers, vol.41, no.8, pp.962-971, Aug.1992)를 참조하고, Mastrovito 곱셈기는 E.D. Mastrovito의 "VLSI Designs for Multiplication over Finite fields GF(2m),"(Proc. Sixth Symp. Applied Algebra, Algebraic Algorithms, and Error Correcting Codes (AAECC-6), pp.297-309, July 1988)을 참조하고, Masoleh and Hasan 곱셈기는 A. Reyhani-Masoleh 및 M.A. Hasan의 “Low Complexity Bit Parallel Architectures for Polynomial Basis Multiplication over GF(2m),”(IEEE Trans. Computers, vol.53, no.8, pp.945-959, Aug.2004)를 참조하고, 그리고 기존 방법에 따른 여분 표현 곱셈기는 W. Geiselmann 및 R. Steinwandt의 “A Redundant Representation of GF(qm) for Designing Arithmetic Circuits,”(IEEE Trans. Computers, vol.52, no.7, pp.848-853, July 2003)을 참조한다.
상술한 바와 같이, 기존의 GF(2m)의 유한체 곱셈은 일반적인 기약 다항식 환경을 고려하고 있기 때문에 ESP 기약 다항식의 특징을 전혀 반영할 수 없었으나, 본 발명에 따른 곱셈기는 행렬을 구성하는데 있어서 추가적인 연산이 필요 없도록 설계되어 연산 시간을 크게 단축한다는 이점을 제공한다. 특히, 본 발명은 다항식 기저에 s개의 항을 추가하는 여분 표현 방법을 사용함으로써 ESP 기약 다항식의 특성인 αm+s=1을 이용하고 αm차 항부터 αm+s-1차 항까지의 감산시 발생하는 시간을 단축한다. 그 결과, 기존의 ESP 기약 다항식을 사용한 GF(2m)곱셈기와 비교할 때 본 발명에 따른 곱셈 장치 및 방법은 연산속도가 빠르고 left-to-right 지수승 환경에 효율적으로 사용할 수 있다는 이점을 제공한다.
이제까지 본 발명에 대하여 그 바람직한 실시예를 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다.
그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 상술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 균등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
도 1은 본 발명에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치의 일례에 관한 블록도.
도 2는 본 발명에 사용되는 리니어 시프트기의 구조를 나타낸 도면.
도 3은 본 발명에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치에 있어서 감산 행렬의 제1행부터 제m-1행까지의 구조를 나타낸 회로도.
도 4는 본 발명에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치에 있어서 감산 행렬의 제m행부터 제m+s행까지의 구조를 나타낸 회로도.
도 5는 도 3의 회로도에 관한 블록도.
도 6은 도 4의 회로도에 관한 블록도.
도 7은 본 발명에 따른 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법의 일례에 관한 흐름도.

Claims (19)

  1. ESP(Equally Spaced polynomial) 기약 다항식을 기반으로 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치에 있어서,
    유한체 GF(2m) 상의 제1 원소로서 여분 표현(redundant representation)으로 표현되는 상기 제1 원소를 입력받아, 상기 제1 원소의 다항식 계수를 구성원소로 하여 다항식 곱셈을 수행하는 상기 제1 원소에 관한 행렬에 대해 행렬 감산 과정을 수행하여 감산 행렬을 생성하는 감산 행렬 생성부; 및
    상기 유한체 GF(2m) 상의 제2 원소로서 다항식 기저(polynomial basis)로 표현되는 상기 제2 원소를 입력받아, 상기 제2 원소의 다항식 계수를 구성원소로 하는 상기 제2 원소에 관한 행렬과 상기 감산 행렬 생성부에 의해 생성된 감산 행렬을 내적하여 상기 감산 행렬의 각각의 행에 대응하는 내적값을 생성하는 내적부를 포함하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  2. 제1항에 있어서, 상기 감산 행렬 생성부는,
    ESP의 차수가 m이고, 상기 ESP의 항 사이의 차수의 차가 s이고, 그리고 상기 ESP의 근이 α일 때, αm+s=1인 특성을 이용하여 상기 행렬 감산 과정을 수행하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  3. 제2항에 있어서, 상기 감산 행렬 생성부는,
    상기 제1 원소에 관한 상기 행렬의 m+s+i행의 구성원소를 i행의 구성원소와 배타적 논리합(XOR) 연산을 수행하여 상기 i행으로 이동시킴으로써 상기 행렬 감산 과정을 수행하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 내적부는,
    상기 감산 행렬 생성부에서 생성된 상기 감산 행렬의 구성원소를 구조적인 연결에 의해 상기 감산 행렬의 각각의 행 별로 출력하는 리니어 시프트(linear shift)부;
    상기 제2 원소에 관한 상기 행렬의 구성원소를 상기 리니어 시프트부의 각각의 출력에 포함되는 구성원소와 각각 논리곱 연산하여 연산 결과를 출력하는 논리곱 연산부; 및
    상기 논리곱 연산부의 출력을 이진 트리 구조로 배타적 논리합 연산을 수행하여 상기 감산 행렬의 각각의 행에 대응하는 상기 내적값을 생성하는 배타적 논리합 연산부를 포함하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  5. 제4항에 있어서, 상기 리니어 시프트부는,
    상기 감산 행렬의 i행이 입력되면 상기 구조적인 연결에 의해 상기 i행을 1열씩 이동시켜 마지막 열의 구성원소를 제거하고 상기 감산 행렬의 i+1행의 첫 번째 열의 구성원소와 함께 상기 감산 행렬의 상기 i+1행을 출력하는 리니어 시프트기를 통해 상기 감산 행렬의 구성원소를 상기 감산 행렬의 각각의 행 별로 출력하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  6. 제4항에 있어서, 상기 논리곱 연산부는,
    상기 리니어 시프트부의 임의의 한 출력에 포함되는 구성원소 및 상기 임의의 한 출력에 포함되는 구성원소에 대응하는 상기 제2 원소에 관한 상기 행렬의 구성원소를 입력 쌍으로 하여 논리곱 연산을 수행하는 PPG(Partial product generator)를 포함하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  7. 제6항에 있어서, 상기 PPG는,
    상기 입력 쌍을 2 입력으로 하는 AND 게이트의 병렬 구조로 이루어지는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  8. 제7항에 있어서, 상기 논리곱 연산부는,
    상기 리니어 시프트부의 상기 각각의 출력에 대응하는 PPG들을 포함하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  9. 제4항에 있어서, 상기 배타적 논리합 연산부는,
    상기 리니어 시프트부의 임의의 한 출력에 대응하는 상기 논리곱 연산부의 출력들을 입력 쌍으로 하여 이진 트리 구조로 배타적 논리합 연산을 수행하는 BTX(Binary Tree XOR)를 포함하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  10. 제9항에 있어서, 상기 BTX는,
    상기 리니어 시프트부의 상기 임의의 한 출력에 대응하는 상기 논리곱 연산부의 출력들의 상기 입력 쌍을 2 입력으로 하는 XOR 게이트의 이진 트리 구조로 이루어지는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  11. 제10항에 있어서, 상기 배타적 논리합 연산부는,
    상기 리니어 시프트부의 상기 각각의 출력에 대응하는 BTX를 포함하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  12. ESP(Equally Spaced polynomial) 기약 다항식을 기반으로 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치에 있어서,
    유한체 GF(2m) 상의 제1 원소로서 여분 표현(redundant representation)으로 표현되는 상기 제1 원소를 입력받아, 상기 제1 원소의 다항식 계수를 구성원소로 하여 다항식 곱셈을 수행하는 상기 제1 원소에 관한 행렬에 대해 행렬 감산 과정을 수행하여 감산 행렬을 생성하는 감산 행렬 생성부;
    상기 감산 행렬 생성부에 의해 생성된 감산 행렬의 i행이 입력되면 구조적인 연결에 의해 상기 i행을 1열씩 이동시켜 마지막 열의 구성원소를 제거하고 상기 감산 행렬의 i+1행의 첫 번째 열의 구성원소와 함께 상기 감산 행렬의 상기 i+1행을 출력하는 리니어 시프트기를 통해 상기 감산 행렬의 구성원소를 상기 감산 행렬의 각각의 행 별로 출력하는 리니어 시프트부;
    상기 유한체 GF(2m) 상의 제2 원소로서 다항식 기저(polynomial basis)로 표현되는 상기 제2 원소를 입력받아, 상기 제2 원소의 다항식 계수 및 상기 리니어 시프트부의 각각의 출력에 포함되는 구성원소로서 상기 제2 원소의 상기 다항식 계수에 대응하는 상기 구성원소를 입력 쌍으로 하여 논리곱 연산을 수행하여 연산 결과를 출력하는 논리곱 연산부; 및
    상기 리니어 시프트부의 임의의 한 출력에 대응하는 상기 논리곱 연산부의 출력들을 입력 쌍으로 하여 이진 트리 구조로 배타적 논리합 연산을 수행하여, 상기 리니어 시프트부의 상기 각각의 출력에 대응하는 연산 결과를 생성하는 배타적 논리합 연산부를 포함하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 장치.
  13. 비트-병렬 곱셈 장치에서 ESP(Equally Spaced polynomial) 기약 다항식을 기반으로 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법에 있어서,
    유한체 GF(2m) 상의 제1 원소로서 여분 표현(redundant representation)으로 표현되는 상기 제1 원소를 입력받아, 상기 제1 원소의 다항식 계수를 구성원소로 하여 다항식 곱셈을 수행하는 상기 제1 원소에 관한 행렬에 대해 행렬 감산 과정을 수행하여 감산 행렬을 생성하는 행렬 감산 단계; 및
    상기 유한체 GF(2m) 상의 제2 원소로서 다항식 기저(polynomial basis)로 표현되는 상기 제2 원소를 입력받아, 상기 제2 원소의 다항식 계수를 구성원소로 하는 상기 제2 원소에 관한 행렬과 상기 행렬 감산 단계에서 생성된 감산 행렬을 내적하여 상기 감산 행렬의 각각의 행에 대응하는 내적값을 생성하는 행렬 곱셈 단계를 포함하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법.
  14. 제13항에 있어서, 상기 행렬 감산 단계는,
    ESP의 차수가 m이고, 상기 ESP의 항 사이의 차수의 차가 s이고, 그리고 상기 ESP의 근이 α일 때, αm+s=1인 특성을 이용하여 수행하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법.
  15. 제14항에 있어서, 상기 행렬 감산 단계는,
    상기 제1 원소에 관한 상기 행렬의 m+s+i행의 구성원소를 상기 행렬의 i행의 구성원소와 배타적 논리합(XOR) 연산을 수행하여 상기 i행으로 이동시킴으로써 수행하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법.
  16. 제13항 내지 제15항 중 어느 한 항에 있어서, 상기 행렬 곱셈 단계는,
    상기 행렬 감산 단계에서 생성된 상기 감산 행렬의 구성원소를 구조적인 연결에 의해 상기 감산 행렬의 각각의 행 별로 출력하는 리니어 시프트(linear shift) 단계;
    상기 제2 원소에 관한 상기 행렬의 구성원소를 상기 리니어 시프트 단계에 의한 각각의 출력에 포함되는 구성원소와 각각 논리곱 연산하여 연산 결과를 출력하는 논리곱 연산 단계; 및
    상기 논리곱 연산 단계에 의한 출력을 이진 트리 구조로 배타적 논리합 연산을 수행하여 상기 감산 행렬의 각각의 행에 대응하는 상기 내적값을 생성하는 배타적 논리합 연산 단계를 포함하는 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법.
  17. 제16항에 있어서, 상기 리니어 시프트 단계는,
    상기 감산 행렬의 i행이 입력되면 상기 구조적인 연결에 의해 상기 i행을 1열씩 이동시켜 마지막 열의 구성원소를 제거하고 상기 감산 행렬의 i+1행의 첫 번째 열의 구성원소와 함께 상기 감산 행렬의 상기 i+1행을 출력하는 단계를 통해 상기 감산 행렬의 구성원소를 상기 감산 행렬의 각각의 행 별로 출력하는 단계인 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법.
  18. 제16항에 있어서, 상기 논리곱 연산 단계는,
    상기 리니어 시프트 단계에 의한 임의의 한 출력에 포함되는 구성원소 및 상기 임의의 한 출력에 포함되는 상기 구성원소에 대응하는 상기 제2 원소에 관한 상기 행렬의 구성원소를 입력 쌍으로 하여 논리곱 연산을 수행하는 PPG(Partial Product Generator)들을 통해 상기 연산 결과를 출력하는 단계인 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법.
  19. 제16항에 있어서, 상기 배타적 논리합 연산 단계는,
    상기 리니어 시프트 단계에 의한 임의의 한 출력에 대응하는 상기 논리곱 연산 단계에 의한 출력들을 입력 쌍으로 하여 이진 트리 구조로 배타적 논리합 연산을 수행하는 BTX(Binary Tree XOR)들을 통하여 상기 감산 행렬의 각각의 행에 대응하는 상기 내적값을 생성하는 단계인 것을 특징으로 하는 여분 표현을 사용하는 유한체 비트-병렬 곱셈 방법.
KR1020070126016A 2007-12-06 2007-12-06 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법 KR100950581B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070126016A KR100950581B1 (ko) 2007-12-06 2007-12-06 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070126016A KR100950581B1 (ko) 2007-12-06 2007-12-06 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법

Publications (2)

Publication Number Publication Date
KR20090059265A KR20090059265A (ko) 2009-06-11
KR100950581B1 true KR100950581B1 (ko) 2010-04-01

Family

ID=40989405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070126016A KR100950581B1 (ko) 2007-12-06 2007-12-06 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법

Country Status (1)

Country Link
KR (1) KR100950581B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100976229B1 (ko) * 2009-02-13 2010-08-17 고려대학교 산학협력단 저면적 비트-병렬 다항식 곱셈기, 그 곱셈 방법
KR100976232B1 (ko) * 2009-02-13 2010-08-17 고려대학교 산학협력단 고속 비트-병렬 다항식 곱셈기, 그 곱셈 방법
KR101213399B1 (ko) * 2009-09-10 2013-01-10 고려대학교 산학협력단 비트-병렬 다항식 기저 곱셈 방법
KR101533929B1 (ko) * 2014-06-27 2015-07-09 공주대학교 산학협력단 유한체 GF(3ⁿ)상에서 쉬프트 된 다항식 기저를 이용한 이차 미만의 공간복잡도를 갖는 병렬 곱셈기, 그 방법 및 이를 기록한 기록매체
KR101607812B1 (ko) * 2015-07-21 2016-04-01 공주대학교 산학협력단 유한체 GF(2^n)상의 딕슨 기저를 이용한 병렬 곱셈 방법 및 장치

Citations (2)

* 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
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
KR20000026250A (en) * 1998-10-19 2000-05-15 Samsung Electronics Co Ltd Method and apparatus for operating finite field
KR20040055550A (ko) * 2002-12-20 2004-06-26 한국전자통신연구원 유한체 상의 두 원소의 곱을 구하는 직렬-병렬 곱셈기

Also Published As

Publication number Publication date
KR20090059265A (ko) 2009-06-11

Similar Documents

Publication Publication Date Title
Okada et al. Implementation of Elliptic Curve Cryptographic Coprocessor over GF (2 m) on an FPGA
Sunar et al. An efficient optimal normal basis type II multiplier
Koc et al. Low-complexity bit-parallel canonical and normal basis multipliers for a class of finite fields
Erdem et al. A general digit-serial architecture for montgomery modular multiplication
Butler et al. Fast hardware computation of x mod z
KR100950581B1 (ko) 여분 표현을 사용하는 유한체 비트―병렬 곱셈 장치 및방법
Wu Bit-parallel polynomial basis multiplier for new classes of finite fields
Zhang et al. An efficient CSA architecture for Montgomery modular multiplication
Gebali et al. Efficient Scalable Serial Multiplier Over GF ($\textbf {2}^{\boldsymbol {m}} $) Based on Trinomial
Daneshbeh et al. A class of unidirectional bit serial systolic architectures for multiplicative inversion and division over GF (2/sup m/)
Hasan et al. Low space complexity multiplication over binary fields with Dickson polynomial representation
Hasan et al. Toeplitz matrix approach for binary field multiplication using quadrinomials
Ghoreishi et al. High speed RSA implementation based on modified Booth's technique and Montgomery's multiplication for FPGA platform
KR100670780B1 (ko) 유한체 GF(2^m)에서의 하이브리드 곱셈 연산 장치및 연산 방법
KR100954583B1 (ko) 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법
Kadu et al. Hardware implementation of efficient elliptic curve scalar multiplication using vedic multiplier
KR100946256B1 (ko) 다정도 캐리 세이브 가산기를 이용한 듀얼필드상의확장성있는 몽고매리 곱셈기
Baktır et al. Finite field polynomial multiplication in the frequency domain with application to elliptic curve cryptography
KR100954579B1 (ko) 다항식 기저 기반의 유한체 직렬 곱셈 장치 및 방법
Hasan et al. Sequential multiplier with sub-linear gate complexity
Ibrahim Low-complexity systolic array structure for field multiplication in resource-constrained IoT nodes
Wu Low complexity LFSR based bit-serial montgomery multiplier in GF (2 m)
Wang Speed and area optimized parallel higher-radix modular multipliers
Eǧecioǧlu et al. Reducing the complexity of normal basis multiplication
Fallnich et al. Efficient ASIC Architectures for Low Latency Niederreiter Decryption

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140120

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee