KR20010108780A - Pipeline modulo operation device for realizing encryption hardware - Google Patents
Pipeline modulo operation device for realizing encryption hardware Download PDFInfo
- Publication number
- KR20010108780A KR20010108780A KR1020000029689A KR20000029689A KR20010108780A KR 20010108780 A KR20010108780 A KR 20010108780A KR 1020000029689 A KR1020000029689 A KR 1020000029689A KR 20000029689 A KR20000029689 A KR 20000029689A KR 20010108780 A KR20010108780 A KR 20010108780A
- Authority
- KR
- South Korea
- Prior art keywords
- output
- pipeline
- receiving
- exclusive
- adder
- 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/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/727—Modulo N arithmetic, with N being either (2**n)-1,2**n or (2**n)+1, e.g. mod 3, mod 4 or mod 5
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Advance Control (AREA)
Abstract
본 발명은 암호화에 적용되는 모듈러 연산 장치에 관한 것으로, 모듈러 곱셈 연산을 계산함에 있어서, 고속처리가 가능하면서도 회로 면적을 최소화할 수 있는 모듈러 연산 장치를 제공하는데 그 목적이 있다. 이를 위하여 본 발명은 RSA 방식의 암호화를 수행하는 암호화 장치에 있어서, 곱셈기로부터 b 비트의 출력과 피승수를 입력받는 제1배타적 논리곱 연산부; 상기 곱셈기의 출력을 왼쪽으로 b 비트만큼 쉬프트하는 제1쉬프트부; 상기 배타적 논리곱 연산부의 출력을 입려받는 제1파이프라인; 모듈러스의 계수와 제5파이프라인의 출력을 입력받는 제2배타적 논리곱 연산부; 상기 제2배타적 논리곱 연산부의 출력을 입력받는 제2파이프라인; 상기 제2파이프라인의 출력에 대하여 보수화 연산을 수행하는 보수화 수단; 상기 제1파이프라인과 상기 보수화 수단과 제3파이프라인의 출력을 입력받아 덧셈 연산을 하기 위한 덧셈 연산기; 상기 덧셈 연산기의 출력을 입력받는 제4파이프라인; 상기 제4파이프라인의 출력을 입력받아 파이프라인을 수행한 값을 저장하기 위한 축적기; 상기 축적기의 출력을 입력받는 제3파이프라인; 상기 축적기의 출력을 왼쪽으로 b 비트만큼 쉬프트하기 위한 제2쉬프트부 및 제5파이프라인; 상기 제4파이프라인의 출력을 n으로 나누어 분배하기 위한 분배기; 및 상기 분배기(240)의 출력을 입력받는 제5파이프라인(250)을 포함하여 이루어진다.The present invention relates to a modular arithmetic apparatus applied to encryption, and to provide a modular arithmetic apparatus capable of minimizing a circuit area while enabling high speed processing in calculating a modular multiplication operation. To this end, the present invention provides an encryption apparatus for performing RSA encryption, comprising: a first exclusive logical product operation unit receiving an output of b bits and a multiplicand from a multiplier; A first shift unit shifting the output of the multiplier by b bits to the left; A first pipeline receiving the output of the exclusive AND product; A second exclusive logical AND operation unit receiving modulus coefficients and an output of a fifth pipeline; A second pipeline receiving an output of the second exclusive AND product; Complementary means for performing a complementary operation on the output of the second pipeline; An addition operator for receiving an output of the first pipeline, the complementary means, and the third pipeline and performing an addition operation; A fourth pipeline receiving the output of the addition operator; An accumulator for receiving the output of the fourth pipeline and storing a value of performing the pipeline; A third pipeline receiving an output of the accumulator; A second shift portion and a fifth pipeline for shifting the output of the accumulator by b bits to the left; A divider for dividing and dividing the output of the fourth pipeline by n; And a fifth pipeline 250 receiving the output of the distributor 240.
Description
본 발명은 암호화 장치에 관한 것으로, 특히 RSA 방식의 암호화 장치 중 암호화에 적용되는 회로 규모가 작은 고속의 모듈러 연산 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an encryption device, and more particularly, to a high speed modular computing device having a small circuit scale applied to encryption among RSA encryption devices.
일반적으로 암호화 기술은 다양한 분야에서 활용가능한데 최근에는 특히 인터넷의 활성화에 따라 통신상의 필수 기술로 부각되고 있다. 이러한 암호화 기술 중 주요한 방법의 하나가 RSA 방식의 암호화다. RAS는 1978년 Rivest, Shamir, Adleman이 발표한 논문에서 제안된 시스템을 말하며, 발표자의 머리 문자를 연결한 것이다. RSA 방식의 암호화는 독자적인 암호화 뿐만이 아니라 DES 암호화 등과 결합하여 네트워크 상의 암호화에도 널리 쓰이고 있다.Generally, encryption technology can be used in various fields. Recently, as the Internet is activated, it is emerging as an essential technology for communication. One of the main methods of such encryption technology is RSA encryption. RAS refers to the proposed system in a paper published by Rivest, Shamir, and Adleman in 1978, and connects the speaker's initials. RSA encryption is widely used in network encryption in combination with DES encryption as well as proprietary encryption.
RSA 알고리즘에서는 암호화 키와 복호키로 각각 2 개의 양의 정수가 사용된다. 즉 메시지(M)을 암호화하기 위해 두 개의 양의 정수로 구성된 암호화 키(e,n)을 이용하여 메시지(M)을 e승한 값 Me를 계산한 후 n으로 나누어 나머지를 구한 값이 암호문(c)이 된다. 복호화는 복호키(d,n)을 이용하여 암호문 c를 d번 곱한 후 n으로 나누게 되면 원래의 메시지 M이 된다. 이와 같이 메시지 M을 구하기 위한 가장 중요한 연산중의 하나가 모듈러 곱셈이다.In the RSA algorithm, two positive integers are used for the encryption key and the decryption key, respectively. In other words, to encrypt the message (M), using the encryption key (e, n) consisting of two positive integers, the value of the message M multiplied by e is calculated, and the value obtained by dividing by n is obtained from the ciphertext (c). ) Decryption is obtained by multiplying the ciphertext c by d using a decryption key (d, n) and dividing by n to become the original message M. Thus, one of the most important operations for obtaining the message M is modular multiplication.
그러나 이러한 모듈러 연산 방법을 하드웨어로 구현할 때 임계 경로의 지연으로 인한 연산 속도가 문제가 된다. 그리고 모듈러 곱셈 장치가 차지하는 면적이 크다는 문제점이 발생하게 된다.However, when implementing this modular operation method in hardware, the operation speed due to the delay of the critical path becomes a problem. And a problem arises that the area occupied by the modular multiplication apparatus is large.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위하여 안출된 것으로써, 모듈러 곱셈 연산을 계산함에 있어서, 고속처리가 가능하면서도 회로 면적을 최소화할 수 있는 모듈러 연산 장치를 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems of the prior art, and it is an object of the present invention to provide a modular computing device capable of minimizing a circuit area while performing high speed processing in calculating a modular multiplication operation.
도1은 본 발명의 모듈러 연산장치의 블럭도,1 is a block diagram of a modular computing device of the present invention;
도2는 상기 덧셈 연산기의 구조를 나타내는 블럭도.2 is a block diagram showing the structure of the addition operator;
* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
100 : 곱셈기 140 : 제1배타적 논리합 연산부100: multiplier 140: first exclusive logical operation unit
150 : 제1파이프라인 180 : 보수화 수단150: first pipeline 180: repair means
190 : 덧셈 연산기 240 : 분배기190: addition calculator 240: divider
상기 목적을 달성하기 위하여 본 발명의 모듈러 연산 장치는 RSA 방식의 암호화를 수행하는 암호화 장치에 있어서, 곱셈기로부터 b 비트의 출력과 피승수를 입력받는 제1배타적 논리곱 연산부; 상기 곱셈기의 출력을 왼쪽으로 b 비트만큼 쉬프트하는 제1쉬프트부; 상기 배타적 논리곱 연산부의 출력을 입력받는 제1파이프라인; 모듈러스의 계수와 제5파이프라인의 출력을 입력받는 제2배타적 논리곱 연산부; 상기 제2배타적 논리곱 연산부의 출력을 입력받는 제2파이프라인; 상기 제2파이프라인의 출력에 대하여 보수화 연산을 수행하는 보수화 수단; 상기 제1파이프라인과 상기 보수화 수단과 제3파이프라인의 출력을 입력받아 덧셈 연산을 하기 위한 덧셈 연산기; 상기 덧셈 연산기의 출력을 입력받는 제4파이프라인; 상기 제4파이프라인의 출력을 입력받아 파이프라인을 수행한 값을 저장하기 위한 축적기; 상기 축적기의 출력을 입력받는 제3파이프라인; 상기 축적기의 출력을 왼쪽으로 b 비트만큼 쉬프트하기 위한 제2쉬프트부 및 제5파이프라인; 상기 제4파이프라인의 출력을 n으로 나누어 분배하기 위한 분배기; 및 상기 분배기(240)의 출력을 입력받는 제5파이프라인(250)을 포함하여 이루어진다.In order to achieve the above object, the modular operation device of the present invention is an encryption device for performing RSA encryption, comprising: a first exclusive logical product operation unit receiving an output of b bits and a multiplicand from a multiplier; A first shift unit shifting the output of the multiplier by b bits to the left; A first pipeline receiving an output of the exclusive AND product; A second exclusive logical AND operation unit receiving modulus coefficients and an output of a fifth pipeline; A second pipeline receiving an output of the second exclusive AND product; Complementary means for performing a complementary operation on the output of the second pipeline; An addition operator for receiving an output of the first pipeline, the complementary means, and the third pipeline and performing an addition operation; A fourth pipeline receiving the output of the addition operator; An accumulator for receiving the output of the fourth pipeline and storing a value of performing the pipeline; A third pipeline receiving an output of the accumulator; A second shift portion and a fifth pipeline for shifting the output of the accumulator by b bits to the left; A divider for dividing and dividing the output of the fourth pipeline by n; And a fifth pipeline 250 receiving the output of the distributor 240.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부한 도면을 참조하여 설명하기로 한다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. do.
도1은 본 발명의 모듈러 연산장치의 블럭도이다.1 is a block diagram of a modular computing device of the present invention.
상기 도1을 참조하면, 본 발명의 모듈러 연산장치는 곱셈기(100)로부터 b 비트의 출력과 피승수(110)을 입력받는 제1배타적 논리곱 연산부(140)와, 상기 곱셈기의 출력을 왼쪽으로 b 비트만큼 쉬프트하는 제1쉬프트부와, 상기 배타적 논리곱 연산부(140)의 출력을 입려받는 제1파이프라인(150)과, 모듈러스(120)의 계수와 제5파이프라인(250)의 출력을 입력받는 제2배타적 논리곱 연산부(160)와, 상기 제2배타적 논리곱 연산부(160)의 출력을 입력받는 제2파이프라인(170)과, 상기 제2파이프라인의 출력에 대하여 보수화 연산을 수행하는 보수화 수단(180)과, 상기 제1파이프라인(150)과 상기 보수화 수단(180)과 제3파이프라인의 출력을 입력받아 덧셈 연산을 하기 위한 덧셈 연산기(190)와, 상기 덧셈 연산기(190)의 출력을 입력받는 제4파이프라인(200)과, 상기 제4파이프라인(200)의 출력을 입력받아 파이프라인을 수행한 값을 저장하기 위한 축적기(210)와, 상기 축적기(210)의 출력을 입력받는 제3파이프라인(230)과, 상기 축적기(210)의 출력을 왼쪽으로 b 비트만큼 쉬프트하기 위한 제2쉬프트부 및 제5파이프라인(220)과, 상기 제4파이프라인의 출력을 n으로 나누어 분배하기 위한 분배기(240)와, 상기 분배기(240)의 출력을 입력받는 제5파이프라인(250)을 구비한다.Referring to FIG. 1, the modular operation device of the present invention includes a first exclusive logical product operation unit 140 that receives an output of b bits and a multiplicand 110 from the multiplier 100, and outputs the output of the multiplier to the left b. A first shift unit shifting by a bit, a first pipeline 150 receiving the output of the exclusive AND product 140, a coefficient of the modulus 120, and an output of the fifth pipeline 250. Performing a complementary operation on the received second exclusive AND operator 160, the second pipeline 170 receiving the output of the second exclusive AND operator 160, and the output of the second pipeline. An add operator 190 for receiving an output of the complementary means 180, the first pipeline 150, the output of the complementary means 180, and the third pipeline, and the addition operator 190. The fourth pipeline 200 receiving the output of the fourth pipeline 200 The accumulator 210 for storing the pipelined value and the third pipeline 230 receiving the output of the accumulator 210 and the accumulator 210. A second shift unit and a fifth pipeline 220 for shifting the output to the left by b bits, a divider 240 for dividing the output of the fourth pipeline by n, and a divider 240 The fifth pipe line 250 receives an output.
본 발명에서 구현하고자 하는모듈러(Modulo) 곱셈 연산을 살펴보면 다음과 같다. 우선 다음의 곱셈 P'를 정의하면 다음 수학식1과 같다.Looking at the Modulo multiplication operation to be implemented in the present invention. First, the following multiplication P 'is defined.
= 2(...2(2(0 + A × Bk-1) + A × Bk-2) + ...) + A × B0= 2 (... 2 (2 (0 + A × Bk-1) + A × Bk-2) + ...) + A × B0
위의 연산식은 쉬프트-애드(shift-add) 곱셈 알고리즘을 필요로 한다. 또한 매 단계마다의 부분곱 모듈로(modulo) n은 다음 표1과 같이 구할 수 있다.The above expression requires a shift-add multiplication algorithm. In addition, the modulo n at each step can be obtained as shown in Table 1 below.
결국, P = AB(mod n) 의 주요 연산을 차지하는 부분은 내부 곱인 P := 2b× P + A × Bi - Q × n 을 구하는 것이다. 여기서 2b를 라딕스(radix)라고 하자. 또한 P는 부분 내부곱이고, Bi는 라딕스(radix) 2b의 B의 i번째 숫자이다. Q는 모듈러(modelo) n을 줄이기 위하여 부분곱 P로부터 모듈로(modulo) n을 뺀 숫자이다. Q는 부분곱으로 현재 부분 곱인 P를 n으로 나누어 구할 수 있다.After all, the main part of P = AB (mod n) is to find the internal product P: = 2 b × P + A × Bi-Q × n. Let 2 b be radix. P is the partial internal product and Bi is the i-th number of B in radix 2 b . Q is the number of sub products P minus modulo n to reduce modelo n. Q is the partial product, which can be found by dividing the current partial product P by n.
라딕스(radix) 2 곱셈기의 속도를 극복하기 위해서는 하이-라딕스(High-radix)방식을 사용하도록 한다. 하이-라딕스(High-radix) 연산은 클럭 사이클은 적지만, 사이클 타임과 보다 많은 면적을 필요로 한다.To overcome the speed of a radix 2 multiplier, use a high-radix method. High-radix operations require fewer clock cycles, but require cycle times and more area.
라딕스(radix) 2 방식에서는 앤드 게이트 어레이(AND gate array)를 이용하여 부분곱을 생성할 수 있다. 하이-라딕스(High-radix) 방식에서의 부분 곱 계산은 보다 복잡할 수 있다. 하지만, 부분곱의 계산을 위한 방법은 파이프라인 방식을 이용하여 사이클 타임을 많이 증가시키지 않을 수 있다.In the Radix 2 method, a partial product may be generated using an AND gate array. Partial product calculation in a high-radix scheme can be more complex. However, the method for calculating the partial product may not increase the cycle time by using the pipeline method.
도2는 상기 덧셈 연산기의 구조를 나타내는 블럭도이다.2 is a block diagram showing the structure of the addition operator.
상기 도2를 참조하면, 본 발명의 덧셈 연산기는 Ai, Bi, Mi를 가산하여합(S'i) 및 캐리(Ci+1)을 발생하는 제1덧셈기(200)와, 상기 제1덧셈기(200)의 출력을 입력받는 제2파이프라인(210)과, 선택신호에 따라 상기 제2파이프라인(210)을 통하여 입력되는 신호들을 선택하여 출력하는 입력선택기(220)와, 상기 입력선택기(220)의 출력을 입력받는 제3파이프라인(230)과, 상기 제3파이프라인(230)의 출력을 가산하는 제2덧셈기(240)와, 제어신호에 따라 상기 제2덧셈기(240)의 출력의 차단 여부를 결정하는 출력 생성기(250)와, 상기 제2덧셈기(240)의 캐리 발생 여부에 따라 선택신호와 제어신호를 발생하는 제어부(260)를 구비한다.Referring to FIG. 2, the addition operator of the present invention adds Ai, Bi, and Mi to generate a sum S'i and a carry Ci + 1, and a first adder 200. A second pipe line 210 receiving the output of the 200, an input selector 220 for selecting and outputting signals input through the second pipe line 210 according to a selection signal, and the input selector 220 Of the third pipe line 230 receiving the output of the second output line, the second adder 240 adding the output of the third pipe line 230, and the output of the second adder 240 according to a control signal. An output generator 250 for determining whether to cut off is provided, and a controller 260 for generating a selection signal and a control signal according to whether a carry of the second adder 240 occurs.
먼저 제1덧셈기(200)은 3입력(Ai, Bi, Mi)에 대한 가산 연산을 수행하여 다음 수학식2와 같이 캐리와 그 합을 구한다.First, the first adder 200 performs an add operation on three inputs Ai, Bi, and Mi to obtain a carry and a sum thereof as shown in Equation 2 below.
S'i = AiBiMiS'i = Ai Bi Mi
여기서는 배타적 논리합 연산을 나타내고, ·는 논리곱 연산을 의미한다.here Denotes an exclusive OR operation, and denotes an AND operation.
이어서, 입력선택기(220)는 선택신호에 따라 상기 제2파이프라인(210)의 출력(Si, Ci+1) 또는 외부의 입력(S", Ni)중 하나를 선택 출력한다.Subsequently, the input selector 220 selectively outputs one of the outputs Si and Ci + 1 of the second pipe line 210 and the external inputs S and Ni according to the selection signal.
이어서, 상기 제2덧셈기(240)은 상기 제3파이프라인(230)의 출력을 가산하고, 그 가산 결과로서의 최종 캐리(C"i+1)와 합(S"i)를 각각 출력한다.Subsequently, the second adder 240 adds an output of the third pipeline 230 and outputs a final carry C ″ i + 1 and a sum S ″ i as the addition result.
이어서, 상기 출력생성기(250)은 상기 제어기(260)로부터의 제어신호에 따라 상기 제2덧셈기(240)의 출력을 스위칭하는 역할을 수행한다. 즉 상기제2덧셈기(240)의 출력을 최종 출력으로 그대로 출력하거나, 혹은 차단한다. 이때 상기 제1 및 제2덧셈기(200, 240)는 고속 연산을 위해 캐리 세이브 가산기(carry save adder)를 이용하는 것이 바람직하다.Subsequently, the output generator 250 switches the output of the second adder 240 according to a control signal from the controller 260. That is, the output of the second adder 240 is output as it is, or cut off as the final output. In this case, it is preferable that the first and second adders 200 and 240 use a carry save adder for a high speed operation.
이어서, 상기 제어기(260)는 회로 구성의 재이용을 위해 상기 제2덧셈기(240)의 가산 결과로서 출력되는 최종 캐리(C"i+1)를 입력받아, 만약 캐리가 발생된 경우라면 즉, C"i+1이 논리 하이이면 상기 입력선택기(220)가 상기 제2파이프라인(210)의 출력을 선택 출력하도록 선택신호를 발생하고, 또한 출력생성기(250)에 제어신호를 발생하여 상기 제2덧셈기(240)의 출력을 차단한다. 반대로 C"i+1이 논리 로우이면 상기 입력선택기(220)에 제어신호를 선택신호를 발생하여 상기 제2파이프라인(210)의 출력을 선택 출력하도록 하고, 상기 출력생성기(250)에 제어신호를 발생하여 최종 출력으로서 상기 제2덧셈기(240)의 출력을 그대로 출력하도록 제어한다.Subsequently, the controller 260 receives a final carry C ″ i + 1 output as a result of the addition of the second adder 240 to reuse the circuit configuration, and if the carry is generated, that is, C "If i + 1 is a logic high, the input selector 220 generates a selection signal to selectively output the output of the second pipeline 210, and generates a control signal to the output generator 250 to generate the second signal. The output of the adder 240 is blocked. On the contrary, when C "i + 1 is a logic low, a control signal is generated to the input selector 220 to selectively output an output of the second pipeline 210, and a control signal to the output generator 250. Is generated to control the output of the second adder 240 to be output as it is.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention has been described in detail according to the above-described preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.
상기와 같이 본 발명은 파이프라인을 이용함으로써 고속 연산이 가능하며 효율적인 하드웨어 구성이 가능하게 되어 실시간 하드웨어 구현시 면적 및 속도의 상관관계가 조화된 칩을 개발할 수 있다.As described above, the present invention enables a high speed operation and an efficient hardware configuration by using a pipeline, so that a chip in which the correlation between area and speed is harmonized when real-time hardware is implemented can be developed.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0029689A KR100460764B1 (en) | 2000-05-31 | 2000-05-31 | Pipeline modulo operation device for realizing encryption hardware |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2000-0029689A KR100460764B1 (en) | 2000-05-31 | 2000-05-31 | Pipeline modulo operation device for realizing encryption hardware |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20010108780A true KR20010108780A (en) | 2001-12-08 |
KR100460764B1 KR100460764B1 (en) | 2004-12-09 |
Family
ID=45855002
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2000-0029689A KR100460764B1 (en) | 2000-05-31 | 2000-05-31 | Pipeline modulo operation device for realizing encryption hardware |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100460764B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417757B2 (en) | 2006-12-07 | 2013-04-09 | Electronics And Telecommunications Research Institute | Method and apparatus for modulo N calculation wherein calculation result is applied to match speeds in wireless communication system |
KR101321221B1 (en) * | 2013-05-23 | 2013-10-22 | 목포대학교산학협력단 | Cryptographic modular apparatus and cryptographic modular method |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2621144B1 (en) * | 1987-09-25 | 1989-12-29 | Labo Electronique Physique | MULTIPLIER PIPELINE SERIE |
US5313530A (en) * | 1991-03-05 | 1994-05-17 | Canon Kabushiki Kaisha | Calculating apparatus and method of encrypting/decrypting communication data by using the same |
US6061706A (en) * | 1997-10-10 | 2000-05-09 | United Microelectronics Corp. | Systolic linear-array modular multiplier with pipeline processing elements |
KR20000000770A (en) * | 1998-06-03 | 2000-01-15 | 정선종 | Device for multiplying modular |
-
2000
- 2000-05-31 KR KR10-2000-0029689A patent/KR100460764B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8417757B2 (en) | 2006-12-07 | 2013-04-09 | Electronics And Telecommunications Research Institute | Method and apparatus for modulo N calculation wherein calculation result is applied to match speeds in wireless communication system |
KR101321221B1 (en) * | 2013-05-23 | 2013-10-22 | 목포대학교산학협력단 | Cryptographic modular apparatus and cryptographic modular method |
Also Published As
Publication number | Publication date |
---|---|
KR100460764B1 (en) | 2004-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kwon et al. | Two implementation methods of a 1024-bit RSA cryptoprocessor based on modified Montgomery algorithm | |
US7694045B2 (en) | Methods and apparatus for pipeline processing of encryption data | |
Grossschadl | The Chinese remainder theorem and its application in a high-speed RSA crypto chip | |
Amanor et al. | Efficient hardware architectures for modular multiplication on FPGAs | |
US7024560B2 (en) | Power-residue calculating unit using Montgomery algorithm | |
US5121429A (en) | Digital signal processing | |
KR100459732B1 (en) | Montgomery modular multiplier by 4 to 2 compressor and multiplication method thereof | |
US7240204B1 (en) | Scalable and unified multiplication methods and apparatus | |
US7552163B2 (en) | Montgomery modular multiplier and method thereof | |
Hasan | Double-basis multiplicative inversion over GF (2/sup m/) | |
Batina et al. | Montgomery in practice: How to do it more efficiently in hardware | |
KR100460764B1 (en) | Pipeline modulo operation device for realizing encryption hardware | |
O'Rourke et al. | Achieving NTRU with Montgomery multiplication | |
Mahapatra et al. | RSA cryptosystem with modified Montgomery modular multiplier | |
KR100481586B1 (en) | Apparatus for modular multiplication | |
KR100413947B1 (en) | RSA cipher device using modular exponentiation algorithm | |
KR100946256B1 (en) | Scalable Dual-Field Montgomery Multiplier On Dual Field Using Multi-Precision Carry Save Adder | |
EP1480119A1 (en) | Montgomery modular multiplier and method thereof | |
KR20000000770A (en) | Device for multiplying modular | |
KR100297110B1 (en) | Modular multiplier | |
KR20070062901A (en) | Apparatus and method for modular multiplication using chhinese remainder theorem and carry save adder | |
TWI403952B (en) | A large integer modulus index chip structure for signature cryptography | |
Shirase et al. | An architecture for elliptic curve cryptograph computation | |
US7471789B2 (en) | Encryption circuit achieving higher operation speed | |
JP3137599B2 (en) | Circuit for calculating the remainder of B raised to the power of C modulo n |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |