KR100260534B1 - 디이에스형 암호화 방법 및 장치 - Google Patents

디이에스형 암호화 방법 및 장치 Download PDF

Info

Publication number
KR100260534B1
KR100260534B1 KR1019970045333A KR19970045333A KR100260534B1 KR 100260534 B1 KR100260534 B1 KR 100260534B1 KR 1019970045333 A KR1019970045333 A KR 1019970045333A KR 19970045333 A KR19970045333 A KR 19970045333A KR 100260534 B1 KR100260534 B1 KR 100260534B1
Authority
KR
South Korea
Prior art keywords
data
bit
round
bits
input
Prior art date
Application number
KR1019970045333A
Other languages
English (en)
Other versions
KR19990021759A (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 KR1019970045333A priority Critical patent/KR100260534B1/ko
Publication of KR19990021759A publication Critical patent/KR19990021759A/ko
Application granted granted Critical
Publication of KR100260534B1 publication Critical patent/KR100260534B1/ko

Links

Images

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

따라서, 본 발명은 목적은 차동해독법에 의한 공격에 강하게 평문을 암호문화 할 수 있는 DES형 암호화 방법 및 장치를 제공함에 있다.
본 발명에서는 평문데이타에 대하여 비트축소와 대치연산을 이후에 논리연산과 순열연산이 연속적으로 수행됨에 의해 암호함수가 생성되게 된다. 이 암호함수는 평문데이타에 반복적으로 적용됨으로써 암호문이 발생되게 된다.

Description

디이에스형 암호화 방법 및 장치
본 발명은 디지털 문서에 보안성을 제공하는 암호화 알고리즘에 관한 것으로, 특히 평문을 암호문으로 변환하는 DES형 암호화(DES-like Cryptographic) 방법 및 장치에 관한 것이다.
최근 통신망과 컴퓨터 기술이 급속하게 발달함에 따라 디지털 문서에 대한 보안성이 요구되고 되었다. 이 디지털 문서에 보안성을 제공하기 위한 방안으로 평문을 암호문으로 변환하는 암호화 알고리즘이 사용되고 있는 추세에 있다. 이 암호와 알고리즘은 스마트카드(Smart Card)와 같은 하드웨어의 형태로 구현되거나 또는 중앙처리장치(Central Processing Unit)에 의해 수행될 수 있는 소프트웨어(Software)의 형태로 구현된다. 이러한 암호화장치 및 또는 암호화 소프트웨어는 통신단말기 등에 적용되어 디지털 방송정보의 불법 시청과 같은 디지털문서의 불법 이용을 방지하게 된다.
디지털 문서에 보안성을 제공하기 위한 암호화 알고리즘으로는 1997년 국제표준 알고리즘으로 채택되어진 DES 암호화 알고리즘이 금융망과 상업용 통신망 등에서 주로 사용되어 왔었다. 이 DES 암호화 알고리즘은 반복 블럭 암호화시스템에 속하는 것으로서 비도가 약한 암호함수를 적절히 반복 사용함으로써 비도를 높인다. 여기서, 암호함수가 적용되는 각 단계 또는 각 블럭들은 “라운드(Round)”라 한다. 이들 각 라운드(RD)에 포함된 암호함수는 단순히 비트연산, 순열(Permutation) 및 대치(Substitution)를 사용함으로서 DES 암호화시스템이 공개키 암호시스템에 비하여 빠른 속도로 평문을 암호문으로 변환하게 한다.
실제로, DES 암호화 시스템은 디지털 문서에 제공될 보안성의 경중에 따라 제1도 내지 제4도에서와 같이 2라운드, 3라운드, 4라운드 및 16라운드 등의 형태로 구현될 수 있다. 제1도 내지 제4도에 있어서, DES 암호화 시스템은 초기순열기(14)에 종속 접속된 적어도 2이상의 라운드(RD)들과 최종순열기(16)를 구비한다. 초기순열기(14)는 64 비트의 평문데이타를 입력하고 그 평문데이타의 비트 순서를 일정한 규칙에 따라 재배열한다. 그리고 초기순열기(14)는 64 비트의 데이타를 각각 32 비트씩을 가지는 좌측데이타(L0)와 우측데이타(R0)로 분리한다. 라운드들(RDi) 각각은 함수처리기(10)를 이용하여 전단의 라운드(RDi-1)로부터의 이전의 우측데이타(Ri-1)에 대한 암호함수(fi(Ki,Ri-1))를 생성하고 가산기(상세하게는 XOR 게이트)에 의해 암호함수(fi(Ki,Ri-1))를 이전의 좌측데이타(Li-1)와 가산(상세하게는 익스클루시브-오아(Exclusive-OR)연산)을 함으로써 현재의 우측데이타(Ri)를 생성한다. 아울러, 라운드들(RDi) 각각은 전단의 라운드(RDi-1)로부터의 이전의 우측데이타(Ri-1)를 현재의 좌측데이타(Li)로서 현재의 우측데이타(Ri)와 함께 후단의 라운드(RDi-1) 또는 최종순열기(16)쪽으로 출력한다. 라운드(RDi)들 각각에서 출력되는 좌측 및 우측데이타(Li,Ri)는 각각 수식 1과 수식 2와 같이 표현된다.
[수식 1]
Figure kpo00001
[수식 2]
Figure kpo00002
수식 2에 있어서, “Ki”는 48비트의 암호키(Subkey)이고 fi에 포함된 이전의 Ri-1는 48 비트로 확장된 것이다. 최종순열기(16)는 마지막 라운드(RDn)로부터의 좌측 및 우측데이타(Ln,Rn)를 포함하는 64비트의 데이타의 비트 순서를 초기순열기(14)의 역행렬에 해당하는 순서로 재배열함으로써 64 비트의 암호문데이타를 발생하게 된다. 아울러 최종순열기(16)는 전단에 종속 접속되어진 라운드(RDi)의 수가 우수개(즉, 2, 4 또는 16)인 경우에는 좌측 및 우측데이타(Ln,Rn)의 위치가 서로 바뀌어져 있기 때문에 재배열을 수행하기 전에 좌우측데이타(Ln,Rn)의 위치를 서로 바꾸는 동작을 수행한다.
제1도 내지 제4도에 도시된 함수처리기(10)는 제5도에서와 같이 비트신장기(20), XOR연산기(22), 8개의 대치기들(24)과 하나의 순열기(26)로 구성된다. 제5도는에 있어서, 비트신장기(20)는 이전의 라운드(RDi-1)로부터의 32비트의 우측데이타(Ri-1)중 16비트를 재배열하고 나머지 16비트를 2배로 신장시킴으로써 32비트의 우측데이타(Ri-1)를 45비트의 우측데이타로 신장시킨다. XOR연산기(22)는 비트신장기(20)로부터의 48 비트의 우측데이타를 48비트의 암호키(Ki)와 XOR연산하고 그 연산된 데이타를 8개의 대치기들(24)에 6비씩 분산·공급한다. 8개의 대치기들(24)은 6비트의 데이타를 4비트의 데이타로 대치시키게 된다. 이를 위하여, 대치기들(24) 각각은 6비트의 데이타를 이용하여 행열연산을 수행한다. 이때, 각 대치기(24)에 입력되는 6비트들 중 최상위비트와 최하위 비트는 대치기(24)의 행이 되고 나머지 4비트들은 열이 되게 된다. 마지막으로 순열기(26)는 8개의 대치기들(24)로부터의 32비트의 데이타의 비트 순서를 바꾸는 역할로서 평문데이타와 암호기가 가능한 빨리 암호문에 영향을 미치게 하는 확산(Diffusion)을 수행한다. 이를 위하여, 순열기(26)는 비트의 데이타를 2개의 블럭으로 분할하고 각 블럭 내의 4개의 원소들이 그들이 속해 있는 블럭과 다른 블럭으로 이동시킨다. 이때, 모든 원소들은 5 이상의 거리를 이동하게 된다.
이와 같은 DES 암호화 시스템은 발표 초기부터 오늘날까지 56 비트라는 키의 크기와 내부 구조 설계 원칙의 비공개 등으로 끊임없이 안정성을 의심받아 왔다. 이러한 상황은 1990년 Biham과 Shamir가 공동으로 발표한 차동해독법(differential cryptanalysis; 이하 “DC”라 함)에 의해 DES 뿐만 아니라 대부분의 반복 블록 암호시스템을 쉽게 공격받을 수 있게 되면서부터 더욱 더 증폭되었다. 이 DC는 컴퓨터의 파워와 용량이 향상됨에 따라 실제적인 공격법으로 자리잡게 되었다.
참고로, DC를 이용하여 N 라운드의 DES 암호화 시스템을 공격하는 방법을 소개하면, 다음과 같다. N 라운드의 DES 암호화 시스템을 공격하기 위해서 DC는 확률이 큰 N-1 라운드의 특성을 필요로 한다. 라운드의 수 N이 큰 경우에, 확률이 큰 특성을 찾는 것은 어렵다. 그러나 2, 3, 4 라운드의 반복 가능한 특성을 여러번 연결하여 큰 라운드의 특성을 얻을 수 있다. DES 암호화 시스템의 공격은 최종 라운드의 암호함수로부터 시작되는데 최종 라운드의 암호 함수의 입력 쌍은 암호문의 우측 32 비트와 동일하므로 출력 XOR만 알면 공격 가능하다. 따라서 최종 라운드암호함수의 출력 XOR은 N 라운드 특성을 이용하면 비교적 높은 확률로 예측할 수 있어, 다수의 평문 쌍들과 이에 대응되는 암호문 쌍을 가지고 있다면 최종 라운드암호함수에 적용된 키를 찾을 수 있다. X
Figure kpo00003
X*=X′인 평문의 2개의 입력 벡터 X, X*에 대해 초기치환을 적용하여 XOR하면 IP[X]
Figure kpo00004
IP[X]*=IP(X′)이다. 따라서 DC를 이용한 암호문의 분석에서 초기치환은 아무런 영향을 주지 않으므로 초기치환과 역초기치환이 없는 DES를 간주하자.
제1도에 도시된 2라운드 DES 암호화 시스템의 제2라운드(KD2)의 특성이 존재 할 조건으로 f(R2)=0, f(R1)=0이 되는 R1, R2이 존재하는 것이다. 반복 가능한 2 라운드 특성을 구성하기 위해 R1=0으로 하였을 때 2라운드 특성이 구성될 확률은 non-zero 입력 XOR을 갖는 적어도 3개의 대치기들(S1,S2,S3)에 영향을 받아 R2=19 60 00 00x일 때 f(R2)=0이 될 확률은(14/64)*(8/64)*(10/64)로 약 1/234이다.
제2도에 도시된 3라운드 DES 암호화 시스템의 3라운드(RD3)의 반복 가능한 특성이 존재할 조건은 R1
Figure kpo00005
f(R1)=R2
Figure kpo00006
f(R2), f(R1f
Figure kpo00007
(R1))=R1
Figure kpo00008
R2가 존재하는 것이다. 2라운드 반복 가능한 특성을 찾을 때의 암호함수내의 순열(P)은 아무런 영향을 주지 못했으나, 3사운드 반복 가능한 특성을 가질 때 치환(P)은 많은 영향을 미치게 된다. 3라운드 특성부터는 중앙의 라운드를 중심으로 대칭인 특성을 가질 때 효율적인 공격이 가능한데 이런 특성을 반복 특성이라 하며, 3라운드 반복 특성은 제4도에서 R1또는 R2가 0인 경우와 R1=R1(R1≠R2)인 경우를 생각할 수 있다. 첫 번째, R1또는 R2가 0인 경우의 3라운드 반복 특성이 존재할 조건식은 R1,=0인 경우 f(R2)=R2와 f(f(R2))=R2로 바뀌고 f(R2)=R2로부터 f(f(R2))=f(R2)=R2이다. 따라서 R2=0인 경우 3라운드 반복 가능한 특성이 존재할 조건식은 f(R2)=R2로 (16/64)6이하이다. 두 번째로, R1=R2(R1≠0)인 경우의 3라운드 반복 특성이 존재할 조건식은 R1,=0인 경우 f(R1
Figure kpo00009
f(R1))=0으로, R1
Figure kpo00010
f(R1)=0인 경우와 R1
Figure kpo00011
f(R1)
Figure kpo00012
0인 경우로 나누어 생각할 수 있다. R1
Figure kpo00013
f(R1)=0인 경우 DES 암호화 시스템의 3라운드 반복 가능한 특성의 확률은 f′(R1)=R1의 확률의 제곱으로 (16/64)6이하이고, R1
Figure kpo00014
f(R1)
Figure kpo00015
0인 경우의 DES 암호화 시스템의 3라운드 반복 특성의 확률은 (1/234)*(a′->f(a′)의 확률)2이하로 (1/234)*(16/64)2이하이다.
제3도의 DES 암호화 시스템의 4라운드 반복 특성이 존재하기 위해서는 f(R1)=f(R1
Figure kpo00016
f(R2)), f(R2)=f(R2
Figure kpo00017
f(R1))를 만족하는 R1, R2가 존재해야 한다. 4라운드 반복 가능한 특성은 제3도에서 R1또는 R2가 zero인 경우와 R1=R2(R1≠0)인 경우로 나누어 생각할 수 있다. 첫 번째로, R1또는 R2가 zero인 경우 4라운드 반복 가능한 특성이 존재할 조건은 R1=0이라고 가정할 때 0=f(f(R2))와 f(R2)=f(R2)로 바뀐다. 따라서 f(f(R2))=0일 확률을 계산하면 된다. 만일 f(R2))이면 4라운드 반복 가능한 특성이 아니고 2라운드 반복 가능한 특성을 두 번 연결한 것이 된다. 따라서 f(R2)≠0인 경우에 대해서만 고려해 보면 R1=0이고, f(R2)≠0일 때 4라운드 반복 가능한 특성의 확률은(R2->f(R2)의 확률)2와 f(R2)->0의 확률의 곱으로 (16/64)4*(1/23B) 이하이다. 두 번째로, R1=R2(R1≠0)인 경우 4라운드 반복 가능한 특성이 존재할 조건은 f(R2
Figure kpo00018
f(R2))=f(R2)로 (f(R2
Figure kpo00019
f(R2))=f(R2))가 만족될 때 R2->f(R2)의 확률)2와 R2
Figure kpo00020
f(R2)→f(R2)2의 곱으로 (16/64)8이하이다.
라운드의 수가 클 경우 DC에 의한 공격은 2 라운드 반복 가능한 특성을 이용하여 큰 라운드의 특성을 구성하나, 제4도에서와 같은 16 라운드의 DES 암호화 시스템을 공격할 경우의 DC는 15 라운드 반복 특성을 이용해 공격한다. 15 라운드 반복특성은 2 라운드 특성을 7번 사용하고 확률 1을 갖는 1 라운드 특성을 추가하여 구성한다. 따라서 15 라운드 반복특성은(1/234)7로 약 2-56확률로 구성된다. 따라서, 16 라운드 DES 암호화 시스템의 공격은 257쌍 정도의 암호문 쌍이 필요하여 오히려 XOR공격 방법보다 효과가 없게 된다.
이에 따라, 1992년 biham과 shamir는 1990년 처음 발표된 DC 공격방법을 발전시켜 16 라운드 DES를 237의 복잡도로 공격할 수 있는 새로운 DC 공격 방법을 제안하였다. 제안된 방법은 제6도와 같은 구조로 맨 앞 2라운드에서 (1/234)6의 확률을 갖는 13 라운드 반복 특성을 사용하였다.
P를 임의의 64 비트 평문이라 하고, v0,…,v4095는 첫 라운드의 S1, S2, S3 box에만 non-zero가 입력될 때 발생될 수 있는 212개의 32 비트라고 하면, 224의 평문 쌍이 존재하며, 이들 평문 쌍들의 XOR은 언제나 (vk,q)의 형태를 가지며, vk는 212번 발생한다. 입력될 수 있는 평문 쌍(Pi,
Figure kpo00021
)과 이에 대한 암호문쌍(Ti,
Figure kpo00022
t)은 수식 3 및 수식 4와 같이 정의할 수 있다.
[수식 3]
Figure kpo00023
[수식 4]
Figure kpo00024
이들 평문 쌍들에 의한 XOR 값들 중에 212쌍은 첫 라운드 암호함수의 출력XOR 값과 일치하므로 두 번째 라운드에 (q,0)가 입력되는 반복 특성을 얻을 수 있다. 따라서, 16 라운드 반복 특성을 만족하는 암호키를 얻을 수 있는 평문 쌍(right Pair)을 얻을 수 있는 확률은 212*(1/234)6=2-35.2가 되고 16 라운드 DES의 공격은 232개의 암호문쌍을 237번 분석함으로서 공격이 가능하다.
실제로, Biham과 Shamir는 DC를 이용하여 6 라운드로 축소된 DES 암호화시스템을 0.3초 이내에 그리고 8 라운드의 암호화시스템은 2분 이내에 공격했으며, 나가 표준 라운드인 16 라운드의 DES 암호화시스템도 과도검색법(exhaustlve search) 보다 훨씬 빠르게 공격할 수 있다고 하였다. 비록 DC는 16 라운드 DES암호화시스템을 완벽하게 깨지는 못하였지만 앞으로 반복 암호 알고리즘 개발 시에는 반듯이 DC에 대한 보안이 필요하게 된다. 아울러, 암호함수, 키 생성 알고리즘, 라운드 수 등에 변화를 준 수 많은 DES형 블록 암호 알고리즘이 제안되어 왔다.
현재의 추세는 IDEA의 경우에서와 같이 대수적 성질들이 다른 연산을 사용하여 비선형선, confusion 효과를 달성하여 안전도를 강하하는 방법, unbalanced feistel nitwork 개념에서와 같이 다양하게 일반화된 feistel network한 암호 알고리즘을 설계하는 방법 등이 있다. 그러나 위에서 제안된 암호 알고리즘들을 하드웨어로 구현하는 것은 몇 가지 어려움이 예상된다.
따라서, 본 발명은 목적은 차동해독법에 의한 공격에 강하게 평문을 암호문화할 수 있는 DES형 암호화 방법 및 장치를 제공함에 있다.
제1도는 2라운드 DES 암호화 시스템을 개략적으로 도시하는 도면.
제2는 3라운드 DES 암호화 시스템을 개략적으로 도시하는 도면.
제3도는 4라운드 DES 암호화 시스템을 개략적으로 도시하는 도면.
제4도는 16 라운드 DES 암호화 시스템을 개략적으로 도시하는 도면.
제5도는 제1도 내지 제4도에 도시된 함수처리기를 상세하게 도시하는 도면.
제6도는 본 발명의 실시예에 따른 DES형 암호화 시스템의 함수처리기를 도시하는 도면.
상기 목적을 달성하기 위하여, 본 발명에 따른 DES형 암호화 방법은 평문데이타에 대하여 비트축소와 대치연산을 수행한 다음 논리연산과 순열연산을 연속적으로 수행하여 암호함수를 발생하는 단계와, 암호함수들을 평문데이타에 반복적으로 적용하여 암호문데이타를 생성하는 단계를 포함한다.
본 발명에 따른 DES형 암호화 장치는 각각 암호함수를 발생하기 위하여 평문데이타에 대하여 비트축소와 대치연산을 수행한 다음 논리연산과 순열연산을 연속적으로 수행하는 종속 접속된 적어도 2 이상의 함수처리수단과, 입력라인에 종속 접속됨과 아울러 상기 적어도 2 이상의 함수처리수단에 각각 접속되어 상기 평문데이타와 상기 함수처리수단으로부터의 상기 암호함수를 논리 연산하는 적어도 2 이상의 논리연산수단을 구비한다.
상기 목적 외에 본 발명의 다른 목적 및 특징들은 첨부도면을 참조한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.
이하, 본 발명의 실시예를 제6도와 제1도 내지 제4도를 참조하여 상세히 설명하기로 한다.
제6도는 제1도 내지 제4도에 도시된 DES 암호화 시스템에 사용될 수 있는 본 발명의 실시예에 따른 함수처리기를 상세하게 도시한다. 설명상의 편의를 위하여, 본 발명의 실시예에 따른 함수처리기는 제1도 내지 제4도에서 i번째 라운드(RDi)에 포함된 함수처리기라 한다. 이 함수처리기는 48 비트의 암호키(Ki)를 이용하여 이전라운드(RDi-1)로부터 32 비트의 우측데이타(Ri-1)에 대한 암호함수(f(R1))를 생성한다.
제6도에 있어서, 함수처리기는 비트신장기(30)에 직렬 접속된 제1XOR연산기(32)와 제1레지스터(34)를 구비한다. 비트신장기(30)는 이전의 라운드(RDi-1)로부터의 32 비트의 우측데이타(Ri-1)중 16 비트를 재배열하고 나머지 16 비트를 2배로 신장시킴으로써 32 비트의 우측데이타(Ri-1)를 48 비트의 우측데이타로 신장시킨다. 제1XOR연산기(32)는 비트신장기(30)로부터의 48 비트의 우측데이타를 48 비트의 암호키(Ki)와 XOR연산하고 그 연산된 데이타를 6 비트의 길이를 가지는 제1 내지 제8레지스터(34A 내지 34H)에 분산·공급한다. 제1 내지 제8레지스터들(34A 내지 34H)은 각각 제1XOR연산기(32)로부터의 48 비트의 데이타를 6 비씩 나누어 저장하게 된다. 즉, 제1레지스터(34A)는 최상위 6 비트의 제1분할데이타(X1′)을, 제2레지스터(34B)는 차상위 6 비트의 제2분할데이타(X2′)를 각각 일시적으로 저장하게 된다. 마찬가지로, 제3 내지 제8레지스터(34C 내지 34H)도 상위 13번째 비트로부터 48번째 비트까지의 36 비트 데이타가 6 비트씩 나누어진 제3 내지 제8분할데이타(X3′ 내지 X8′)를 각각 일시적으로 저장하게 된다.
본 발명의 실시예에 따른 함수처리기는 제1 내지 제8레지스터(34A 내지 34H)에 각각 병렬 접속되어진 제1 내지 제8비트축소기(38A 내지 38H)와 제1 내지 제8대치기(40A 내지 40H)를 구비한다. 제1 내지 제8비트축소기들(38A 내지 38H) 각각은 대응 접속되어진 제지스터들(34A 내지 34H)로부터의 6 비트의 데이타(X1′ 내지 X8′)중 하위 4 비트만을 추출하여 치환데이타(X1 내지 X8)로써 대응 접속된XOR연산기(40A 내지 40H)에 공급한다. 제1 내지 제8대치기들(40A 내지 40H)도 각각 대응 접속된 레지스터(34A 내지 34H)로부터의 6 비트의 분할데이타(X1′ 내지 X8′)를 4 비트의 대용데이타(S1 내지 S8)로 대치시킨다. 이를 위하여, 대치기들(40)각각은 6 비트의 데이타를 이용하여 행열연산을 수행한다. 이때, 각 대치기들(40)에 입력되는 6 비트의 분할데이타(X1′ 내지 X8′)중 최상위비트와 최하위 비트는 대치기(40)의 행이 되고 나머지 4 비트들은 열이 되게 된다.
또한, 본 발명의 실시예에 따른 함수처리기는 제2 내지 제9XOR연산기들(42A 내지 42H)로부터의 32 비트의 데이타를 입력하는 순열기(44)를 구비한다. 제3XOR연산기(42A)는 제1비트축소기(38A)로부터의 비트 축소된 제1분할데이타(X1)와 제8 대치기(40H)로부터의 제8대용데이타(S8)를 XOR연산하고, 제3XOR연산기(42B)는 제2비트축소기(38B)로부터의 비트 축소된 제1분할데이타(X2)와 제1대치기(40A)로부터의 제1대용데이타(S2)를 XOR연산한다. 이와 비슷하게 제3 내지 제9XOR연산기(42C 내지 42H)도 제3 내지 제8비트축소기(38C 내지 38H)로부터의 비트 축th된 제3 내지 제7분할데이타(X3 내지 X7)와 제2 내지 제7대치기(40B 내지 40G)로부터의 제2 내지 제7대용데이타(S2 내지 S7)를 각각 XOR연산하게 된다. 이들 제2 내지 제9XOR연산기들(42A 내지 42H)의 출력데이타(Y1 내지 YB)는 수식 5 내지 수식 12와 같이 표현될 수 있다.
[수식 5]
Figure kpo00025
[수식 6]
Figure kpo00026
[수식 7]
Figure kpo00027
[수식 8]
Figure kpo00028
[수식 9]
Figure kpo00029
[수식 10]
Figure kpo00030
[수식 11]
Figure kpo00031
[수식 12]
Figure kpo00032
마지막으로 순열기(44)는 8개의 XOR 연산기들(42A 내지 42H)로부터의 32 비트의 데이타(Y1 내지 Y8)의 비트 순서를 바꾸는 역할로서 평문데이타와 암호키가 가능한 빨리 암호문에 영향을 미치게 하는 확산(Diffusion)을 수행한다. 이를 위하여, 순열기(1)는 32 비트의 데이타를 2개의 블럭으로 분할하고 각 블럭 내의 2개의 원소들이 그들이 속해 있는 블럭과 다른 블럭으로 이동시킨다. 이때, 모든 원소들은 5 이상의 거리를 이동하게 된다. 이와 같은 동작을 수행하는 순열기(44)에서는 32 비트의 암호함수(f(Y1′,Y2′,Y3′,Y4′,Y5′,Y6′,Y7′,Y8′)가 발생하게 된다.
이상과 같이, 본 발명의 실시예에 따른 함수처리기는 기존의 함수처리기에서와 동일하게 비트신장을 수행하고, 대치(S)는 전 라운드의 암호함수의 출력 값들과 현 라운드에서의 대치기들(40)의 출력 값들이 XOR하는 구조로 바꾸고, 순열(P)는 암호함수의 출력을 우측으로 한 블록(4 비트)씩 쉬프트 시키는 network permutation으로 바꾸어 암호함수가 generalized feister network으로 DES의 암호함수 보다 DC의 확률을 줄일 수 있는 구조로되어 있다. 그리고 network permutation을 통해 암호함수의 출력을 우측으로 한 블록 쉬프트 시킨다. S-box와 network permutation의 관계는 다음과 같다. 첫째, 앞 라운드의 S-box의 출력들이 입력된다. 둘째, 앞 라운드의 S-box 중 S(i-1)의 출력은 다음 라운드 S-box의 S(i+1)에 입력된다. 셋째, S(i)의 출력과 xi+1의 XOR 4비트 중 첫 번째 비트는 S-box의 입력 6비트를 b1,b2,b3,b4,b5,b6으로 나타낼 때 다음 라운드 S(i+1)의 b6이 되고, 네 번째 비트는 S(i+3)의 b1이 된다.
다음으로 본 발명의 실시예에 따른 함수처리기는 제1도 내지 제4도에 도시된 함수처리기(10) 대치되었을 경우, 즉 2, 3, 4 및 16 라운드 DES 암호화 시스템들에 대한 본 발명의 암호함수에 대한 반복특성을 살펴보기로 한다.
본 발명에 따른 암호함수의 2 라운드 반복 특성은 f(R1)=0, f(R2)=0이 되는 R1, R2가 존재할 확률을 구하는 것으로, 본 발명에 따른 암호함수의 2 라운드 반복특성이 존재하기 위해서는 암호함수 내의 모든 대치기들(40)의 출력 Si(Xi′)과 Xi+1이 모두 zero이어야 한다. 즉, Si(XI′)
Figure kpo00033
xi+1=0(i=1,2,…,8)이 되어야 한다. 그러나 본 발명에 따른 암호함수의 2 라운드 반복 특성이 존재하기 위해서는 모든 대치기(40)의 입력 XOR이 non-zero가 될 수 밖에 없음으로 2 라운드 반복 가능한 최대 확률은 (16/64)8이하인 2-16이하가 된다.
본 발명에 따른 암호함수의 3 라운드 반복 특성도 R1또는 R2가 0인 경우와 R1=R2(R1≠0)인 경우를 생각할 수 있다. 먼저, R1또는 R2가 0인 경우의 3 라운드 반복 특성이 존재할 조건식은 R1=0이라고 할 때 f(R2)=R2이다. 본 발명에 따른 암호함수의 3 라운드 반복 특성이 존재하기 위해서는 Y1,Y2,…,Y8,이 모두 같은 값을 가져야 한다. 즉, Si(Xi′)
Figure kpo00034
(i=1,2,…,8)이 일정한 값을 가져야 한다. 따라서, f(R2)=R2의 확률은 (x2/64)*(x3/64)*(x4/64)*(x5/64)*(x6/64)*(x7/64)*(x8/64)로 3 라운드 반복 특성이 존재할 확률은 f(R2)=R1의 확률의 제곱으로 (16/64)16이하이다. 다음으로, R1=R2(R1≠0)인 경우의 3 라운드 반복 가능한 특성이 존재할 조건식은 f(R2
Figure kpo00035
f(R2))=0으로, R2
Figure kpo00036
f(R2)=0인 경우와 R2
Figure kpo00037
f(R2)
Figure kpo00038
0인 경우로 나누어 생각할 수 있다. 만일 R2
Figure kpo00039
f(R2)=0이면 3 라운드 반복 가능한 특성의 확률은 f(R2)=R2의 확률의 제곱으로 본 발명에 따른 암호함수의 3 라운드 반복 특성이 존재하기 위해서는 Y1,Y2,…,Y8이 모두 같은 값을 가져야 한다. 즉, Si(Xi′)
Figure kpo00040
xi+1(i-1,2,…,8)이 일정한 값을 가져야 한다. 따라서, f(R2)=R2의 확률은 (x1/64)*(x2/64)*(x3/64)*(x4/64)*(x5/64)*(x6/64)*(x7/64)*(x8/64)로 3 라운드 반복 특성이 존재할 확률은 f(b′)=b′의 확률의 제곱으로 (16/64)16이하이다.
본 발명에 따른 암초함수의 4 라운드의 반복 가능한 특성은 R1또는 R2가 zero인 경우와 R1=R2(R1≠0)인 경우로 나누어 생각할 수 있다. 먼저, R1=0, f(R2)≠0인 경우에 제안된 암호함수의 f(f(R2))=0이 되기 위해서는 모든 대치기(40)의 입력 XOR이 non-zero가 되어야 함으로 R2->f(R2)의 확률은 (x/64)4이하이다. 그러므로 f(R2)≠0일 때 제안된 암호함수의 4 라운드 반복 특성은 (R2->f(R2)의 확률)2와 f(R2)≠0의 확률의 곱으로 (16/64)8*(16/64)8이하이다. 한편, R1=R2(R1≠0)인 경우 4 라운드 반복 가능한 특성이 존재할 조건은 f(R2
Figure kpo00041
f(R2))=f(R2)로 f(R2
Figure kpo00042
f(R2))=f(R2)가 되기 위해서는 모든 대치기들(40)의 입력 XOR이 non-zero가 되어야 함으로 R2->f(R2)의 확률은 (x/64)4가 되어야 하고, 암호함수의 입력이 R2
Figure kpo00043
f(R2)일 때 f(R2
Figure kpo00044
f(R2))=f(R2)가 되는 확률은 (16/64)8이하이다. 그러므로 R1=R2(R1≠0)일 때 턱 발명에 따른 암호함수의 4 라운드 반복 특성은 (R2->f(R2)의 확률)2와 R2
Figure kpo00045
f(R2)→f(R2)의 확률의 곱으로 (16/64)8*(16/64)8이하이다.
마지막으로, 본 발명의 암호함수기가 적용된 16 라운드의 DES 암호화 시스템에 대한 DC의 공격 회수는 212*((1/14)8)6=2--84이하가 된다.
이상과 같이 본 발명에 따른 함수처리기가 적용되어진 2,3,4 및 16 라운드 DES 암호화 시스템에서 암호함수를 종래의 암호함수를 비교하면, 표 1과 같이 된다.
표 1에서 “*”는 조건 식에서 R1또는 R2가 0인 경우를 나타내고, “**”는 조건 식에서 R1=R2(R1≠0)인 경우이다.
상술한 바와 같이, 본 발명에 따른 DES형 암호화 방법 및 장치는 DC에 대한 대응 방안으로 DES의 암호함수를 일부 수정하여 N-라운드 특성이 구성될 확률을 낮추는 방법을 사용하였다. 따라서, 본 발명에 따른 DES형 암호화방법 및 장치는 국제 표준으로 공인된 DES 암호화 시스템의 기본 구조를 그대로 유지하면서 암호함수의 일부를 수정하여 DC 공격에 대한 비도를 높일 수 있다. 아울러, 본 발명에 따른 DES형 암호화 방법 및 장치는 기존의 DES와 같은 수준에서 안전성을 평가하였으므로 기존의 DES 암호화시스템 이상의 비도 및 안전성이 보장되며 실용적 가치가 있어 관련된 응용 분야에서 효과적으로 활용될 수 있을 것으로 판단된다.
이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여 져야만 할 것이다.

Claims (2)

  1. 평문데이타에 대하여 비트신장, 암호키와의 논리연산, 비트축소, 그리고 순열연산을 연속적으로 수행하여 암호함수를 발생하는 단계와, 상기 암호함수들을 상기 평문데이타에 반복적으로 적용하여 암호문데이타를 생성하는 단계를 포함하고, 상기 비트축소가, 사기 암호키와의 연산된 평문데이타를 제1비트 수의 분할데이타들로 분할하는 과정과, 상기 분할데이타들 각각을 행렬 연산하여 그들 각각에 대한 제2비트 수의 대치데이타들을 마련하는 과정과, 상기 분할데이타들 각각으로부터 제2비트 수의 정보를 추출하여 추출데이타들을 마련하는 과정과, 그리고 상기 추출데이타들 각각에 상기 대치데이타들을 대응·연산하는 과정이 연속됨에 의해 수행되는 것을 특징으로 하는 DES형 암호화 방법.
  2. 평문데이타와 암호키를 이용하여 암호함수를 발생하는 함수처리수단과, 상기 평문데이타와 상기 함수처리수단으로부터의 상기 암호함수를 연산하는 연산수단을 가짐과 아울러 상기 평문데이타가 입력되는 입력라인에 종속 접속되어진 다수의 이상의 라운드들을 포함하고, 상기 암호처리수단이, 상기 평문데이타의 비트 수를 신장시키는 비트신장기와, 상기 비트신장기로부터의 평문데이타를 상기 암호키와 논리 연산하는 제1논리연산기와, 상기 제1논리연산기로부터의 데이타를 제1비트 수 만큼씩 분할 입력하고 그 입력된 제1비트 수의 데이타를 행렬 연산하여 제2비트 수의 대치데이타를 생성하는 다수의 대치기와, 상기 제1논리연산기로부터의 데이타를 제1비트 수 만큼씩 분할 입력하고 그 입력된 제1비트 수의 데이타로부터 제2비트 수의 정보를 각각 추출하는 다수의 비트축소기들과, 상기 비트축소기들로부터의 데이타와 상기 대치기들로부터의 데이타를 각각 논리 연산하는 다수의 제2논리연산기들과, 상기 제2논리연산기들로부터의 제2비트 수의 데이타들을 순열 처리하는 순열기를 구비하는 것을 특징으로 하는 DES형 암호화 장치.
KR1019970045333A 1997-08-30 1997-08-30 디이에스형 암호화 방법 및 장치 KR100260534B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970045333A KR100260534B1 (ko) 1997-08-30 1997-08-30 디이에스형 암호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970045333A KR100260534B1 (ko) 1997-08-30 1997-08-30 디이에스형 암호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR19990021759A KR19990021759A (ko) 1999-03-25
KR100260534B1 true KR100260534B1 (ko) 2000-07-01

Family

ID=19520633

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970045333A KR100260534B1 (ko) 1997-08-30 1997-08-30 디이에스형 암호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR100260534B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101245010B1 (ko) 2005-03-25 2013-03-18 소니 주식회사 정보 처리 장치
US11418339B2 (en) * 2011-09-13 2022-08-16 Combined Conditional Access Development & Support, Llc (Ccad) Preservation of encryption

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100384873B1 (ko) * 2000-05-26 2003-05-22 주식회사 하이닉스반도체 데이터 암호화 표준 알고리즘을 이용한 암호화 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101245010B1 (ko) 2005-03-25 2013-03-18 소니 주식회사 정보 처리 장치
US11418339B2 (en) * 2011-09-13 2022-08-16 Combined Conditional Access Development & Support, Llc (Ccad) Preservation of encryption

Also Published As

Publication number Publication date
KR19990021759A (ko) 1999-03-25

Similar Documents

Publication Publication Date Title
Çavuşoğlu et al. A novel hybrid encryption algorithm based on chaos and S-AES algorithm
JP4828082B2 (ja) 対称キー暗号用の置換ボックス
KR100296958B1 (ko) 블록 데이터 암호화 장치
US6031911A (en) Practical S box design
CA3007348A1 (en) Fast format-preserving encryption for variable length data
Shadangi et al. Novel Arnold scrambling based CBC-AES image encryption
Sangwan Text encryption with huffman compression
Sakib ANALYSIS ON FUNDAMENTAL ALGEBRAIC CONCEPTS AND INFORMATION SECURITY SYSTEM
Jassem et al. Enhanced Blowfish algorithm for image encryption based on chaotic map
Heys et al. On the security of the CAST encryption algorithm
Noura et al. Overview of efficient symmetric cryptography: dynamic vs static approaches
Razaq et al. A novel technique to improve nonlinearity of substitution box without disturbing its mathematical properties
KR100260534B1 (ko) 디이에스형 암호화 방법 및 장치
Patil et al. An enhancement in international data encryption algorithm for increasing security
Arroyo et al. Caesar cipher with goldbach code compression for efficient cryptography
Luma et al. New dynamical key dependent S-Box based on chaotic maps
Parihar et al. Blowfish algorithm: a detailed study
CN110532763B (zh) 一种基于高阶正形置换的密码构造方法及系统
Mileva et al. Investigation of some cryptographic properties of the 8x8 S-boxes created by Quasigroups
Ahmad et al. A novel approach for efficient S-box design using multiple high-dimensional chaos
JPH1124558A (ja) 暗号装置
Misra et al. Analysing the parameters of chaos based image encryption schemes
JPH1124559A (ja) 暗号装置
US7142673B1 (en) Method for the cryptographic conversion of L-bit input blocks of digital data into L-bit output blocks
Aktaş Implementation of GOST 28147-89 encryption and decryption algorithm on FPGA

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
FPAY Annual fee payment

Payment date: 20080319

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee