KR19990021759A - DS encryption method and apparatus - Google Patents

DS encryption method and apparatus Download PDF

Info

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

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

따라서, 본 발명은 목적은 차동해독법에 의한 공격에 강하게 평문을 암호문화할 수 있는 DES형 암호화 방법 및 장치를 제공함에 있다.Accordingly, an object of the present invention is to provide a DES type encryption method and apparatus capable of encrypting plain text strongly against attacks by a differential decryption method.

본 발명에서는 평문데이타에 대하여 비트축소와 대치연산을 이후에 논리연산과 순열연산이 연속적으로 수행됨에 의해 암호함수가 생성되게 된다. 이 암호수는 평문데이타에 반복적으로 적용됨으로써 암호문이 발생되게 된다.In the present invention, the cryptographic function is generated by performing bit reduction and substitution operation on the plain text data, followed by logical operation and permutation operation. This cipher number is repeatedly applied to the plaintext data to generate ciphertext.

Description

디이에스형 암호화 방법 및 장치DS encryption method and apparatus

본 발명은 디지탈 문서에 보안성을 제공하는 암호화 알고리즘에 관한 것으로, 특히 평문을 암호문으로 변환하는 DES형 암호화 (DES-like Crypographic) 방법 및 장치에 관한 것이다.TECHNICAL FIELD The present invention relates to an encryption algorithm that provides security for digital documents, and more particularly, to a DES-like cryptography method and apparatus for converting plain text into cipher text.

최근 통신망과 컴퓨터 기술이 급격하게 발달함에 따라 디지탈 문서에 대한 보안성이 요구되고 되었다. 이 디지탈 문서에 보안성을 제공하기 위한 방안으로 평문을 암호문으로 변환하는 암호화 알고리즘이 사용되고 있는 추세에 있다. 이 암호화 알고리즘은 스마트카드(Smart Card)와 같은 하드웨어의 형태로 구현되거나 또는 중앙처리장치(Central Processing Unit)에 의해 수행될 수 있는 소프트웨어(Software)의 형태로 구현된다. 이러한 암호화장치 및 또는 암호화 소프트웨어는 통신단말기 등에 적용되어 디지탈 방송정보의 불법시청과 같은 디지탈 문서의 불법이용을 방지하게 된다.With the recent rapid development of communication networks and computer technologies, the security of digital documents has been required. In order to provide security for this digital document, an encryption algorithm for converting plain text into cipher text is being used. The encryption algorithm is implemented in the form of hardware such as a smart card or in the form of software that can be executed by a central processing unit. Such an encryption device and / or encryption software is applied to a communication terminal to prevent illegal use of digital documents such as illegal viewing of digital broadcasting information.

디지탈 문서에 보안성을 제공하기 위한 암호화 알고리즘으로는 1997년 국제표준 알고리즘으로 채택되어진 DES 암호화 알고리즘이 금융막과 상업용 통신망 등에서 주로 사용되어 왔었다. 이 DES 암호화 알고리즘은 반복 블럭 암호화시스템에 속하는 것으로서 비도가 약한 암호함수를 적절히 반복 사용함으로써 비도를 높인다. 여기서, 암호함수가 적용되는 각 단계 또는 각 블럭들은 라운드(Round)라 한다. 이들 각 라운드(RD)에 포함된 암호함수는 단순히 비트연산, 순열(Permutation) 및 대치(Substitution)을 사용함으로서 DES 암호화 시스템이 공개키 암호시스템에 비하여 빠른 속도로 평문을 암호문으로 변환하게 한다.As an encryption algorithm for providing security to digital documents, the DES encryption algorithm, which was adopted as an international standard algorithm in 1997, has been mainly used in financial screens and commercial communication networks. This DES encryption algorithm belongs to a repetitive block encryption system, which increases the secretion rate by appropriately using weak cryptographic functions. Here, each step or each block to which the cryptographic function is applied is called a round. The cryptographic functions included in each of these rounds (RD) simply use bitwise operations, permutation, and substitution to allow the DES encryption system to convert plain text into ciphertext faster than public key cryptosystems.

실제로, 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와 같이 표현된다.In practice, the DES encryption system may be implemented in the form of 2 rounds, 3 rounds, 4 rounds, and 16 rounds, as shown in FIGS. 1 to 4, depending on the security of the digital document. 1 to 4, the DES encryption system has at least two rounds (RDs) and a final sequencer 16 cascaded to the initial sequencer 14. The initial sequencer 14 inputs 64-bit plain text data and rearranges the bit order of the plain text data according to a predetermined rule. The initial sequencer 14 separates 64-bit data into left data L 0 and right data R 0 each having 32 bits. The round (RD i) each of the cryptographic function (f i (K i for prior right data (R i-1) from the front end round (RD i-1) of by using the function processor (10), R i -1 )) and add the cryptographic function f i (K i , R i-1 ) to the previous left data (L i-1 ) by using an adder (more specifically, the XOR gate). Exclusive-OR operation to generate the current right data (R i ). Furthermore, with the round (RD i) each of the former on the right side data (R i-1) from the front end round (RD i-1) of a current of the left data (L i) are the right data (R i) Together with the output of the next round (RD i + 1 ) or final permuter (16). The left and right data L i and R i output in each of the rounds RDi are expressed as Equation 1 and Equation 2, respectively.

[수식 1][Equation 1]

Li= Ri-1 L i = R i-1

[수식 2][Formula 2]

Ri= Li-1 fi(Ki,Ri-1)R i = L i-1 f i (K i , R i-1 )

수식 2에서 있어서, Ki는 48 비트의 암호키(Subkey)이고 fi에 포함된 이전의 Ri-1는 48 비트로 확장된 것이다. 최종순열기(16)는 마지막 라운드(RDn)로부터의 좌측 및 우측데이타(Ln, Rn)를 포함하는 64 비트의 데이타의 비트순서를 초기순열기(14)의 역행렬에 해당하는 순서로 재배열함으로써 64 비트의 암호문데이타를 발생하게 된다. 아울러 최종순열기(16)는 전단에 종속 접속되어진 라운드(RD)의 수가 우수개(즉, 2, 4 또는 16)인 경우에는 좌측 및 우측데이타(Ln, Rn)의 위치가 서로 바뀌어져 있기 때문에 재배열을 수행하기 전에 좌우측데이타(Ln, Rn)의 위치를 서로 바꾸는 동작을 수행한다.In Equation 2, K i is a 48-bit subkey and the previous R i-1 included in f i is extended to 48 bits. The final sequencer 16 rearranges the bit order of the 64-bit data including the left and right data (L n , R n ) from the last round RDn in the order corresponding to the inverse of the initial sequencer 14. By doing so, 64-bit ciphertext data is generated. In addition, the final permuter 16 is the position of the left and right data (L n , R n ) is exchanged when the number of round (RD) is cascaded to the front end (that is, 2, 4 or 16) Therefore, before rearranging, the positions of the left and right data (L n , R n ) are exchanged.

도 1 내지 도 3에 도시된 함수처리기(10)는 도 5에서와 같이 비트신장기(20), XOR 연산기(22), 8개의 대치기들(24)과 하나의 순열기(26)로 구성된다. 도 5에 있어서, 비트신장기(20)는 이전의 라운드(RDi-1)로부터의 32 비트의 좌측데이타(Li-1)중 16비트를 재배열하고 나머지 16 비트를 2배로 신장시킴으로써 32 비트의 좌측데이타(Li-1)를 48 비트의 우측데이타로 신장시킨다. XOR연산기(22)는 비트신장기(20)로부터의 48비트의 우측데이타를 48비트의 암호키(Ki)와 XOR 연산하고 그 연산된 데이타를 8개의 대치기들(24)에 6비트씩 분산·공급한다. 8개의 대치기들(24)은 6비트의 데이타를 4 비트의 데이타로 대치시키게 된다. 이를 위하여, 대치기들(24) 각각은 6비트의 데이타를 이용하여 행열연산을 수행한다. 이 때, 각 대치기(24)에 입력되는 6비트들중 최상위비트와 최하위비트는 대치기(24)의 행이 되고 나머지 4비트들은 열이 되게 된다. 마지막으로 순열기(26)는 8개의 대치기들(24)로부터 32 비트의 데이타의 비트순서를 바꾸는 역할로서 평문데이타와 암호기이 가능한 빨리 암호문에 영향을 미치게 하는 확산(Difusion)을 수행한다. 이를 위하여, 순열기(26)는 32 비트의 데이타를 2개의 블럭으로 분할하고 각 블럭내의 4개의 원소들이 그들이 속해 있는 블럭과 다른 블럭으로 이동시킨다. 이 때, 모든 원소들은 5 이상의 거리를 이동하게 된다.The function processor 10 shown in FIGS. 1 to 3 is composed of a bit extender 20, an XOR operator 22, eight substitutes 24 and one permuter 26 as shown in FIG. . In FIG. 5, the bit extender 20 reorders 16 bits of the 32 bits of left data L i-1 from the previous round RD i-1 and 32 bits by doubling the remaining 16 bits. Extends the left data (L i-1 ) of to 48 bits of right data. The XOR operator 22 performs an XOR operation on the 48-bit right-hand data from the bit extender 20 with the 48-bit encryption key (K i ) and distributes the computed data by eight bits to eight substitutions 24. Supply. The eight substitutions 24 replace six bits of data with four bits of data. For this purpose, each of the substitutions 24 performs a matrix operation using 6 bits of data. At this time, the most significant bit and the least significant bit of the six bits input to each replacement 24 become a row of the replacement 24 and the remaining four bits become a column. Finally, the permuter 26 changes the bit order of the 32-bit data from the eight substitutions 24 to perform the difusion that the plaintext data and the encryptor affect the ciphertext as soon as possible. To this end, the permuter 26 divides the 32-bit data into two blocks and moves the four elements in each block to a block different from the one to which they belong. At this time, all elements move by 5 or more distances.

이와 같은 DES 암호화 시스템은 발표 초기부터 오늘날까지 56 비트라는 키의 크기와 내부 구조 설계 원칙의 비공개 등으로 끊임없이 안정성을 의심받아 왔다. 이러한 상황은 1990년 Biham과 Shamir가 공동으로 발표한 차동해독법(differential cryptanalysis; 이하 DC라 함)에 의해 DES 뿐만 아니라 대부분의 반복 블록 암호시스템을 쉽게 공격받을 수 있게 되면서부터 더욱 더 증폭되었다. 이 DC는 컴퓨터의 파워와 용량이 향상됨에 따라 실제적인 공격법으로 자리잡게 되었다.The DES encryption system has been constantly questioned for stability from the beginning of the day to the present because of the 56-bit key size and the internal design principle. This situation has been further amplified by the fact that in 1990 biham and Shamir jointly announced differential cryptanalysis (DC), making it easy to attack DES as well as most repetitive block cryptosystems. This DC has become a real attack method as computers power and capacity increase.

참고로, DC를 이용하여 N 라운드의 DES 암호화 시스템을 공격하는 방법을 소개하면, 다음과 같다. N 라운드의 DES 암호화 시스템을 공격하기 위해서 DC는 확률이 큰 N-1 라운드의 특성을 필요로 한다. 라운드의 수 N이 큰 경우에, 확률이 큰 특성을 찾는 것은 어렵다. 그러나 2,3,4 라운드의 반복 가능한 특성을 여러번 연결하여 큰 라운드의 특성을 얻을 수 있다. DES 암호화 시스템의 공격은 최종 라운드의 암호함수로부터 시작되는데 최종 라운드의 암호 함수의 입력쌍은 암호문의 우측 32 비트와 동일하므로 출력 XOR 만 알면 공격 가능하다. 따라서 최종 라운드 암호함수의 출력 XOR은 N 라운드 특성을 이용하면 비교적 높은 확률로 예측할 수 있어, 다수의 평문쌍들과 이에 대응되는 암호문쌍을 가지고 있다면 최종 라운드 암호함수에 적용된 키를 찾을 수 있다. XX*=X'인 평문의 2개의 입력 벡터 X,X*에 대해 초기치환을 적용하여 XOR하면 IP(X)IP(X*)=IP(X')이다. 따라서 DC를 이용한 암호문의 분석에서 초기치환은 아무런 영향을 주지 않으므로 초기치환과 역초기치환이 없는 DES을 간주하자.For reference, a method of attacking an N-round DES encryption system using DC is as follows. In order to attack an N round DES encryption system, the DC needs the characteristics of the probable N-1 rounds. If the number N of rounds is large, it is difficult to find the most likely characteristic. However, a large round can be obtained by connecting the repeatable properties of 2, 3, 4 rounds several times. The attack of the DES encryption system starts with the last round cryptographic function. The input pair of the final round cryptographic function is the same as the 32 bits to the right of the ciphertext. Therefore, the output XOR of the final round cryptographic function can be predicted with a relatively high probability by using the N-round feature, so that if there are multiple plaintext pairs and corresponding ciphertext pairs, the key applied to the final round cryptographic function can be found. X If we apply the initial substitution to two input vectors X, X * of plaintext with X * = X ', we apply IP (X) IP (X * ) = IP (X '). Therefore, in the analysis of cipher text using DC, initial substitution has no effect, so consider DES without initial substitution and reverse initial substitution.

도 1에 도시된 2 라운드 DES 암호화 시스템의 제2라운드(RD2)의 특성이 존재할 조건으로 f(R2)=0, f(R1)=0이 되는 R1, R2이 존재하는 것이다. 반복 가능한 2 라운드 특성을 구성하기 위해 R1=0으로 하였을 때 2 라운드 특성이 구성될 확률은 non-zero 입력 XOR을 갖는 적어도 3개의 대치기들(S1,S2,S3)에 영향을 받아 R2=19 60 000 00x일 때 f(R2)=0이 될 확률은 (14/64)*(8/64)*(10/64)으로 약 1/234이다.R 1 and R 2 such that f (R 2 ) = 0 and f (R 1 ) = 0 exist under the condition that the characteristics of the second round RD2 of the second round DES encryption system shown in FIG. 1 exist. Repeat the second round characteristic probability of the configuration when the 2 hayeoteul with R 1 = 0 to form a round characteristic is influenced by at least three for stroke (S1, S2, S3) having a non-zero input XOR R 2 The probability that f (R 2 ) = 0 when = 19 60 000 00x is (14/64) * (8/64) * (10/64), which is about 1/234.

도 2에 도시된 3 라운드 DES 암호화 시스템의 3 라운드(RD3)의 반복 가능한 특성이 존재할 조건은 R1 f(R1)=R2 f(R2), f(R1 f(R2))=R1 R2이 존재하는 것이다. 2라운드 반복 가능한 특성을 찾을 때의 암호함수내의 순열(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)인 경우와 R1 f(R1)0인 경우로 나누어 생각할 수 있다. R1 f(R1)=0인 경우 DES 암호화 시스템의 3 라운드 반복 가능한 특성의 확률은 f'(R1)=R1의 확률의 제곱으로 (16/64)6이하이고, R1 f(R1)0인 경우의 DES 암호화 시스템의 3 라운드 반복 특성의 확률은 (1/234)*(a'→f(a')의 확률)2이하로(1/234)*(16/64)2이하이다.The condition under which there is a repeatable characteristic of the third round (RD3) of the third round DES encryption system shown in FIG. 2 is R 1. f (R 1 ) = R 2 f (R 2 ), f (R 1 f (R 2 )) = R 1 R 2 is present. The permutation (P) in the cryptographic function when looking for a two-round repeatable property has a lot of influence. 3 possible effective attack when starting the round characteristics have a symmetric characteristic around the central round is referred to as the iterative nature of these characteristics, three case round repetition characteristics of R 1 or R 2 is 0 in FIG. 4 and R 1 = R 1 (R 1 R 2 ) can be considered. First, the conditional expression in which the three-round repetition characteristic exists when R 1 or R 2 is 0 is changed to f (R 2 ) = R 2 and f (f (R 2 )) = R 2 when R 1 , = 0. From f (R 2 ) = R 2 , f (f (R 2 )) = f (R 2 ) = R 2 . Therefore, when R 2 = 0, the conditional expression in which a three-round repeatable property is present is less than (16/64) 6 as f (R 2 ) = R 2 . Secondly, R 1 = R 2 (R 1 ≠ 0) and R 1 f (R 1 ) You can think by dividing by zero. R 1 If f (R 1 ) = 0, then the probability of a three-round repeatable feature of the DES encryption system is equal to or less than (16/64) 6 as the square of the probability of f '(R 1 ) = R 1 , and R 1 f (R 1 ) If the value is 0, the probability of the third round iteration characteristic of the DES encryption system is (1/234) * (probability of a '→ f (a')) 2 or less and (1/234) * (16/64) 2 or less. .

도 3의 DES 암호화 시스템의 4 라운드 반복 특성이 존재하기 위해서는 f(R1)=f(R1 f(R2)), f(R2)=f(R2 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/234) 이하이다. 두 번째로, R1=R2(R1 0)인 경우 4라운드 반복 가능한 특성이 존재할 조건은 f(R2 f(R2))=f(R2)으로 (f(R2 f(R2)=f(R2))가 만족될 때 R2→f(R2)의 확률)2와 R2 f(R2)→f(R2)의 확률)2곱으로 (16/64)8이하이다.In order for the four-round repetition characteristic of the DES encryption system of FIG. 3 to exist, f (R 1 ) = f (R 1 f (R 2 )), f (R 2 ) = f (R 2 R 1 and R 2 satisfying f (R 1 )) must be present. The four round repeatable properties are shown in Figure 3 when R 1 or R 2 is zero and R 1 = R 2 (R 1 It can be divided into 0). First, R 1 or R 2 is zero in the case 4, the conditions present in the round-repeatable characteristics R 1 = assuming 0 0 = f (f (R 2)) and f (R 2) = f ( R 2 ) Therefore, we can calculate the probability that f (f (R 2 )) = 0. If f (R 2 )), the second round repeatable characteristic is not connected instead of the four round repeatable characteristic. Thus f (R 2 ) Considering only the case of 0, R 1 = 0, f (R 2 ) 0 probability of possible characteristics repeat when the four round (2 → R f (R 2)) probability) 2 and f (R 2) → 0, the product of the probability of a (16/64) 4 * (1/234) It is as follows. Secondly, R 1 = R 2 (R 1 0, the condition that a 4th round repeatable property exists is f (R 2 f (R 2 )) = f (R 2 ) with (f (R 2) R 2 → probability of f (R 2 ) when f (R 2 ) = f (R 2 )) 2 and R 2 f (R 2) → f (R 2) the probability of) a (16/64) of less than or equal to 8 multiplied by 2.

라운드의 수가 클 경우 DC에 의한 공격은 2라운드 반복 가능한 특성을 이용하여 큰 라운드의 특성을 구성하나, 도 4에서와 같은 16라운드의 DES 암호화 시스템을 공격할 경우의 DC는 15 라운드 반복 특성을 이용해 공격한다. 15 라운드 반복특성은 2 라운드 특성을 7번 사용하고 확률 1을 갖는 1 라운드 특성을 추가하여 구성한다. 따라서 15 라운드 반복특성은 (1/234)7으로 약2-56확률로 구성된다. 따라서, 16 라운드 DES 암호화 시스템의 공격은 257쌍 정도의 암호문 쌍이 필요하여 오히려 XOR 공격 방법보다 효과가 없게 된다.If the number of rounds is large, the attack by the DC constitutes a large round using a repeatable property of 2 rounds, but when attacking a 16 round DES encryption system as shown in FIG. 4, the DC uses 15 round repeats. Attack. The 15-round repetition feature consists of using the 2 rounds 7 times and adding a round 1 with a probability of 1. Therefore, the round 15 repeatability is (1/234) 7, which is about 2 -56 probability. Therefore, the attack of the 16 round DES encryption system requires about 2 57 pairs of ciphertext pairs, which is less effective than the XOR attack method.

이에 따라, 1992년 biham과 shamir는 1990년 처음 발표된 DC 공격방법을 발전시켜 16 라운드 DES를 237의 복잡도로 공격할 수 있는 새로운 DC 공격 방법을 제안하였다. 제안된 방법은 도 6과 같은 구조로 맨 앞 2 라운드에서 (1/234)6의 확률을 갖는 13 라운드 반복 특성을 사용하였다.Accordingly, in 1992, biham and shamir developed the DC attack method first introduced in 1990, and proposed a new DC attack method that can attack 16 rounds of DES with a complexity of 2 37 . The proposed method uses a 13 round repetition characteristic with a probability of (1/234) 6 in the first 2 rounds with the structure as shown in FIG. 6.

P를 임의로 64 비트 평문이라 하고, v0, …,v4095는 첫 라운드의 S1,S2,S3 box 에만 non-zero가 입력될 때 발생될 수 있는 212개의 32 비트라고 하면, 224의 평문쌍이 존재하며, 이들 평문쌍들의 XOR은 언제나(vk, q)의 형태를 가지며, vk는 212번 발생한다. 입력될 수 있는 평문쌍(Pi, T-1 )과 이에 대한 암호문쌍(Ti, T-2 )은 수식3 및 수식4 와 같이 정의할 수 있다.P is arbitrarily called 64-bit plaintext, and v 0 ,... If v 4095 is 2 12 32 bits that can occur when non-zero is input only to the S1, S2, and S3 boxes of the first round, there are 2 24 plaintext pairs, and the XOR of these plaintext pairs is always (v k , q), and v k occurs 2 12 times. Plain text pairs Pi and T-1 and cipher text pairs Ti and T-2 thereof may be defined as Equation 3 and Equation 4.

[수식 3][Equation 3]

Pi=P(vi, 0), T-3 =(P(vi,0)(0,q), 0≤i,212 Pi = P (vi, 0), T-3 = (P (vi, 0) (0, q), 0≤i, 2 12

[수식 4][Equation 4]

Ti=DES(Pi, K), T-4 =DES( T-5 , K)Ti = DES (Pi, K), T-4 = DES (T-5, K)

이들 평문쌍들에 의한 XOR 값들 중에 212쌍은 첫 라운드 암호함수의 출력 XOR값과 일치하므로 두 번째 라운드에 (q,0)이 입력되는 반복 특성을 얻을 수 있다. 따라서, 16은 라운드 반복 특성을 만족하는 암호키를 찾을 수 있는 평문쌍(right pair)를 얻을 수 있는 확률은 212*(1/234)6=2-35.2가 되고 16 라운드 DES의 공격은 232개의 암호문쌍을 237번 분석함으로서 공격이 가능하다.Among the XOR values of these plaintext pairs, 2 to 12 pairs coincide with the output XOR value of the first round cryptographic function, so that a repetition characteristic of (q, 0) is input in the second round. Therefore, 16 has a probability of obtaining a right pair that can find an encryption key that satisfies the round repetition property, which is 2 12 * (1/234) 6 = 2 -35.2 , and the attack of 16 round DES is 2 Attacks are possible by analyzing 32 ciphertext pairs 2 37 times.

실제로, Biham과 Shamir는 DC를 이용하여 6 라운드로 축소된 DES 암호화시스템을 0.3초 이내에 그리고 8 라운드의 암호화시스템은 2분 이내에 공격했으며, 나아가 표준 라운드인 16 라운드의 DES 암호화시스템도 과도검색법(exhaustive search)보다 훨씬 빠르게 공격할 수 있다고 하였다. 비록 DC는 16 라운드 DES 암호화시스템을 완벽하게 깨지는 못하였지만 앞으로 반복 암호 알고리즘 개발시에는 반드시 DC에 대한 보안이 필요하게 된다. 아울러, 암호함수, 키 생성 알고리즘, 라운드 수 등에 변화를 준 수 많은 DES형 블록 암호 알고리즘이 제안되어 왔다.Indeed, Biham and Shamir attacked the DES encryption system reduced to six rounds in less than 0.3 seconds and the eight round encryption system in less than two minutes using DC. He can attack much faster than exhaustive search. Although DC did not completely break the 16-round DES encryption system, future development of iterative encryption algorithms will necessarily require DC security. In addition, a number of DES-type block cipher algorithms have been proposed, which have been changed to cipher functions, key generation algorithms, and round numbers.

현재의 추세는 IDEA의 경우에서와 같이 대수적 성질들이 다른 연산을 사용하여 비선형성, confusion 효과를 달성하여 안전도를 강하하는 방법, undalanced feisted network 개념에서와 같이 다양하게 일반화된 feisted network한 암호 알고리즘을 설계하는 방법 등이 있다. 그러나 위에서 제안된 암호 알고리즘들을 하드웨어고 구현하는 것은 몇가지 어려움이 예상된다.The current trend is to design non-linearity, confusion effect using arithmetic with different algebraic properties, as in the case of IDEA, to lower the safety, and to design various generalized feisted network cryptographic algorithms as in the concept of an undalanced feisted network. How to do it. However, there are some difficulties in implementing the proposed cryptographic algorithms in hardware.

따라서, 본 발명은 목적은 차동해독법에 의한 공격에 강하게 평문을 암호문화 할 수 있는 DES형 암호화 방법 및 장치를 제공함에 있다.Accordingly, an object of the present invention is to provide a DES type encryption method and apparatus capable of encrypting a plain text strongly against an attack by a differential decryption method.

도1은 2 라운드 DES 암호화 시스템을 개략적으로 도시하는 도면.1 is a schematic illustration of a two round DES encryption system.

도2는 3 라운드 DES 암호화 시스템을 개략적으로 도시하는 도면.2 is a schematic illustration of a three round DES encryption system.

도3은 4 라운드 DES 암호화 시스템을 개략적으로 도시하는 도면.3 is a schematic illustration of a four round DES encryption system.

도4는 16 라운드 DES 암호화 시스템을 개략적으로 도시하는 도면.4 is a schematic illustration of a sixteen round DES encryption system.

도5는 도1 내지 도4에 도시된 함수처리기를 상세하게 도시하는 도면.FIG. 5 shows details of the function processor shown in FIGS.

도6은 본 발명에 실시예에 따른 DES형 암호화 시스템의 함수처리기를 도시하는 도면.6 is a diagram showing a function processor of a DES type encryption system according to an embodiment of the present invention.

상기 목적을 달성하기 위하여, 본 발명에 따른 DES형 암호화 방법은 평문데이타에 대하여 비트축소와 대치연산을 수행한 다음 논리연산과 순열연산을 연속적으로 수행하여 암호함수를 발생하는 단계와, 암호함수들을 평문데이타에 반복적으로 적용하여 암호문데이타를 생성하는 단계를 포함한다.In order to achieve the above object, the DES type encryption method according to the present invention performs bit reduction and substitution operation on plain text data, and then performs a logical operation and a permutation operation successively to generate an encryption function, Iteratively applying to the plain text data includes the step of generating the cipher text data.

본 발명에 따른 DES형 암호화 장치는 각각 암호함수를 발생하기 위하여 평문데이타에 대하여 비트축소와 대치연산을 수행한 다음 논리연산과 순열연산을 연속적으로 수행하는 종속 접속된 적어도 2 이상의 함수처리수단과, 입력라인에 종속접속됨과 아울러 상기 적어도 2이상의 함수처리수단에 각각 접속되어 상기 평문데이타와 상기 함수처리수단으로부터의 상기 암호함수를 논리연산하는 적어도 2 이상의 논리연산수단을 구비한다.The DES type encryption apparatus according to the present invention comprises at least two or more connected function processing means for performing bit reduction and substitution operation on plain text data, and subsequently performing logical operation and permutation operation, respectively, to generate an encryption function; And at least two logical operation means connected to an input line and connected to said at least two function processing means, respectively, for logical operation of said plain text data and said cryptographic function from said function processing means.

상기 목적외에 본 발명의 다른 목적 및 특징들은 첨부도면을 참조한 실시예에 대한 설명을 통하여 명백하게 드러나게 될 것이다.Other objects and features of the present invention other than the above object will become apparent from the description of the embodiments with reference to the accompanying drawings.

이하, 본 발명의 실시예를 도 6과 도1 내지 도 4를 참조하여 상세히 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 6 and 1 to 4.

도6은 도 1 내지 도 4에 도시된 DES 암호화 시스템에 사용될 수 있는 본 발명의 실시예에 따른 함수처리기를 상세하게 도시한다. 설명상의 편의를 위하여, 본 발명의 실시예에 따른 함수처리기는 도 1 내지 도 4에서 i번째 라운드(RDi)에 포함된 함수처리기라 한다. 이 함수처리기는 48 비트의 암호키(Ki)를 이용하여 이전 라운드(RDi-1)로부터 32비트의 좌측데이타(Li-1)에 대한 암호함수(f(R1))를 생성한다.Figure 6 illustrates in detail the function processor according to an embodiment of the present invention that can be used in the DES encryption system shown in Figures 1-4. For convenience of description, the function processor according to the embodiment of the present invention is called a function processor included in the i th round RD i in FIGS. 1 to 4. This function processor generates a cryptographic function f (R 1 ) for 32 bits of left data L i-1 from the previous round RD i-1 using a 48-bit cryptographic key K i . .

도6에 있어서, 함수처리기는 비트신장기(30)는 직렬 접속된 제1 XOR연산기(32)와 제1레지스터(34)를 구비한다. 비트신장기(30)는 이전의 라운드(RDi-1)로부터의 32비트의 좌측데이타(Li-1)중 16 비트를 재배열하고 나머지 16 비트를 2배로 신장시킴으로써 32비트의 좌측데이타(Li-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')을 각각 일시적으로 저장하게 된다.In Fig. 6, the function processor includes a bit extender 30 having a first XOR operator 32 and a first register 34 connected in series. The bit extender 30 rearranges 16 bits of the 32 bits of left data L i-1 from the previous round RD i-1 and doubles the remaining 16 bits to double the left bits of 32 bits L. i-1 ) is expanded to 48 bits of left data. The first XOR operator 32 performs XOR operation on the 48-bit right-hand data from the bit extender 30 with the 48-bit encryption key K i , and calculates the calculated data from the first to eighth registers having a length of 6 bits. Disperse and supply to 34A-34H. The first to eighth registers 34A to 34H divide and store 48 bits of data from the first XOR operator 32 by six bits, respectively. That is, the first register 34A temporarily stores the first divided data X1 'of the most significant 6 bits, and the second register 34B temporarily stores the second divided data X2' of the next higher 6 bits. Similarly, the third to eighth registers 34C to 34H also temporarily store the third to eighth divided data (X3 'to X8') divided by 36 bits of data bit 6 bits from the upper 13th bit to the 48th bit, respectively. Will be saved.

본 발명의 실시예에 따른 함수처리기는 제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 비트들은 열이 되게 된다.The function processor according to the embodiment of the present invention includes first to eighth bit reducers 38A to 38H and first to eighth replacements 40A to 38 that are connected in parallel to the first to eighth registers 34A to 34H, respectively. 40H). Each of the first to eighth bit reducers 38A to 38H extracts only the lower 4 bits of the six bits of data X1 'to X8' from the corresponding connected registers 34A to 34H and replaces the replacement data (X1). To X8) to the corresponding connected XOR operators 40A to 40H. The first to eighth substitutions 40A to 40H also convert the six-bit divided data (X1 'to X8') from the corresponding connected registers 34A to 34H into four-bit surrogate data (S1 to S8), respectively. Replace it. For this purpose, each of the substitutions 40 performs a matrix operation using 6 bits of data. At this time, the most significant bit and the least significant bit of the 6-bit divided data (X1 'to X8') input to each replacement 40 is a row of the replacement 40 and the remaining four bits become a column.

또한, 본 발명의 실시예에 따른 함수처리기는 제2 내지 제9XOR연산기들(42A 내지 42H)로부터의 32비트의 데이타를 입력하는 순열기(44)를 구비한다. 제2XOR연산기(42A)는 제1비트축소기(38A)로부터의 비트축소된 제1분할데이타(X1)과 제8대치기(40H)로부터의 제8대용데이타(S8)를 XOR연산하고, 제3XOR연산기(42B)는 제2비트축소기(38B)로부터의 비트축소된 제1분할데이타(X2)과 제1대치기(40A)로부터의 제1대용데이타(S2)를 XOR연산한다. 이와 비슷하게 제3 내지 제9 XOR 연산기(42C 내지 42H)도 제3 내지 제8비트축소기(38C 내지 38H)로부터의 비트축소된 제3 내지 제7분할데이타(X3 내지 X7)와 제2 내지 제7대치기(40B 내지 40G)로부터의 제2 내지 제7대용데이타(S2 내지 S7)를 각각 XOR 연산하게 된다. 이들 제2 내지 제9XOR 연산기들(42A 내지 42H)의 출력데이타(Y1 내지 Y8)는 수식 5 내지 수식12와 같이 표현될 수 있다.Also, the function processor according to the embodiment of the present invention includes a permuter 44 for inputting 32 bits of data from the second to ninth XOR operators 42A to 42H. The second XOR operator 42A performs XOR operation on the reduced bit first divided data X1 from the first bit reducer 38A and the eighth substitute data S8 from the eighth substitute 40H. The 3XOR operator 42B performs an XOR operation on the reduced bit first divided data X2 from the second bit reducer 38B and the first substituted data S2 from the first substitute 40A. Similarly, the third through ninth XOR operators 42C through 42H also have the reduced third through seventh divided data X3 through X7 and the second through seventh bits from the third through eighth bit reducers 38C through 38H. The second to seventh surrogate data S2 to S7 from the seventh stroke 40B to 40G are respectively XORed. The output data Y1 to Y8 of the second to ninth XOR operators 42A to 42H may be expressed as Equation 5 to Equation 12.

[수식 5][Equation 5]

Y1=X1S8(X8')Y1 = X1 S8 (X8 ')

[수식 6][Equation 6]

Y2=X2S1(X1')Y2 = X2 S1 (X1 ')

[수식 7][Formula 7]

Y3=X3S2(X2')Y3 = X3 S2 (X2 ')

[수식 8]Equation 8

Y4=X4S3(X3')Y4 = X4 S3 (X3 ')

[수식 9]Equation 9

Y5=X5S4(X4')Y5 = X5 S4 (X4 ')

[수식 10]Equation 10

Y6=X6S5(X5')Y6 = X6 S5 (X5 ')

[수식 11][Equation 11]

Y7=X7S6(X6')Y7 = X7 S6 (X6 ')

[수식 12]Equation 12

Y8=X8S7(X7')Y8 = X8 S7 (X7 ')

마지막으로 순열기(44)는 8개의 XOR 연산기들(42A 내지 42H)로부터의 32 비트의 데이타(Y1 내지 Y8)의 비트순서를 바꾸는 역할로서 평문데이타와 암호키가 가능한 빨리 암호문에 영향을 미치게 하는 확산(Diffusion)을 수행한다. 이를 위하여, 순열기(44)는 32 비트의 데이타를 2개의 블럭으로 분할하고 각 블럭내의 4개의 원소들의 그들이 속해 있는 블럭과 다른 블럭으로 이동시킨다. 이 때, 모든 원소들은 5 이상의 거리를 이동하게 된다. 이와 같은 동작을 수행하는 순열기(44)에서는 32 비트의 암호함수(f(Y1',Y2',Y3',Y4',Y5',Y6',Y7',Y8))가 발생하게 된다.Finally, the permuter 44 changes the bit order of the 32-bit data Y1 to Y8 from the eight XOR operators 42A to 42H so that the plaintext data and the encryption key affect the ciphertext as soon as possible. Diffusion is performed. To this end, the permuter 44 divides the 32-bit data into two blocks and moves the four elements in each block to a block different from the one to which they belong. At this time, all elements move by 5 or more distances. In the permuter 44 performing the above operation, a 32-bit encryption function f (Y1 ', Y2', Y3 ', Y4', Y5 ', Y6', Y7 ', Y8) is generated.

이상과 같이, 본 발명의 실시예에 따른 함수처리기는 기존의 함수처리기에서와 동일하게 비트신장을 수행하고, 대치(S)은 전 라운드의 암호함수의 출력 값들과 현 라운드에서의 대치기들(40)의 출력 값들이 XOR 하는 구조로 바꾸고, 순열(P)은 암호함수의 출력을 우측으로한 블록(4비트)씩 쉬프트시키는 network permutaton으로 바꾸어 암호함수가 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이 된다.As described above, the function processor according to the embodiment of the present invention performs bit extension as in the existing function processor, and the substitution S is the output values of the previous round encryption function and the substitutions in the current round ( The output values of 40) are changed to XOR structure, and the permutation (P) is changed to network permutaton that shifts the output of the cryptographic function block by 4 blocks to the right. Has a structure that can reduce the probability of. We then shift the output of the cryptographic function one block to the right through network permutation. The relationship between S-box and network permutation is as follows. First, the outputs of the S-box of the previous round are entered. Second, the output of S (i-1) of the previous round S-box is input to S (i + 1) of the next round S-box. Third, the first bit of the output of S (i) and the XOR 4 bits of x i + 1 represents the next round S (i +) when the six bits of the input of S-box represent b1, b2, b3, b4, b5, b6. B6 in 1), and the fourth bit is b1 in S (i + 3).

다음으로 본 발명의 실시예에 따른 함수처리기는 도 1 내지 도 4에 도시된 함수처리기(10) 대치되었을 경우, 즉 2,3,4 및 16 라운드 DES 암호화 시스템들에 대한 본 발명의 암호함수에 대한 반복특성을 살펴보기로 한다.Next, the function processor according to the embodiment of the present invention is applied to the encryption function of the present invention for the 2, 3, 4 and 16 round DES encryption systems when the function processor 10 shown in Figs. Let's look at the repeatability characteristics

본 발명에 따른 암호함수의 2 라운드 반복 특성은 f(R1)=0, f(R2)=0이 되는 R1,R2가 존재할 확률을 구하는 것으로, 본 발명에 따른 암호함수의 2라운드 반복 특성이 존재하기 위해서는 암호함수 내의 모든 대치기들(40)의 출력 Si(Xi')과 xi*1이 모두 zero이어야 한다. 즉, Si(Xi')xi*1=0 (i=1,2,...8)이 되어야 한다. 그러나 본 발명에 따른 암호함수의 2라운드 반복 특성이 존재하기 위해서는 모든 대치기(40)의 입력 XOR이 non-zero가 될 수밖에 없음으로 2 라운드 반복 가능한 최대 확률은 (16/64)8이하인 2-16이하가 된다.The second round repetition characteristic of the cryptographic function according to the present invention is to calculate the probability that R 1 and R 2 exist such that f (R 1 ) = 0 and f (R 2 ) = 0. For the repeatability to exist, the outputs S i (X i ') and x i * 1 of all substitutions 40 in the cryptographic function must both be zero. That is, S i (X i ') x i * 1 = 0 (i = 1,2, ... 8) But less than all of the stroke for 40 input XOR is not meant to be a non-zero probability of the second repeat maximum possible round (16/64) to a second round of iterative nature of the cryptographic function according to the present invention 82 - It becomes 16 or less.

본 발명에 따른 암호함수의 3 라운드 반복 특성도 R1또는 R2가 0인 경우와 R1=R2(R1 0)인 경우를 생각할 수 있다. 먼저, R1또는 R2가 0인 경우의 3라운드 반복 특성이 존재할 조건식은 R1=0이라고 할 때 f(R2)=R2이다. 본 발명에 따른 암호함수의 3 라운드 반복 특성이 존재할 조건식은 R1=0이라고 할 때 f(R2)=R2이다. 본 발명에 따른 암호함수의 3 라운드 반복 특성이 존재하기 위해서는 Y1,Y2,...,Y8, 이 모두 같은 값을 가져야 한다. 즉, Si(Xi')xi+1(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 f(R2))=0으로, R2 f(R2)=0인 경우와 R2 f(R2)0인 경우로 나누어 생각할 수 있다. 만일 R2 f(R2)=0이면 3 라운드 반복 가능한 특성의 확률은 f(R2)=R2의 확률의 제곱으로 본 발명에 따른 암호함수의 3 라운드 반복 특성이 존재하기 위해서는 Y1,Y2,...,Y8이 모두 같은 값을 가져야 한다. 즉, Si(Xi')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이다.The three-round repetition characteristic of the cryptographic function according to the present invention is equal to the case where R 1 or R 2 is 0 and R 1 = R 2 (R 1 The case of 0) can be considered. First, a conditional expression in which a three-round repetition characteristic exists when R 1 or R 2 is 0 is f (R 2 ) = R 2 when R 1 = 0. The conditional expression in which the three-round repetition characteristic of the cryptographic function according to the present invention is present is f (R 2 ) = R 2 when R 1 = 0. In order for the 3-round repetition characteristic of the cryptographic function according to the present invention, Y 1 , Y 2 ,..., Y 8 , must all have the same value. That is, Si (Xi ') x i + 1 (i = 1,2, ..., 8) must have a constant value. Thus, the probability of f (R 2) = R 2 is (x 2/64) * ( x 3/64) * (x 4/64) * (x 5/64) * (x 6/64) * (x 7/64) * (x 8 /64) in 3 probability of the round repetition characteristics f (R 2) = R is the square of the probability (16/64) of less than 16: 1. Next, R 1 = R 2 (R 1 In the case of 0), the conditional expression in which the three-round repeatable property is present is f (R 2 f (R 2 )) = 0, R 2 when f (R 2 ) = 0 and R 2 f (R 2 ) You can think by dividing by zero. If R 2 If f (R 2 ) = 0, the probability of the three-round repeatable property is the square of the probability of f (R 2 ) = R 2. In order to exist the three-round repeatable property of the cryptographic function according to the present invention, Y 1 , Y 2 , ..., Y 8 must all have the same value. That is, Si (Xi ') x i + 1 (i-1,2, ..., 8) must have a constant value. Thus, the probability of f (R 2) = R 2 is (x 1/64) * ( x 2/64) * (x 3/64) * (x 4/64) * (x 5/64) * (x It is 6/64) * (x 7 /64) * (x 8/64) in 3 probability of the round repetition characteristics f (b ') = b' of the square of the probability (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 f(R2)=f(R2)으로 f(R2 f(R2)=f(R2)이 되기 위해서는 모든 대치기들(40)의 입력 XOR이 non-zero가 되어야 함으로 R2→f(R2)의 확률)2와 R2 f(R2)→f(R2)의 확률이 곱으로 (16/64)8*(16/64)8이하이다.The repeatable properties of the four rounds of cryptographic functions according to the invention are the case where R 1 or R 2 is zero and R 1 = R 2 (R 1 It can be divided into 0). First, R 1 = 0, f (R 2 ) If 0, the input XOR of all wait values 40 must be non-zero in order for f (f (R 2 )) = 0 of the proposed cryptographic function to be zero, so the probability of R 2 → f (R 2 ) is (x / 64) 4 or less. Therefore f (R 2 ) At 0, the four-round iterations of the proposed cryptographic function are (R 2 → f (R 2 ) probability) 2 and f (R 2 ) The product of the probability of zero is (16/64) 8 * (16/64) 8 or less. On the other hand, R 1 = R 2 (R 1 0), the condition that a 4-round repeatable property is present is f (R 2 as f (R 2) = f ( R 2) f (R 2 In order for f (R 2 ) = f (R 2 ), the input XOR of all substitutions 40 must be non-zero so that the probability of R 2 → f (R 2 ) 2 and R 2 The probability of f (R 2 ) → f (R 2 ) is multiplied by (16/64) 8 * (16/64) 8 or less.

마지막으로, 본 발명의 암호함수가 적용된 16 라운드의 DES 암호화 시스템에 대한 DC의 공격횟수는 212*(1/148)6=2-84이하가 된다.Finally, the number of DC attacks against the 16 round DES encryption system to which the cryptographic function of the present invention is applied is 2 12 * (1/14 8 ) 6 = 2 -84 or less.

이상과 같이 본 발명에 따른 함수처리기가 적용되어진 2,3,4 및 16 라운드 DES 암호화 시스템에서 암호함수를 종래의 암호함수를 비교하면, 표 1과 같이 된다.As described above, in the 2, 3, 4 and 16 round DES encryption system to which the function processor according to the present invention is applied, the encryption function is compared with the conventional encryption function.

[표 1]TABLE 1

표 1에서 *는 조건식에서 R1또는 R2인 경우를 나타내고, **는 조건식에서 R1=R2(R1 0)인 경우이다.In Table 1, * indicates the case of R 1 or R 2 in the conditional expression, ** indicates R 1 = R 2 (R 1 in the conditional expression 0).

상술한 바와 같이, 본 발명에 따른 DES형 암호화 방법 및 장치는 DC에 대한 대응 방안으로 DES의 암호함수를 일부 수정하여 N-라운드 특성이 구성될 확률을 낮추는 방법을 사용하였다. 따라서, 본 발명에 따른 DES형 암호화방법 및 장치는 국제 표준으로 공인된 DES 암호화 시스템의 기본 구조를 그대로 유지하면서 암호함수의 일부를 수정하여 DC 공격에 대한 비도를 높일 수 있다. 아울러, 본 발명에 따른 DES형 암호화 방법 및 장치는 기존의 DES와 같은 수준에서 안전성을 평가하였으므로 기존의 DES 암호화시스템 이상의 비도 및 안전성이 보장되며 실용적 가치가 있어 관련된 응용 분야에서 효과적으로 활용될 수 있을 것으로 판단된다.As described above, the DES-type encryption method and apparatus according to the present invention used a method of lowering the probability that the N-round characteristic is configured by partially modifying the encryption function of DES as a countermeasure against DC. Therefore, the DES type encryption method and apparatus according to the present invention can increase the degree of anti-DC attack by modifying a part of the cryptographic function while maintaining the basic structure of the DES encryption system certified as an international standard. In addition, since the DES type encryption method and apparatus according to the present invention have been evaluated for safety at the same level as the existing DES, the degree of security and security of the existing DES encryption system is guaranteed and practical value, so that it can be effectively used in related applications. Judging.

이상 설명한 내용을 통해 당업자라면 본 발명이 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여 져야만 할 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the spirit and scope of the present invention. Therefore, the technical scope of the present invention should not be limited to the contents described in the detailed description of the specification but should be defined by the claims.

Claims (2)

평문데이타에 대하여 비트축소와 대치연산을 수행한 다음 논리연산과 순열연산을 연속적으로 수행하여 암호함수를 발생하는 단계와,Performing a bit reduction and a substitution operation on the plain text data, and subsequently performing a logical operation and a permutation operation to generate an encryption function; 상기 암호함수들을 상기 평문데이타에 반복적으로 적용하여 암호문데이타를 생성하는 단계를 포함하는 것을 특징으로 하는 DES형 암호화 방법.And repeatedly applying the cipher functions to the plain text data to generate cipher text data. 각각 암호함수를 발생하기 위하여 평문데이타에 대하여 비트축소와 대치연산을 수행한 다음 논리연산과 순열연산을 연속적으로 수행하는 종속 접속된 적어도 2이상의 함수처리수단과,At least two or more connected function processing means for performing bit reduction and substitution operation on the plaintext data to generate a cryptographic function, and then sequentially performing logical and permutation operations; 입력라인에 종속 접속됨과 아울러 상기 적어도 2이상의 함수처리수단에 각각 접속되어 상기 평문데이타와 상기 함수처리수단으로부터의 상기 암호함수를 논리연산하는 적어도 2이상의 논리연산수단을 구비하는 것을 특징으로 하는 DES형 암호화 장치.DES type comprising at least two logical operation means connected to an input line and connected to said at least two function processing means, respectively, for logical operation of said plain text data and said cryptographic function from said function processing means. Encryption device.
KR1019970045333A 1997-08-30 1997-08-30 Des-like cryptographic method and apparatus KR100260534B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970045333A KR100260534B1 (en) 1997-08-30 1997-08-30 Des-like cryptographic method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970045333A KR100260534B1 (en) 1997-08-30 1997-08-30 Des-like cryptographic method and apparatus

Publications (2)

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

Family

ID=19520633

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970045333A KR100260534B1 (en) 1997-08-30 1997-08-30 Des-like cryptographic method and apparatus

Country Status (1)

Country Link
KR (1) KR100260534B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100384873B1 (en) * 2000-05-26 2003-05-22 주식회사 하이닉스반도체 Encryption device using data encryption standard algorithm

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4622807B2 (en) 2005-03-25 2011-02-02 ソニー株式会社 Cryptographic processing apparatus, cryptographic processing method, and computer program
US8958550B2 (en) * 2011-09-13 2015-02-17 Combined Conditional Access Development & Support. LLC (CCAD) Encryption operation with real data rounds, dummy data rounds, and delay periods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100384873B1 (en) * 2000-05-26 2003-05-22 주식회사 하이닉스반도체 Encryption device using data encryption standard algorithm

Also Published As

Publication number Publication date
KR100260534B1 (en) 2000-07-01

Similar Documents

Publication Publication Date Title
Chen et al. Differential cryptanalysis of a novel image encryption algorithm based on chaos and Line map
Paar et al. The advanced encryption standard (AES)
KR100449594B1 (en) Block encryption device using auxiliary conversion
KR100296958B1 (en) Apparatus for encoding block data
US6201869B1 (en) Data transformation apparatus and data transformation method
Aboytes-González et al. Design of a strong S-box based on a matrix approach
US6031911A (en) Practical S box design
CN107257279B (en) Plaintext data encryption method and device
EA027214B1 (en) Method of data encryption with chaotic changes of round key based on dynamic chaos
Noura et al. Overview of efficient symmetric cryptography: dynamic vs static approaches
US20050147244A1 (en) Method for cryptographic transformation of binary data blocks
KR19990021759A (en) DS encryption method and apparatus
Izhar et al. Enhancement in data security using cryptography and compression
RU2188513C2 (en) Method for cryptographic conversion of l-bit digital-data input blocks into l-bit output blocks
EP1043863B1 (en) Method for the cryptographic conversion of L-bit input blocks of digital data info into L-bit output blocks
Xiao et al. Generating large non-singular matrices over an arbitrary field with blocks of full rank
Aktaş Implementation of GOST 28147-89 encryption and decryption algorithm on FPGA
Ohkuma et al. Security assessment of Hierocrypt and Rijndael against the differential and linear cryptanalysis
KR100380638B1 (en) A data encryption standard system equipped parallel feistel structure
Rahma et al. Proposed Algorithm for Encrypting the (JPEG) Compressed Image
KR19990027040A (en) Encryption method and device
Chmiel et al. Involutional scalable block cipher
Scripcariu et al. Modified Data Encryption Standard Defined on Galois Fields
van Tilborg Eli Biham

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