KR100444905B1 - 유한체 곱셈기 - Google Patents

유한체 곱셈기 Download PDF

Info

Publication number
KR100444905B1
KR100444905B1 KR10-2001-0080013A KR20010080013A KR100444905B1 KR 100444905 B1 KR100444905 B1 KR 100444905B1 KR 20010080013 A KR20010080013 A KR 20010080013A KR 100444905 B1 KR100444905 B1 KR 100444905B1
Authority
KR
South Korea
Prior art keywords
block
indexes
finite field
module
odd
Prior art date
Application number
KR10-2001-0080013A
Other languages
English (en)
Other versions
KR20030049712A (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 KR10-2001-0080013A priority Critical patent/KR100444905B1/ko
Publication of KR20030049712A publication Critical patent/KR20030049712A/ko
Application granted granted Critical
Publication of KR100444905B1 publication Critical patent/KR100444905B1/ko

Links

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/724Finite field arithmetic

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)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

본 발명은 유한체 곱셈기에 관한 것으로서, 외부로부터 m개의 a-지수들 및 m개의 b-지수들을 입력하며, 다수개의 레지스터들을 구비하는 A-지수 레지스터 블록; 상기 A-지수 레지스터 블록과 연결되며, 상기 A-지수 레지스터 블록과 연동하여 상기 m개의 a-지수들과 상기 m개의 b-지수들을 승산하고, 상기 승산된 값들을 출력하는 t개의 모듈 블록들; 및 상기 t개의 모듈 블록들의 출력들을 입력하고 이들을 논리 연산함으로써 곱셈 속도가 t배 향상된 곱셈 결과값을 출력하는 논리부를 구비함으로써 곱셈 속도가 t배 향상된 곱셈 결과값을 얻을 수 있다.

Description

유한체 곱셈기{Finite field multiplier}
본 발명은 곱셈 연산기에 관한 것으로서, 특히 2배속 및 t(t는 정수)배속 유한체 곱셈기에 관한 것이다.
기존에 연구된 유한체 곱셈 연산기에는 크게 직렬 유한체 곱셈기, 배열 유한체 곱셈기, 하이브리드 유한체 곱셈기가 존재하였다. 직렬 유한체 곱셈기는 마스트로비토(Mastrovito)에 의하여 제안되어 유한체 곱셈기의 가장 기본적인 구조로 자리 잡아 왔고, 이를 병렬로 처리하기 위해 배의 자원을 투자하여 배의 속도를 얻어 낸 결과가 2차원 배열 유한체 곱셈기이다. 배열 유한체 곱셈기는 가격 대 성능 비에 있어서 효율이 떨어지는 반면, 이런 기존의 방식의 장점만을 취하여 제안된 방식이 1999년 파르(Paar)에 의해 제안된 하이브리드 곱셈기이다.
하이브리드 유한체 곱셈기는 기존의 마스트로비토의 직렬 곱셈기 안에 기본적인 연산기로서 2차원 배열 곱셈기를 탑재한 방식으로, 하드웨어 자원도 직렬 곱셈기와 배열 곱셈기의 중간 이하가 되고 수행 속도도 직렬 곱셈기에 비해 상당히 빠르기 때문에 유한체 곱셈기의 연구에 역사상 중요한 위치를 차지한다. 하지만, 사용 가능한 유한체로서 유한체의 차수가 합성수인 합성수 유한체를 사용하기 때문에 암호학적인 안전도가 떨어져 많은 응용 분야에의 적용에 힘들다.
본 발명의 목적은 종래의 유한체 곱셈 연산기에 비해 성능이 향상된 유한체 곱셈기를 제공하는데 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명에 따른 2배속 유한체 곱셈기의 블록도이다.
도 2는 도 1에 도시된 짝수 모듈 블록과 A-지수 레지스터 블록의 회로도이다.
도 3은 도 1에 도시된 홀수 모듈 블록 및 A-지수 레지스터 블록의 회로도이다.
도 4는 본 발명에 따른 t(t는 정수)배속 유한체 곱셈기의 블록도이다.
상기 목적을 달성하기 위하여 본 발명은,
외부로부터 m개의 a-지수들을 입력하며, 다수개의 레지스터들을 구비하는 A-지수 레지스터 블록; 상기 A-지수 레지스터 블록과 연결되며, 외부로부터 m개의 b-지수들 중 짝수 지수들을 입력하고, 상기 A-지수 레지스터 블록과 연동하여 상기 m개의 a-지수들과 상기 짝수 지수들을 승산하고, 상기 승산된 값들을 출력하는 짝수 모듈 블록; 상기 A-지수 레지스터 블록과 연결되며, 외부로부터 m개의 b-지수들 중홀수 지수들을 입력하고, 상기 A-지수 레지스터 블록과 연동하여 상기 m개의 a-지수들과 상기 홀수 지수들을 승산하고, 상기 승산된 값들을 출력하는 홀수 모듈 블록; 및 상기 짝수 모듈 블록의 출력들과 홀수 모듈 블록의 출력들을 입력하고 이들을 논리 연산함으로써 곱셈 속도가 2배 향상된 곱셈 결과값을 출력하는 논리부를 구비하는 유한체 곱셈기를 제공한다.
바람직하기는, 상기 논리부는 익스클루시브 오아 게이트이다.
바람직하기는 또한, 상기 짝수 모듈 블록은 수학식( [b0A(x)+b2x2A(x)+...+bm-3xm-3A(x)+bm-1xm-1A(x)]modP(x))을 계산한 결과를 값(Zeven(x))으로써 출력한다.
바람직하기는 또한, 상기 홀수 모듈 블록은 수학식( [b1xA(x)+b3x3A(x)+...+bm-4xm-4A(x)+bm-2xm-2A(x)]modP(x))을 계산한 결과를 값(Zodd(x))으로써 출력한다.
상기 목적을 달성하기 위하여 본 발명은 또한,
외부로부터 m개의 a-지수들 및 m개의 b-지수들을 입력하며, 다수개의 레지스터들을 구비하는 A-지수 레지스터 블록; 상기 A-지수 레지스터 블록과 연결되며, 상기 A-지수 레지스터 블록과 연동하여 상기 m개의 a-지수들과 상기 m개의 b-지수들을 승산하고, 상기 승산된 값들을 출력하는 t개의 모듈 블록들; 및 상기 t개의 모듈 블록들의 출력들을 입력하고 이들을 논리 연산함으로써 곱셈 속도가 t배 향상된 곱셈 결과값을 출력하는 논리부를 구비하는 유한체 곱셈기를 제공한다.
바람직하기는, 상기 논리부는 익스클루시브 오아 게이트이다.
바람직하기는 또한, 상기 t개의 모듈 블록들 중 제1 모듈 블록은 수학식([b0A(x)+btxtA(x)+b2tx2tA(x)+...]modP(x))을 계산한 결과를 값(Ztk(x))으로써 출력하고, 제2 모듈 블록은 수학식(x[b1A(x)+bt+1xtA(x)+b2t+1x2tA(x)+...]modP(x))을 계산한 결과를 값(Ztk+1(x))으로써 출력하며, 이하, 순차적인 방법을 적용하여 제t 모듈 블록은 수학식(xt-1[bt-1A(x)+b2t-1xtA(x)+b3t-1x2tA(x)+...]modP(x))을 계산한 결과를 값(Ztk+(t-1)(x))으로써 출력한다.
상기 본 발명에 의하여 곱셈 속도가 2배 이상 t배 향상된다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명에 따른 2배속 유한체 곱셈기의 블록도이다. 도 1을 참조하면, 2배속 유한체 곱셈기(101)는 A-지수 레지스터 블록(111), 짝수 모듈 블록(121), 홀수 모듈 블록(131) 및 논리부(141)를 구비한다.
A-지수 레지스터 블록(111)은 외부로부터 m개의 a-지수들(am)을 입력하며, 다수개의 레지스터들, 예컨대 앤드 게이트(AND Gate)들(도 2 및 도 3의 (1G1∼1Gm)과 익스클루시브 오아 게이트(Exclusive OR Gate)들(도 2 및 도 3의 (2G1∼2Gm))을 구비한다.
짝수 모듈 블록(121)은 A-지수 레지스터 블록(111)과 연결되며, 외부로부터 m개의 b-지수들(bm) 중 짝수 지수들(beven)을 입력하고, A-지수 레지스터 블록(111)과 연동하여 상기 짝수 지수들(beven)과 m개의 a-지수들(am)을 승산하고, 상기 승산된 값들을 출력한다. 즉, 짝수 모듈 블록(121)은 수학식([b0A(x)+b2x2A(x)+...+bm-3xm-3A(x)+bm-1xm-1A(x)] modP(x))을 계산하고 그 결과값(Zeven(x))을 출력한다.
홀수 모듈 블록(131)은 A-지수 레지스터 블록(111)과 연결되며, 외부로부터 m개의 b-지수들(bm) 중 홀수 지수들(bodd)을 입력하고, A-지수 레지스터 블록(111)과 연동하여 상기 홀수 지수들(bodd)과 m개의 a-지수들(am)을 승산하고, 상기 승산된 값들을 출력한다. 즉, 홀수 모듈 블록(131)은 수학식([b1xA(x)+b3x3A(x)+...+bm-4xm-4A(x)+bm-2xm-2A(x)] modP(x))을 계산하고 그 결과값(Zodd(x))을 출력한다.
논리부(141)는 짝수 모듈 블록(121)의 출력들(Zeven(x))과 홀수 모듈블록(131)의 출력들(Zodd(x))을 입력하고 이들을 논리 연산한다. 논리부(141)는 익스클루시브 오아 게이트(Exclusive OR Gate)를 구비한다.
2배속 유한체 곱셈기(101)의 기능은 다음 수학식 1로 표현할 수 있다.
상기 수학식 1을 유도하는 과정을 설명하기로 한다.
2배속 유한체 곱셈기(101)의 구조는 마스트로비토의 직렬 곱셈기의 기본 구조를 바탕으로 한다. 유한체 원소 표현 방식도 표준 기저 방식을 사용하며 주어진 유한체로서 GF(2m)을 사용한다. 주어진 유한체의 임의의 두 원소를 각각,라고 하면 곱셈 결과 값(Z(x))은 다음 수학식 2와 같이 나타낼 수 있다.
2배속 유한체 곱셈기(101)와 같이 유한체 곱셈기의 성능을 두 배 향상시키기 위해, 수학식 2를 지수가 짝수인 부분과 지수가 홀수인 부분으로 나누면 수학식 3 및 4와 같이 두 개의 식이 생기게 된다.
수학식 3에서 의 식은 마스트로비토의 직렬 곱셈 알고리즘과 지수 부분을 제외한 나머지가 완전히 같다. 지수는 2씩 증가하고 단지 지수가 짝수인 부분만 수학식 1에 포함되어 있어 항(term)의 개수가 []개라는 것이 다를 뿐이다. 하지만, 수학식 4는 약간 다르다. 수학식 4를 직렬 곱셈 알고리즘과 같은 형태로 만들기 위해 x를 밖으로 끌어내어 다음 수학식 5와 같이 변형하였다.
수학식 5의 대괄호 안의 부분은 지수 부분과 항의 개수가 [] 이라는 점을 제외하면 직렬 곱셈 알고리즘과 같게 된다.
여기서, 이제 직렬 곱셈 알고리즘과 다르게 2씩 증가하는 지수 부분을 처리하기 위해 x2A(x)의 식을 유도하면 다음 수학식 6과 같다.
여기서, 결과의 지수를 (m-1) 이하로 줄이기 위하여 다음 수학식 7 및 8을 사용한다.
여기서, 계산을 간편하게 하기 위하여 주어진 소수 다항식의 특성을 이용한다. 높은 암호학적인 복잡도의 특성을 나타내는 소수 다항식은 주로 3항 다항식(trinomial)이나 5항 다항식(pentanomial)이 사용되거나 아니면 전항 다항식(all-one polynomial)이 있는데, 이 중 주로 계산을 간편하게 하기 위해서 3항 다항식이나 5항 다항식이 사용된다. 이 3항 다항식이나 5항 다항식 공통으로 해당되는 특성은 계수(pm-1)이 제로(0)라는 것이다. 따라서 이 성질을 이용하면 수학식 8은 다음 수학식 9와 같이 간이화되어 이 식의 차수도 역시 (m-1)차 이하로 줄어든다.
이제 수학식 7 및 9를 수학식 6에 대입하여 정리하면 다음 수학식 10을 얻는다.
수학식 10이 2배속 유한체 곱셈기(101)의 구조의 핵심이 되는 부분이며, 이를 구현한 회로를 x2곱셈 회로라고 명명하기로 한다.
이제 수학식 3의 Zeven(x)에 상기 곱셈 회로를 적용해 보자. 수학식 3에서 x의 지수를 유심히 보면 반복적으로 상기 x2곱셈 회로가 필요하다는 것을 알 수가 있다. 따라서 항의 개수만큼, 즉 [] 번만큼 연산이 반복되면 Zeven(x)의 결과를 얻을 수 있다. 도 2에 Zeven(x)의 값을 연산하는 회로가 도시되어 있다.
수학식 5의 Zodd(x) 값을 얻기 위해서는 괄호 안의 연산은 Zeven(x) 에서와 마찬가지로 [] 번만큼 연산을 반복해 주면 된다. 여기서 괄호 밖의 x를 처리해 주어야 하는데, 이것은 마스트로비토의 직렬 곱셈기에서 중요한 역할을 수행하는 x곱셈 회로(미도시)를 적용하면 된다. 일반적으로 m이 홀수인 소수이기 때문에 Zeven(x) 연산의 항 수가 Zodd(x) 연산의 항 수보다 하나가 많다. 이 마지막 사이클을 낭비하지 않기 위해서 Zeven(x) 연산의 마지막 사이클에 해당하는 시간에 Zodd(x) 괄호 안의 연산 결과를 상기 x 곱셈 회로를 사용하면서 한 사이클 실행해 주면 Zeven(x)의 결과 값과 Zodd(x)의 결과 값과 같은 시간에 산출되기 때문에 이 두 값을 배타적 논리합 연산해 줌으로써 최종적으로 유한체 곱셈 결과를 [] 사이클만에 얻을 수 있다.
마지막 사이클의 x 곱셈 회로를 적용시키는 회로는 도 3에서처럼 몇 개의 추가적인 멀티플렉서(Multiplexer)들(1MUX1∼1MUXm-1,2MUX1∼2MUXm)을 사용함으로써 가능하다. 상기 x2곱셈 회로와 x 곱셈 회로 중 동작하는 하나를 선택하기 위해서는 (m-1)개의 2-to-1 멀티플렉서가 필요하고 소수 다항식에 따라 (wt-1)개의 멀티플렉서가 필요하다. 여기서 wt는 주어진 소수 다항식의 해밍 웨이트(hamming weight)를 뜻하는데, 이 정수는 3 혹은 5로 권유되며 소수 다항식의 차수 m에 비해 무시할 만큼 작은 정수이다. 유한체 곱셈기에서 가장 자원이 많이 할당되는 부분은 레지스터 쪽인데, 크게 보아 A(x), Z(x) 두 부분의 m 비트 레지스터 블록으로 구성된다고 볼 수 있다. 도 1에 도시된 2배속 유한체 곱셈기(101)의 구조는 전체 회로 크기의 거의 1/3에 해당하는 면적을 차지하는 A-지수 레지스터 블록(111)을 공유할 수 있기 때문에 2배의 성능을 얻기 위해 2배의 자원을 할당하지 않는다는 장점이 있다.
도 2는 도 1에 도시된 짝수 모듈 블록과 A-지수 레지스터 블록의 회로도이다. 도 2를 참조하면, A-지수 레지스터 블록(111)은 m개의 앤드 게이트(AND Gate)들(1G1∼1Gm)과 m개의 익스클루시브 오아 게이트들(2G1∼2Gm)을 구비하고, 짝수 모듈 블록(121)은 m개의 앤드 게이트들(3G1∼3Gm)과 (m-1)개의 익스클루시브 오아 게이트들(4G1∼4Gm-1) 및 (m-1)개의 앤드 게이트들(5G1∼5Gm-1)을 구비한다.
익스클루시브 오아 게이트들(2G1∼2Gm)로부터 계산값(Zeven(x)) 즉, 값들(z0,z1,...zm-2,zm-1)이 출력된다.
도 3은 도 1에 도시된 홀수 모듈 블록의 회로도이다. 도 3을 참조하면, A-지수 레지스터 블록(111)은 m개의 앤드 게이트들(1G1∼1Gm)과 m개의 익스클루시브 오아 게이트들(2G1∼2Gm)을 구비하고, 홀수 모듈 블록(131)은 m개의 앤드 게이트들(6G1∼6Gm, 8G1∼8Gm), (m-1)개의 익스클루시브 오아 게이트들(7G1∼7Gm-1), (m-1)개의 멀티플렉서들(1MUX1∼1MUXm-1) 및 m개의 멀티플렉서들(2MUX1∼2MUXm)을 구비한다.
익스클루시브 오아 게이트들(2G1∼2Gm)로부터 계산값(Zodd(x)) 즉, 값들(z0,z1,...zm-2,zm-1)이 출력된다.
도 4는 본 발명에 따른 t(t는 정수)배속 유한체 곱셈기의 블록도이다. 도 4를 참조하면, t배속 유한체 곱셈기(401)는 A-지수 레지스터 블록(411), t개의 모듈 블록들(B1∼Bt) 및 논리부(421)를 구비한다.
A-지수 레지스터 블록(411)은 외부로부터 m개의 a-지수들(am) 및 m개의 b-지수들(bm)을 입력하며, 다수개의 레지스터들, 예컨대 도 2 및 도 3에 도시된 앤드 게이트들(1G1∼1Gm)과 익스클루시브 오아 게이트들(2G1∼2Gm)을 구비한다.
t개의 모듈 블록들(B1∼Bt)은 A-지수 레지스터 블록(411)과 연결되며, A-지수 레지스터 블록(411)과 연동하여 m개의 a-지수들(am)과 m개의 b-지수들(bm)을 승산하고, 상기 승산된 값들을 출력한다. t개의 모듈 블록들(B1∼Bt)은 제1 내지 제t 모듈 블록들을 구비한다. 제1 모듈 블록(B1)은 수학식([b0A(x)+btxtA(x)+b2tx2tA(x)+...] modP(x))을 계산한 결과를 값(Ztk(x))으로써 출력한다. 제2 모듈 블록(B2)은 수학식(x[b1A(x)+bt+1xtA(x)+b2t+1x2tA(x)+...] modP(x))을 계산한 결과를 값(Ztk+1(x))으로써 출력한다. 이하, 순차적인 방법을 적용하여 제t 모듈 블록(Bt)은 수학식(xt-1[bt-1A(x)+b2t-1xtA(x)+b3t-1x2tA(x)+...] modP(x))을 계산한 결과를 값(Ztk+(t-1)(x))으로써 출력한다.
논리부(421)는 t개의 모듈 블록들(B1∼Bt)의 출력들을 입력하고 이들을 논리 연산하여 값(Z(x))으로써 출력한다. 논리부(421)는 익스클루시브 오아 게이트를 구비하여 입력 신호들에 대해 배타적 논리합 연산을 수행한다.
도 4에 도시된 유한체 곱셈기는 직렬 유한체 곱셈기에 비해 배의 성능을 발휘하는 구조로 확장된 것이며, 각 연산 블록에 해당하는 식은 수학식 2를 개로 분리하여 다음 수학식 11과 같이 정리할 수 있다.
유한체 곱셈기(401)의 구현에는 연산 블록별로 해당되는 제어 멀티플렉서와 x 곱셈 연산기가 필요하다. 유한체 곱셈기(401)의 장점은 기존의 직렬 곱셈기와 거의 비슷한 최대 임계 경로(critical path delay)를 가지므로 고속 연산에 적합하다는 것이다.
유한체 곱셈기(401)는 암호학적인 복잡도가 높은 소수 유한체에서 사용이 가능하다. 유한체 곱셈기(401)는 유한체 GF(2m)의 지수에 관계없이 사용이 가능하며, 또한, 타원 곡선 연산의 응용 중 유한체 제곱 연산에도 적용이 가능할 뿐만 아니라 이제까지 개발된 유한체 제곱 연산 회로에 비해 면적 대 성능 비가 유리하다. 유한체 곱셈기(401)는 유한체 제곱기로도 사용이 가능하다.
도면과 명세서에서 최적 실시예들이 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 유한체 곱셈기(101,401)는 곱셈 속도가 2배 이상 t배 향상되므로 기존의 유한체 제곱 연산 회로에 비해 면적 대 성능 비가 우수하다. 유한체 곱셈기(101,401)는 암호학적인 복잡도가 높은 소수 유한체에 사용이 가능하고, 유한체 GF(2m)의 지수에 관계없이 사용이 가능하다. 유한체 곱셈기(101,401)는 또한, 타원 곡선 연산의 응용 중 유한체 제곱 연산에도 적용이 가능할 뿐만 아니라 유한체 제곱기로도 사용이 가능하다.

Claims (7)

  1. 외부로부터 m개의 a-지수들을 입력하며, 다수개의 레지스터들을 구비하는 A-지수 레지스터 블록;
    상기 A-지수 레지스터 블록과 연결되며, 외부로부터 m개의 b-지수들 중 짝수 지수들을 입력하고, 상기 A-지수 레지스터 블록과 연동하여 상기 m개의 a-지수들과 상기 짝수 지수들을 승산하고, 상기 승산된 값들을 출력하는 짝수 모듈 블록;
    상기 A-지수 레지스터 블록과 연결되며, 외부로부터 m개의 b-지수들 중 홀수지수들을 입력하고, 상기 A-지수 레지스터 블록과 연동하여 상기 m개의 a-지수들과 상기 홀수 지수들을 승산하고, 상기 승산된 값들을 출력하는 홀수 모듈 블록; 및
    상기 짝수 모듈 블록의 출력들과 홀수 모듈 블록의 출력들을 입력하고 이들을 논리 연산함으로써 곱셈 속도가 2배 향상된 곱셈 결과값을 출력하는 논리부를 구비하는 것을 특징으로 하는 유한체 곱셈기.
  2. 제1 항에 있어서, 상기 논리부는 익스클루시브 오아 게이트인 것을 특징으로 하는 유한체 곱셈기.
  3. 제1 항에 있어서, 상기 짝수 모듈 블록은 수학식( [b0A(x)+b2x2A(x)+...+bm-3xm-3A(x)+bm-1xm-1A(x)] modP(x))을 계산한 결과를 값(Zeven(x))으로써 출력하는 것을 특징으로 하는 유한체 곱셈기.
  4. 제1 항에 있어서, 상기 홀수 모듈 블록은 수학식( [b1xA(x)+b3x3A(x)+...+bm-4xm-4A(x)+bm-2xm-2A(x)]modP(x))을 계산한 결과를 값(Zodd(x))으로써 출력하는 것을 특징으로 하는 유한체 곱셈기.
  5. 삭제
  6. 삭제
  7. 외부로부터 m개의 a-지수들 및 m개의 b-지수들을 입력하며, 다수개의 레지스터들을 구비하는 A-지수 레지스터 블록;
    상기 A-지수 레지스터 블록과 연결되며, 상기 A-지수 레지스터 블록과 연동하여 상기 m개의 a-지수들과 상기 m개의 b-지수들을 승산하고, 상기 승산된 값들을 출력하는 t개의 모듈 블록들; 및
    상기 t개의 모듈 블록들의 출력들을 입력하고 이들을 논리 연산함으로써 곱셈 속도가 t배 향상된 곱셈 결과값을 출력하는 논리부를 구비하고,
    상기 t개의 모듈 블록들 중 제1 모듈 블록은 수학식([b0A(x)+btxtA(x)+b2tx2tA(x)+...]modP(x))을 계산한 결과를 값(Ztk(x))으로써 출력하고, 제2 모듈 블록은 수학식(x[b1A(x)+bt+1xtA(x)+b2t+1x2tA(x)+...]modP(x))을 계산한 결과를 값(Ztk+1(x))으로써 출력하며, 이하, 순차적인 방법을 적용하여 제t 모듈 블록은 수학식(xt-1[bt-1A(x)+b2t-1xtA(x)+b3t-1x2tA(x)+...]modP(x))을 계산한 결과를 값(Ztk+(t-1)(x))으로써 출력하는 것을 특징으로 하는 유한체 곱셈기.
KR10-2001-0080013A 2001-12-17 2001-12-17 유한체 곱셈기 KR100444905B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0080013A KR100444905B1 (ko) 2001-12-17 2001-12-17 유한체 곱셈기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0080013A KR100444905B1 (ko) 2001-12-17 2001-12-17 유한체 곱셈기

Publications (2)

Publication Number Publication Date
KR20030049712A KR20030049712A (ko) 2003-06-25
KR100444905B1 true KR100444905B1 (ko) 2004-08-21

Family

ID=29575511

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0080013A KR100444905B1 (ko) 2001-12-17 2001-12-17 유한체 곱셈기

Country Status (1)

Country Link
KR (1) KR100444905B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100670780B1 (ko) * 2004-10-29 2007-01-17 한국전자통신연구원 유한체 GF(2^m)에서의 하이브리드 곱셈 연산 장치및 연산 방법
KR100893695B1 (ko) * 2006-12-15 2009-04-17 영동대학교 유한체 상의 고속 직렬 곱셈기 구조
KR101733871B1 (ko) 2015-08-10 2017-05-24 한국전력공사 혼합 제곱 연산 방법, 장치 및 이를 활용한 프로그램

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63314919A (ja) * 1987-06-18 1988-12-22 Matsushita Electric Ind Co Ltd ガロア体演算装置
JPH0482324A (ja) * 1990-07-25 1992-03-16 Nec Corp 有限体の乗算回路
KR19980034040A (ko) * 1996-11-02 1998-08-05 김도형 2m 차수의 갈로아 필드 상의 지수 연산 시스템
KR19980037406A (ko) * 1996-11-21 1998-08-05 이준 메모리를 사용하여 유한체상에서 역원을 구하는 방법
KR20020094440A (ko) * 2001-06-11 2002-12-18 주식회사 시큐리티테크놀로지스 유한체 곱셈장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63314919A (ja) * 1987-06-18 1988-12-22 Matsushita Electric Ind Co Ltd ガロア体演算装置
JPH0482324A (ja) * 1990-07-25 1992-03-16 Nec Corp 有限体の乗算回路
KR19980034040A (ko) * 1996-11-02 1998-08-05 김도형 2m 차수의 갈로아 필드 상의 지수 연산 시스템
KR19980037406A (ko) * 1996-11-21 1998-08-05 이준 메모리를 사용하여 유한체상에서 역원을 구하는 방법
KR20020094440A (ko) * 2001-06-11 2002-12-18 주식회사 시큐리티테크놀로지스 유한체 곱셈장치

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
논문(2001) *
논문(갈로아 필드 상에서 하이브리드 구조의 연산방법.(요약/그림 1-5도 참조), 1999, 10) *

Also Published As

Publication number Publication date
KR20030049712A (ko) 2003-06-25

Similar Documents

Publication Publication Date Title
McIvor et al. Modified Montgomery modular multiplication and RSA exponentiation techniques
JP4980834B2 (ja) 算術プロセッサ
EP1421472B1 (en) A method and apparatus for carrying out efficiently arithmetic computations in hardware
EP0576262A2 (en) Apparatus for multiplying integers of many figures
US7543011B2 (en) Montgomery modular multiplier and method thereof using carry save addition
EP2261795B9 (en) Circuits and methods for performing exponentiation and inversion of finite field elements
KR100591761B1 (ko) 몽고메리 모듈러 곱셈기 및 캐리 저장 가산을 이용한몽고메리 모듈러 곱셈 방법
Gutub et al. Efficient scalable VLSI architecture for Montgomery inversion in GF (p)
Hasan Double-basis multiplicative inversion over GF (2/sup m/)
Reyhani-Masoleh A new bit-serial architecture for field multiplication using polynomial bases
KR100444905B1 (ko) 유한체 곱셈기
US9164732B2 (en) Multiplication method and modular multiplier using redundant form recoding
KR100670780B1 (ko) 유한체 GF(2^m)에서의 하이브리드 곱셈 연산 장치및 연산 방법
Jarvinen et al. Efficient circuitry for computing τ-adic non-adjacent form
KR100480997B1 (ko) GF(p)와 GF(2^m)의 유한체 곱셈 연산 장치
KR100481586B1 (ko) 모듈러 곱셈 장치
WO2023043467A1 (en) A method and architecture for performing modular addition and multiplication sequences
Koppermann et al. Fast FPGA implementations of Diffie-Hellman on the Kummer surface of a genus-2 curve
KR100946256B1 (ko) 다정도 캐리 세이브 가산기를 이용한 듀얼필드상의확장성있는 몽고매리 곱셈기
KR100450750B1 (ko) 향상된 선형 궤환 시프트 레지스터 구조의 유한체 승산기
JP4223819B2 (ja) べき乗剰余演算装置及びそのプログラム
JPS63286933A (ja) デイジタル直並列掛算器
Wang Speed and area optimized parallel higher-radix modular multipliers
Hasan et al. Sequential multiplier with sub-linear gate complexity
Monfared et al. A new multiplicative inverse architecture in normal basis using novel concurrent serial squaring and multiplication

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

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee