KR100418575B1 - 암호블럭연쇄 방식의 디이에스 암호화 장치 - Google Patents

암호블럭연쇄 방식의 디이에스 암호화 장치 Download PDF

Info

Publication number
KR100418575B1
KR100418575B1 KR10-2002-0018163A KR20020018163A KR100418575B1 KR 100418575 B1 KR100418575 B1 KR 100418575B1 KR 20020018163 A KR20020018163 A KR 20020018163A KR 100418575 B1 KR100418575 B1 KR 100418575B1
Authority
KR
South Korea
Prior art keywords
exclusive
register
input
encryption
output
Prior art date
Application number
KR10-2002-0018163A
Other languages
English (en)
Other versions
KR20030079241A (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-2002-0018163A priority Critical patent/KR100418575B1/ko
Publication of KR20030079241A publication Critical patent/KR20030079241A/ko
Application granted granted Critical
Publication of KR100418575B1 publication Critical patent/KR100418575B1/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
    • 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

Landscapes

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

Abstract

본 발명은 디이에스 암호화 장치에 관한 것으로, 특히 임계 경로 상에 포함되는 배타적 논리합 연산부를 배제함으로써, 동작 타이밍을 감소시킬 수 있는 8사이클로 동작하는 CBC 방식의 DES 암호화 장치를 제공하기 위한 것으로, 이를 위해 본 발명은, 초기 치환부를 거친 64비트의 평문 블럭이 32비트의 두 블럭으로 나뉜 것 중 각각 현재의 왼쪽 및 오른쪽의 블럭인 (a0, b0)와, 상기 (a0, b0)의 이전의 블럭(y0, z0)와, 상기 (a0, b0)의 이후의 블럭(c0, d0)을 연속적인 입력으로 하고 초기화 블럭(i, j)를 입력으로 하여 암호화 연산하는 암호블럭연쇄 방식의 디이에스 암호화 장치에 있어서, 입력 버퍼 레지스터를 디이에스 연산을 위한 배타적 논리합 연산부 뒤에 위치시킴으로써, 임계경로 상에서 상기 배타적 논리합 연산부를 배제하는 것을 특징으로 하는 암호블럭연쇄 방식의 디이에스 암호화 장치를 제공한다.

Description

암호블럭연쇄 방식의 디이에스 암호화 장치{Apparatus for encryption of Data Encryption Standard of Cipher Block Chaining mode}
본 발명은 암호화 장치에 관한 것으로, 특히 8사이클로 동작하는 암호블럭연쇄(Cipher Block Chaining; 이하 CBC라 함) 방식의 데이터 암호화 표준(Data Encryption Standard, 이하 DES라 함) 알고리즘을 암호화 장치에 관한 것이다.
일반적으로 DES 알고리즘은 가장 널리 쓰이고 있는 암호화 방식으로 네트워킹 사용이 증가함에 따라 그 중요성을 더해 가고 있으며, 특히 보안 인터넷 응용(Secure internet application)이나 원격 접근 서버(Remote access server)나 케이블 모뎀(Cable modem)과 위성용 모뎀(Satellite modem) 등의 분야에서 많이 이용되고 있다.
DES는 기본적으로 64비트 블럭의 입력 및 출력을 가지는 64비트 블럭 암호이며, 64비트의 키 블럭 중 56비트가 암호화 및 복호화에 사용되고, 나머지 8비트는 패리티 검사용으로 사용된다. 즉, 64비트의 평문(Plain Text) 블럭과 56비트의 키(Key)를 입력으로 해서 64비트의 암호문(Cipher Text) 블럭을 출력하는 암호화방식이다.
DES를 실현시키는 중요한 기법은 치환(P-Box), 대치(S-Box) 그리고 보조키(Subkey)를 발생시키는 키 스케쥴러 등이 있다.
데이터 암호화부의 내부는 16라운드의 반복연산을 수행하는 형태로 되어 있고 입력부의 초기 치환(Initial Permutation; IP)과 출력부의 역초기 치환(IP-1)으로 구성되어 있다.
도 1은 종래기술에 따른 DES 알고리즘을 이용한 암호화 장치를 도시한 구성도이다.
도 1을 참조하면, 64비트의 평문(Plain Text) 블럭을 입력받아 초기 치환(IP)을 수행하는 초기치환부(110)와, 초기치환부(110)의 출력인 64비트의 블럭을 두개의 32비트 블럭으로 나누어 왼쪽레지스터(L0)와 오른쪽레지스터(R0)에 저장하고 사이퍼(Cipher) 함수 f로 수행되는 16라운드의 곱 변형(Product Transformation)과 왼쪽레지스터(Li)와 오른쪽레지스터(Ri)를 매 라운드마다 교환하여 16라운드의 블록 변형(Block Transformation)을 수행하는 변형부(120)와, 16라운드에 걸친 변형이 끝난 후 역초기 치환(IP-1)을 거쳐서 암호화된 암호문(Cipher Text)을 출력하는 역초기치환부(130)로 구성되어 있다.
변형부(120)에서의 곱 변형은 초기치환부(110)에서 나뉘어진 32비트의 블럭 중에서 오른쪽레지스터(Ri)에 저장된 데이터를 키 스케쥴러(Key Scheduler)에 의해서 생성된 보조키(Subkey) Ki와 함께 입력시켜서 암호화 연산을 수행하는 사이퍼 함수부(f)(121)와, 사이퍼 함수 f의 결과를 왼쪽레지스터(Li)와 함께 배타적 논리합하는 배타적 논리합 연산부(122)로 구성되어 있다.
배타적 논리합 연산부(122)의 32비트의 데이터는 다음 라운드의 연산을 위해 오른쪽레지스터(Ri+1)에 저장되고 오른쪽레지스터(Ri)에 저장된 32비트의 데이터는 다음 라운드의 왼쪽레지스터(Li+1)에 교환(Swapping)되어 저장된다. 이러한 1라운드의 연산이 반복되어 16라운드가 수행되는 것이다.
초기치환부(110)를 거친 64비트의 평문(Plain Text) 블럭을 둘로 나누어 왼쪽레지스터(L0)와 오른쪽레지스터(R0)에 입력하면 16회의 각 라운드는 다음 수학식1과 수학식2로 표현가능하다.
Li= Ri-1i=1,2,......16
f(Ri-1, Ki) i=1,2,......16
도 2는 상기한 DES 알고리즘의 중간 계산 결과들을 도시한 도면이다.
도 2를 참조하면, 왼쪽 및 오른쪽레지스터의 초기 값(L0, R0)을 시작으로 해서 사이퍼함수 f와 배타적 논리합 연산부(122)를 거친 계산 값들이 도시되어 있다. 도시된 바와 같이 DES가 계산하는 값들은 L1, L2.... L16과 R1, R2.... R16인데 Li= Ri-1이므로, 주어진 L0와 R0로부터 DES 코어가 실질적으로 새로 계산하는 값들은 R1, R2.... R16임을 알 수 있다. 최종 결과는 L16과 R16으로써 R15와 R16을 출력하면 된다.
그러나, 전술한 일반적인 DES 아키텍쳐는 수학식1과 수학식2에 의해 입력하는과정때문에 항상 16 사이클이 걸리는 문제점이 있다. 수학식1을 수학식2에 대입하고 Ri-1= Li임을 가정하면 DES 코어의 계산과정을 다음 수학식3으로 나타낼 수 있다.
f( Ri-1, Ki) (i=1,2....8)
따라서, 수학식3에 도시된 바와 같은 연산을 수행하는 DES 아키텍쳐는 서로 반전된 클럭을 사용함으로써, 암호화에 소요되는 클럭 수를 8 사이클로 줄여서 스위칭에 의한 전력 소모를 감소시키는 효과가 있다.
한편, 예컨대 케이블 모뎀과 같은 네트워크 응용분야에서는 패킷 단위로 암호화가 수행되어지는 바, DES의 4가지 모드 중 전자적 코드북(ElectronicCodeBook; 이하 ECB라 함) 방식과 CBC 방식 등이 사용되고 있다.
도 3은 ECB 방식의 DES 연산 과정을 도시한 구성도이며, 도 4는 CBC 방식의 DES 연산 과정을 도시한 구성도이다.
도 3 및 도 4를 참조하면, ECB 방식과 CBC 방식은 평문 블럭(P0 ∼ P3)을 초기치환(IP)과 역초기치환(IIP) 등의 암호화 과정을 거쳐 암호문(C0 ∼ C3)을 만든다.
ECB 방식은 평문 블럭(P0 ∼ P3)을 각각 독립적으로 암호화 즉, 패킷 데이터를 64비트씩 순차적으로 암호화하며, CBC 방식은 각각의 평문 블럭(P0 ∼ P3)을 이전의 암호문과 배타적논리합 연산하여 암호화함으로써 보안의 강도를 높이고 있다.
CBC 방식으로 DES 암호화를 수행하기 위해서는 이전의 평문 블럭의 암호화된 출력과 현재 입력되는 평문 블럭과 배타적논리합 연산을 수행하기 위해 입력버퍼 레지스터(Input Buffer Register; 이하 IBR이라 함)와 출력버퍼 레지스터(Output Buffer Register; 이하 OBR이라 함)가 필요하며, 저속의 입출력 과정의 레이턴시(Latency)를 DES 연산에 숨길 수 있다. 즉, 입력 및 출력 버퍼를 사용하여 입력과정, DES 연산과정 및 출력과정으로 구성된 3단계 매크로 파이프라인 주기는 입력 및 출력과정에 걸리는 시간과 DES 연산시간 중 최대값으로 결정되며, 이들 시간이 동일할 때 최대의 효과를 얻을 수 있다.
도 5는 서로 1/2 주기만큼 지연된 2상(Phase) 클럭을 사용하는 CBC 방식의 DES 아키텍쳐로서, 상기 제3 수학식의 연산을 수행한다.
초기 치환부를 거친 64비트의 평문 블럭이 32비트의 두 블럭으로 나뉘어진것 중의 하나인 a0블럭과 다른 하나인 b0블럭이 각각 IBR(L)과 IBR(R)에 저장되어 있는 바, '가'와 같은 임계 경로에 'A'와 같은 배타적 논리합 연산부가 포함되어 있어, 전체적인 동작 타이밍이 증가하는 문제점이 있다.
본 발명은 상기와 같은 종래 기술의 문제점을 해결하기 위한 것으로써, 임계 경로 상에 포함되는 배타적 논리합 연산부를 배제함으로써, 동작 타이밍을 감소시킬 수 있는 8사이클로 동작하는 CBC 방식의 DES 암호화 장치를 제공하는데 그 목적이 있다.
도 1은 종래기술에 따른 DES 알고리즘을 이용한 암호화 장치를 도시한 구성도,
도 2는 도 1에서의 DES 알고리즘의 중간 계산 결과들을 도시한 도면,
도 3은 ECB 방식의 DES 연산 과정을 도시한 구성도,
도 4는 CBC 방식의 DES 연산 과정을 도시한 구성도,
도 5는 서로 1/2 주기만큼 지연된 2상 클럭을 사용하는 CBC 방식의 DES 아키텍쳐,
도 6은 CBC 방식의 DES 연산 과정에서 IP와 IIP의 위치 이동에 따른 각 연산 결과를 비교한 블럭도,
도 7은 본 발명의 일실시예에 따른 8 사이클로 동작하는 CBC 방식의 DES 아키텍쳐를 도시한 구성도,
도 8은 도 7의 각 신호의 동작 타이밍을 도시한 타이밍도.
* 도면의 주요 부분에 대한 부호의 설명 *
51, 52, 53, 54: 배타적 논리합 연산부
IBR(L), IBR(R) : 입력 버퍼 레지스터
fA, fB : 사이퍼 함수
OBR(L), OBR(R) : 출력 버퍼 레지스터
상기 목적을 달성하기 위하여 본 발명은, 초기 치환부를 거친 64비트의 평문 블럭이 32비트의 두 블럭으로 나뉜 것 중 각각 현재의 왼쪽 및 오른쪽의 블럭인 (a0, b0)와, 상기 (a0, b0)의 이전의 블럭(y0, z0)와, 상기 (a0, b0)의 이후의 블럭(c0, d0)을 연속적인 입력으로 하고 초기화 블럭(i, j)를 입력으로 하여 암호화 연산하는 암호블럭연쇄 방식의 디이에스 암호화 장치에 있어서, 입력 버퍼 레지스터를 디이에스 연산을 위한 배타적 논리합 연산부 뒤에 위치시킴으로써, 임계경로 상에서 상기 배타적 논리합 연산부를 배제하는 것을 특징으로 하는 암호블럭연쇄 방식의 디이에스 암호화 장치를 제공한다.
본 발명은, IBR의 위치를 CBC 방식의 DES 연산에 필요한 배타적 논리합 연산부 뒤에 위치시킴으로써, 임계 경로에 전술한 배타적 논리합 연산부가 포함되지 않도록 함으로써, 타이밍 감소를 기하는 것을 특징으로 한다.
이하, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 가장 바람직한 실시예를 첨부한 도면을 참조하여 설명하기로 한다.
도 6은 CBC 방식의 DES 연산 과정에서 IP와 IIP의 위치 이동에 따른 각 연산 결과를 비교한 블럭도인 바, 본 발명의 기술적 특징으로 설명하기 위한 것이다.IP와 IIP는 64비트에서 64비트로의 선형 변환으로써, 하드웨어로 구현 시 단순한 와이어링으로 구현할 수 있다.
도 6은 CBC 방식의 DES 연산 과정을 나타내며, IP와 IIP가 갖는 선형 변환의 특징을 이용하여 IP와 IIP가 수행되는 위치를 변경할 수 있음을 도시하고 있다.
도 6의 (b)는 IP를 배타적 논리합 연산부 앞으로 이동시킨 것을 나타내며, 도 6의 (c)는 DES 코아 연산 직후의 IIP를 CBC 방식의 암호화 출력 C(1)에 위치시킨 것이다. DES 코아의 출력을 C'(1)이라 했을 때, 도 6의 (d)와 도 6의 (e)는 IP와 IIP가 서로 상쇄되어 CBC 방식의 DES 암호화 연산 경로에서 IP와 IIP를 효과적으로 제거할 수 있다. 즉, IP를 각 입력 평문 블럭에 적용하고, DES 코아의 출력에 IIP를 적용함으로써 CBC 방식으로 암호화 블럭을 구분할 수 있기 때문에 CBC 방식에서도 DES 코아의 연산을 왼쪽과 오른쪽 레지스터로 구분하여 수행할 수 있다.
본 발명의 전술한 원리를 이용하여 입력 버퍼 레지스터의 위치를 CBC 방식의 DES 연산에 필요한 배타적 논리합 연산부 뒤에 위치시킴으로써 입계 경로에 상기의 배타적 논리합 연산부가 포함되는 문제점을 해결한 것이다.
도 7은 본 발명의 일실시예에 따른 8 사이클로 동작하는 CBC 방식의 DES 아키텍쳐를 도시한 구성도이며, 도 8은 도 7의 각 신호의 동작 타이밍을 도시한 타이밍도이다.
도 7을 참조하면, 본 발명의 DES 암호화 장치는, 초기 치환부를 거친 64비트의 평문 블럭이 32비트의 두 블럭으로 나뉜 것 중 각각 현재의 왼쪽 및 오른쪽의 블럭인 (a0, b0)와, 상기 (a0, b0)의 이전의 블럭(y0, z0)와, 상기 (a0, b0)의 이후의 블럭(c0, d0)을 연속적인 입력으로 하고 초기화 블럭(i, j)를 입력으로 하여 암호화 연산하는 CBC 방식의 DES 암호화 장치에 있어서, 입력 버퍼 레지스터(IBR(L,R))를 디이에스 연산을 위한 배타적 논리합 연산부(51, 52) 뒤에 위치시킴으로써, 임계경로 상에서 상기 배타적 논리합 연산부(51, 52)를 배제하는 것을 특징으로 한다.
여기서, 입력 버퍼 레지스터(IBR(L,R))는, 왼쪽 레지스터(A0)의 출력과 왼쪽 입력 버스를 입력으로 받는 배타적 논리합 연산부(51)와 배타적 논리합 연산부(51)의 출력을 입력받는 왼쪽 입력 버퍼 레지스터(IBR(L))와, 오른쪽 레지스터(B0)의 출력과 오른쪽 입력 버스를 입력으로 받는 배타적 논리합 연산부(52)와 배타적 논리합 연산부(52)의 출력을 입력받는 오른쪽 입력 버퍼 레지스터(IBR(R))을 포함하며,
왼쪽 레지스터(A0) 및 왼쪽 입력 버퍼 레지스터(IBR(L))는 일정 주기의 CLK1에 동기하여 구동되며, 오른쪽 레지스터(B0) 및 오른쪽 입력 버퍼 레지스터(IBR(R))는 CLK1과 상보적인 CLK2에 동기하여 구동되며,
전술한 CLK1과 CLK2는, 전술한 수학식3 즉, Ri= Ri-2 f(Ri-1, Ki) , 여기서 i=1,2,...,16, R-1= L0에 근거하여 Ri를 연산하는데 걸리는 시간을 T라 할 때, 주기가 T인 마스터 클럭으로부터 FSM(Finite State Machine) 또는 카운터를 이용하여 생성한 서로 반전된 클럭임을 의미한다.
오른쪽 레지스터(B0)는, 오른쪽 입력 버퍼 레지스터(IBR(R))와 사이퍼 함수 fA의 배타적 논리합 연산 결과 또는 오른쪽 레지스터(B0)의 출력과 사이퍼 함수 fA의 배타적 논리합 연산 결과를 입력으로 하여 CLK1의 하강 에지에서 로드하며,
왼쪽 레지스터(A0)는, 왼쪽 입력 버퍼 레지스터(IBR(L))와 사이퍼 함수 fB의 배타적 논리합 연산 결과 또는 왼쪽 레지스터(A0)의 출력과 사이퍼 함수 fB의 배타적 논리합 연산 결과를 입력으로 하여 CLK1의 상승 에지에서 로드한다.
왼쪽 레지스터(A0)의 출력은, 배타적 논리합 연산부(51)에 입력되거나 왼쪽 출력 버퍼 레지스터(OBR(L))에 입력되며, 오른쪽 레지스터(B0)의 출력은, 배타적 논리합 연산부(52)에 입력되거나 오른쪽 출력 버퍼 레지스터(OBR(R))에 입력된다.
상기한 구성을 갖는 본 발명의 일실시예에 따른 암호화 장치의 동작을 도 8을 참조하여 상세하게 설명한다.
본 발명의 동작원리는 다음과 같다. 즉, 초기치환(IP)을 거친 64비트의 입력 평문 블럭이 왼쪽 및 오른쪽으로 나뉘어 진 것을 (a0, b0)라 하고, 현재 입력 평문 블럭 이전의 것을 (y0, z0), 현재 입력 평문 블럭 이후의 것은 (c0, d0)로 각각 표시했을 때, 이들 세개의 연속적인 입력 평문 블럭들이 CBC 방식으로 암호화 연산되는 과정은 다음과 같다.
버스의 크기가 8비트(1바이트)일 때, 바이트 단위의 입력 버스에서 입력되는 데이타를 7사이클 동안 한 바이트씩 IBR(L,R)에 저장하고, 시간 구간 [t-1, t1]에서 마지막 8번째 바이트를 입력받는다.
첫번째 입력 평문 블럭을 처리하기 위해서 64비트의 초기화 벡터(IV)가 필요하다. IV도 상기와 같이 IP를 거쳐서 왼쪽과 오른쪽으로 나누어 입력된다(i, j). 도 7에서와 같이 입력 버퍼 레지스터 IBR(L,R)은 IV를 저장하고 있는 레지스터 I 및 J로부터 액세스가 필요하다.
CLK1에 의해서 작동되는 IBR(R)은 시간 t0에서 데이타를 로드하고 CLK2에 의해서 작동되는 IBR(L)은 시간 t1에서 데이터를 로드할 수 있다. 그리고, 현재 암호화시키고자 하는 블럭(a0, b0) 직전의 입력 블럭(y0, z0)가 암호화처리된 블럭(z15, z16) 중 z15는 시간구간 [t-1, t0]에서 z16은 이전 시간 구간 [t0, t2]에서 액세스 가능하기 때문에 암호화된 이전 블럭과의 배타적 논리합 연산을 위해 시간 t0에서 IBR(R)은 b0'=z15 b0를 로드하고, IBR(L)은 시간 t1에서 a0'=z16 a0를 로드한다. 시간 t1에서 오른쪽 레지스터 B0가 사이퍼 함수 연산결과 b1=a0'f(b0', k1)를 로드하기 위해서 시간구간 [t0, t1]에서 b0'을 IBR(R)로뷰터 그리고, a0'을 입력 버스로부터 액세스한다. 즉, CBC 방식의 DES 연산에 필요한 오른쪽 배타적 논리합 연산부를 IBR(R) 앞에 위치시켜서 사이퍼 함수 연산 b1=a0'f(b0', k1)의 임계경로에서 제거할 수 있다. 전술한 왼쪽 배타적 논리합 연산부에 의한 지연(a0'=z16'a0)은 사이퍼 함수의 연산 b1=a0'f(b0', k1)에 비교하여 적기 때문에 입력 버스로부터 액세스하여도 임계경로가 증가하지 않는다.
계속해서, 시간 [t1, t2] 구간에서 레지스터 IBR(R)로부터 b0를, 레지스터 B0로 부터 b1을 액세스할 수 있으므로, 시간 [t1, t2] 구간에서 보조키 k2를 키스케쥴러로부터 입력받으면 시간 [t1, t2] 구간에서 사이퍼함수 fB를 연산하여 시간 t2에서 식 b2=b0'f(b1, k2)에 의해 연산된 b2값을 레지스터 A0에 로드할 수 있다.
시간 [t2, t3] 구간에서 레지스터 A0로부터 b2를, 레지스터 B0로부터 b1을 액세스할 수 있으므로, 시간 [t2, t3] 구간에서 보조키 K3를 키 스케쥴러로부터 입력받으면 시간 [t2, t3] 구간에서 사이퍼 함수 fA를 연산하여 시간 t3에서 식 b3=b1 f(b2, k3)에 의해 연산된 b3값을 레지스터 B0에 로드할 수 있다.
전술한 바와 같이 t0로부터 b1값을 계산하기 시작하여 b2, b3,......,b15를 계산하여 해당 레지스터에 저장하여, 8사이클 뒤인 t16을 레지스터 A0에 로드함으로써 a0와 b0를 입력으로 한 DES 연산이 완료된다. 동시에 시간 t16에서 다시 c0와 d0를 입력으로 한 DES 연산을 수행한다.
전술한 바와 같이 이루어지는 본 발명은, 입력 버퍼 레지스터의 위치를 CBC 방식의 DES 연산에 필요한 배타적 논리합 연산부 위에 위치시킴으로써, 임계경로에 배타적 논리합 연산부가 포함되지 않도록 합으로써, 타이밍 지연을 최소화할 수 있음을 실시예를 통해 알아 보았다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나 상기한 실시예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 본 발명은, 입력 버퍼 레지스터의 위치를 CGC 방식의 DES 연산에 필요한 배타적 논리합 연산부 위에 위치시켜 타이밍을 감소시킬 수 있어, 궁극적으로 DES 암호화 장치의 성능을 향상시킬 수 있는 효과를 기대할 수 있다.

Claims (8)

  1. 초기 치환부를 거친 64비트의 평문 블럭이 32비트의 두 블럭으로 나뉜 것 중 각각 현재의 왼쪽 및 오른쪽의 블럭인 (a0, b0)와, 상기 (a0, b0)의 이전의 블럭(y0, z0)와, 상기 (a0, b0)의 이후의 블럭(c0, d0)을 연속적인 입력으로 하고 초기화 블럭(i, j)를 입력으로 하여 암호화 연산하는 암호블럭연쇄 방식의 디이에스 암호화 장치에 있어서,
    입력 버퍼 레지스터를 디이에스 연산을 위한 배타적 논리합 연산부 뒤에 위치시킴으로써, 임계경로 상에서 상기 배타적 논리합 연산부를 배제하는 것을 특징으로 하는 암호블럭연쇄 방식의 디이에스 암호화 장치.
  2. 제 1 항에 있어서,
    상기 입력 버퍼 레지스터는,
    왼쪽 레지스터의 출력과 왼쪽 입력 버스를 입력으로 받는 제1배타적 논리합 연산부와 제1배타적 논리합 연산부의 출력을 입력 받는 왼쪽 입력 버퍼 레지스터와,
    오른쪽 레지스터의 출력과 오른쪽 입력 버스를 입력으로 받는 제2배타적 논리합 연산부와 제2배타적 논리합 연산부의 출력을 입력 받는 오른쪽 입력 버퍼 레지스터를 포함하는 것을 특징으로 하는 암호블럭연쇄 방식의 디이에스 암호화 장치.
  3. 제 2 항에 있어서,
    상기 오른쪽 레지스터 및 상기 오른쪽 입력 버퍼 레지스터는 일정 주기의 제1클럭에 동기하여 구동되며, 상기 왼쪽 레지스터 및 상기 왼쪽 입력 버퍼 레지스터는 상기 제1클럭과 상보적인 제2클럭에 동기하여 구동되는 것을 특징으로 하는 암호블럭연쇄 방식의 디이에스 암호화 장치.
  4. 제 3 항에 있어서,
    상기 제1 및 제2클럭은, 다음의 수식
    Ri= Ri-2 f(Ri-1, Ki) , 여기서 i=1,2,...,16, R-1= L0,는 배타적 논리합 연산을 의미함.
    에 근거하여 Ri를 연산하는데 걸리는 시간을 T라 할 때, 주기가 T인 마스터 클럭으로부터 FSM(Finite State Machine) 또는 카운터를 이용하여 생성한 서로 반전된 클럭 임을 특징으로 하는 디이에스 암호화 장치.
  5. 제 3 항에 있어서,
    상기 오른쪽 레지스터는,
    상기 오른쪽 입력 버퍼 레지스터와 제1사이퍼 함수의 배타적 논리합 연산 결과를 입력으로 하여 상기 제1클럭의 하강 에지(상기 제2클럭의 상승 에지)에서 로드하는 것을 특징으로 하는 암호블럭연쇄 방식의 디이에스 암호화 장치.
  6. 제 3 항에 있어서,
    상기 왼쪽 레지스터는,
    상기 왼쪽 입력 버퍼 레지스터 또는 상기 제1배타적 논리합 연산부의 결과와 제2사이퍼 함수의 배타적 논리합 연산를 입력으로 하여 상기 제1클럭의 상승 에지에서 로드하는 것을 특징으로 하는 암호블럭연쇄 방식의 디이에스 암호화 장치.
  7. 제 6 항에 있어서,
    상기 왼쪽 레지스터의 출력은,
    상기 제1배타적 논리합 연산부에 입력되거나 상기 제2클럭의 상승 에지에서 왼쪽 출력 버퍼 레지스터에 입력되는 것을 특징으로 하는 암호블럭연쇄 방식의 디이에스 암호화 장치.
  8. 제 5 항에 있어서,
    상기 오른쪽 레지스터의 출력은,
    상기 제2배타적 논리합 연산부에 입력되거나 상기 제1클럭의 상승 에지에서 오른쪽 출력 버퍼 레지스터에 입력되는 것을 특징으로 하는 암호블럭연쇄 방식의 디이에스 암호화 장치.
KR10-2002-0018163A 2002-04-03 2002-04-03 암호블럭연쇄 방식의 디이에스 암호화 장치 KR100418575B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0018163A KR100418575B1 (ko) 2002-04-03 2002-04-03 암호블럭연쇄 방식의 디이에스 암호화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0018163A KR100418575B1 (ko) 2002-04-03 2002-04-03 암호블럭연쇄 방식의 디이에스 암호화 장치

Publications (2)

Publication Number Publication Date
KR20030079241A KR20030079241A (ko) 2003-10-10
KR100418575B1 true KR100418575B1 (ko) 2004-02-14

Family

ID=32377635

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0018163A KR100418575B1 (ko) 2002-04-03 2002-04-03 암호블럭연쇄 방식의 디이에스 암호화 장치

Country Status (1)

Country Link
KR (1) KR100418575B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101693591B1 (ko) * 2015-06-15 2017-01-17 고려대학교 산학협력단 하드웨어와 소프트웨어 통합 설계가 가능한 경량암호 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0697930A (ja) * 1992-02-20 1994-04-08 Fujitsu F I P Kk ブロック暗号処理装置
KR0143680B1 (ko) * 1995-08-21 1998-08-01 배순훈 데스 알고리즘을 이용한 암호화장치
KR19990002840A (ko) * 1997-06-23 1999-01-15 윤종용 차분 해독법과 선형 해독법에 대해서 안전성을 보장하는 고속 블럭 암호 알고리즘
WO2000005835A1 (en) * 1998-07-20 2000-02-03 Koninklijke Philips Electronics N.V. An improved des encryption and decryption system and method
KR100316024B1 (ko) * 1999-06-30 2001-12-12 박종섭 데이터 암호 표준 알고리즘을 이용한 암호화 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0697930A (ja) * 1992-02-20 1994-04-08 Fujitsu F I P Kk ブロック暗号処理装置
KR0143680B1 (ko) * 1995-08-21 1998-08-01 배순훈 데스 알고리즘을 이용한 암호화장치
KR19990002840A (ko) * 1997-06-23 1999-01-15 윤종용 차분 해독법과 선형 해독법에 대해서 안전성을 보장하는 고속 블럭 암호 알고리즘
WO2000005835A1 (en) * 1998-07-20 2000-02-03 Koninklijke Philips Electronics N.V. An improved des encryption and decryption system and method
KR100316024B1 (ko) * 1999-06-30 2001-12-12 박종섭 데이터 암호 표준 알고리즘을 이용한 암호화 장치

Also Published As

Publication number Publication date
KR20030079241A (ko) 2003-10-10

Similar Documents

Publication Publication Date Title
Mangard et al. A highly regular and scalable AES hardware architecture
JP4828068B2 (ja) コンピュータで効率的な線形フィードバック・シフト・レジスタ
KR100377172B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러
KR100377175B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
JP4025722B2 (ja) データ暗号化のための方法および装置
Trimberger et al. A 12 Gbps DES encryptor/decryptor core in an FPGA
JP2002032018A (ja) データ暗号化標準アルゴリズムを利用した暗号化装置
Preneel et al. Recent developments in the design of conventional cryptographic algorithms
JP3824121B2 (ja) 暗号データの復号化処理方法および装置
Lam et al. An improved method for locating and extracting the eye in human face images
WO2001017152A1 (en) A method for the hardware implementation of the idea cryptographic algorithm - hipcrypto
US6873707B1 (en) Hardware-based encryption/decryption employing cycle stealing
Gilbert et al. Decorrelated Fast Cipher: an AES Candidate
KR20050087271A (ko) 가변 키 길이를 가지는 초기 라운드 키에 대응하는 암호라운드 키와 복호 라운드 키를 선택적으로 발생하는 키스케쥴 장치
US20020009196A1 (en) Encryption device using data encryption standard algorithm
Miroshnik et al. Uses of programmable logic integrated circuits for implementations of data encryption standard and its experimental linear cryptanalysis
KR100418575B1 (ko) 암호블럭연쇄 방식의 디이에스 암호화 장치
Mohan et al. Revised aes and its modes of operation
Sasongko et al. Architecture for the secret-key BC3 cryptography algorithm
RU2738321C1 (ru) Способ криптографического преобразования и устройство для его осуществления
Mayer et al. Evaluation of different Rijndael implementations for high end servers
KR102348802B1 (ko) Aes 암호화 및 복호화 회로
Charlwood et al. Evaluation of the XC6200-series architecture for cryptographic applications
Pyrgas et al. An 8-bit compact architecture of lesamnta-LW Hash function for constrained devices
KR100377173B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20070116

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee