KR20000044576A - 모듈러 연산 장치 - Google Patents

모듈러 연산 장치 Download PDF

Info

Publication number
KR20000044576A
KR20000044576A KR1019980061075A KR19980061075A KR20000044576A KR 20000044576 A KR20000044576 A KR 20000044576A KR 1019980061075 A KR1019980061075 A KR 1019980061075A KR 19980061075 A KR19980061075 A KR 19980061075A KR 20000044576 A KR20000044576 A KR 20000044576A
Authority
KR
South Korea
Prior art keywords
signal
output
carry
adder
sum
Prior art date
Application number
KR1019980061075A
Other languages
English (en)
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 KR1019980061075A priority Critical patent/KR20000044576A/ko
Publication of KR20000044576A publication Critical patent/KR20000044576A/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/50Adding; Subtracting
    • G06F7/505Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
    • G06F7/506Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
    • 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/727Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 암호화에 적용되는 모듈러 연산 장치에 관한 것이다. 그 장치는 Ai, Bi, Mi, Ni를 각각 이진수 A, B, M, N의 i번째 비트라 하고, 0<=A, B < N 이며, N<=2k이고, M=2k-N이라 할 때, (A+B) mod N 식을 연산하는데 있어서, Ai, Bi, Mi를 가산하여 합(S'i) 및 캐리(Ci+1)를 발생하는 제1가산부와, 선택 신호에 따라 상기 (S'i, Ci+1) 신호 또는 (S"i, Ni) 신호를 선택하여 출력하는 신호 선택부와, 상기 신호 선택부의 출력을 가산하여 상기 합(S"i) 및 캐리(C"i+1)를 각각 발생하는 제2가산부, 및 제어신호에 따라 상기 제2가산부의 출력의 차단 여부를 결정하는 버퍼링부와, 상기 제2가산부의 캐리(C"i+1)에 따라 상기 선택신호 및 상기 제어신호를 발생하는 제어부를 포함한다. 본 발명에 의하면, 고속 처리가 가능하면서도 회로 면적을 최소화할 수 있다.

Description

모듈러 연산 장치
본 발명은 모듈러 연산 장치에 관한 것으로, 특히 암호화에 적용되는 회로 규모가 작은 고속의 모듈러 연산 장치에 관한 것이다.
암호화에 적용되는 모듈러(modular) 연산을 처리하는데 있어서, 그 복잡성을 높이기 위해 많은 비트를 입력으로 사용한다. 이러한 암호화 기능은 케이블 모뎀 등과 같이 하드웨어적으로 구현되어 이용되고 있다.
일반적으로 암호화에 기본적으로 이용되는 모듈러 연산중 주요한 기본 수식은 다음 수학식 1에 같다.
S = (A + B ) mod N
여기서, mod는 모듈러 연산을 나타낸다.
상기 수학식 1에서, A, B 및 N의 비트수가 작을 경우에는 하드웨어로 쉽게 구현이 가능하다. 그러나, 암호화 분야에서 대부분 큰 비트수가 이용되고 있다. 이러한 모듈러 연산을 하드웨어로 구현하기 위하여 다양한 형태의 가산기(예: Carry propagation adder, Carry look-aheader, Carry save adder)를 선택적으로 사용하게 되는데, 기존에는 효율적인 알고리즘을 개발한 후, 이를 적당한 하드웨어로 구현하는 것이 일반적이다. 따라서, 중복되는 하드웨어의 구현이 이루어지는 경우가 발생한다. 기존의 모듈러 연산을 수행하는 방법은 다음 단계를 따른다.
1. S' = A + B
2. S" = S' - N
3. S' > 0 이면 S = S'가 되고, 이를 만족하지 못하면 S = S"가 된다.
그런데, 이러한 기존의 모듈러 연산 방법을 하드웨어로 구현할 때, 동작 속도가 회로 면적이 크다는 문제점이 있었다.
본 발명은 상기 문제점을 해결하기 위하여 안출된 것으로써, 고속 처리가 가능하면서도 회로 부분의 재사용을 통해 회로 면적을 최소화할 수 있는 모듈러 연산 장치를 제공하는데 그 목적이 있다.
도 1은 본 발명에 따른 모듈러 연산 장치를 설명하기 위한 도면.
* 도면의 주요 부분에 대한 설명
10, 30 : 가산부 20 : 신호 선택부
40 : 버퍼링부 50 : 제어부
상기 목적을 달성하기 위한 본 발명에 따른 모듈러 연산장치는 Ai, Bi, Mi, Ni를 각각 이진수 A, B, M, N의 i번째 비트라 하고, 0<=A, B < N 이며, N<=2k이고, M=2k-N이라 할 때, (A+B) mod N 식을 연산하는데 있어서,
다음 식에 의해 Ai, Bi, Mi를 가산하여 합(S'i) 및 캐리(Ci+1)를 발생하는 제1가산부와,
여기서, 는 배타 논리합 연산을 나타낸다.
선택 신호에 따라 상기 (S'i, Ci+1) 신호 또는 (S"i, Ni) 신호를 선택하여 출력하는 신호 선택부와, 상기 신호 선택부의 출력을 가산하여 상기 합(S"i)와 캐리(C"i+1)를 각각 발생하는 제2가산부, 및 제어신호에 따라 상기 제2가산부의 출력의 차단 여부를 결정하는 버퍼링부와, 상기 제2가산부의 캐리(C"i+1)에 따라 상기 선택신호 및 상기 제어신호를 발생하는 제어부를 포함하여 이루어진다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하면 다음과 같다.
도 1은 본 발명에 따른 모듈러 연산 장치를 설명하기 위한 도면이다.
도 1에 있어서, Ai, Bi, Mi, Ni를 각각 이진수 A, B, M, N의 i번째 비트라 하고, 0<=A, B < N 이며, N<=2k이고, M=2k-N이라 할 때, (A+B) mod N 식을 연산하는 모듈러 연산 장치는 Ai, Bi, 및 Mi를 가산하는 가산부(10)와, 선택신호에 따라 입력되는 신호들을 선택하여 출력하는 신호 선택부(20)와, 신호 선택부(20)의 출력을 가산하는 가산부(30)와, 제어신호에 따라 가산부(30)의 출력의 차단 여부를 결정하는 버퍼링부(40)와, 가산부(30)의 캐리 발생 여부에 따라 선택신호와 제어신호를 발생하는 제어부(50)를 포함한다.
먼저, 가산기(10)는 3 입력, Ai, Bi, Mi에 대한 다음 수학식 2와 같이 가산 연산을 수행하여 캐리와 그 합을 구한다.
여기서, 여기서, 는 배타 논리합 연산을 나타내고, 는 논리곱 연산을 의미한다.
이어서, 신호 선택부(20)는 선택신호(SEL)에 따라 가산부(10)의 출력(Si, Ci+1) 또는 외부의 입력(S", Ni)중 하나를 선택 출력하며, 이때 선택신호(SEL)가 '1'이면 다음 수학식 3으로, '0'이면 다음 수학식 4와 같이 출력신호가 선택된다.
이어서, 가산부(30)는 신호 선택부(20)의 출력을 가산하고, 그 가산 결과로서의 최종 캐리(C"i+1)와 합(S"i)을 각각 출력한다.
이어서, 버퍼링부(40)는 제어부(50)로부터의 제어신호(SW)에 따라 가산부(30)의 출력을 스위칭하는 역할을 수행한다. 즉, 가산부(30)의 출력을 최종 출력으로서 그대로 출력하거나, 혹은 차단한다. 이때, 가산부(10)(30)는 고속 연산을 위해 캐리 세이브 가산기(carry save adder)를 이용하는 것이 바람직하다.
제어부(50)는 회로 구성의 재이용을 위해 가산부(30)의 가산 결과로서 출력되는 최종 캐리 신호(C"i+1)를 입력받아, 만약 캐리가 발생된 경우라면 즉, C"i+1이 '1'이면 신호 선택부(20)가 가산부(10)의 출력을 선택 출력하도록 선택신호를 발생하고, 또한 버퍼링부(40)에 제어신호(SW)를 발생하여 가산부(30)의 출력을 차단한다. 반대로 C"i+1이 '0'이면 신호 선택부(20)에 선택신호를 발생하여 가산부(30)의 출력을 선택 출력하도록 하고, 버퍼링부(40)에 제어신호(SW)를 발생하여 최종 출력으로서 가산부(30)의 출력을 그대로 출력하도록 제어한다.
이상에서 살펴본 바와 같이, 캐리 발생 여부에 따라 가산부의 회로를 반복 사용토록 함으로써, 하드웨어 중복을 없앨 수 있다. 이로 인해 회로 면적을 최소화할 수 있으며, 큰 비트의 입력에 대해서도 실시간 처리할 수 있게 되므로 암호화 칩 등의 설계에 적용할 수 있다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 이루어지는 본 발명에 따른 모듈러 연산 장치는 개선된 알고리즘에 의해 고속 처리가 가능하며, 회로의 재이용이 가능하므로 회로 면적을 최소화할 수 있다.

Claims (1)

  1. Ai, Bi, Mi, Ni를 각각 이진수 A, B, M, N의 i번째 비트라 하고, 0<=A, B < N 이며, N<=2k이고, M=2k-N이라 할 때, (A+B) mod N 식을 연산하는 모듈러 연산 장치에 있어서,
    다음 식에 의해
    여기서, 는 배타 논리합 연산
    Ai, Bi, Mi를 가산하여 합(S'i) 및 캐리(Ci+1)를 발생하는 제1가산부;
    선택 신호에 따라 상기 (S'i, Ci+1) 신호 또는 (S"i, Ni) 신호를 선택하여 출력하는 신호 선택부;
    상기 신호 선택부의 출력을 가산하여 상기 합(S"i)와 캐리(C"i+1)를 각각 발생하는 제2가산부; 및
    제어신호에 따라 상기 제2가산부의 출력의 차단 여부를 결정하는 버퍼링부;
    상기 제2가산부의 캐리(C"i+1)에 따라 상기 선택신호 및 상기 제어신호를 발생하는 제어부를 구비한 것을 특징으로 하는 모듈러 연산 장치.
KR1019980061075A 1998-12-30 1998-12-30 모듈러 연산 장치 KR20000044576A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980061075A KR20000044576A (ko) 1998-12-30 1998-12-30 모듈러 연산 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980061075A KR20000044576A (ko) 1998-12-30 1998-12-30 모듈러 연산 장치

Publications (1)

Publication Number Publication Date
KR20000044576A true KR20000044576A (ko) 2000-07-15

Family

ID=19567831

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980061075A KR20000044576A (ko) 1998-12-30 1998-12-30 모듈러 연산 장치

Country Status (1)

Country Link
KR (1) KR20000044576A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100652376B1 (ko) * 2004-07-29 2006-12-01 삼성전자주식회사 분리 연산 가능한 구조를 가지는 모듈러 곱셈기와 이를포함하는 암호화 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100652376B1 (ko) * 2004-07-29 2006-12-01 삼성전자주식회사 분리 연산 가능한 구조를 가지는 모듈러 곱셈기와 이를포함하는 암호화 시스템

Similar Documents

Publication Publication Date Title
EP0227427B1 (en) Method of and circuit for generating bit-order modified binary signals
US6167420A (en) Multiplication method and multiplication circuit
JPH0595366A (ja) セル送信回路
US5506796A (en) Digital signal processing circuit selectively operable in either a normal or a pseudorandom noise generative mode
US5764550A (en) Arithmetic logic unit with improved critical path performance
US7024445B2 (en) Method and apparatus for use in booth-encoded multiplication
KR20000044576A (ko) 모듈러 연산 장치
US5341322A (en) Bit level pipeline divide circuit and method therefor
KR20050040355A (ko) 감소된 면적을 갖는 캐리 예측 가산기
KR100310417B1 (ko) 고속퓨리에변환장치의비트-리버스트어드레스발생기
KR100460764B1 (ko) 암호화 하드웨어 구현을 위한 파이프라인 모듈러 연산 장치
KR19990031097A (ko) 그룹 데이터에 대한 산술연산을 수행하는 64비트 산술연산기
KR100256776B1 (ko) 몽고메리 모듈러 승산 장치
US6052768A (en) Circuit and method for modulo address generation with reduced circuit area
KR950015180B1 (ko) 고속연산형 가산기
KR100501739B1 (ko) 효율적인 모듈러 가산기 및 그 연산 방법
KR100256103B1 (ko) Cout 신호 발생용 방법 및 장치
KR20030004771A (ko) Sha-1에 사용되는 중간값 생성회로
KR100567643B1 (ko) 제로 판정 신호 생성 회로
JP3097081B2 (ja) 段数可変m系列符号発生器
JP2951685B2 (ja) 固定小数点演算器
Swann et al. Parallelization of the Shift and Add Reducer
KR100223752B1 (ko) 병렬 곱셈기
Surigi et al. Design and Analysis of Three Operand Binary Adder
Vishwaja et al. Performance Comparison of Carry Select Adder with Different Techniques

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination