KR100218683B1 - 정보 보호용 모듈러 승산 장치 - Google Patents
정보 보호용 모듈러 승산 장치 Download PDFInfo
- Publication number
- KR100218683B1 KR100218683B1 KR1019960061514A KR19960061514A KR100218683B1 KR 100218683 B1 KR100218683 B1 KR 100218683B1 KR 1019960061514 A KR1019960061514 A KR 1019960061514A KR 19960061514 A KR19960061514 A KR 19960061514A KR 100218683 B1 KR100218683 B1 KR 100218683B1
- Authority
- KR
- South Korea
- Prior art keywords
- output
- bit
- bits
- significant
- input
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
- G06F7/72—Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
- G06F7/722—Modular multiplication
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Complex Calculations (AREA)
Abstract
본 발명은 정보 보호 기술을 구현하는 데 사용되는 모듈러 승산 장치(modular multiplication device)에 관한 것으로, 하나의 이진 가산기를 사용하여 승산 기능과 제산 기능을 함께 수행 함으로서 승산 회로와 제산 회로를 각각 따로 사용하는 기존의 모듈러 승산 장치에 비하여 하드웨어를 거의 절반 정도를 줄일 수 있는 정보 보호용 모듈러 승산 장치에 관해 개시된다.
Description
본 발명은 정보 기술을 구현하는데 사용되는 정보 보호용 모듈러 승산장치(modular multiplication device)에 관한 것으로, 하나의 이진 가산기를 사용하여 승산 기능과 제산 기능을 함께 수행 함으로써 승산 회로와 제산 회로를 각각 따로 사용하는 기존의 모듈러 승산 장치에 비하여 하드웨어를 거의 절반 정도를 줄일 수 있는 정보 보호용 모듈러 승산 장치에 관한 것이다.
최근 들어 국내외에서는 정보 보호 알고리즘에 대한 하드웨어, 즉 하나의 칩으로 구현하는 것이 큰 쟁점으로 등장하고 있다. 특히, 해독 기술의 발달에 대한 정보 보호 기능의 강화 차원에서 알고리즘의 비도를 강화하고 있는 추세이다. 이렇게 비도를 강화하기 위해서는 연산 양이 매우 많은 모듈러 지수 계산을 사용하여 알고리즘을 설계하는 것이 일반화되어 가고 있다. 모듈러 지수 계산은 많은 모듈러 승산으로 구성되기 때문에 정보 보호 알고리즘의 처리 속도의 향상에 있어서 모듈러 승산의 구현은 중요한 사항이 되고 있다. 이러한 모듈러 승산은 일반적인 승산 기능에다 제산 기능을 함께 필요로 한다. 모듈러 승산을 구현하는 종래 기술은 기존의 승산 회로와 제산 회로를 조합하여 모듈러 승산 기능을 수행 하도록 하드웨어를 구현 하였다. 이러한 구현 방식은 키(key)가 매우 큰 정보 보호 알고리즘을 하드웨어로 구현하는데 있어서 하드웨어가 매우 커지기 때문에 하나의 칩으로 구현하기 어려운 단점이 있다.
종래 기술은 피승수와 승수를 곱하기 위해서 승산 회로를 사용하고, 모듈러 값을 구하기 위해서는 제산 회로를 각각 사용하여 왔다. 이러한 승산 방법은 하드웨어가 증가하기 때문에, 키(key)의 비트 수가 큰 정보 보호 기술의 응용에 있어서 하드웨어가 엄청나게 커지고, 하나의 칩속에 구현하기 위해서는 집적도가 매우 크고 제작 비용이 많이 드는 반도체 공정을 사용해야하기 때문에 제작 경비가 많이들고, 아울러 많은 회로의 사용으로 인하여 신뢰성이 저하되는 단점이 있다.
따라서, 본 발명은 동일한 하드웨어를 이용하여 승산과 제산을 함께 수행하므로써 하드웨어 양이 작은 모듈러 승산 장치를 구현 할 수 있으며, 특히, 하드웨어의 감소로 실리콘 면적을 줄일 수 있기 때문에 값싼 반도체 제조 공정을 사용해서도 하나의 집적회로도 구현이 가능하며, 본 발명을 키(key)가 매우 큰 정보 보호기술에 사용할 경우 타 장치에 비하여 가격 경쟁력의 향상과 신뢰성의 향상을 꾀할수 있는 정보 보호용 모듈러 승산 장치를 제공하는데 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명에 따른 정보 보호용 모듈러 승산 장치는 이진 가산을 수행하는 이진 가산 수단과, 상기 이진 가산기의 출력에 대해서 2비트 단위로 처리하는 2비트 처리 수단과, 최하위 2비트를 순차적으로 저장하는 최하위 2비트 레지스터 수단과, 승수에 대한 부호 정수를 생성하는 부호 정수 디코딩 수단과, 상기 이진 가산기의 결과 값을 저장하는 결과 레지스터 수단과, 상기 결과 레지스터의 출력 값과 모듈러 값을 비교하기 위한 비교 수단과, 상기 비교 수단의 출력에 따라 모듈러 값에 대한 출력 값을 처리하는 소수 처리 수단과, 승산/제산 선택신호(MUL/DIVB))에 의하여 상기 소수 처리 수단의 출력 값과 상기 부호 정수 디코더 수단의 출력 값을 선택하는 다중화 수단과, 상기 승산/제산 선택신호를 반전시키기기 위한 인버터 수단과, 상기 인버터 수단과 상기 최하위 2비트 레지스터 수단의 출력을 입력으로 하고, 상기 2비트 처리수단의 입력을 출력으로 하는 제1엔드(AND)게이트 수단과, 상기 2비트 처리 수단의 출력과 승산/제산 선택신호를 입력으로하고, 상기 최하위 2비트 레지스터 수단의 입력을 입력으로하는 제2엔드게이트 수단과, 상기 이진 가산 수단의 출력과 승산/제산 선택신호를 입력으로하고, 상기 결과 레지스터 수단의 출력을 입력으로 하는 제3엔드게이트 수단으로 구성된 것을 특징으로 한다.
키(key)가 매우 큰 정보 보호 알고리즘을 하드웨어로 구현할 경우, 정보 보호알고리즘을 고속으로 처리할 수 있기 때문에 응용 시스템에서 정보 보호 기술을 실시간으로 처리할 수 있다는 장점이 있다. 이러한 관점에서 정보 보호 기술의 고속 처리를 위하여 하드웨어의 구현은 매우 중요한 관심 거리가 된다. 특히, 정보 보호기술의 비도를 강화하기 위하여 일반적으로 사용하는 모듈러 승산 장치는 각종 정보 보호 기술의 고속 처리를 위하여 그 구현 기술이 핵심 기술로서 고려되고 있다. 그러므로, 본 발명에서는 기존의 모듈러 승산 방식을 개선하고자 하였으며, 특히, 승산 회로와 제산 회로를 따로 사용하는 종래의 기술과는 달리 하나의 회로로 승산 및 제산 기능을 수행하도록 하여 모듈러 승산 장치의 하드웨어를 감소 시켰다.
제1도는 본 발명에 따른 모듈러 승산 장치의 구성도.
제2도는 제1도의 2비트 처리기의 상세한 구성도.
* 도면의 주요부분에 대한 부호의 설명
1 : 이진 가산기 2 : 2비트 처리기
3 및 4 : 제1 및 제2엔드(AND)게이트 5 : 최하위 2비트 레지스터
6 : 부호 정수 디코더 7 : 소수 처리기
8 : 비교기 9 : 결과 레지스터
10 : 다중화기 11 : 인버터
12 : 제3엔드게이트
본 발명은 키(key)가 매우 큰 정보 보호 알고리즘의 핵심 연산 기능인 모듈러 승산 장치를 하드웨어로 구현하는 데 있어서 하드웨어 양이 커지는 종래의 방식을 개선하고자 다음과 같은 기술적 수단을 사용하였다.
일반적으로 모듈러 승산은 승수와 피승수를 곱한 후, 모듈러 값에 대하여 제산을 수행하는데, 본 발명은 하나의 이진 가산기 회로와 레지스터를 공통으로 이용하여 승산 및 제산 기능을 수행하도록 하였다. 즉, 승산시에는 피 승수의 각 비트에 대한 승수의 부분 적을 순차적으로 더하도록 하여, 상위 값은 상위 비트용 레지스터에 저장하고, 하위 값은 하위 비트용 레지스터에 저장한 후 동일한 하드웨어에서 상위 비트용 레지스터에 대하여 하위 비트용 레지스터로부터 하위 비트를 순차적으로 첨가하면서 제수를 감산함으써 나머지 값을 취하도록 하여 모듈러 승산을 수행 하도록 한다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
제1도는 본 발명에 따른 모듈러 승산 장치의 구성도이다. 피승수(X)와 승수(Y)를 곱하기 위해서는 먼저 MUL/DIVB 신호를 1로 만들어 승산 모드로 설정하고, 부호 정수(signed digit) 디코더(6)에서 부스 수정 알고리즘을 사용하여 승수의 2비트에 대한 부호 정수(Z)를 만든다.
이 부호 정수는 다증화기(10)의 입력 포트(TIN2)로 가해짐으로써, 1로 선택된 MUL/DIVB 신호에 의하여 다중화기(10)의 출력 포트(TOUT)에는 부호 정수(Z)가 출력된다. 그리고, 출력 포트(TOUT)는 이진 가산기(1)의 입력 포트(ADDIN)로 가해지고, 이 값은 이진가산기(1)의 또 다른 입력 포트(PIN)로 입력되는 부분적(PARTP/PARTR)과 더해져서 2 비트 처리기(2)의 입력 포트(GIN1)로 입력된다. 2 비트 처리기(2)는 최하위 2비트를 제거하고 나머지 값(PARTP/PARTR)을 이진가산기(1)의 입력 포트(PIN)로 입력되어 이진가산기(1)의 부분 적이 된다. 이때, 2비트 처리기(2)의 출력포트(NOUT)는 최하위 2비트를 제2AND 게이트(4)의 입력으로 출력하며, 이 값은 1로 선언된 MUL/D IVB 신호에 의하여 제2AND 게이트(4)의 출력을 거쳐 최하위 2 비트 레지스터(5)의 입력 포트(SIN)로 클럭(CLOCK)에 의하여 입력된다. 이러한 작업은 피승수의 모든 비트에 대하여 한 클럭(CLOCK) 주기에 2비트 단위씩 처리된다. 승산 기능이 완료된 후, MUL/DIVB신호는 0로 선택됨으로써, 제산 기능의 수행이 시작된다. 이때, 이진가산기(1)의 승산에 대한 최종 값이 이진가산기(1)의 출력 포트(ADDOUT)로부터 제3AND게이트(12)로 입력되며, 이 값은 0로 선택된 MUL/DIVB 신호에 의하여 제3AND게이트(12)로 바로 출력되어 결과 레지스터(9)의 입력 포트(RIN)로 클럭(CLOCK)에 의하여 입력된다. 결과 레지스터(9)의 출력 값(RESULT)은 비교기(8)에서 모듈러 값(P)과 비교되는데, 결과 레지스터(9)의 출력값(RESULT)이 모듈러 값(P)보다 크거나 같으면 비교기(8)의 출력(QUOT)은 1이 되고, 반대로 RESULT 값이 P 값보다 작으면 비교기(8)의 출력(QUOT)은 0이 된다. 이러한 비교기(8)의 출력(QUOT)값은 소수처리기(7)의 입력 포트(PSEL)로 입력되어 소수처리기의 출력 값(R)을 제어하는 데, 비교기(8)의 출력(QUOT)값이 1이면, R값은 -P가 되고, 비교기(8)의 출력(QUOT)값이 0이면, R값은 0이된다. MUL/DIVB 신호가 0이되면, 다중화기(10)의 입력 포트(TIN1)로 입력된 소수처리기의 출력(R)은 다중화기(10)의 출력 포트(TOUT)로 출력되어, 이진가산기(1)의 입력 포트(ADDIN)로 입력된다. 이 값은 이진가산기(1)에서 2비트 처리기(2)의 출력(PARTP/PARTR)과 더해진다. 이때, 비교기(8)의 출력인 QUOT 신호가 1이면, 이진 가산기(1)는 뺄셈을 수행한 후 왼쪽으로 2비트 시프트를 수행하고, QUOT 신호가 0이면, 연산은 수행하지 않고 2비트 처리기(2)의 출력(PARTP/PARTR)을 왼쪽으로 단지 2비트만 시프트를 수행한다.
한편, MUL/DIVB신호가 0이 되면, 최하위 2비트 레지스터(5)에 저장되어 있던 승산 결과인 하위 N비트 중 최하위 2비트를 최하위 2비트 레지스터(5)의 출력 포트(SOUT)를 통하여 출력되어 제1AND 게이트(3)의 입력으로 입력되고, 0으로 선택된 MUL/DIVB 신호에 의하여 2비트 처리기(2)의 입력 포트(MIN)로 입력된다. 여기서, 0으로 선택된 MUL/DIVB신호는 인버터(11)에 의하여 1로 반전된다. 최하위 2비트는 2비트 처리기(2)의 입력 포트(GIN2)로 입력된 이진가산기(1)의 출력(ADDOUT) 데이타에 첨가되어 2비트 처리기(2)의 출력 포트(PARTP/PARTR)를 통하여 다음 클럭에 이진 가산기(1)의 입력 포트(PIN)로 입력된다. 이러한 제산 기능은 피제수의 모든 비트에 대하여 2 비트 단위로 수행됨으로써, 모듈러 값(P)에 대한 모듈러 승산의 최종 결과 값을 구한다.
제2도는 제1도의 2비트 처리기에 대한 상세한 구성도이다. MUL/DIVB신호가 1이 되어, 본 발명의 장치가 승산 기능을 수행할 때에는 제1도의 이진가산기(1)의 출력(ADDOUT)을 2비트 우측 변환기(23)의 입력 포트(GIN1)로 받아 들여 클럭(CLOCK)에 의하여 2비트 단위로 우측으로 시프트를 시키며, 2비트 우측 변환기(23)의 출력(EOUT)은 최하위 2비트 제거기(25)의 입력 포트(BIN)로 입력되어 2비트 시프트된 출력의 최하위 2비트를 제거하여 출력 포트(MOUT)를 통하여 제2AND 게이트의 입력으로 전달된다. 한편, 2비트 시프트 된 출력 값은 2비트 우측 변환기(23)의 출력 포트(QOUT1)를 통하여 다중화기(21)의 입력 포트(QIN1)로 입력되며, 이 값은 MUL/DIVB 신호의 1에 의하여 다중화기(21)의 출력 포트(PARTP/PART)를 통하여 제1도의 이진가산기(1)의 입력 포트(PIN)로 입력된다.
한편, MUL/DIVB 신호가 0이 되어, 본 발명 장치가 제산 기능을 수행할 때에도 제1도의 최하위 2비트 레지스터(5)의 출력(SOUT)이 제1AND게이트(3)를 거쳐 최하위 2 비트 첨가기(24)의 입력 포트(MIN)로 입력된다. 이 최하위 2 비트는 제1도의 이진 가산기(1)로부터 최하위 2비트 첨가기(24)의 입력 포트(GIN2)로 입력된 출력(ADDOUT)의 최하위에 첨가되어 출력 포트(BOUT)를 거쳐 2비트 좌측 변환기(22)로 입력되어 클럭(CLOCK)에 의해 좌측으로 2 비트 시프트 된다. 시프트 된 결과는 2비트 좌측 변환기(22)의 출력 포트(QOUT2)를 통하여 다중화기(21)의 입력 포트(QIN2)로 입력되며, 이 값은 MUL/DIVB 신호의 0에 의하여 다중화기(21)의 출력 포트(PARTP/PARTR)를 통하여 제1도의 이진가산기(1)의 입력 포트(PIN)로 입력된다.
상술한 바와 같이 본 발명에 의하면 하나의 가산 회로 및 레지스터를 이용하여 승산시에는 승수의 2 비트에 대한 부분 적을 순차적으로 더하고, 하위 값만 하위용 레지스터에 저장하였다가 계산시 동일한 하드웨어를 이용하여 상위 비트에 순차적으로 첨가하여 제수의 값을 순차적으로 감산하여 나머지값을 취하는 승산 및 제산 기능을 함께 사용함으로써, 대용량 키(key)용 정보 보호 알고리즘을 하드웨어로 구현할 때 가격이 저렴한 기존의 반도체 공정을 이용하고도 하나의 칩으로 구현할 수 있기 때문에 가격 경쟁력이 뛰어나고, 아울러 트랜지스터 갯수의 감소에 따라 신뢰성이 뛰어난 장점이 있다.
Claims (2)
- 이진 가산을 수행하는 이진 가산 수단과, 상기 이진 가산기의 출력을 2비트 단위로 처리하는 2비트 처리 수단과, 최하위 2비트를 순차적으로 저장하는 최하위 2비트 레지스터 수단과, 승수에 대한 부호 정수를 생성하는 부호 정수 디코딩 수단과, 상기 이진 가산기의 결과 값을 저장하는 결과 레지스터 수단과, 상기 결과 레지스터의 출력 값과 모듈러 값을 비교하기 위한 비교 수단과, 상기 비교 수단의 출력에 따라 모듈러 값에 대한 출력 값을 처리하는 소수 처리 수단과, 승산/제산 선택신호(MUL/DIVB)에 의하여 상기 소수 처리 수단의 출력 값과 상기 부호 다수 디코더 수단의 출력 값을 선택하는 다중화 수단과, 상기 승산/제산 선택신호를 반전시키기기 위한 인버터 수단과, 상기 인버터 수단과 상기 최하위 2 비트 레지스터 수단의 출력을 입력으로 하고, 상기 2비트 처리수단의 입력을 출력으로 하는 제1엔드게이트 수단과, 상기 2비트 처리 수단과 출력과 승산/제산 선택신호를 입력으로 하고, 상기 최하위 2비트 레지스터 수단의 입력을 입력으로 하는 제2엔드게이트 수단과, 상기 이진 가산 수단의 출력과 승산/제산 선택신호를 입력으로 하고, 상기 결과 레지스터 수단의 출력을 입력으로 하는 제3엔드게이트 수단으로 구성된 것을 특징으로 하는 정보 보호용 모듈러 승산 장치.
- 제1항에 있어서, 상기 2비트 처리 수단은 상기 이진 가산 수단의 출력을 클럭에 의해 우측으로 2비트씩 시프트시키기 위한 2비트 우측 변환 수단과, 상기 2비트 우측 변환 수단의 출력으로부터 최하위 2비트를 제거하여 상기 최하위 2비트 레지스터 수단으로 저장시키기 위한 최하위 2비트 제거 수단과, 상기 최하위 2비트 레지스터 수단으로부터 입력되는 최하위 2비트를 상기 이진 가산 수단의 출력에 첨가 하기 위한 최하위 2 비트 첨가 수단과, 상기 최하위 2비트 첨가 수단의 출력을 좌측으로 2비트씩 시프트시키기 위한 2비트 좌측 변환 수단과, 상기 2비트 우측 변환 수단의 출력과 상기 2비트 좌측 변환 수단의 출력을 입력으로 하는 다중화 수단으로 구성된 것을 특징으로 하는 정보 보호용 모듈러 승산 장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960061514A KR100218683B1 (ko) | 1996-12-04 | 1996-12-04 | 정보 보호용 모듈러 승산 장치 |
US08/969,321 US5867412A (en) | 1996-12-04 | 1997-11-13 | Modular multiplication device for information security |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960061514A KR100218683B1 (ko) | 1996-12-04 | 1996-12-04 | 정보 보호용 모듈러 승산 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980043591A KR19980043591A (ko) | 1998-09-05 |
KR100218683B1 true KR100218683B1 (ko) | 1999-09-01 |
Family
ID=19485639
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960061514A KR100218683B1 (ko) | 1996-12-04 | 1996-12-04 | 정보 보호용 모듈러 승산 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5867412A (ko) |
KR (1) | KR100218683B1 (ko) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6085210A (en) * | 1998-01-22 | 2000-07-04 | Philips Semiconductor, Inc. | High-speed modular exponentiator and multiplier |
US6038318A (en) * | 1998-06-03 | 2000-03-14 | Cisco Technology, Inc. | Optimized machine computation of exponential functions and modulo functions |
US7240204B1 (en) * | 2000-03-31 | 2007-07-03 | State Of Oregon Acting By And Through The State Board Of Higher Education On Behalf Of Oregon State University | Scalable and unified multiplication methods and apparatus |
US7017064B2 (en) * | 2001-05-09 | 2006-03-21 | Mosaid Technologies, Inc. | Calculating apparatus having a plurality of stages |
US7233663B2 (en) * | 2001-10-29 | 2007-06-19 | Safenet, Inc. | Key generation performance improvement |
US7451326B2 (en) * | 2002-08-26 | 2008-11-11 | Mosaid Technologies, Inc. | Method and apparatus for processing arbitrary key bit length encryption operations with similar efficiencies |
US7386705B2 (en) | 2002-08-27 | 2008-06-10 | Mosaid Technologies Inc. | Method for allocating processor resources and system for encrypting data |
US20070067977A1 (en) * | 2005-09-29 | 2007-03-29 | Mark Manuel | Tool and a method for producing a tool |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4742479A (en) * | 1985-03-25 | 1988-05-03 | Motorola, Inc. | Modulo arithmetic unit having arbitrary offset and modulo values |
US4816805A (en) * | 1987-02-02 | 1989-03-28 | Grumman Aerospace Corporation | Residue number system shift accumulator decoder |
US5073870A (en) * | 1989-01-30 | 1991-12-17 | Nippon Telegraph And Telephone Corporation | Modular multiplication method and the system for processing data |
US5144574A (en) * | 1989-01-30 | 1992-09-01 | Nippon Telegraph And Telephone Corporation | Modular multiplication method and the system for processing data |
EP0502712B1 (en) * | 1991-03-05 | 2000-05-31 | Canon Kabushiki Kaisha | Calculating apparatus and method of encrypting/decrypting communication data by using the same |
US5321752A (en) * | 1991-09-05 | 1994-06-14 | Canon Kabushiki Kaisha | Method of and apparatus for encryption and decryption of communication data |
FR2726668B1 (fr) * | 1994-11-08 | 1997-01-10 | Sgs Thomson Microelectronics | Procede de mise en oeuvre de reduction modulaire selon la methode de montgomery |
US5793659A (en) * | 1996-10-15 | 1998-08-11 | United Microelectronics Corporation | Method of modular reduction and modular reduction circuit |
-
1996
- 1996-12-04 KR KR1019960061514A patent/KR100218683B1/ko not_active IP Right Cessation
-
1997
- 1997-11-13 US US08/969,321 patent/US5867412A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
US5867412A (en) | 1999-02-02 |
KR19980043591A (ko) | 1998-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0890899B1 (en) | Multiplication method and apparatus | |
US5764554A (en) | Method for the implementation of modular reduction according to the Montgomery method | |
US5105378A (en) | High-radix divider | |
JP2002108606A (ja) | スティッキービット生成回路及び乗算器 | |
US4758974A (en) | Most significant digit location | |
KR100218683B1 (ko) | 정보 보호용 모듈러 승산 장치 | |
US5815423A (en) | Parallel processing division circuit | |
US5038315A (en) | Multiplier circuit | |
US5177703A (en) | Division circuit using higher radices | |
US5954788A (en) | Apparatus for performing modular multiplication | |
US4866655A (en) | Arithmetic processor and divider using redundant signed digit | |
US6163790A (en) | Modular arithmetic coprocessor comprising an integer division circuit | |
US4979141A (en) | Technique for providing a sign/magnitude subtraction operation in a floating point computation unit | |
KR100481586B1 (ko) | 모듈러 곱셈 장치 | |
US5946223A (en) | Subtraction/shift-type dividing device producing a 2-bit partial quotient in each cycle | |
JP3122622B2 (ja) | 除算装置 | |
Bisoyi et al. | Design of a Novel Fused Add-Sub Module for IEEE 754-2008 Floating Point Unit in High Speed Applications | |
KR20060078258A (ko) | 가변 진법 나눗셈 연산기 | |
KR100858559B1 (ko) | 잉여 이진수의 덧셈 방법, 잉여 이진수의 곱셈 방법, 잉여이진수 덧셈기 및 잉여 이진수 곱셈기 | |
KR100460764B1 (ko) | 암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치 | |
US7191203B2 (en) | Method and system for high-speed multiplication | |
KR0161485B1 (ko) | 산술 연산 장치를 이용한 부스 알고리즘 곱셈 연산 장치 | |
JPS63254525A (ja) | 除算装置 | |
KR0136484B1 (ko) | 이진 보수 발생을 위한 병렬 곱셈기 | |
Phatak et al. | Hybrid number representations with bounded carry propagation chains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080530 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |