KR20020071327A - High-radix Modular Exponentiator for RSA using CRT - Google Patents

High-radix Modular Exponentiator for RSA using CRT Download PDF

Info

Publication number
KR20020071327A
KR20020071327A KR1020010011433A KR20010011433A KR20020071327A KR 20020071327 A KR20020071327 A KR 20020071327A KR 1020010011433 A KR1020010011433 A KR 1020010011433A KR 20010011433 A KR20010011433 A KR 20010011433A KR 20020071327 A KR20020071327 A KR 20020071327A
Authority
KR
South Korea
Prior art keywords
rsa
core
bit
registers
data
Prior art date
Application number
KR1020010011433A
Other languages
Korean (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 KR1020010011433A priority Critical patent/KR20020071327A/en
Publication of KR20020071327A publication Critical patent/KR20020071327A/en

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/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/728Methods 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 using Montgomery reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public 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/302Public 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

Abstract

PURPOSE: A high radix RSA modular exponentiation operation device is provided to horizontally map a data dependency graph of the Montgomery algorithm when a modular multiplier, a core operator of the RSA, is implemented so that it can make it easy controlling a data flow. CONSTITUTION: The device comprises a control block, 512 bit registers, and an RSA core. The control block generates a signal for controlling the 512 bit registers, the RSA core and an exponentiation operation process according to an encoding or decoding signal. The control block generates a control signal for enabling the 512 bit registers and the RSA core to perform a 1024 bit encoding operation at an encoding process, and enabling the 512 bit registers and the RSA core to perform a simultaneous parallel decoding operation at a decoding process. The device employs the Montgomery algorithm and a CRT(Chinese Remainder Theorem) in implementing a hardware in order to enhance an operation speed rather than a conventional binary operation method. The registers and the RSA core are flexibly arranged for being switched by one control signal. When data is decoded, the registers, allocated to P and Q, private keys of a data sender and a data receiver, offer key digits necessary for an operation while performing an independent shift operation, and the RSA also independently performs a modular exponentiation operation on 512 data. The operation results are stored at result registers allocated to the P and the Q. When data is encoded, the register allocated to the P plays a role of the lower 512 bit, and the register allocated to the Q plays a role of the upper 512 bit. The two registers are serially connected and perform a shift operation as a 1024 bit register. Then the RSA core performs a 1024 modular exponentiation operation.

Description

씨알티를 이용한 하이래딕스 알에스에이 모듈로 멱승 처리기 {High-radix Modular Exponentiator for RSA using CRT}High-radix Modular Exponentiator for RSA using CRT}

본 발명은 보안 기술의 핵심 분야 중 하나인 암호 알고리즘의 하드웨어로의 구현 시, 성능을 개선시키기 위한 새로운 구조에 관한 것이다.The present invention relates to a new structure for improving the performance of the cryptographic algorithm in hardware, which is one of the core areas of security technology.

최근 컴퓨터 기반 기술 및 정보 통신 기술이 급격히 발전함에 따라 전 세계는 하나의 정보화 사회를 이루고 있으며, 인터넷의 등장으로 거의 모든 정보가 공개되고있는 추세이다. 따라서, 이러한 정보화 사회에서의 보안은 그 중요성을 점점 더해가고 있으며, 보안을 구현하는 기술의 연구는 필수적이라 하겠다.With the recent rapid development of computer-based technology and information and communication technology, the whole world is forming one information society, and with the advent of the Internet, almost all information is disclosed. Therefore, security in this information society is getting more and more important, and the study of technology for implementing security is essential.

현재, 보안을 구현하는 기술에는 여러 가지가 있으나, 인터넷상에서는 일반적으로 소프트웨어를 이용한 암호 알고리즘의 구현을 한 가지 방법으로 사용하고 있다. 그러나, 보안 기술의 발전과 더불어 그에 대한 역작용으로 해커 등의 보안에 반대되는 기술 역시 함께 발전하고 있으며, 소프트웨어로의 보안은 상당한 위협을 받고 있는 상태이다.Currently, there are many techniques for implementing security, but on the Internet, the implementation of cryptographic algorithm using software is generally used as one method. However, with the development of security technology, as opposed to the security of hackers, etc., as well as the development of security technology, security with software is under considerable threat.

그에 대한 해결책으로 보안 기술을 하드웨어로 구현하는 연구가 전세계적으로 활발히 연구되고 있으며, 본 발명은 공개키 암호 알고리즘의 대표적인 RSA 알고리즘의 하드웨어로의 구현에 관한 것이다.As a solution for this, researches for implementing security techniques in hardware have been actively conducted around the world, and the present invention relates to a hardware implementation of a representative RSA algorithm of a public key cryptographic algorithm.

상기한 바와 같이 소프트웨어로의 보안은 그 한계를 드러내고 있기 때문에, 본 발명은 RSA 암호 기술의 하드웨어로의 구현으로서, 그 처리 성능을 향상시키기 위한 새로운 구조를 제시한다.Since security in software has revealed its limitations as described above, the present invention proposes a new structure for improving the processing performance as a hardware implementation of RSA cryptography technology.

특히, RSA의 핵심 연산인 모듈로 곱셈기의 구현시, 몽고메리 알고리즘의 데이터 종속 그래프를 수평으로 매핑함으로써 100%의 처리율을 이루고, 데이터 흐름의 제어를 쉽게 하였다.In particular, when implementing the modulo multiplier, which is the core operation of RSA, the data-dependent graph of the Montgomery algorithm is mapped horizontally to achieve 100% throughput and to easily control the data flow.

제 1 도는 본 발명에서 제안한 모듈로 멱승기의 전체 구조1 is an overall structure of a modular power booster proposed in the present invention.

제 2 도는 하이래딕스 몽고메리 알고리즘의 Dependence GraphFigure 2 is the Dependence Graph of the Hiradics Montgomery Algorithm.

제 3 도는 Radix-16 몽고메리 알고리즘의 SFGThird Degree SFG of the Radix-16 Montgomery Algorithm

제 4 도는 Radix-16 몽고메리 알고리즘의 PE 구조Figure 4 PE Structure of the Radix-16 Montgomery Algorithm

제 5 도는 수직과 수평 매핑의 데이터 입출력 플로우 비교5 is a comparison of the data input and output flow of the vertical and horizontal mapping

제 6 도는 모듈로 멱승기의 전체 타이밍도6 is the overall timing diagram of the modulo power

제 7 도는 복호화시 컨트롤 블록내의 FSM(Finite State Machine)7 is a finite state machine (FSM) in a control block during decoding.

제 8 도는 암호화시 컨트롤 블록내의 FSM8 FSM in Control Block in Encryption

RSA의 기본 연산은 다음과 같다.The basic operation of RSA is:

C=M^E ` (mod~N),~ where~E= SUM from i=0 to s-1 e_i times2^i ~~~~~~~<암호화>C = M ^ E `(mod ~ N), ~ where ~ E = SUM from i = 0 to s-1 e_i times2 ^ i ~~~~~~~ <encryption>

M=C^D` (mod~N),~ where~D= SUM from i=0 to s-1 d_i times2^i ~~~~~~~<복호화>M = C ^ D` (mod ~ N), ~ where ~ D = SUM from i = 0 to s-1 d_i times2 ^ i ~~~~~~~ <decoding>

상기한 RSA 알고리즘의 주요 연산은 모듈로 멱승이며, 이는 연속된 모듈로 곱셈으로 수행된다. 모듈로 곱셈을 처리하는 알고리즘으로 주로 사용되는 것이 몽고메리 알고리즘인데, 본 발명에서는 하이래딕스 몽고메리 알고리즘에 대한 DG 를 (도 2)와 같이 그린 후에 수평으로 매핑하여 1차원 선형 어레이 구조로 구성하였다. 이에 대한 SFG(Signal Flow Graph)와 PE(Processing Element)는 (도 3), (도 4)와 같다. 하이래딕스를 사용한 PE는 이진 연산의 구조에서 k 비트를 하나의 블록으로 묶은 것이기 때문에 곱셈 연산에 대한 클럭 주기는 늘어나지만, 전체 클럭수가 1/k 로 줄어들고 파이프라이닝 플립플롭의 감소에 따른 지연시간 축소로 전체적인 처리시간이 줄게 된다.The main operation of the above RSA algorithm is modulo power, which is performed by successive modulo multiplication. The Montgomery algorithm is mainly used as an algorithm for processing a modular multiplication. In the present invention, the DG for the Hiradics Montgomery algorithm is drawn as shown in FIG. 2 and then horizontally mapped to configure a 1D linear array structure. SFG (Signal Flow Graph) and PE (Processing Element) for this are the same as (Fig. 3), (Fig. 4). Since PE using Hyradics combines k bits into a block in the structure of binary operations, the clock period for multiplication operations increases, but the total clock count decreases to 1 / k and the delay time due to the reduction of pipelining flip-flops. Reduction reduces overall processing time.

RSA 연산 처리시, 암호화 시에는 송신자가 수신자의 개인키 P, Q 를 모르기 때문에 계수 N 전체에 대해서 모듈로 멱승을 수행해야 하므로 CRT 의 방법을 사용하지 못하지만 지수가 되는 공개키 E 의 경우는 17 비트 이하의 작은 숫자를 사용하더라도 보안상 문제가 되지 않기 때문에, 빠른 속도의 구현이 가능하다. 실제로 공개키로는 3, 17, 216+1 등의 특별한 형태의 숫자가 주로 사용되고 있다. 반면, 복호화 시에는 지수 D 값이 1024 비트 이상의 큰 값이기 때문에 암호화에 비하면 속도가 크게 떨어지게 된다. 이를 극복하기 위해서 CRT 방식을 사용하면, 512 비트의 곱셈기 두개를 병렬로 하여 연산을 수행할 수 있기 때문에 1024 비트 시와 거의 동일한 하드웨어 리소스를 가지고 4 배정도 더 빠른 속도를 낼 수가 있다. 이 때는 모든 키가 512 비트가 되기 때문에 암호화 시에는 병렬 수행되던 곱셈기를 직렬로 연결하여 1024 비트 연산으로 전환될 수 있도록 구현하였다.In the RSA operation, since the sender does not know the receiver's private keys P and Q at the time of encryption, the modulo powers must be performed for the whole coefficient N. Therefore, the CRT method cannot be used. The use of the following small numbers is not a security problem, so a fast implementation is possible. In practice, the public key is a special type of number such as 3, 17, 216 + 1. On the other hand, since the exponent D value is larger than 1024 bits at the time of decryption, the speed is significantly lower than that of encryption. In order to overcome this, the CRT method can perform operations in parallel with two 512-bit multipliers, which can be four times faster with almost the same hardware resources as 1024-bit time. In this case, since all the keys are 512 bits, the multiplier, which was performed in parallel at the time of encryption, is connected in series so that it can be converted to 1024 bit operation.

n = s/k + 2라 할 때, 몽고메리 모듈로 곱셈식 MonPro(A,B) = A B 2-kn mod N 이므로 올바른 중간 결과 값을 얻기 위해서는 후처리로 2kn 의 곱셈이 더 필요한데, 이를 중간 결과 값들에 대해 매번 수행하게 되면 매우 비효율적이므로 (식 1) 처럼 초기 입력 값을 22kn 으로 미리 곱해 놓고 계산하는 것이 편리하다. 모든 중간 결과 값은 R* = MonPro(A*, B*) = A B 2kn mod N 처럼 2kn 의 factor 를 가지게 되므로 최종 결과 값에 간단히 1 을 곱하는 후처리를 해 주면 원하는 결과 값을 얻게 된다. 이에 대한 모듈로 멱승 계산은 (식 1)과 같이 이루어 질 수 있다.When n = s / k + 2, Montgomery modulo multiplication MonPro (A, B) = AB 2-kn mod N, so multiplication of 2kn is needed as a post-processing to get the correct intermediate result. It is very inefficient to do it every time on, so it is convenient to premultiply the initial input value by 22kn as shown in (Equation 1). Since all intermediate results have a factor of 2kn, such as R * = MonPro (A *, B *) = A B 2kn mod N, simply multiply the final result by 1 to get the desired result. Modulo power calculation for this can be done as shown in (1).

/* (z =r2 mod N) is precalculated *// * (z = r2 mod N) is precalculated * /

functionMonExp(Cp, Dp, P) r = 2kn function MonExp (Cp, Dp, P) r = 2kn

Cp* = Cp r mod N = MonPro(Cp, z)Cp * = Cp r mod N = MonPro (Cp, z)

Xp* = 1 r mod N = MonPro(1, z)Xp * = 1 r mod N = MonPro (1, z)

fori=0tos-2do for i = 0 to s-2 do

ifei =1thenXp* = MonPro(Cp*, Xp*) if ei = 1 then Xp * = MonPro (Cp *, Xp *)

Cp* = MonPro(Cp*, Cp*)Cp * = MonPro (Cp *, Cp *)

ifes-1 = 1thenXp*= MonPro(Cp*, Xp*) if es-1 = 1 then Xp * = MonPro (Cp *, Xp *)

Xp = MonPro(Xp*, 1)Xp = MonPro (Xp *, 1)

ReturnXp (식 1) Return Xp (Equation 1)

본 발명에서 제안하는 (도 3)의 새로운 선형 모듈로 곱셈기를 기본으로 하여 (식 1)의 멱승 계산을 효율적으로 처리하도록 하기 위한 모듈로 멱승의 과정을 입력 값을 받아서 결과가 출력될 때까지의 전체 RSA 연산 프로세스(Process)로써 각 구간별로 나누면 (도 6)과 같다. T1 동안에는 각 키 데이터들을 레지스터에 로드하고 앞에서 기술한 것처럼 중간의 오버헤드를 없애기 위해서 초기 입력 데이터에 2nk 의 factor 를 붙이는 과정이고, T2 는 전처리의 결과 값을 다시 레지스터에 시리얼로 로딩하고, e1에 대한 계산을 하는 프로세스이다. T3 는 주된 연산인 모듈로 멱승을 수행하고, T4 는 후처리로 원하는 결과 값을 얻어내기 위해 최종 결과 값에 1 을 곱하는 과정이며, 그 결과가 T5 에 시리얼로 나오게 된다. 여기서 주목할 것은 암호칩의 계산 모듈이 쉬지 않고 거의 100%의 처리율로 계속해서 데이터를 받아 처리한다는 점이다.Based on the new linear modulator multiplier of FIG. 3 proposed in the present invention, a process of modulo power to efficiently process the power of Equation (Equation 1) is received until the result is output. Dividing by each section as the overall RSA operation process (Process) is as shown in (Fig. 6). During T1, each key data is loaded into a register and 2nk factor is added to the initial input data to eliminate the intermediate overhead as described above. T2 loads the result value of the preprocessing serially back into the register. The process of calculating T3 is the modulo power, the main operation. T4 is the process of multiplying the final result by 1 to get the desired result with post-processing, and the result is serialized to T5. It is important to note that the encryption chip's calculation module continues to receive and process data at almost 100% throughput.

지금까지 상술한 매핑과정과 프로세스에 따라 구현한 멱승기의 전체구조는 (도 1)과 같다. 컨트롤 블록은 암호화 또는 복호화 신호에 맞추어 레지스터 및 RSA 코어와 멱승 과정을 제어하는 신호를 만들어 내는 기능을 한다. 암호화 시에는 512 비트의 레지스터들과 RSA 코어에 대해 1024 비트 연산을 수행하도록 제어신호를 만들어 주며, 복호화 시에는 512 비트 레지스터들과 RSA 코어를 병렬로 동시에 수행되도록 제어신호를 만들어 준다.So far, the overall structure of the power-giving machine implemented according to the above-described mapping process and process is shown in FIG. 1. The control block functions to generate a signal that controls the register and RSA cores and power-up process in accordance with the encrypted or decrypted signal. When encrypting, control signals are made to perform 1024 bit operations on 512-bit registers and RSA cores, and when decrypting, control signals are made to simultaneously execute 512-bit registers and RSA cores in parallel.

본 발명에서는 RSA 알고리즘의 하드웨어 구현에 있어서 기존의 이진 연산 방법보다 빠른 성능을 이루기 위해 하이래딕스 방식의 몽고메리 알고리즘과 복호화 시에 CRT 방법을 적용하여 구현하였다. 또한 콘트롤 신호 하나로 암호화와 복호화를 스위칭 할 수 있도록 레지스터와 RSA 연산 코어를 유연성 있게 구성하였다.In the present invention, the hardware implementation of the RSA algorithm is implemented by applying the CRT method at the time of decoding and Hiradics Montgomery algorithm to achieve faster performance than the conventional binary operation method. In addition, the register and RSA computation core are flexibly configured to switch encryption and decryption with one control signal.

복호화 시에는 (도 1)의 P와 Q에 할당된 레지스터들이 독립적으로 쉬프트 동작을 하면서 연산에 필요한 키를 하위 디지트부터 제공하고, RSA코어 역시 독립적으로 512비트에 대해 모듈로 멱승을 수행한다. 최종 결과값은 P와 Q에 할당된 Result 레지스터에 동시에 각각 저장 된다. 암호화 시에는 P에 할당된 레지스터가 하위 512비트, Q에 할당된 레지스터가 상위 512비트의 역할을 하며 직렬로 연결되어 1024비트 레지스터로서 쉬프트 동작을 수행하게 하였다. RSA코어는 1024비트 모듈로 멱승을 수행하게 된다.In decryption, the registers allocated to P and Q of FIG. 1 independently shift and provide a key necessary for operation from the lower digit, and the RSA core independently modulo-powers 512 bits. The final result is stored simultaneously in the Result registers assigned to P and Q respectively. When encrypting, the register assigned to P is the lower 512 bits, and the register assigned to Q plays the role of the upper 512 bits and is connected in series to perform a shift operation as a 1024-bit register. The RSA core is a power of 1024-bit modules.

(도 7)과 (도 8)의 FSM은 상기한 대로 (도 1)의 멀티플렉서를 제어하는 신호를 발생하여, 암호화와 복호화시에 (도 6)의 프로세스대로 데이터의 흐름을 제어한다. 각 스테이트는 2kn의 클럭동안 유지되며, main 스테이트의 경우는 지수값이 모두 스캔될 때까지 유지된다. 클럭을 세는 카운터를 따로 두어 kn의 클럭이 지날때마다 새로운 클럭 lclk과 oddclk을 토글하며 발생한다. (도 7)과 (도 8)의 FSM은 lclk에 동기하여 동작하며, main 스테이트에서는 oddclk에 따라 제곱과 곱셈을 반복하게 된다. 또한, 각 레지스터를 선택하는 어드레스 디코딩도 (도 7)과 (도 8)의 컨트롤 블록에서 수행한다.The FSMs of Figs. 7 and 8 generate signals for controlling the multiplexer of Fig. 1 as described above, and control the flow of data according to the process of Fig. 6 during encryption and decryption. Each state is held for 2kn clocks, and in the main state, until all exponents have been scanned. A separate counter that counts the clock is generated whenever the clock in kn passes and toggles the new clocks lclk and oddclk. The FSMs of FIGS. 7 and 8 operate in synchronization with lclk, and the main state repeats squares and multiplications according to oddclk. In addition, address decoding for selecting each register is also performed in the control blocks of FIGS. 7 and 8.

본 발명에서는 몽고메리 알고리즘의 데이터 종속 그래프를 수평으로 매핑하였다. (도 5)에서 보는 바와 같이 모듈로 멱승시 중간 결과가 시리얼(serial)로 나와서 바로 다음 계산을 위한 입력으로 들어갈 수 있기 때문에 100 % 의 처리율(throughput)을 이룰 수 있고, 수직 매핑 방식에 비해 절반의 클럭 횟수로 연산을 할 수 있다. 복호화 시에는 CRT를 사용하여 k 비트의 키 사이즈에 대해 s/2비트의 모듈로 곱셈기 두 개를 병렬로 사용하여 CRT를 사용하지 않았을 때 보다 4배 정도의 속도 향상을 이루었으며, 암호화 시에는 두 개의 모듈을 직렬로 연결하여 전체 s 비트에 대해서 수행하도록 하였다.In the present invention, the data dependent graph of the Montgomery algorithm is horizontally mapped. As shown in Fig. 5, when the modulo power is taken, the intermediate result can come out as a serial and enter the input for the next calculation, thereby achieving 100% throughput, which is half of the vertical mapping method. The operation can be performed by the number of clocks. When decrypted, two s / 2-bit modulator multipliers are used in parallel for the key size of k bits using CRT, which is four times faster than without CRT. Modules are connected in series to perform all s bits.

Claims (4)

제어 신호 하나로 복호화 시에는 병렬로 동작되다가 암호화시에는 직렬로 동작되는 RSA연산 코어 및 레지스터의 구조Structure of RSA Computation Core and Register Operated in Parallel When Decrypting Control Signals and Serially in Encryption 몽고메리 알고리즘의 데이터 종속 그래프를 수직으로 매핑하면, (도 5)에서 보는 바와 같이 입력이 한 클럭씩 쉬며 들어가기 때문에 100%의 처리율을 이루기 어렵다. 100%의 처리율을 위해선 입력을 스위칭 해야 하기 때문에 시리얼로 들어오는 입력값을 저장할 s 비트의 레지스터가 2개 필요하고, 출력은 한 클럭씩 지연되면서 오버랩되어 병렬로 나오게 된다. 이에 몽고메리 알고리즘의 데이터 종속 그래프를 수평으로 매핑함으로써 입력과 출력이 각각 시리얼로 흐르게 하여 파이프라인 구조로 구현시 100%의 처리율을 쉽게 이루도록 하였다. 이러한 몽고메리 모듈로 곱셈 알고리즘의 DG에 대한 수평 매핑의 방식When the data-dependent graph of the Montgomery algorithm is vertically mapped, it is difficult to achieve 100% throughput because the input is taken in by one clock as shown in FIG. 5. For 100% throughput, the inputs need to be switched, requiring two registers with s bits to hold the input coming into the serial, and the outputs overlapping in parallel with a delay of one clock. By mapping the data dependent graph of the Montgomery algorithm horizontally, the input and output flowed through the serial, respectively, so that 100% throughput can be easily achieved in the pipeline structure. The way of horizontal mapping for DG of the multiplication algorithm such as Montgomery modulo 수평 매핑의 방식을 통해 구현한 (도 3)의 SFG 및 (도 4)의 PE 내부 구조SFG of Figure 3 implemented through the scheme of horizontal mapping and PE internal structure of Figure 4 (도 6)의 RSA연산 프로세스와 그에 맞추어 각 mux, 레지스터 및 RSA코어를 제어하는 컨트롤 블록의 구조와 (도 7)과 (도 8)의 FSMThe structure of the RSA operation process of FIG. 6 and the control block for controlling each mux, register, and RSA core accordingly, and the FSM of FIGS. 7 and 8
KR1020010011433A 2001-03-06 2001-03-06 High-radix Modular Exponentiator for RSA using CRT KR20020071327A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010011433A KR20020071327A (en) 2001-03-06 2001-03-06 High-radix Modular Exponentiator for RSA using CRT

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010011433A KR20020071327A (en) 2001-03-06 2001-03-06 High-radix Modular Exponentiator for RSA using CRT

Publications (1)

Publication Number Publication Date
KR20020071327A true KR20020071327A (en) 2002-09-12

Family

ID=27696495

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010011433A KR20020071327A (en) 2001-03-06 2001-03-06 High-radix Modular Exponentiator for RSA using CRT

Country Status (1)

Country Link
KR (1) KR20020071327A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232603A1 (en) * 2009-01-19 2010-09-16 Fujitsu Limited Decryption processor and decryption processing method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742530A (en) * 1992-11-30 1998-04-21 Fortress U&T Ltd. Compact microelectronic device for performing modular multiplication and exponentiation over large numbers
JPH11143688A (en) * 1997-11-06 1999-05-28 Fujitsu Ltd Arithmetic lint rsa crypto graphic device and elliptic cryptographic device lising the unit
KR20000000770A (en) * 1998-06-03 2000-01-15 정선종 Device for multiplying modular
US6061706A (en) * 1997-10-10 2000-05-09 United Microelectronics Corp. Systolic linear-array modular multiplier with pipeline processing elements
US6085210A (en) * 1998-01-22 2000-07-04 Philips Semiconductor, Inc. High-speed modular exponentiator and multiplier

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742530A (en) * 1992-11-30 1998-04-21 Fortress U&T Ltd. Compact microelectronic device for performing modular multiplication and exponentiation over large numbers
US6061706A (en) * 1997-10-10 2000-05-09 United Microelectronics Corp. Systolic linear-array modular multiplier with pipeline processing elements
JPH11143688A (en) * 1997-11-06 1999-05-28 Fujitsu Ltd Arithmetic lint rsa crypto graphic device and elliptic cryptographic device lising the unit
US6085210A (en) * 1998-01-22 2000-07-04 Philips Semiconductor, Inc. High-speed modular exponentiator and multiplier
KR20000000770A (en) * 1998-06-03 2000-01-15 정선종 Device for multiplying modular

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100232603A1 (en) * 2009-01-19 2010-09-16 Fujitsu Limited Decryption processor and decryption processing method
US8280042B2 (en) * 2009-01-19 2012-10-02 Fujitsu Limited Decryption processor and decryption processing method

Similar Documents

Publication Publication Date Title
CA2244337C (en) Encryption processor with shared memory interconnect
CN109039640B (en) Encryption and decryption hardware system and method based on RSA cryptographic algorithm
Güneysu Utilizing hard cores of modern FPGA devices for high-performance cryptography
Rankine Thomas—a complete single chip RSA device
US7024560B2 (en) Power-residue calculating unit using Montgomery algorithm
Hafsa et al. A hardware-software co-designed AES-ECC cryptosystem
Elkhatib et al. Accelerated RISC-V for post-quantum SIKE
KR100508092B1 (en) Modular multiplication circuit with low power
Kaleel Rahuman et al. Reconfigurable architecture for elliptic curve cryptography using fpga
Li et al. Research in fast modular exponentiation algorithm based on FPGA
US7113593B2 (en) Recursive cryptoaccelerator and recursive VHDL design of logic circuits
KR20020071327A (en) High-radix Modular Exponentiator for RSA using CRT
Wang et al. A High-Throughput Toom-Cook-4 Polynomial Multiplier for Lattice-Based Cryptography Using a Novel Winograd-Schoolbook Algorithm
Wang et al. TCPM: A reconfigurable and efficient Toom-Cook-based polynomial multiplier over rings using a novel compressed postprocessing algorithm
KR100297110B1 (en) Modular multiplier
JP2004334212A (en) Montgomery modular multiplier and method thereof
JPH0916379A (en) Communication method and equipment therefor
Poomagal et al. Modular multiplication algorithm in cryptographic processor: A review and future directions
Wu et al. Optimized Design of ECC Point Multiplication Algorithm Over GF (2m)
CA2617389C (en) Encryption processor with shared memory interconnect
Tan High-Performance VLSI Architectures for Lattice-Based Cryptography
KR100406724B1 (en) A multiplicative inverse operator for modulo n and data encryption apparatus including the same operator
Di Matteo et al. Secure Elliptic Curve Crypto-Processor for Real-Time IoT Applications. Energies 2021, 14, 4676
US7471789B2 (en) Encryption circuit achieving higher operation speed
Leu et al. A scalable low-complexity digit-serial VLSI architecture for RSA cryptosystem

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application