KR20010109626A - Encryption device realizing triple data encryption standard atchitecture - Google Patents
Encryption device realizing triple data encryption standard atchitecture Download PDFInfo
- Publication number
- KR20010109626A KR20010109626A KR1020000029698A KR20000029698A KR20010109626A KR 20010109626 A KR20010109626 A KR 20010109626A KR 1020000029698 A KR1020000029698 A KR 1020000029698A KR 20000029698 A KR20000029698 A KR 20000029698A KR 20010109626 A KR20010109626 A KR 20010109626A
- Authority
- KR
- South Korea
- Prior art keywords
- bit
- encryption
- data
- key
- des
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Classifications
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0625—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/12—Details relating to cryptographic hardware or logic circuitry
- H04L2209/122—Hardware reduction or efficient architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 데이터 암호화 표준 알고리즘을 이용한 암호화 장치에 관한 것으로 3중 데이터 암호화 표준 구현할 때 키 스케쥴러(Key Scheduller)와 간단한 데이터 표준 암호화 장치를 가지고 3번의 반복 연산을 수행함으로써 보다 적은 면적으로 암호화 장치를 구현하는 것이다. 이를 위하여 본 발명은 데이터 암호화 표준 알고리즘을 사용하여 암호화를 수행하는 암호화 장치에 있어서, 64비트의 평문블럭을 입력받고 64비트의 암호화 키와 64비트의 복호키와 64비트의 암호문을 피드백받아 48비트의 키를 생성하고 64비트의 데이터를 치환하는 3중 DES 스케쥴러; 및 상기 3중 DES 스케쥴러로부터 48비트의 키와 64비트의 데이터를 입력받아 암호화 연산을 수행하여 64비트의 암호문을 생성하는 DES 하드웨어를 포함하여 이루어진다.The present invention relates to an encryption device using a data encryption standard algorithm, and implements an encryption device with a smaller area by performing three iterative operations with a key scheduler and a simple data standard encryption device when implementing a triple data encryption standard. It is. To this end, the present invention is an encryption device that performs encryption using a data encryption standard algorithm, which receives a 64-bit plain text block, receives a 64-bit encryption key, a 64-bit decryption key, and a 64-bit ciphertext. A triple DES scheduler that generates a key for and replaces 64-bit data; And DES hardware that receives a 48-bit key and 64-bit data from the triple DES scheduler and performs an encryption operation to generate a 64-bit cipher text.
Description
본 발명은 암호화 장치에 관한 것으로, 특히 데이터 암호화 표준 알고리즘을 이용한 암호화 장치에 관한 것이다.The present invention relates to an encryption device, and more particularly to an encryption device using a data encryption standard algorithm.
일반적으로 고도의 안전 체계를 필요로하는 집적회로(IC) 카드 분야에서는 인증을 위해 상당히 복잡한 암호화와 복호화 알고리즘을 사용하여야 하는데, 그중의 하나가 데이터 암호화 표준(DES : Data Encryption Standard, 이하 DES라 칭함)알고리즘이다.In general, in the field of integrated circuit (IC) cards that require a high level of security, highly complex encryption and decryption algorithms must be used for authentication, one of which is called the Data Encryption Standard (DES). Algorithm.
DES는 데이터와 키(Key) 모두 64비트를 사용하여 16라운드의 연산을 수행한 후 64비트의 암호화 데이터를 생성한다. DES는 원래 하드웨어 구현에 적합하도록 비트 조작과 셔플링(Shuffling) 동작이 대부분이고 16라운드의 반복연산을 한다. 소프트웨어로 구현하였을 때는 상당히 연산시간이 길어지고 보통 5ms의 연산시간이 소요된다. 하드웨어로 구현하였을 때는 연산시간은 짧아지는 반면에 구현 면적이 커지게 된다.DES performs 16 rounds of operations using both 64 bits of data and keys, and then generates 64 bits of encrypted data. DES has 16 bit rounding operations and most bit manipulation and shuffling operations to suit the original hardware implementation. When implemented in software, the computation time is considerably longer and usually takes 5ms. When implemented in hardware, the computation time becomes short while the implementation area becomes large.
일반적으로 전용 DES 칩은 면적에 대한 고려보다는 연산시간을 줄이는데 초점을 맞추기 때문에 파이프라인 아키텍쳐를 사용하여 연산시간을 상당히 줄일 수 있다. DES 암호화 및 복호화를 하드웨어로 구현하여 데이터 레이트(rate)를 높이면서도 16라운드를 공유하는 하드웨어로써 설계를 최적화한 DES 암호화 장치가 개시되고 있다. 그리고 조합 논리 회로의 50 퍼센트를 차지하는 S-Box 테이블을 롬(ROM)으로 대치함으로써 상당히 면적을 줄일 수가 있다. 보통 스마트 집적회로 카드(Smart IC Card)에는 롬(ROM)이 내장되어 있으므로 일정부분을 할당하여 사용한다.In general, a dedicated DES chip focuses on reducing computation time rather than area considerations, so pipeline architectures can be used to significantly reduce computation time. Disclosed is a DES encryption device that implements DES encryption and decryption in hardware to optimize a design as hardware sharing 16 rounds while increasing data rate. And by replacing the S-Box table, which occupies 50 percent of the combinatorial logic circuit, with ROM, the area can be significantly reduced. In general, smart IC cards have ROMs, so a certain portion is allocated and used.
도1은 일반적인 DES 알고리즘을 나타내는 블럭도이다.1 is a block diagram showing a general DES algorithm.
상기 도1을 참조하면, DES 알고리즘은 64비트의 평문(Plain Text) 블럭을 입력받아 초기 치환(IP : Initial Permutation)에 의해 치환을 수행하는 초기치환부(100)와, 다음에 상기 치환부(100)의 64비트의 블럭을 두개의 32비트 블럭으로 나누어 왼쪽레지스터(L0)(120)와 오른쪽레지스터(R0)(110)에 저장하고 오른쪽레지스터(110)의 32비트 블럭을 입력받고 키 스케쥴(Key Schedule)에서 생성된 보조키(K1)을 입력받아 암호화 변형하는 사이퍼(Cipher) 함수부(f)(130)와, 상기 사이퍼 함수부(f)(130)의 데이터와 상기 왼쪽레지스터(L0)(120)의 데이터를 입력받는 배타적 논리합 연산부(140)와, 상기 오른쪽레지스터(R0)(110)의 32비트 블럭을 교환(Swapping)하여 저장하는 다음 라운드의 왼쪽레지스터(L1)(160)와, 상기 배타적 논리합 연산부(140)의 데이터를 저장하는 다음 라운드의 오른쪽레지스터(R1)(150)로 기본적인 1 라운드를 구성하며, 이와 같은 라운드가 16개로 구성되어 16라운드를 이룬다. 16라운드에 걸친 변형이 끝난 후 역초기 치환부(170)을 거쳐서 암호화된 암호문(Cipher Text)(180)을 출력한다.Referring to FIG. 1, the DES algorithm receives an 64-bit plain text block and performs substitution by initial substitution (IP), followed by the substitution unit 100. The 64-bit block of the) is divided into two 32-bit blocks and stored in the left register (L0) 120 and the right register (R0) 110, and the 32-bit block of the right register 110 is received and the key schedule A cipher function unit (f) 130 for receiving and encrypting a modifier key (K1) generated by a schedule), the data of the cipher function unit (f) 130, and the left register (L0) ( An exclusive-OR operation unit 140 receiving data of 120, a left register (L1) 160 of a next round for swapping and storing 32-bit blocks of the right register (R0) 110, and Right register (R1) 150 of the next round that stores the data of the exclusive OR operation 140. The first round consists of 16 rounds of 16 rounds. After the modification over 16 rounds, the encrypted cipher text 180 is output through the reverse initial replacement unit 170.
도2는 DES 알고리즘의 1 라운드와 키 스케쥴을 나타내는 블럭도이다.Fig. 2 is a block diagram showing one round and key schedule of the DES algorithm.
상기 도2를 참조하면, DES 알고리즘의 1 라운드는 32비트의 텍스트 블럭을 저장하고 있는 오른쪽레지스터(R(i-1))로부터 32비트의 데이터를 입력받아 48비트의 데이터로 확장 치환하는 확장치환부(210)와, 상기 확장치환부의 48비트의 데이터를 입력받고 키 스케쥴(Key Schedule)로부터의 보조키(Ki)를 입력받아 배타적 논리합 연산을 수행하는 익스쿠르시브-오아부(220)와,상기 익스쿠르시브-오아부(220)로부터의 48비트의 데이터를 32비트의 데이터로 대치하는 S-Box 대치부(230)와, 상기 S-Box 치환부(230)의 32비트의 데이터를 복사 치환하는 P-Box 치환부(240)와, 상기 P-Box 치환부의 32비트의 데이터와 왼쪽레지스터(L(i-1))에 저장되어 있는 32비트의 데이터를 입력받아 배타적 논리합하는 익스쿠르시브-오아부(250)를 구비한다.Referring to FIG. 2, the first round of the DES algorithm is extended substitution which receives 32 bits of data from the right register R (i-1) storing a 32 bits of text block and expands and replaces it with 48 bits of data. The unit 210 and the Exclusive-Oa unit 220 receiving the 48-bit data of the extended replacement unit and receiving the auxiliary key K i from the key schedule and performing an exclusive OR operation. And an S-Box replacement unit 230 for replacing 48 bits of data from the exclusive-Oabu 220 with 32 bits of data, and 32 bits of data of the S-Box replacement unit 230. Exclusive copy-substituted P-Box replacement unit 240, and the 32-bit data and the 32-bit data stored in the left register (L (i-1)) of the P-Box replacement unit receives exclusive logical OR With sheave-oabu 250.
키 스케쥴(Key Schedule)은 56비트의 키(Key)를 입력받아서 28비트의 두 블럭으로 나누어서 각각 왼쪽으로 한자리 또는 두자리씩 쉬프트하는 쉬프트부(260, 270)와 상기 쉬프트부의 두 블럭을 입력받아 하나의 보조키로 압축하여 치환하는 압축치환부(280)를 구비한다.The key schedule receives a 56-bit key, divides it into two blocks of 28 bits, and shifts one or two digits to the left, respectively, and shifts 260 and 270 to receive two blocks. And a compression replacing unit 280 for compressing and replacing with an auxiliary key.
도3은 종래기술의 DES 아키텍쳐를 나타낸 블럭도이다.3 is a block diagram illustrating a prior art DES architecture.
상기 도3을 참조하면, 종래기술의 DES 아키텍쳐는 리셋신호(reset)와 암호화신호(enc)와 복호신호(dec)를 입력받아 키(Key) 쉬프트의 횟수를 세는 4 비트 카운터(300)와, 64비트의 키(Key)와 상기 암호화 신호(enc)와 상기 복호신호(dec)를 입력받아 다음 라운드의 동작을 위한 키(Key)의 값을 래치하는 제1멀티플렉서(310)와 쉬프트 및 레지스터(320)와, 상기 쉬프트 및 레지스터(320)에서 출력된 48비트의 데이터와 레지스터(380)에서 출력된 데이터를 입력받는 배타적 논리합 연산부(330)와, 상기 배타적 논리합 연산부(330)에서 출력된 데이터를 32비트의 데이터로 대치하기 위한 8개의 S-Box 블럭(340)과, 상기 S-Box블럭의 32비트의 데이터와 레지스터(380)에서 출력된 32비트의 데이터를 입력받는 배타적 논리합 연산부(350)와, 상기 배타적 논리합 연산부(350)의 데이터와 외부의 64비트의 데이터와 상기 암호화신호(enc)와 복호신호(dec)를 입력받아 데이터를 생성하고 저장하는 데이터 멀티플렉서 및 레지스터부(390)를 구비한다.Referring to FIG. 3, the prior art DES architecture includes a 4-bit counter 300 that counts the number of key shifts by receiving a reset signal, an encryption signal enc, and a decryption signal dec; A first multiplexer 310 for shifting a value of a key for a next round of operation by receiving a 64-bit key, the encryption signal enc, and the decryption signal dec; 320, an exclusive-OR operation unit 330 for receiving 48-bit data output from the shift and register 320 and data output from the register 380, and data output from the exclusive-OR operation unit 330. Eight S-Box blocks 340 for replacing with 32 bits of data, and an exclusive OR operation unit 350 for receiving 32 bits of data of the S-Box block and 32 bits of data output from the register 380. And the ratio of the data of the exclusive logical OR operation unit 350 to the external 64 ratio. It receives the data and the encrypted signal (enc) and the decoded signals (dec) input and generates a data and a data multiplexer and the register unit 390 to store.
도4는 종래기술의 S-Box를 나타내는 블럭도이다.4 is a block diagram showing a prior art S-Box.
상기 도4를 참조하면, 종래기술의 S-Box는 상승클럭(r_clk)과 48비트의 데이터를 입력받아서 8개의 데이터로 분할하여 그 중 한개만 선택하는 제1멀티플렉서(400)와, 상기 제1멀티플렉서(400)로부터의 출력값을 입력받아 데이터를 저장하고 8 비트의 데이터로 대치하기 위한 롬(ROM)(410)과, 상기 롬(410)으로부터의 데이터와 상기 제1멀티플렉서(400)로부터의 상위 및 하위 선택신호를 입력받아 상위 4비트와 하위 4비트를 선택하기 위한 제2멀티플렉서(420)와, 상기 제2멀티플레서(420)로부터의 4비트의 데이터와 상기 상승클럭(r_clk)을 입력받아 32비트의 데이터로 분배하기 위한 디멀티플렉서(430)을 구비한다.Referring to FIG. 4, the S-Box according to the related art receives a rising clock r_clk and 48-bit data, divides the data into eight data, and selects only one of them. A ROM (410) for receiving the output value from the multiplexer 400, storing data and replacing the data with 8-bit data, and data from the ROM 410 and higher levels from the first multiplexer 400. And a second multiplexer 420 for selecting an upper 4 bit and a lower 4 bit by receiving a lower selection signal, 4 bits of data and the rising clock r_clk from the second multiplexer 420. And a demultiplexer 430 for distributing data in 32 bits.
상기 S-Box는 확장 치환 값과 압축 치환 값을 배타적 논리합하여 P-Box 치환부의 입력값을 생성해준다. 조합 논리 회로로 구현하면 1 사이클 안에 동작을 마칠 수 있지만 면적이 크므로 롬으로 구현하여 8 사이클 안에 끝내도록 되어 있다. 대신 48비트를 8개로 분할한 6비트 중 1비트는 상기 롬(ROM)의 8비트의 출력값에서 상위 및 하위 4비트를 선택할 때 사용하고 나머지 5비트와 상기 상승클럭(r_clk)의 3비트가 합하여져서 8비트의 롬의 어드레스로 입력된다. 상기 도4에서 도시된 바와 같이 키(Key) 값을 연산한 데이터 값을 다음 데이터로 래치하기 위해 8 사이클로 구현된 상승클럭(r_clk)이 있다.The S-Box generates an input value of a P-Box substitute by exclusively ORing the extended substitution value and the compressed substitution value. Implementing a combinatorial logic circuit can complete the operation in one cycle, but since the area is large, it is implemented in ROM to finish in eight cycles. Instead, one bit of 6 bits divided into 48 bits is used to select the upper and lower 4 bits from the 8-bit output value of the ROM, and the remaining 5 bits and the 3 bits of the rising clock (r_clk) add up. It is taken as an 8-bit ROM address. As shown in FIG. 4, there is a rising clock r_clk implemented in eight cycles to latch the data value of the key value into the next data.
도5는 종래기술의 3중 DES 아키텍쳐를 나타내는 블럭도이다.5 is a block diagram illustrating a triple DES architecture of the prior art.
상기 도5를 참조하면, 종래기술의 3중 DES 아키텍쳐는 64비트의 평문 블럭과 암호화 키(Ke)를 입력받아 64비트의 암호문을 생성하는 제1DES암호화부(500)과, 상기 제1DES암호화부(500)로부터의 64비트 데이터와 복호키(Kd)를 입력받아 암호문을 해독하는 DES복호부(510)와, 상기 DES복호부(510)로부터의 64비트의 비암호문과 암호화 키(Ke)를 입력받아서 최종의 암호문을 생성하는 제2DES암호화부(520)를 구비한다.Referring to FIG. 5, the prior art triple DES architecture includes a first DES encryption unit 500 for receiving a 64-bit plain text block and an encryption key Ke and generating a 64-bit cipher text, and the first DES encryption unit. A DES decryption unit 510 which receives the 64-bit data and the decryption key Kd from the 500 and decrypts the cipher text, and a 64-bit non-encryption statement and the encryption key Ke from the DES decryption unit 510. And a second DES encryption unit 520 which receives the input and generates a final cipher text.
이상에서 살펴본 종래기술의 DES 아키텍쳐는 도5에서 도시된 것과 같이 세 개의 DES 암호화 장치를 연결하여 면적이 커진다는 문제점이 발생한다.The DES architecture of the related art described above has a problem in that an area is increased by connecting three DES encryption devices as shown in FIG. 5.
본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위하여 안출된 것으로써, 면적이 적으면서도 효율적인 암호화 장치를 제공하는데 그 목적이 있다.The present invention has been made to solve the above problems of the prior art, and an object thereof is to provide an efficient encryption device with a small area.
도1은 일반적인 DES 알고리즘을 나타내는 블럭도,1 is a block diagram showing a general DES algorithm;
도2는 DES 알고리즘의 1 라운드와 키 스케쥴을 나타내는 블럭도,2 is a block diagram showing a round 1 and key schedule of the DES algorithm;
도3은 종래기술의 DES 아키텍쳐를 나타낸 블럭도,3 is a block diagram illustrating a prior art DES architecture;
도4는 종래기술의 S-Box를 나타내는 블럭도,4 is a block diagram showing a prior art S-Box;
도5는 종래기술의 3중 DES 아키텍쳐를 나타내는 블럭도,5 is a block diagram illustrating a triple DES architecture of the prior art;
도6은 본 발명의 3중 DES 암호화 장치의 블럭도,6 is a block diagram of a triple DES encryption device of the present invention;
도7은 본 발명의 3중 DES 암호화 장치의 실행을 위한 레지스터 지도.7 is a register map for executing a triple DES encryption device of the present invention.
* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
610 : 3중 DES 스케쥴러 620 : DES 하드웨어610: Triple DES scheduler 620: DES hardware
상기 목적을 달성하기 위하여 본 발명의 암호화 장치는 데이터 암호화 표준 알고리즘을 사용하여 암호화를 수행하는 암호화 장치에 있어서, 64비트의 평문블럭을 입력받고 64비트의 암호화 키와 64비트의 복호 키와 64비트의 암호문을 피드백받아 48비트의 키를 생성하고 64비트의 데이터를 치환하는 3중 DES 스케쥴러; 및 상기 3중 DES 스케쥴러로부터 48비트의 키와 64비트의 데이터를 입력받아 암호화 연산을 수행하여 64비트의 암호문을 생성하는 DES 하드웨어를 포함하여 이루어진다.In order to achieve the above object, the encryption device of the present invention is an encryption device that performs encryption using a data encryption standard algorithm, which receives a 64-bit plaintext block and receives a 64-bit encryption key, a 64-bit decryption key, and 64-bit. A triple DES scheduler generating a 48-bit key and substituting 64-bit data based on the feedback of the ciphertext; And DES hardware that receives a 48-bit key and 64-bit data from the triple DES scheduler and performs an encryption operation to generate a 64-bit cipher text.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부한 도면을 참조하여 설명하기로 한다.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.
도6은 본 발명의 3중 DES 암호화 장치의 블럭도이다.6 is a block diagram of a triple DES encryption device of the present invention.
상기 도6을 참조하면, 본 발명의 3중 DES 암호화 장치는 64비트의 평문(Tp)블럭을 입력받고 64비트의 암호화 키(Ke)와 64비트의 복호키(Kd)와 64비트의 암호문을 피드백받아 48비트의 키(Key)를 생성하고 64비트의 데이터를 치환하는 3중 DES 스케쥴러(610)와, 상기 3중 DES 스케쥴러(610)로부터 48비트의 키(Key)와 64비트의 데이터를 입력받아 암호화 연산을 수행하여 64비트의 암호문을 생성하는 DES 하드웨어(620)를 구비한다.Referring to FIG. 6, the triple DES encryption apparatus of the present invention receives a 64-bit plaintext (Tp) block and receives a 64-bit encryption key (Ke), a 64-bit decryption key (Kd), and a 64-bit encryption text. A DES scheduler 610 for generating a 48-bit key and substituting 64-bit data, and a 48-bit key and 64-bit data are received from the triple DES scheduler 610. DES hardware 620 for generating a 64-bit cipher text by performing an encryption operation is received.
상기 구성을 가진 3중 DES 암호화 장치는 64비트의 평문(Plain Text) 블럭과 피드백된 64비트의 암호문(Cipher Text)을 가지고 데이터 출력을 만들고 암호화 키(Ke)와 복호키(Kd)를 선택하여 키(Key) 값을 만들어낸다. DES 하드웨어를 3번 실행한 후에 최종 결과인 3중 DES 암호문을 출력시킨다.The triple DES encryption device having the above configuration has a 64-bit plain text block and a fed back 64-bit cipher text to generate data output and selects an encryption key (Ke) and a decryption key (Kd). Produce a key value. After executing DES hardware three times, the final result is a triple DES cipher.
도7은 본 발명의 3중 DES 암호화 장치의 실행을 위한 레지스터 지도이다.7 is a register map for executing the triple DES encryption apparatus of the present invention.
상기 도7을 참조하면, 어드레스 0011h 내지 0018h의 Data[0:7]과 상기 3중 DES 암호화 장치의 출력인 des_out[0:7] 값을 공유시켜 레지스터의 면적을 줄일 수 있다. 일반적인 스마트 카드에서는 DES 하드웨어와 인터페이스하기 위해 레지스터 맵(Map)을 사용하는데 이는 프로그램을 가능하게 하기 위한 것이기도 하다. 상기Data와 상기 des_out 값의 저장을 위해 서로 다른 레지스터의 영역을 사용하게 되면 면적이 커지게 된다. Data는 처음 DES 암호화 장치를 암호화할 때만 사용되고 그 이후에는 사용하지 않기 때문에 des_out과 공유가 가능하다. 즉, 처음 Data는 쓰기만 수행하고 3번의 암호화 연산 후의 des_out은 읽기 전용이다. 이런 방식으로 스케쥴러(Scheduller)를 구현하면 원하는 동작을 적은 면적으로 구현이 가능하다.Referring to FIG. 7, the register area can be reduced by sharing Data [0: 7] of addresses 0011h to 0018h with a value of des_out [0: 7] which is an output of the triple DES encryption device. A typical smart card uses a register map to interface with the DES hardware, which is intended to be programmable. When using different register areas for storing the Data and the des_out values, the area becomes large. Data can only be shared with des_out because it is only used to encrypt the DES encryption device for the first time and not used after that. That is, the first data is written only and the des_out is read only after three encryption operations. If you implement a scheduler in this way, you can implement the desired behavior with a small footprint.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.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.
상기와 같이 본 발명은 3중 DES 암호화와 복호화를 하드웨어로 구현하여 하나의 하드웨어로써 3번의 DES 연산을 수행하므로 레지스터 맵(Map)의 면적 뿐만 아니라 전체 3중 DES 암호화 장치의 구현 면적을 줄일 수 있다.As described above, the present invention implements triple DES encryption and decryption in hardware to perform three DES operations with one piece of hardware, thereby reducing not only the area of the register map, but also the implementation area of the entire triple DES encryption device. .
Claims (4)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020000029698A KR20010109626A (en) | 2000-05-31 | 2000-05-31 | Encryption device realizing triple data encryption standard atchitecture |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020000029698A KR20010109626A (en) | 2000-05-31 | 2000-05-31 | Encryption device realizing triple data encryption standard atchitecture |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| KR20010109626A true KR20010109626A (en) | 2001-12-12 |
Family
ID=45923897
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| KR1020000029698A Withdrawn KR20010109626A (en) | 2000-05-31 | 2000-05-31 | Encryption device realizing triple data encryption standard atchitecture |
Country Status (1)
| Country | Link |
|---|---|
| KR (1) | KR20010109626A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105049203A (en) * | 2015-06-17 | 2015-11-11 | 复旦大学 | Configurable 3DES encryption and decryption algorism circuit capable of supporting multiple work modes |
-
2000
- 2000-05-31 KR KR1020000029698A patent/KR20010109626A/en not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105049203A (en) * | 2015-06-17 | 2015-11-11 | 复旦大学 | Configurable 3DES encryption and decryption algorism circuit capable of supporting multiple work modes |
| CN105049203B (en) * | 2015-06-17 | 2018-06-29 | 复旦大学 | A kind of configurable 3DES enciphering and deciphering algorithms circuit for supporting multi-operation mode |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5623548A (en) | Transformation pattern generating device and encryption function device | |
| KR100377176B1 (en) | Encryption device using data encryption standard algorithm | |
| CA2486713A1 (en) | Advanced encryption standard (aes) hardware cryptographic engine | |
| US6914984B2 (en) | Encryption apparatus using data encryption standard algorithm | |
| US11258579B2 (en) | Method and circuit for implementing a substitution table | |
| US11824969B2 (en) | Method and circuit for performing a substitution operation | |
| KR20010111784A (en) | Key Scheduller of encryption device using data encryption standard algorithm | |
| KR100390821B1 (en) | Encryption device using data encryption standard algorithm | |
| KR20050087271A (en) | Key schedule apparatus for generating an encryption round key and a decryption round key selectively corresponding to initial round key having variable key length | |
| KR100411912B1 (en) | Method for the block-encryption of discrete data | |
| KR100456599B1 (en) | Cryptographic apparatus with parallel des structure | |
| US11265145B2 (en) | Method and device for performing substitution table operations | |
| US20050232416A1 (en) | Method and device for determining a result | |
| KR20010109626A (en) | Encryption device realizing triple data encryption standard atchitecture | |
| KR100316025B1 (en) | Encryption and decryption device using data encryption standard algorithm | |
| KR100935372B1 (en) | Encryption and decryption device using linedal algorithm | |
| KR100546777B1 (en) | SED encryption / decoding device, encryption / decoding method, round processing method, F function processor suitable for this | |
| JPH0744375A (en) | Ciphered data processor | |
| KR100442354B1 (en) | Encryption apparatus and method for rc4 type | |
| KR100384873B1 (en) | Encryption device using data encryption standard algorithm | |
| KR100380638B1 (en) | A data encryption standard system equipped parallel feistel structure | |
| CN118157843A (en) | AES-GCM engine performing authentication decryption optimization in situ | |
| KR980007156A (en) | Secret key block encryption and decryption method | |
| KR20050117268A (en) | Aes online round key generation circuit | |
| Guerrero et al. | Customised hardware based on the REDOC III algorithm for high performance data ciphering |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20000531 |
|
| PG1501 | Laying open of application | ||
| N231 | Notification of change of applicant | ||
| PN2301 | Change of applicant |
Patent event date: 20041006 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
| PC1203 | Withdrawal of no request for examination | ||
| WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |