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

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

Info

Publication number
KR100316024B1
KR100316024B1 KR1019990025820A KR19990025820A KR100316024B1 KR 100316024 B1 KR100316024 B1 KR 100316024B1 KR 1019990025820 A KR1019990025820 A KR 1019990025820A KR 19990025820 A KR19990025820 A KR 19990025820A KR 100316024 B1 KR100316024 B1 KR 100316024B1
Authority
KR
South Korea
Prior art keywords
bit
data
bits
encryption standard
operation unit
Prior art date
Application number
KR1019990025820A
Other languages
English (en)
Other versions
KR20010005033A (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 KR1019990025820A priority Critical patent/KR100316024B1/ko
Publication of KR20010005033A publication Critical patent/KR20010005033A/ko
Application granted granted Critical
Publication of KR100316024B1 publication Critical patent/KR100316024B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B05SPRAYING OR ATOMISING IN GENERAL; APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
    • B05CAPPARATUS FOR APPLYING FLUENT MATERIALS TO SURFACES, IN GENERAL
    • B05C5/00Apparatus in which liquid or other fluent material is projected, poured or allowed to flow on to the surface of the work
    • B05C5/02Apparatus in which liquid or other fluent material is projected, poured or allowed to flow on to the surface of the work the liquid or other fluent material being discharged through an outlet orifice by pressure, e.g. from an outlet device in contact or almost in contact, with the work

Abstract

본 발명은 암호화 장치에 관한 것으로, 특히 네트워크 통신에 적합한 데이터 암호화 표준(data encryption standard) 알고리즘을 이용한 암호화 장치에 관한 것이다. 그 장치는 8비트 입력 데이터를 64비트로 확장하기 위한 제1저장수단, 상기 제1저장수단에 저장된 64비트중 왼쪽 32비트 및 오른쪽 32비트를 입력받아 데이터 암호화 표준 알고리즘을 수행하기 위한 제1 및 제2연산수단, 및 상기 제2연산부의 연산 결과를 일시 저장하고, 이를 상기 제1연산부에 입력으로 출력하는 제2저장수단을 포함하며, 상기 제1 및 제2연산수단 각각은 64비트의 입력 데이터중 오른쪽 32비트와 키값을 입력받아, 적어도 확장 순열, 치환, 및 순열 연산을 수행하는 데이터 암호화 표준 연산부, 및 64비트 입력 데이터중 왼쪽 32비트와 상기 데이터 암호화 표준 연산부의 출력을 배타 논리합 연산하는 배타 논리합 연산부를 포함하는 것을 특징으로 한다. 본 발명에 의하면, 칩 면적을 대폭 줄이면서도 하드웨어 효율을 극대화할 수 있다는 효과가 있다.

Description

데이터 암호 표준 알고리즘을 이용한 암호화 장치{Encryption device using data encryption standard algorithm}
본 발명은 암호화 장치에 관한 것으로, 특히 케이블 모뎀 등의 네트워크 통신에 적합한 데이터 암호화 표준(Data Encryption Standard: 이하, DES라 칭함) 알고리즘을 이용한 암호화 장치에 관한 것이다.
일반적으로 DES 알고리즘이란 데이터와 키(key) 모두 64 비트를 이용하여 16 라운드(round) 연산후, 64비트의 암호화 데이터를 생성하는 알고리즘을 말한다. 이러한 DES 알고리즘을 구현한 하드웨어는 주로 비트 조작(manipulation)과 서플링(shuffling) 동작이 대부분이어서 구현이 용이하며, 소프트웨어적으로 구현하는 경우에는 상당히 연산시간이 길어지고 보통 5ms 정도의 연산 시간이 소요된다. 이러한 DES 알고리즘의 하드웨어 구현에 있어서, 64 비트 단위의 입력에 대한 총 16회의 반복적인 쉬프팅 동작과 키 처리 과정을 거쳐 64비트 암호화 데이터를 생성하게 된다. 그런데, 케이블 모뎀 등과 같은 네트워크 통신 분야에서는 대부분 바이트 단위의 데이터를 프레임 형태로 처리하고 송수신된다. 따라서, 이러한 입력 특성을 고려하지 않고 바로 64비트 DES 알고리즘을 사용하게 되면 하드웨어적인 비효율성이 증대된다.
도 1은 종래의 DES 알고리즘을 이용한 암호화 장치를 설명하기 위한 도면으로, 도면 부호 1은 초기 순열(initial permutation)을, 10은 DES 알고리즘을 수행하는 기본 구조를 나타내며, L(i)은 i번째 64비트중 왼쪽 32비트를, R(i)은 i번째 64비트중 오른쪽 32비트를, Ki는 i번째 키를, 그리고 XOR는 배타논리합 연산부를 각각 나타낸 것이다.
먼저, 기본 구조(10)를 살펴보면, 왼쪽 32비트 L(0)(11)과 오른쪽 32비트 R(0)(12)에 대해서, R(0)(12)과 키(k1)(13)가 DES 연산부(14)에 입력되고 연산 처리된 후, 그 결과와 L(0)(11)이 배타논리합 연산부(15)에 의해 배타논리합 연산되어 출력된다. 이때, R(0)(12)은 다음 단의 왼쪽 32비트(L(1))가 된다. 이때, DES 연산부(14)는 DES 알고리즘을 수행하기 위한 확장 순열(expansion permuation), 키 생성(key generation), 치환(S-BOX subsitution), 그리고 순열(P-BOX permuation) 등의 연산을 수행한다.
기본 DES 알고리즘은 다음 과정을 통해 수행되며, 이를 상세히 설명하면 다음과 같다.
(1). 64 비트 입력(I64)중 오른쪽 32비트 R(i)은 다음 단의 왼쪽 32비트(L(i+1))가 된다.
(2). 오른쪽 32 비트(R(i))는 선택 과정을 거쳐 48비트 데이터가 된다.
(3). 64비트 키는 48비트 1~16까지의 n번째 보조 키를 생성하기 위해 사용된다. 이때, 48비트 보조 키는 (2) 과정을 통해 생성된 48비트와 배타논리합 연산을 통해 48비트의 결과를 얻는다.
(4). (2) 과정을 수행한 후의 48비트의 결과는 8개의 6비트 블록으로 나누어지며, 6비트중 4비트가 선택되어 32비트 출력이 얻어진다.
(5). (4)과정의 32비트 출력은 각 비트마다 위치를 새로이 변환한다.
(6). 32비트 블록은 입력의 왼쪽 32비트(L(i))와 배타 논리합 연산을 행한 결과가 다음 단의 오른쪽 32비트(L(i+1))가 된다.
상술한 과정을 통해 64비트의 결과를 얻게 되고, 이러한 과정을 총 16번 반복 수행된 후, 그 결과로서 왼쪽 32비트(L(16))(16)와 오른쪽 32비트(R(16))(17)를 얻게 되며, 이는 초기 순열(1)에 대한 역 순열(18)로서 출력된다.
이상에서 살펴본 바와 같이, 종래의 DES 알고리즘을 이용한 암호화 장치는 기본 구조(10)를 통해 연산을 총 16회에 걸쳐서 쉬프팅 및 키 처리 과정을 반복 수행하는 형태의 구조를 가진다. 이러한 하드웨어 구조는 집적화시 칩 면적을 크게 차지하게 되며, 케이블 모뎀 등의 네트워크 통신 분야에서는 바이트 단위의 데이터 송수신이 이루어짐을 고려할 때, 적합한 구조를 가지고 있지 못하다. 즉, 입력 특성을 고려하지 않고 바로 64 비트 DES 알고리즘을 적용하게 되면 하드웨어적인 효율성이 떨어진다는 문제점이 있었다.
본 발명은 칩면적을 대폭 줄이면서도 하드웨어 효율을 극대화할 수 있는 케이블 모뎀 등의 네트워크 통신에 적합한 DES 알고리즘을 이용한 암호화 장치를 제공하는데 그 목적이 있다.
도 1은 종래의 데이터 암호화 표준 알고리즘을 이용한 암호화 장치를 설명하기 위한 도면.
도 2는 본 발명에 따른 데이터 암호화 표준 알고리즘을 이용한 암호화 장치를 설명하기 위한 도면.
* 도면의 주요 부분에 대한 설명
20 : 제1연산부 30 : 제2연산부
40, 50 : 키 제공부 67 : 저장부
상기 목적을 달성하기 위한 본 발명에 따른 DES 알고리즘을 이용한 암호화 장치는 8비트 입력 데이터를 64비트로 확장하기 위한 제1저장수단, 상기 제1저장수단에 저장된 64비트중 왼쪽 32비트 및 오른쪽 32비트를 입력받아 데이터 암호화 표준 알고리즘을 수행하기 위한 제1 및 제2연산수단, 및 상기 제2연산부의 연산 결과를 일시 저장하고, 이를 상기 제1연산부에 입력으로 출력하는 제2저장수단을 포함하며, 상기 제1 및 제2연산수단 각각은 64비트의 입력 데이터중 오른쪽 32비트와키값을 입력받아, 적어도 확장 순열, 치환, 및 순열 연산을 수행하는 데이터 암호화 표준 연산부, 및 64비트 입력 데이터중 왼쪽 32비트와 상기 데이터 암호화 표준 연산부의 출력을 배타 논리합 연산하는 배타 논리합 연산부를 포함하여 이루어진다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하면 다음과 같다.
도 2는 본 발명에 따른 DES 알고리즘을 이용한 암호화 장치를 설명하기 위한 도면으로, 20 및 30은 동일 구조를 가지는 제1 및 제2연산부를, 40 및 50은 키 제공부를, 62는 제어부를, 63은 초기 순열을, 64는 최종 왼쪽 32비트(L(16))를, 65는 최종 오른쪽 32비트(R(16))를, 66은 역 순열을, 그리고 67은 저장부를 각각 나타낸 것이다.
케이블 모뎀 등의 네트워크 통신에서는 기본적인 바이트 단위의 프레임 형태로 데이터가 처리되고 송수신된다. 따라서, 이러한 입력 특성을 고려하여 하드웨어가 구현되어야 한다. 따라서, 8비트의 입력(I8)에 대하여 8번의 사이클 동안 입력되는 데이터를 모아서 최종 64비트 데이터(I64))를 만들기 위해 쉬프트 레지스터 등의 저장체(61)를 이용한다. 이때, 제어부(62)는 이를 위한 각종 제어신호를 발생하게 된다. 먼저, 입력 64 비트(I64)에 대해서 그 비트 위치를 치환하는 동작을 수행하게 되며, 이를 초기 순열(63)이라고 한다. DES 알고리즘을 수행하기 위해서는 16회의 반복적인 쉬프팅 동작 및 키 처리 과정을 수행해야 한다. 따라서, 16개의 반복적인 하드웨어가 필요하게 된다. 하지만 본 발명은 초기 입력이 8비트 단위로 입력되므로 64비트를 만들기 위해서는 8번의 동작 클럭 기간이 소요되게 된다. 따라서, 이를 활용하여 중간 단계별 저장 공간과 키 멀티플렉싱 동작을 수행함에 의해 제1 및 제2연산부(20, 30)를 통해 2개의 쉬프팅 동작과 키 처리 동작만으로 DES 알고리즘의 하드웨어 구현이 가능하다. 먼저, 제1연산부(20)에서는 오른쪽 32비트(R(i))(22)와 K(i) 제공부(40)에 의해 생성된 키(K(i))를 DES 연산부(23)에 연산 처리된 후, 배타논리합 연산부(XOR)(24)에 출력된다. 이때, DES 연산부(23)는 DES 알고리즘의 구현을 위한 확장 순열(expansion permuation), 치환(S-BOX subsitution), 그리고 순열(P-BOX permuation) 연산을 각각 수행한다. 이어서, 왼쪽 32비트(L(i))(21)와 DES 연산부(23)의 연산 결과는 배타 논리합 연산부(24)를 통해 배타 논리합 연산된 후, 제2연산부(30)의 오른쪽 32비트(R(i+1))(32)에 출력된다. 제2연산부(30)의 왼쪽 32비트(L(i+1))(31)는 제1연산부(20)의 오른쪽 32비트(R(i))(22)의 출력이 된다. DES 연산부(33)는 오른쪽 32비트(R(i+1))(32)와 K(i+1) 제공부(50)에 의해 생성된 키(K(i+1)에 대한 DES 연산을 수행한 후, 배타 논리합 연산부(34)에 출력한다. 배타 논리합 연산부(34)는 DES 연산부(33)의 출력과 왼쪽 32비트(L(i+1))(31)를 배타 논리합 연산을 수행한 후, 그 결과는 저장부(67)에 저장되며, 마찬가지로 오른쪽 32비트(R(i+1))(32)도 저장부(67)에 저장된다. 제1 및 제2연산부(20, 30)의 동작이 완료된 후, 저장부(67)에 저장된 데이터는 다시 반복 연산을 수행하기 위해 제1연산부(20)에 입력된다. 즉, 제1 및 제2연산부(20, 30)의 연산 결과는 저장부(67)에 일시 저장된 후, 반복 연산을 위해 제1연산부(20)에 입력되는 반복 동작을 8회 수행한다. 따라서, 8회의 반복 동작이 완료된 후, 최종 결과는 왼쪽 32비트(L(16)(64) 및 오른쪽 32비트(R(16))(65)가 되고, 이는 다시 역 순열(66)에 의해 초기 순열(63)의 반대되는 동작을 수행하여 최종 64비트 암호화 데이터(O64)를 얻게 된다.
이상에서 살펴본 바와 같이, 본 발명은 바이트 단위로 처리되는 네트워크 통신에서의 DES 알고리즘을 수행하기 위한 것으로, 암호화 처리 단위인 64비트를 만들기 위한 8 사이클 동작을 수행할 때, 총 16회의 반복 연산 동작 대신에 2개의 연산부를 구성하고, 그 연산 결과를 저장 공간에 일시 저장한 후, 이를 이용하여 다시 8회의 반복 동작만을 수행하도록 함으로써, 집적화시의 칩면적을 대폭 줄이면서도 DES 알고리즘의 구현이 가능하다.
본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
상기와 같이 이루어지는 본 발명에 따른 DES 알고리즘을 이용한 암호화 장치는 네트워크 통신에서의 입력 특성을 고려하여 일반적인 DES 알고리즘을 구현하기 위한 16회의 반복 연산 동작을 8비트 입력 데이터의 64비트화가 진행되는 동안에 8회의 반복 연산 동작만으로 수행하도록 하였다. 따라서, 칩면적을 대폭 줄일 수 있으며, 입력 특성에 맞는 하드웨어 구조를 실현함으로써, 하드웨어의 효율을 극대화할 수 있다는 효과가 있다.

Claims (2)

  1. 8비트 입력 데이터를 64비트로 확장하기 위한 제1저장수단;
    상기 제1저장수단에 저장된 64비트중 왼쪽 32비트 및 오른쪽 32비트를 입력받아 데이터 암호화 표준 알고리즘을 수행하기 위한 제1 및 제2연산수단; 및
    상기 제2연산부의 연산 결과를 일시 저장하고, 이를 상기 제1연산부에 입력으로 출력하는 제2저장수단을 포함하며,
    상기 제1 및 제2연산수단 각각은 64비트의 입력 데이터중 오른쪽 32비트와 키값을 입력받아, 적어도 확장 순열, 치환, 및 순열 연산을 수행하는 데이터 암호화 표준 연산부; 및
    64비트 입력 데이터중 왼쪽 32비트와 상기 데이터 암호화 표준 연산부의 출력을 배타 논리합 연산하는 배타 논리합 연산부를 포함하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘을 이용한 암호화 장치.
  2. 제1항에 있어서, 상기 키값을 생성하는 키 제공수단을 더 구비한 것을 특징으로 하는 데이터 암호화 표준 알고리즘을 이용한 암호화 장치.
KR1019990025820A 1999-06-30 1999-06-30 데이터 암호 표준 알고리즘을 이용한 암호화 장치 KR100316024B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990025820A KR100316024B1 (ko) 1999-06-30 1999-06-30 데이터 암호 표준 알고리즘을 이용한 암호화 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990025820A KR100316024B1 (ko) 1999-06-30 1999-06-30 데이터 암호 표준 알고리즘을 이용한 암호화 장치

Publications (2)

Publication Number Publication Date
KR20010005033A KR20010005033A (ko) 2001-01-15
KR100316024B1 true KR100316024B1 (ko) 2001-12-12

Family

ID=19597777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990025820A KR100316024B1 (ko) 1999-06-30 1999-06-30 데이터 암호 표준 알고리즘을 이용한 암호화 장치

Country Status (1)

Country Link
KR (1) KR100316024B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100377176B1 (ko) * 2000-06-12 2003-03-26 주식회사 하이닉스반도체 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
KR100418575B1 (ko) * 2002-04-03 2004-02-14 주식회사 하이닉스반도체 암호블럭연쇄 방식의 디이에스 암호화 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100845835B1 (ko) * 2002-01-21 2008-07-14 주식회사 엘지이아이 다단계 암호화 및 복호화 시스템

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
JPH0697930A (ja) * 1992-02-20 1994-04-08 Fujitsu F I P Kk ブロック暗号処理装置
US5317638A (en) * 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5003597A (en) * 1989-12-21 1991-03-26 Xerox Corporation Method and apparatus for data encryption
JPH0697930A (ja) * 1992-02-20 1994-04-08 Fujitsu F I P Kk ブロック暗号処理装置
US5317638A (en) * 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100377176B1 (ko) * 2000-06-12 2003-03-26 주식회사 하이닉스반도체 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
KR100418575B1 (ko) * 2002-04-03 2004-02-14 주식회사 하이닉스반도체 암호블럭연쇄 방식의 디이에스 암호화 장치

Also Published As

Publication number Publication date
KR20010005033A (ko) 2001-01-15

Similar Documents

Publication Publication Date Title
US3958081A (en) Block cipher system for data security
JP4127472B2 (ja) データ変換装置及びデータ変換装置のデータ変換方法及びプログラム及びコンピュータ読み取り可能な記録媒体
US5351299A (en) Apparatus and method for data encryption with block selection keys and data encryption keys
KR100377176B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
US20080276106A1 (en) Data Conversion Apparatus and Data Conversion Method
KR100377172B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치의 키스케쥴러
KR20020006475A (ko) 암호화장치, 복호장치 및 확대키 생성장치, 확대키생성방법 및 기록매체
KR100390821B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
CN112564890B (zh) 一种加速sm4算法的方法、装置、处理器及电子设备
Miroshnik et al. Uses of programmable logic integrated circuits for implementations of data encryption standard and its experimental linear cryptanalysis
EP1059760A1 (en) Method for the block-encryption of discrete data
KR100316024B1 (ko) 데이터 암호 표준 알고리즘을 이용한 암호화 장치
JP5182295B2 (ja) 暗号化装置及び暗号処理方法
KR20030051111A (ko) AES Rijndael(라인달) 암호 알고리듬의 하드웨어 구현을위한 라운드 처리부 회로 및 온라인 라운드 키 생성 회로
JP5113833B2 (ja) 中央演算処理装置の演算能力を高めるための暗号方法および暗号装置
JP3770584B2 (ja) 暗号鍵生成回路
JP4395527B2 (ja) 情報処理装置
JPH07261662A (ja) 暗号演算回路
JP2000075785A (ja) 高速暗号処理回路および処理方法
KR100284587B1 (ko) 대칭키 암호의 라운드 회로
KR100316025B1 (ko) 데이터 암호 표준 알고리즘을 이용한 암호 및 복호 장치
KR102282363B1 (ko) 비트 시리얼 hight 연산 장치 및 그 방법, 그 방법을 프로세서가 수행하도록 하기 위한 명령어를 포함하는 컴퓨터 판독 가능한 기록매체 및 컴퓨터 프로그램
KR100377173B1 (ko) 데이터 암호화 표준 알고리즘을 이용한 암호화 장치
KR100788902B1 (ko) 믹스컬럼블록 장치 및 이를 이용한 곱셈연산방법
KR20030087893A (ko) 라운드 키의 온라인 계산 기능을 갖는 모듈화 구조의 AESRijndael 라운드 키 생성 회로

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: 20070927

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee