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

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

Info

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
Application number
KR1019960061514A
Other languages
English (en)
Other versions
KR19980043591A (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

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)

  1. 이진 가산을 수행하는 이진 가산 수단과, 상기 이진 가산기의 출력을 2비트 단위로 처리하는 2비트 처리 수단과, 최하위 2비트를 순차적으로 저장하는 최하위 2비트 레지스터 수단과, 승수에 대한 부호 정수를 생성하는 부호 정수 디코딩 수단과, 상기 이진 가산기의 결과 값을 저장하는 결과 레지스터 수단과, 상기 결과 레지스터의 출력 값과 모듈러 값을 비교하기 위한 비교 수단과, 상기 비교 수단의 출력에 따라 모듈러 값에 대한 출력 값을 처리하는 소수 처리 수단과, 승산/제산 선택신호(MUL/DIVB)에 의하여 상기 소수 처리 수단의 출력 값과 상기 부호 다수 디코더 수단의 출력 값을 선택하는 다중화 수단과, 상기 승산/제산 선택신호를 반전시키기기 위한 인버터 수단과, 상기 인버터 수단과 상기 최하위 2 비트 레지스터 수단의 출력을 입력으로 하고, 상기 2비트 처리수단의 입력을 출력으로 하는 제1엔드게이트 수단과, 상기 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 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)

* 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
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

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