KR19980043591A - 정보 보호용 모듈러 승산 장치 - Google Patents

정보 보호용 모듈러 승산 장치 Download PDF

Info

Publication number
KR19980043591A
KR19980043591A KR1019960061514A KR19960061514A KR19980043591A KR 19980043591 A KR19980043591 A KR 19980043591A KR 1019960061514 A KR1019960061514 A KR 1019960061514A KR 19960061514 A KR19960061514 A KR 19960061514A KR 19980043591 A KR19980043591 A KR 19980043591A
Authority
KR
South Korea
Prior art keywords
bit
output
significant
multiplication
value
Prior art date
Application number
KR1019960061514A
Other languages
English (en)
Other versions
KR100218683B1 (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 KR1019960061514A priority Critical patent/KR100218683B1/ko
Priority to US08/969,321 priority patent/US5867412A/en
Publication of KR19980043591A publication Critical patent/KR19980043591A/ko
Application granted granted Critical
Publication of KR100218683B1 publication Critical patent/KR100218683B1/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/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
    • 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

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/DIVB 신호에 의하여 제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/PARTR)를 통하여 도 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)

  1. 이진 가산을 수행하는 이진 가산 수단과,
    상기 이진 가산기의 출력을 2비트 단위로 처리하는 2비트 처리 수단과,
    최하위 2비트를 순차적으로 저장하는 저장하는 최하위 2비트 레지스터 수단과,
    승수에 대한 부호 정수를 생성하는 부호 정수 디코딩 수단과,
    상기 이진 가산기의 결과 값을 저장하는 결과 레지스터 수단과,
    상기 결과 레지스터의 출력 값과 모듈러 값을 비교하기 위한 비교 수단과,
    상기 비교 수단의 출력에 따라 모듈러 값에 대한 출력 값을 처리하는 소수 처리 수단과,
    승산/제산 선택신호(MUL/DIVB)에 의하여 상기 소수 처리 수단의 출력 값과 상기 부호 정수 디코더 수단의 출력 값을 선택하는 다중화 수단과,
    상기 승산/제산 선택신호를 반전시키기 위한 인버터 수단과,
    상기 인버터 수단과 상기 최하위 2비트 수단의 출력을 입력으로 하고, 상기 2비트 처리수단의 입력을 출력으로 하는 제2엔드게이트 수단과,
    상기 2비트 처리 수단의 출력과 승산/제산 선택신호를 입력으로 하고, 상기 최하위 2비트 레지스터 수단의 입력을 입력으로 하는 제2엔드게이트 수단과,
    상기 이진 가산 수단의 출력과 승산/제산 선택신호를 입력으로 하고, 상기 결과 레지스터 수단의 출력을 입력으로 하는 제3엔드게이트 수단으로 구성된 것을 특징으로 하는 정보 보호용 모듈러 승산 장치.
  2. 제1항에 있어서,
    상기 2비트 처리 수단은 상기 이진 가산 수단의 출력을 클럭에 의해 우측으로 2비트씩 시프트시키기 위한 2비트 우측 변환 수단과,
    상기 2비트 우측 변환 수단의 출력으로 부터 최하위 2비트를 제거하여 상기 최하위 2비트 레지스터 수단으로 저장시키기 위한 최하위 2비트 제거 수단과,
    상기 최하위 2비트 레지스터 수단으로부터 입력되는 최하위 2비트를 상기 이진 가산 수단의 출력에 첨가하기 위한 최하위 2비트 첨가 수단과,
    상기 최하위 2비트 첨가 수단의 출력을 좌측으로 2비트씩 시프트시키기 위한 2비트 좌측 변환 수단과,
    상기2비트 우측 변환 수단의 출력과 상기 2비트 좌측 변환 수단의 출력을 입력으로 하는 다중화 수단으로 구성된 것을 특징으로 하는 정보 보호용 모듈러 승산 장치.
KR1019960061514A 1996-12-04 1996-12-04 정보 보호용 모듈러 승산 장치 KR100218683B1 (ko)

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 true KR19980043591A (ko) 1998-09-05
KR100218683B1 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)

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

* Cited by examiner, † Cited by third party
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
US5144574A (en) * 1989-01-30 1992-09-01 Nippon Telegraph And Telephone Corporation Modular multiplication method and the system for processing data
US5073870A (en) * 1989-01-30 1991-12-17 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
EP0531158B1 (en) * 1991-09-05 1999-08-11 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

Also Published As

Publication number Publication date
KR100218683B1 (ko) 1999-09-01
US5867412A (en) 1999-02-02

Similar Documents

Publication Publication Date Title
EP0890899B1 (en) Multiplication method and apparatus
EP1058184A2 (en) High radix division
US5105378A (en) High-radix divider
JP2002108606A (ja) スティッキービット生成回路及び乗算器
US4758974A (en) Most significant digit location
US5023827A (en) Radix-16 divider using overlapped quotient bit selection and concurrent quotient rounding and correction
Quach et al. Design and implementation of the SNAP floating-point adder
KR100218683B1 (ko) 정보 보호용 모듈러 승산 장치
US5815423A (en) Parallel processing division circuit
US6182100B1 (en) Method and system for performing a logarithmic estimation within a data processing system
JP2005018759A (ja) 2の浮動小数点数乗の概算を実施するための方法および装置
US5177703A (en) Division circuit using higher radices
US5867413A (en) Fast method of floating-point multiplication and accumulation
US4866655A (en) Arithmetic processor and divider using redundant signed digit
US5954788A (en) Apparatus for performing modular multiplication
US4979141A (en) Technique for providing a sign/magnitude subtraction operation in a floating point computation unit
US4935892A (en) Divider and arithmetic processing units using signed digit operands
Beuchat et al. Multiplication algorithms for radix-2 RN-codings and two's complement numbers
US5946223A (en) Subtraction/shift-type dividing device producing a 2-bit partial quotient in each cycle
JP4159565B2 (ja) ベクトル積和演算回路
JP3122622B2 (ja) 除算装置
US6631393B1 (en) Method and apparatus for speculative addition using a limited carry
KR20060078258A (ko) 가변 진법 나눗셈 연산기
KR100858559B1 (ko) 잉여 이진수의 덧셈 방법, 잉여 이진수의 곱셈 방법, 잉여이진수 덧셈기 및 잉여 이진수 곱셈기
Bisoyi et al. Design of a Novel Fused Add-Sub Module for IEEE 754-2008 Floating Point Unit in High Speed Applications

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