KR20010111120A - 데이터 암호화 표준 알고리즘을 이용한 암호화 장치 - Google Patents

데이터 암호화 표준 알고리즘을 이용한 암호화 장치 Download PDF

Info

Publication number
KR20010111120A
KR20010111120A KR1020000031247A KR20000031247A KR20010111120A KR 20010111120 A KR20010111120 A KR 20010111120A KR 1020000031247 A KR1020000031247 A KR 1020000031247A KR 20000031247 A KR20000031247 A KR 20000031247A KR 20010111120 A KR20010111120 A KR 20010111120A
Authority
KR
South Korea
Prior art keywords
encryption
clock
data
bit
bit data
Prior art date
Application number
KR1020000031247A
Other languages
English (en)
Other versions
KR100377175B1 (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 KR10-2000-0031247A priority Critical patent/KR100377175B1/ko
Priority to US09/874,377 priority patent/US6914984B2/en
Priority to JP2001173755A priority patent/JP2002049309A/ja
Publication of KR20010111120A publication Critical patent/KR20010111120A/ko
Application granted granted Critical
Publication of KR100377175B1 publication Critical patent/KR100377175B1/ko

Links

Classifications

    • 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/06Cryptographic 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
    • 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/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0625Block 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 S-Box 치환부를 2-포트의 입력을 가진 장치로 구현한 데이터 암호화 표준 알고리즘을 이용한 암호화 장치에 관한 것으로, 억세스(Access) 시간이 두 배 빠른 기억장치를 사용하여 주어진 시간에 데이터를 두 번 억세스하기 때문에 데이터 컨텐션(Contention)을 제거하여 면적을 최소화할 수 있는 암호화 방법 및 장치를 제공하는데 그 목적이 있다. 이를 위하여 본 발명은 데이터 암호화 표준 알고리즘을 사용하여 암호화를 수행하는 암호화 장치에 있어서, 제어기의 제어를 받아 입력되는 두 개의 48비트의 데이터 중에 하나를 선택하는 멀티플렉서; 상기 멀티플렉서에서 출력된 48비트 중에서 6비트의 어드레스 8 개를 입력받아 4비트의 데이터 8 개를 출력하는 8 개의 S-Box; 제어기의 제어를 받아 상기 4비트의 데이터를 두개로 분배하는 디멀티플렉서; 및 제1클럭과 제2클럭을 입력받아 상기 멀티플렉서와 디멀티플렉서를 제어하는 제어기를 포함하여 이루어진다.

Description

데이터 암호화 표준 알고리즘을 이용한 암호화 장치{Encryption device using data encryption standard algorithm}
본 발명은 암호화 장치에 관한 것으로, 특히 데이터 암호화 표준 알고리즘을 이용한 암호화 장치에 관한 것이다.
일반적으로 데이터 암호화 표준(DES : Data Encryption Standard, 이하 DES라 칭함) 알고리즘은 가장 널리 쓰이고 있는 암호화 방식으로 네트워킹 사용이 증가함에 따라 그 중요성을 더해 가고 있다. 특히, 보안 인터넷 응용이나 원격 접근 서버나 케이블 모뎀과 위성용 모뎀 등의 분야에서 많이 이용되고 있다.
DES는 기본적으로 64비트 블럭의 입력 및 출력을 가지는 64비트 블럭 암호이며, 64비트의 키 블럭 중 56비트가 암호화 및 복호화에 사용되고, 나머지 8비트는 패리티 검사용으로 사용된다. 또한. 64비트의 평문(Plain Text) 블럭과 56비트의 키(Key)를 입력으로 해서 64비트의 암호문(Ciper Text) 블럭을 출력하는 암호화 장치이다.
DES를 실현시키는 중요한 기법은 치환(P-Box), 대치(S-Box) 그리고 보조키(Subkey)를 발생시키는 키 스케쥴 등이 있다.
데이터 암호화부의 내부는 16라운드의 반복연산을 수행하는 형태로 되어 있고 입력부의 초기 치환(IP)와 출력부의 역초기 치환(IP-1)으로 구성되어 있다.
도1는 일반적인 DES 아키텍쳐의 사이퍼 함수와 S-Box 치환부의 상세한 구성도이다.
상기 도1를 참조하면, 사이퍼 함수 f는 32비트의 텍스트 블럭을 저장하고 있는 오른쪽레지스터로부터 32비트의 데이터(R(i-1))를 입력받아 48비트의 데이터로 확장 치환하는 확장치환부(110)와, 상기 확장치환부의 48비트의 데이터를 입력받고 키 스케쥴(Key Schedule)로부터의 보조키(Ki)를 입력받아 배타적 논리합 연산을 수행하는 익스쿠르시브-오아부(120)와, 상기 익스쿠르시브-오아부(120)로부터의 48비트의 데이터를 32비트의 데이터로 대치 치환하는 S-Box 치환부(130)와, 상기 S-Box 치환부(130)의 32비트의 데이터를 복사 치환하는 P-Box 치환부(140)와, 상기 P-Box 치환부의 32비트의 데이터와 왼쪽레지스터에 저장되어 있는 32비트의 데이터(L(i+1))를 입력받아 배타적 논리합하는 익스쿠르시브-오아부(150)를 구비한다.
키 스케쥴(Key Schedule)은 56비트의 키(Key)를 입력받아서 28비트의 두 블럭으로 나누어서 각각 왼쪽으로 한자리 또는 두자리씩 쉬프트하는 쉬프트부(160, 170)와 상기 쉬프트부의 두 블럭을 입력받아 하나의 보조키로 압축하여 치환하는압축치환부(180)를 구비한다.
구체적으로, 상기 S-Box 치환부는 48비트의 입력을 받아서 32비트의 출력을 생성하는 8 개의 S-Box로 구성되어 있다. 즉, 48비트의 데이터는 8 개의 6비트 데이터로 분할되어 8 개의 S-Box에 입력된다. 이 8 개의 S-Box들은 8 개의 출력을 내보냄으로써 48 비트를 32비트로 줄인다. S-Box 치환부(320)는 테이블 룩-업(Look-up) 방식으로 대치됨으로써 프로그램가능 논리 어레이(PLA)나 롬(ROM)과 같은 기억장치를 필요로 한다. 6비트의 입력에 대하여 4비트를 출력하기 때문에 각 S-Box는 64 × 4 의 기억 용량이 필요하며 전체적으로 8개의 S-Box로 구성되어 있으므로 8 × 64 × 4의 기억장치가 필요하다. 따라서 전체적으로 칩에서 차지하는 면적이 상대적으로 크다
도2는 처리능력을 높이는 효과가 있는 종래기술의 3개의 위상을 가지는 클럭을 이용한 6단의 파이프라인 구조의 DES 아키텍쳐를 나타내는 블럭도이다.
상기 도2를 참조하면, 본 발명의 DES 알고리즘은 초기 치환부를 거친 64비트의 평문(Plain Text) 블럭을 32비트의 두 블럭으로 나누어 a0와 b0를 제1클럭과 제2클럭을 사용하여 제1왼쪽레지스터(A0)(350)와 제1오른쪽레지스터(B0)(200)에 저장한 후, 키 스케쥴(Key Schedule)로부터 생성된 보조키(K(i))를 입력받아 상기 제1오른쪽레지스터(B0)(200)로부터의 32비트의 데이터를 사이퍼 함수 f(210)에 의해서 암호화 변형하며, 상기 사이퍼 함수 f에 의해 변형된 제1왼쪽레지스터(A0)(350)의 32비트와 익스쿠르시브-오아부(220)에서 배타적 논리합 연산을 수행한다. 또한, 상기 익스쿠루시브-오아부(220)의 32비트 데이터를 제3클럭(CLK3)을 사용하여 제2왼쪽레지스터(C0)(230)에 저장하고, 보조키(K(i+1))를 입력받아 상기 제2왼쪽레지스터(C0)(230)에 저장되어 있는 32비트의 데이터를 사이퍼 함수 f(240)를 통하여 변형하며, 변형된 32비트의 데이터를 상기 제1오른쪽레지스터(B0)(200)의 32비트와 익스쿠르시브-오아부(250)에서 배타적 논리합 연산을 수행한다. 또한, 상기 익스쿠루시브-오아부(250)의 32비트 데이터를 제1클럭(CLK1)을 사용하여 제2오른쪽레지스터(A1)(260)에 저장하고, 보조키(K(i+2))를 입력받아 상기 제2오른쪽레지스터(A1)(260)에 저장되어 있는 32비트의 데이터를 사이퍼 함수 f(270)를 통하여 변형하며, 변형된 32비트의 데이터를 상기 제2왼쪽레지스터(C0)(230)의 32비트와 익스쿠르시브-오아부(280)에서 배타적 논리합 연산을 수행한다. 또한 상기 익스쿠루시브-오아부(280)의 32비트 데이터를 제2클럭(CLK2)을 사용하여 제3왼쪽레지스터(B1)(290)에 저장하고, 보조키(K(i+3))를 입력받아 상기 제3왼쪽레지스터(B1)(290)에 저장되어 있는 32비트의 데이터를 사이퍼 함수 f(300)를 통하여 변형하며, 변형된 32비트의 데이터를 상기 제2오른쪽레지스터(A1)(260)의 32비트와 익스쿠르시브-오아부(310)에서 배타적 논리합 연산을 수행한다. 또한, 상기 익스쿠루시브-오아부(310)의 32비트 데이터를 제3클럭(CLK3)을 사용하여 제3오른쪽레지스터(C1)(320)에 저장하고, 보조키(K(i+4))를 입력받아 상기 제3오른쪽레지스터(C1)(320)에 저장되어 있는 32비트의 데이터를 사이퍼 함수 f(330)를 통하여 변형하며, 변형된 32비트의 데이터를 상기제3왼쪽레지스터(B1)(290)의 32비트와 익스쿠르시브-오아부(340)에서 배타적 논리합 연산을 수행한다. 또한 상기 익스쿠루시브-오아부(340)의 32비트 데이터를 제1클럭(CLK1)을 사용하여 제1왼쪽레지스터(A0)(350)에 저장하고, 보조키(K(i+5))를 입력받아 상기 제1왼쪽레지스터(A0)(350)에 저장되어 있는 32비트의 데이터를 사이퍼 함수 f(360)를 통하여 변형하며, 변형된 32비트의 데이터를 상기 제3오른쪽레지스터(C1)(320)의 32비트와 익스쿠르시브-오아부(370)에서 배타적 논리합 연산을 수행한다.
마지막 라운드의 제3왼쪽레지스터(B1)(290)의 32비트가 블럭 b15가 되며 마지막 라운드의 익스쿠르시브-오아부(310)에서 출력된 32비트가 b16이 된다.
상기 제2클럭(CLK2)은 상기 제1클럭(CLK1)을 1/3 주기만큼 지연시킨 것이고 상기 제3클럭(CLK3)은 상기 제2클럭(CLK2)를 1/3 주기만큼 지연시킨 것이다. 상기 제1클럭(CLK1)이 상승할 때 레지스터 A0와 A1에 새로운 값이 저장되고 상기 제2클럭(CLK2)이 상승할 때 레지스터 B0와 B1에 새로운 값이 저장되고 상기 제3클럭(CLK3)이 상승할 때 레지스터 C0와 C1에 새로운 값이 저장된다.
도3는 종래기술인 도2의 6단 파이프라인 구조의 DES 아키텍쳐의 동작 순서를 나타내는 타이밍도이다.
상기 도3을 참조하면, 32비트의 블럭 a0와 b0는 초기 치환을 거친 64비트의 평문 블럭이 32비트의 두블럭으로 나뉘어진 것이고, a0와 b0값은 t0와 t1에서 제1클럭(CLK1)과 제2클럭(CLK2)에 의해서 레지스터 A0와 B0에 각각 저장된다. t1에서부터 b1값(b1= a0 f(b0,K1))을 계산하기 시작해서 t2에서 계산된 값을 레지스터 C0에 저장한다. 이 때 레지스터 A0에 입력된 값 a0는 t3까지 유지가 되어서 t1-t2구간에서 b1값을 계산하는데 사용할 수 있고 b1값은 t5까지 유지되어서 t2-t3구간에서 b2값을 계산하는데 사용할 수 있다. 이 것은 서로 지연된 제1클럭(CLK1)과 제2클럭(CLK2)과 제3클럭(CLK3)에 의해서 레지스터 A0와 B0와 C0가 새로운 값을 저장하기 때문에 해결할 수 있다. b2(b2= b0 f(b1,K2))값은 t2-t3구간에서 계산되어 t4에서 제2클럭(CLK2)에 의해서 레지스터 B1에 저장된다. 이와같이 3 개의 위상을 갖는 클럭을 사용하여 레지스터에 저장된 값을 동시에 억세스(Access)하게 함으로써 b1, b2, ..., b16을 계산하는데 걸리는 시간을 5.66 클럭 사이클로 줄일 수 있다.
일반적으로 주어진 키(Key)에 대하여 암호화하거나 해독화할 다수의 64비트의 평문이나 암호문 블럭이 연속적으로 입력되는 경우가 많다. 예를 들어 MCNS 케이블 모뎀에서 사용되는 암호화 방식은 맥 프레임(MAC Frame) 단위로 암호화를 수행하기 때문에 최대 1,518 바이트의 평문 블럭들을 동일한 키(Key)로 암호화를 수행하여야 한다. 즉 동일한 키(Key)로써 다수의 평문 블럭들에 대해서 16라운드의 DES 코아를 계산하여야만 한다. 이 경우 종래 기술이 가지고 있는 파이프라인 구조를 이용하여 처리능력비를 증가시킬 수 있다.
도4은 종래기술인 도2의 6단 파이프라인 구조의 DES 아키텍쳐의 파이프라인동작 순서를 나타내는 타이밍도이다.
상기 도4을 참조하면, 종래기술의 파이프라인 동작을 나타내는 타이밍도는 파이프라인 구조을 이용하여 두개의 평문 블럭들을 5.66 클럭 사이클동안 동시에 처리할 수 있음을 보여준다. 또한 도3에서 비어 있는 부분에 새로운 평문 블럭 c0와 d0를 t3와 t4에서 레지스터 A0와 B0에 입력함으로써 평문 블럭 bi값들을 계산하는 동안 평문 블럭 di값들을 계산할 수 있음을 보여준다. 이 때 t0-t1, t1-t2, t2-t3.... 구간마다 새로운 평문 블럭 bi와 di값을 암호화 하기위해 사이퍼 함수 f가 두 개씩 동시에 수행된다. 5.66 클럭 사이클 동안 처리할 수 있는 평문 블럭의 수는 두배로 증가시킬 수가 있다. 그러나 사이퍼 함수를 구성하는 S-Box들은 한 개씩 추가로 구현할 필요가 있는 단점이 발생한다.
사이퍼 함수 f는 롬(ROM)이나 프로그램가능 논리 어레이(PLA)와 같은 기억장치로 구현된 S-Box 치환부를 필요로 한다.
도5는 종래기술인 도2의 6단 파이프라인 구조의 DES 아키텍쳐의 파이프라인을 사용하지 않은 경우와 파이프라인을 사용한 경우에 사이퍼 함수가 연산되는 순서도이다.
상기 도5를 참조하면, 한개의 64비트 평문 블럭을 암호화하는 경우 즉, 파이프라인을 사용하지 않은 경우에는 도2의 6개의 사이퍼 함수 fA, fB, fC, fD, fE, fF는 3개의 위상을 갖는 클럭에 의해서 시분할이 되어 계산되기 때문에 1 개의 S-Box 치환부만으로도 구현가능하다. 그러나 파이프라인을 사용하여 두개의 64비트의 평문블럭을 동시에 암호화할 경우에 (fA, fB, fC)와 (fD, fE, fF)는 서로 시분할되지만 (fA,fD)와 (fB,fE)와 (fC,fF)는 시분할이 되지 않고 동시에 계산되기 때문에 두 개의 S-Box 치환부가 필요하다.
도6은 종래기술의 단일 포트 S-Box 치환부의 상세한 블럭도이다.
상기 도6을 참조하면, 종래기술은 S-Box 치환부 두 개를 사용하여 파이프라인 동작을 수행하도록 되어 있고, 개개의 S-Box 치환부는 48비트의 입력 데이터를 받아들여 32비트의 출력 데이터를 내보내는 8 개의 S-Box로 구성되어 있다. 각각의 S-Box는 64 × 4 의 롬(ROM)이나 프로그램가능 논리 어레이(PLA)로 구성되어 있고 6비트의 어드레스를 입력받아 4비트의 데이터를 출력하는 제1경로를 구비하고 있다. 두개의 S-Box 치환부에는 서로 다른 제1경로와 제2경로가 물리적으로 존재한다.
종래 기술은 상기와 같이 서로 다른 경로가 물리적으로 존재하여 S-Box 치환부를 구현하는데 필요한 기억장치를 동시에 억세스(Access)해야 하는 데이터 컨텐션(Data contention) 문제를 해결한다. 따라서 똑 같은 S-Box를 두개를 사용하므로 인하여 면적이 증가되는 단점이 있다.
본 발명은 상기와 같은 종래기술의 문제점을 해결하기 위하여 안출된 것으로써, 억세스(Access) 시간이 두 배 빠른 기억장치를 사용하여 주어진 시간에 데이터를 두 번 억세스하기 때문에 데이터 컨텐션(Contention)을 제거하고 면적을 최소화할 수 있는 암호화 장치를 제공하는데 그 목적이 있다.
도1은 일반적인 DES 아키텍쳐의 사이퍼 함수와 S-Box 치환부의 상세한 구성도,
도2은 처리능력을 높이는 효과가 있는 종래기술의 3개의 위상을 가지는 클럭을 이용한 6단의 파이프라인 구조의 DES 아키텍쳐를 나타내는 블럭도,
도3는 종래기술인 도2의 6단 파이프라인 구조의 DES 아키텍쳐의 동작 순서를 나타내는 타이밍도,
도4는 종래기술인 도2의 6단 파이프라인 구조의 DES 아키텍쳐의 파이프라인 동작 순서를 나타내는 타이밍도,
도5는 종래기술인 도2의 6단 파이프라인 구조의 DES 아키텍쳐의 파이프라인을 사용하지 않은 경우와 파이프라인을 사용한 경우에 사이퍼 함수가 연산되는 순서도
도6은 종래기술의 단일 포트 S-Box 치환부의 상세한 블럭도,
도7은 본 발명의 2-포트 S-Box치환부의 구현방식을 나타낸 상세한 블럭도,
도8은 종래 방식의 단일 포트 S-Box 치환부와 본 발명의 2-포트 S-Box 치환부의 동작을 나타내는 타이밍도.
* 도면의 주요 부분에 대한 부호의 설명 *
710 : 멀티플렉서 720 : S-Box
730 : 디멀티플렉서 740 : 제어기
상기 목적을 달성하기 위하여 본 발명의 암호화 장치는 데이터 암호화 표준 알고리즘을 사용하여 암호화를 수행하는 암호화 장치에 있어서, 제어기의 제어를 받아 입력되는 두 개의 48비트의 데이터 중에 하나를 선택하는 멀티플렉서; 상기 멀티플렉서에서 출력된 48비트 중에서 6비트의 어드레스 8 개를 입력받아 4비트의 데이터 8 개를 출력하는 8 개의 S-Box; 제어기의 제어를 받아 상기 4비트의 데이터를 두개로 분배하는 디멀티플렉서; 및 제1클럭과 제2클럭을 입력받아 상기 멀티플렉서와 디멀티플렉서를 제어하는 제어기를 포함하여 이루어진다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부한 도면을 참조하여 설명하기로 한다.
도7은 본 발명의 2-포트 S-Box 치환부의 구현방식을 나타낸 상세한 블럭도이다.
상기 도7을 참조하면, 본 발명의 S-Box 치환부는 제어기의 제어를 받아 입력되는 두 개의 48비트의 데이터 중에 하나를 선택하는 멀티플렉서(710)와, 상기 멀티플렉서(710)에서 출력된 48비트 중에서 6비트의 어드레스 8 개를 입력받아 4비트의 데이터 8 개를 출력하는 8 개의 S-Box(720)와, 제어기의 제어를 받아 상기 4비트의 데이터를 두개로 분배하는 디멀티플렉서(730)와, 제1클럭(CLK_A)과 제2클럭(CLK_B)를 입력받아 상기 멀티플렉서와 디멀티플렉서를 제어하는 제어기(740)를 구비한다.
도8은 종래 방식의 단일 포트 S-Box 치환부와 본 발명의 2-포트 S-Box 치환부의 동작을 나타내는 타이밍도이다.
상기 도8을 참조하면, 본 발명에서는 제어기에 입력되는 두 배가 빠른 제1클럭(CLK_A)과 제2클럭(CLK_B)을 이용하여 롬(ROM)을 엑세스(Access)하는데 필요한 신호들을 발생시킨다. 각 시간 구간 ti-ti+1에서 제1경로(path1)과 제2경로(path2) 중의 한 경로를 선택하는 멀티플렉서에 의해 시분할된 제1경로(path1)과 제2경로(path2)가 개념적으로 존재하여 데이터 컨텐션(Data Contention) 문제를 해결한다. 즉, 제1클럭(CLK_A)가 논리 하이일 때 제1경로(path1)을 선택하여 bi값들이 계산되고 제2클럭(CLK_B)가 하이일 때 제2경로(path2)를 선택하여 di값들이 계산된다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 본 발명은 S-Box를 한개씩만을 사용함으로써 S-Box 치환부가 차지하는 면적을 반으로 감소시켜 보다 효율적으로 회로들을 배치할 수 있고, 적은 칩 면적으로 넷 다이(Net Die) 수를 증대시키므로 코스트(Cost) 향상을 가져온다.

Claims (3)

  1. 데이터 암호화 표준 알고리즘을 사용하여 암호화를 수행하는 암호화 장치에 있어서,
    제어기의 제어를 받아 입력되는 두 개의 48비트의 데이터 중에 하나를 선택하는 멀티플렉서;
    상기 멀티플렉서에서 출력된 48비트 중에서 6비트의 어드레스 8 개를 입력받아 4비트의 데이터 8 개를 출력하는 8 개의 S-Box;
    제어기의 제어를 받아 상기 4비트의 데이터를 두개로 분배하는 디멀티플렉서; 및
    제1클럭과 제2클럭을 입력받아 상기 멀티플렉서와 디멀티플렉서를 제어하는 제어기
    를 포함하여 이루어진 암호화 장치.
  2. 제 1 항에 있어서,
    상기 제1클럭과 제2클럭은 서로 반전된 신호임을 특징으로 하는 암호화 장치.
  3. 제 1 항에 있어서,
    상기 멀티플렉서와 디멀티플렉서는 물리적으로 존재하는 두개의 입력과 출력 경로를 시분할하여 데이터의 충돌을 방지하는 것임을 특징으로 하는 암호화 장치.
KR10-2000-0031247A 2000-06-08 2000-06-08 데이터 암호화 표준 알고리즘을 이용한 암호화 장치 KR100377175B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR10-2000-0031247A KR100377175B1 (ko) 2000-06-08 2000-06-08 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
US09/874,377 US6914984B2 (en) 2000-06-08 2001-06-06 Encryption apparatus using data encryption standard algorithm
JP2001173755A JP2002049309A (ja) 2000-06-08 2001-06-08 データ暗号化標準アルゴリズムを利用した暗号化装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0031247A KR100377175B1 (ko) 2000-06-08 2000-06-08 데이터 암호화 표준 알고리즘을 이용한 암호화 장치

Publications (2)

Publication Number Publication Date
KR20010111120A true KR20010111120A (ko) 2001-12-17
KR100377175B1 KR100377175B1 (ko) 2003-03-26

Family

ID=19671375

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0031247A KR100377175B1 (ko) 2000-06-08 2000-06-08 데이터 암호화 표준 알고리즘을 이용한 암호화 장치

Country Status (3)

Country Link
US (1) US6914984B2 (ko)
JP (1) JP2002049309A (ko)
KR (1) KR100377175B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030068038A1 (en) * 2001-09-28 2003-04-10 Bedros Hanounik Method and apparatus for encrypting data
TW527783B (en) * 2001-10-04 2003-04-11 Ind Tech Res Inst Encryption/deciphering device capable of supporting advanced encryption standard
US20040202318A1 (en) * 2001-10-04 2004-10-14 Chih-Chung Lu Apparatus for supporting advanced encryption standard encryption and decryption
US7103180B1 (en) * 2001-10-25 2006-09-05 Hewlett-Packard Development Company, L.P. Method of implementing the data encryption standard with reduced computation
US7283628B2 (en) * 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US7269615B2 (en) 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7508937B2 (en) * 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
US7076059B1 (en) * 2002-01-17 2006-07-11 Cavium Networks Method and apparatus to implement the data encryption standard algorithm
JP4150886B2 (ja) * 2002-04-19 2008-09-17 ソニー株式会社 暗号化復号化演算装置およびデータ受信装置
EP1387519A3 (fr) * 2002-07-09 2004-02-18 Cp8 Procédé de sécurisation d'un ensemble électronique contre des attaques par introduction d'erreurs
US7545928B1 (en) * 2003-12-08 2009-06-09 Advanced Micro Devices, Inc. Triple DES critical timing path improvement
US7580519B1 (en) 2003-12-08 2009-08-25 Advanced Micro Devices, Inc. Triple DES gigabit/s performance using single DES engine
US7885405B1 (en) 2004-06-04 2011-02-08 GlobalFoundries, Inc. Multi-gigabit per second concurrent encryption in block cipher modes
US7526085B1 (en) 2004-07-13 2009-04-28 Advanced Micro Devices, Inc. Throughput and latency of inbound and outbound IPsec processing
US7783037B1 (en) 2004-09-20 2010-08-24 Globalfoundries Inc. Multi-gigabit per second computing of the rijndael inverse cipher
KR20070093963A (ko) * 2004-09-24 2007-09-19 시냅틱 래버러토리즈 리미티드 대입 박스들
US7962766B2 (en) * 2005-07-14 2011-06-14 Atmel Corporation Method and system for encryption-based design obfuscation for an integrated circuit
WO2014197071A1 (en) 2013-03-13 2014-12-11 Willow, Inc. Secured embedded data encryption systems
CN105049203B (zh) * 2015-06-17 2018-06-29 复旦大学 一种支持多工作模式的可配置3des加解密算法电路
CN108134664A (zh) * 2016-12-01 2018-06-08 钦州市晶通科技有限公司 一种数据加密的实现方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5317638A (en) * 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
KR0143680B1 (ko) * 1995-08-21 1998-08-01 배순훈 데스 알고리즘을 이용한 암호화장치
CA2164768C (en) * 1995-12-08 2001-01-23 Carlisle Michael Adams Constructing symmetric ciphers using the cast design procedure
KR100389902B1 (ko) * 1997-06-23 2003-09-22 삼성전자주식회사 차분해독법과선형해독법에대하여안전성을보장하는고속블럭암호화방법
US6347143B1 (en) * 1998-12-15 2002-02-12 Philips Electronics No. America Corp. Cryptographic device with encryption blocks connected parallel
WO2001082524A1 (en) * 2000-04-20 2001-11-01 Matchett Noel D Cryptographic system for data encryption standard

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치

Also Published As

Publication number Publication date
KR100377175B1 (ko) 2003-03-26
US6914984B2 (en) 2005-07-05
JP2002049309A (ja) 2002-02-15
US20020003876A1 (en) 2002-01-10

Similar Documents

Publication Publication Date Title
KR100377175B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
KR100377176B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
US20050213756A1 (en) Round key generation for aes rijndael block cipher
US8300805B1 (en) AES core with independent inputs and outputs
KR100377172B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러
US20070098153A1 (en) Cryptographic processing apparatus
US20030059054A1 (en) Apparatus for generating encryption or decryption keys
US9172537B1 (en) Array encryption core
KR100390821B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
Fischer Realization of the round 2 AES candidates using Altera FPGA
US20050232416A1 (en) Method and device for determining a result
KR20050087271A (ko) 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치
KR100667189B1 (ko) 휴대 기기를 위한 aes 암호화 장치 및 방법
KR100384873B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
KR100377173B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
KR20030087893A (ko) 라운드 키의 온라인 계산 기능을 갖는 모듈화 구조의 AESRijndael 라운드 키 생성 회로
KR100418575B1 (ko) 암호블럭연쇄 방식의 디이에스 암호화 장치
Pirpilidis et al. A 4-bit Architecture of SEED Block Cipher for IoT Applications
KR20010109626A (ko) 3중 데이터 암호화 표준 아키텍쳐를 구현한 암호화 장치
Leperchey et al. FPGA implementation of the Rijndael algorithm
KR20050117268A (ko) 에이이에스 온라인 라운드 키 생성회로
KR20030037890A (ko) 디이에스 암호화 장치
KR20020082540A (ko) 디이에스 암호화 장치
KR20010105775A (ko) 병렬 Feistel 구조를 가진 데이터 암호 표준화시스템

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee