KR19990027040A - Encryption method and device - Google Patents

Encryption method and device Download PDF

Info

Publication number
KR19990027040A
KR19990027040A KR1019970049387A KR19970049387A KR19990027040A KR 19990027040 A KR19990027040 A KR 19990027040A KR 1019970049387 A KR1019970049387 A KR 1019970049387A KR 19970049387 A KR19970049387 A KR 19970049387A KR 19990027040 A KR19990027040 A KR 19990027040A
Authority
KR
South Korea
Prior art keywords
round
encrypted data
data blocks
data
encrypted
Prior art date
Application number
KR1019970049387A
Other languages
Korean (ko)
Other versions
KR100262384B1 (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 KR1019970049387A priority Critical patent/KR100262384B1/en
Publication of KR19990027040A publication Critical patent/KR19990027040A/en
Application granted granted Critical
Publication of KR100262384B1 publication Critical patent/KR100262384B1/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

Abstract

본 발명은 암호화 및 복호화 처리속도의 저하없이 키 길이를 확장시켜 비도를 높일 수 있는 암호화 방법 및 장치에 관한 것이다.The present invention relates to an encryption method and apparatus that can increase the key length by increasing the key length without reducing the encryption and decryption processing speed.

본 발명은 평문 데이터에 대하여 적어도 두 개 이상의 데이터 블럭으로 분할하도록 순열 및 재배열하여, 적어도 두 개 이상의 데이터 블럭 각각에 대한 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 포함하는 라운드를 반복적으로 수행하고, 임의의 라운드에서 암호화된 데이터 블럭을 셀프 익스클러시브 논리합(SXOR)으로 연산한다.The present invention includes a round including permutation and rearrangement to divide the plain text data into at least two data blocks, so that an encrypted data block for each of the at least two data blocks is generated. Is repeatedly performed and the encrypted data block is computed as a self-exclusive logical sum (SXOR) in any round.

본 발명의 암호화 방법 및 장치는 암호화 및 복호화 처리속도의 저하없이 키 길이를 확장시켜 비도를 높일 수 있다.The encryption method and apparatus of the present invention can increase the key length by extending the key length without reducing the encryption and decryption processing speed.

Description

암호화 방법 및 장치Encryption method and device

본 발명은 디지털 문서에 보안성을 제공하는 암호화 알고리즘에 관한 것으로, 특히 암호화 및 복호화 처리속도의 저하없이 키 길이를 확장시켜 비도를 높일수 있는 암호화 방법 및 장치에 관한 것이다.The present invention relates to an encryption algorithm for providing security to a digital document, and more particularly, to an encryption method and apparatus capable of increasing a key length by extending a key length without degrading encryption and decryption processing speed.

최근, 통신망과 컴퓨터 기술이 급속하게 발달함에 따라 디지털 문서에 대한 보안성이 요구되고 있다. 이 디지털 문서에 보안성을 제공하기 위한 방안으로 평문을 암호문으로 변환하는 암호화 알고리즘이 사용되고 있는 추세에 있다. 이 암호화 알고리즘은 스마트 카드(Smart Card)와 같은 하드웨어의 형태로 구현되거나 또는 중앙처리장치(Centra1 Processing Unit)에 의해 수행될 수 있는 소프트웨어의 형태로 구현된다. 이러한 암호화 소프트웨어 또는 하드웨어는 통신 단말기 등에 적용되어 디지털 방송 정보의 불법시청 또는 디지털 문서의 불법이용을 방지하게 된다.Recently, with the rapid development of communication networks and computer technologies, security of digital documents is required. In order to provide security for this digital document, an encryption algorithm for converting plain text into cipher text is being used. This 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. The encryption software or hardware is applied to a communication terminal to prevent illegal viewing of digital broadcasting information or illegal use of digital documents.

디지털 문서에 보안성을 제공하기 위한 암호화 알고리즘으로는 1997년 국제 표준 알고리즘으로 채택된 디이에스(Data Encryption Standard; 이하 DES라 함)형 암호화/복호화 알고리즘이 금융망과 상업용 통신망 등에서 주로 사용되어 왔었다. DES형 암호화 알고리즘은 반복 블럭 암호화 시스템에 속하는 것으로서 비도가 약한 암호함수를 적절히 반복 사용함으로서 비도를 높인다. 여기서, 암호함수가 적용되는 각 단계 또는 각 블럭들은 라운드(Round)라 한다. 각 라운드(RD)에 포함된 암호함수는 단순히 비트연산, 순열(Permutation) 및 대치(Substitution)를 사용함으로서 DES 암호화 시스템이 공개키 암호 시스템(public-key cryptosystem, asymmetric-key system)에 비하여 빠른 속도로 평문을 암호문으로 변환하게 한다. DES형 암호화 시스템은 디지털 문서에 제공된 보안성의 경중에 따라 2 라운드(RD), 3 라운드(RD), 4 라운드(RD) 및 16 라운드 등의 형태로 구현될 수 있다.As an encryption algorithm for providing security to digital documents, the Data Encryption Standard (DES) type encryption / decryption algorithm adopted in 1997 as an international standard algorithm has been mainly used in financial networks and commercial communication networks. The DES type encryption algorithm belongs to a repetitive block cipher system and increases the degree of secretity by appropriately using a weak secret function. Here, each step or each block to which the cryptographic function is applied is called a round. The cryptographic functions included in each round (RD) simply use bitwise operation, permutation, and substitution, making the DES encryption system faster than public-key cryptosystems (asymmetric-key systems). To convert plaintext into ciphertext. The DES type encryption system may be implemented in the form of 2 rounds (RD), 3 rounds (RD), 4 rounds (RD), 16 rounds, and the like, depending on the security provided in the digital document.

이들 중, 미국 상무성에서 표준으로 지정한 FIPS PUB 46-2의 16 라운드(RD) DES형 암호화/복호화 알고리즘의 동작특성을 살펴보기로 한다. 암호화 또는 복호화는 동일한 알고리즘으로 56개의 키 비트를 사용하며, 한 번에 64 비트 데이터 블럭을 암호화한다. 복호화는 암호화와 같은 키를 사용하여 이루어지나 적용되는 키는 암호화의 역순으로 키 스케줄을 적용시킨다. 키에 종속적인 계산은 암호화 함수 f와 키 스케줄링 함수 KS로 정의된다. 암호화 함수 f는 선택함수 Si와 순열(Permuation)함수 P로 나타내어진다. 함수 P와 KS의 알고리즘은 FIPS PUB 46 2의 부록(Appendix)에 나타나 있다.Among these, the operation characteristics of the 16th round (RD) DES type encryption / decryption algorithm of FIPS PUB 46-2 designated by the US Department of Commerce will be examined. Encryption or decryption uses 56 key bits with the same algorithm, encrypting a 64-bit block of data at a time. Decryption is performed using a key such as encryption, but the applied key applies the key schedule in the reverse order of encryption. The key dependent calculation is defined by the encryption function f and the key scheduling function KS. The encryption function f is represented by the selection function S i and the permuation function P. The algorithms of functions P and KS are shown in the appendix to FIPS PUB 46 2.

도1은 종래의 16 라운드 DES형 암호화 시스템을 블럭도로 나타낸 것이다.1 is a block diagram showing a conventional 16 round DES type encryption system.

도1을 참조하면, 종래의 16 라운드(RD) DES형 암호화 시스템은 초기순열기(2)에 종속 접속된 제1 내지 제16 라운드(RD1 내지 RD16)들을 구비한다. 64 비트의 입력 데이터 D가 초기순열기(2)에 공급되면, 초기순열기(2)는 그 입력 데이터 D의 비트 순서를 일정한 규칙에 따라 재배열한다. 그 결과 값의 상위 32 비트와 하위 32비트를 각각 좌측 데이터(L0)와 우측 데이터(R0)라 하며, 이들이 16회의 반복암호화 함수 중 그 첫 번째 라운드의 입력이 된다.Referring to Fig. 1, the conventional sixteenth round (RD) DES type encryption system has first to sixteenth rounds RD1 to RD16 that are cascaded to the initial sequencer 2. When the 64-bit input data D is supplied to the initial sequencer 2, the initial sequencer 2 rearranges the bit order of the input data D according to a predetermined rule. As a result, the upper 32 bits and the lower 32 bits of the value are called the left data L 0 and the right data R 0, respectively, and these are the inputs of the first round of 16 iteration encryption functions.

제1 내지 제16 라운드(RD1 내지 RD16)들은 각각 이전 라운드로부터 공급되는 32 비트의 좌우측 데이터를 함수처리기(4)와 배타적 논리합 연산기(이하 ''XOR 연산기라 함)(6)를 이용하여 암호화된 좌우측 데이터를 생성한다.The first to sixteenth rounds RD1 to RD16 are each encrypted with 32-bit left and right data supplied from the previous round using the function processor 4 and the exclusive OR operator 6 (hereinafter referred to as an `` XOR operator ''). Generate left and right data.

제1 내지 제16 라운드(RD1 내지 RD16)들의 동작에 따른 암호화 방식을 j번째 라운드(RDj)를 통해 상세히 설명하면, j번째 라운드(RDj)의 암호화에 적용될 입력을 (Lj-1, Rj-1)라 하면, 이 입력 데이터 중 우측 데이터(Rj-1)는 함수처리기(4)에 공급됨과 아울러 다음 라운드(RDj+1)에 공급될 좌측 데이터(Lj)가 된다. 암호화 함수처리기(4)는 우측 데이터(Rj-1)와 j번째 라운드(RDj)의 암호화 키(Kj)를 입력으로하여, 이들을 연산처리함으로서 암호함수를 생성하고, 그 암호함수를 XOR 연산기(6)에 공급한다. XOR 연산기(6)는 좌측 데이터(Lj-1)와 암호화 함수처리기(4)의 연산결과 값을 XOR 연산하여, 암호화된 우측 데이터(Rj)를 생성한다. 이를 수식으로 표현하면 수식1과 같다.When the encryption scheme according to the operations of the first to sixteenth rounds RD1 to RD16 is described in detail through the j th round RDj, inputs to be applied to the encryption of the j th round RDj are (L j-1 , R j). -1 ), the right data R j-1 of the input data is supplied to the function processor 4 and becomes the left data L j to be supplied to the next round RDj + 1. The encryption function processor 4 inputs the right data R j-1 and the encryption key K j of the j th round RDj, and processes them to generate an encryption function, and converts the encryption function into an XOR operator. It supplies to (6). The XOR operator 6 generates an encrypted right data R j by performing an XOR operation on the operation result values of the left data L j-1 and the encryption function processor 4. This expression is the same as Equation 1.

[수식 1][Equation 1]

Lj=Rj-1 L j = R j-1

Rj=Lj_1 f(Rj-1,Kj)R j = L j_1 f (R j-1 , K j )

j번째 라운드(RDj)의 암호화된 우측 데이터(Rj)와 좌측 데이터(Lj)는 후단의 J+1번째 라운드(RDj+1)에 입력 데이터로 공급된다. 이 과정을 16회 반복하여, 제16 라운드(RD16)는 암호화된 좌우측 데이터(L16,R16)를 생성한다. 이들 데이터 (L16,R16)는 위치가 서로 교환되어 역순열처리기(8)의 입력으로 공급된다. 그러면, 역순열처리기(8)는 초기 순열 값의 역변환(Inverse Initial Permutation(IP_1))으로 연산처리하여 최종적으로 암호문 C를 생성한다.The encrypted right data R j and left data L j of the j th round RDj are supplied as input data to the J + 1 th round RDj + 1 of the next stage. This process is repeated 16 times, and the sixteenth round RD16 generates encrypted left and right data L 16 and R 16 . These data L 16 and R 16 are exchanged in position with each other and supplied to the input of the reverse permeation processor 8. Then, the inverse permutation processor 8 performs arithmetic processing by Inverse Initial Permutation (IP _1 ) to finally generate the ciphertext C.

도2는 종래의 비도를 향상시키기 위한 3중 DES형 암호화 시스템을 도시한다.Fig. 2 shows a triple DES type encryption system for improving the conventional secret degree.

도2에 있어서, 종래의 3중 DES 암호화 시스템은 Tuchman에 의해 제안되었다. 3중 암호화/복호화 시스템은 2개의 DES키 KA, KB를 사용하여 아래의 식과 같이 DES암호화 방식을 3회 반복 실시하여 키를 112 비트로 증가시켜 비도를 높이는 방법으로 수식2와 같이 제시하였다.In Fig. 2, a conventional triple DES encryption system has been proposed by Tuchman. In the triple encryption / decryption system, two DES keys KA and KB are used to repeat the DES encryption method three times as shown in the following equation to increase the key to 112 bits and increase the degree of secretion.

[수식 2][Formula 2]

암호화 : C=Enc(Dec(Enc(D, KA),KB),KA)Encryption: C = Enc (Dec (Enc (D, KA), KB), KA)

복호화 : D=Dec(Enc(DEC(C, KA),KB),KA)Decoding: D = Dec (Enc (DEC (C, KA), KB), KA)

이때, D는 평문, C는 암호문, Dec는 복호화 함수, 그리고 Enc는 암호화 함수를 나타낸다.In this case, D is plain text, C is cipher text, Dec is decryption function, and Enc is encryption function.

그러나, 종래 기술에 따른 DES형 암호화 알고리즘은 키의 길이가 56 비트밖에 되지 않으므로 마이크로 프로세서 기술의 발달과 새로운 공격방법 예를 들면, 1990년 Biham과 Shamir가 공동으로 발표한 차동 해독법(differential cryptanalysis)의 제안 등으로 인하여 충분한 보안성을 제공하지 못하고 있다. 또한, 112 비트의 키를 갖기 위한 방안으로 3중 암호화 기법을 사용할 경우에는 암호화 속도가 1/3으로 떨어지므로 도시된 종래의 DES형 암호화 알고리즘에 비해 3배의 시간이 소요되는 단점이 있었다.However, the DES type encryption algorithm according to the prior art has a key length of only 56 bits, so that the development of microprocessor technology and a new attack method, for example, of the differential cryptanalysis jointly published by Biham and Shamir in 1990 Proposals do not provide sufficient security. In addition, when the triple encryption scheme is used as a scheme for having a key of 112 bits, the encryption speed is reduced to 1/3, which results in three times as long as the conventional DES encryption algorithm.

따라서, 본 발명의 목적은 암호화 및 복호화 처리속도의 저하없이 키 길이를 확장시켜 비도를 높일 수 있는 암호화 방법 및 장치를 제공함에 있다.Accordingly, an object of the present invention is to provide an encryption method and apparatus that can increase the height by expanding the key length without reducing the encryption and decryption processing speed.

도1은 종래의 디이에스(DES)형 암호화 시스템을 나타내는 블럭도.1 is a block diagram showing a conventional DES encryption system.

도2는 종래의 다른 디이에스(DES)형 암호화 시스템을 나타내는 블럭도.Fig. 2 is a block diagram showing another conventional DES type encryption system.

도3은 본 발명의 제1 실시예에 따른 암호화 시스템을 나타내는 블럭도.3 is a block diagram showing an encryption system according to a first embodiment of the present invention.

도4는 도3에 도시된 본 발명의 셀프 익스클러시브 논리합 연산기(SXOR)의 상세 회로도.FIG. 4 is a detailed circuit diagram of the self-exclusive logical sum operator (SXOR) of the present invention shown in FIG.

도5는 본 발명의 제2 실시예에 따른 암호화 시스템을 나타내는 블럭도5 is a block diagram showing an encryption system according to a second embodiment of the present invention.

도면의 주요부분에 대한 부호의 설명Explanation of symbols for main parts of the drawings

2,12,22,32,42 : 초기순열기 4,14,24,34,44 : 함수처리기2,12,22,32,42: Initial permuter 4,14,24,34,44: Function processor

8,18,28 : 역순열처리기 10,20,30,40 : DES 블럭8,18,28: Reverse permeation processor 10,20,30,40: DES block

6,16,26,36,32,46 : 배타적 논리합 연산기(XOR)6,16,26,36,32,46: exclusive OR operator (XOR)

상기 목적을 달성하기 위하여, 본 발명의 암호화 방법은 평문 데이터에 대하여 적어도 두 개 이상의 데이터 블럭으로 분할하도록 순열 및 재배열하는 단계와, 적어도 두 개 이상의 데이터 블럭 각각에 대한 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 포함하는 라운드를 반복적으로 수행하는 단계와, 임의의 라운드에서 암호화된 데이터 블럭을 셀프 익스클러시브 논리합(SXOR)으로 연산하는 단계를 포함한다.In order to achieve the above object, the encryption method of the present invention comprises the steps of permutation and rearrangement to divide into at least two data blocks for plain text data, and to generate an encrypted data block for each of the at least two data blocks; Iteratively performing a round comprising a function processing and a logical operation using a key, and a step of computing a block of data encrypted in any round with a self-exclusive logical sum (SXOR).

본 발명의 암호화 방법은 평문 데이터에 대하여 두 개의 데이터 블럭으로 분할하도록 순열 및 재배열하는 단계와, 두 개의 데이터 블럭 각각에 대하여 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 포함하는 라운드를 반복적으로 수행하는 단계와, 임의의 라운드에서 생성된 암호화된 데이터 블럭에 대하여 셀프 익스클러시브 논리합(SXOR)으로 연산하는 단계를 포함한다.The encryption method of the present invention includes permutation and rearrangement to divide the plain text data into two data blocks, and includes a function processing and a logical operation using a key to generate an encrypted data block for each of the two data blocks. Performing the round repeatedly and computing a self-exclusive logical sum (SXOR) on the encrypted data blocks generated in any round.

본 발명의 암호화 방법은 평문 데이터에 대하여 네 개의 데이터 블럭으로 분할하도록 순열 및 재배열하는 단계와, 네 개의 데이터 블럭에 대하여 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 포함하는 라운드를 반복적으로 수행하는 단계와, 두 개의 데이터 블럭이 서로 연관되도록 기수 번째 라운드에서 발생된 암호화된 데이터를 셀프 익스클러시브 논리합으로 연산하는 단계와, 네 개의 데이터 블럭이 서로 연관되도록 우수 번째 라운드에서 발생된 암호화된 데이터 블럭을 셀프 익스클러시브 논리합으로 연산하는 단계를 포함한다.The encryption method of the present invention comprises the steps of permuting and rearranging to divide the plain text data into four data blocks, and a round including a function processing and a logical operation using a key to generate an encrypted data block for the four data blocks. Performing a recursive operation, computing the encrypted data generated in the odd round so that the two data blocks are related to each other, and performing self-exclusive logical OR, and generating the first round so that the four data blocks are associated with each other. Computing the encrypted data block with a self-exclusive logical OR.

본 발명의 복호화 방법은 암호문 데이터에 대하여 적어도 두 개 이상의 데이터 블럭으로 분할하도록 순열 및 재배열하는 단계와, 적어도 두 개 이상의 데이터 블럭에 대하여 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 포함하는 라운드를 반복적으로 수행하는 단계와, 임의의 라운드에서 암호화된 데이터 블럭에 대하여 셀프 익스클러시브 논리합으로 연산하는 단계를 포함한다.The decryption method of the present invention comprises the steps of permutation and rearrangement to divide the ciphertext data into at least two data blocks, function processing and logical operation using a key to generate an encrypted data block for at least two data blocks. Iteratively performing a round comprising a; and a step of performing a self-exclusive logical sum on the data block encrypted in any round.

본 발명의 암호화 장치는 입력라인에 접속되어 평문 데이터에 대하여 순열연산함으로서 적어도 두 개 이상의 데이터 블럭으로 재배열하는 순열연산수단과, 순열연산수단에 종속 접속되어 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 반복적으로 수행하는 라운드 연산수단과, 임의의 라운드 연산수단에 접속되어 암호화된 데이터 블럭에 대하여 셀프 익스클러시브 논리합으로 연산하는 적어도 하나 이상의 SXOR 연산수단을 구비한다.The encryption apparatus of the present invention uses a permutation calculation means for rearranging at least two data blocks by performing permutation on plain text data connected to an input line, and using a key to generate an encrypted data block by cascading to the permutation calculation means. And round calculation means for repeatedly performing function processing and logic operation, and at least one SXOR calculation means for performing a self-exclusive logical sum operation on an encrypted data block connected to any round calculation means.

본 발명의 복호화 장치는 입력라인에 접속되어 암호문 데이터에 대하여 순열연산함으로서 적어도 두 개 이상의 데이터 블럭으로 재배열하는 순열연산수단과, 순열연산수단에 종속 접속되어 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 반복적으로 수행하는 라운드 연산수단과, 임의의 라운드 연산수단에 접속되어 암호화된 데이터 블럭에 대하여 셀프 익스클러시브 논리합으로 연산하는 적어도 하나의 SXOR 연산수단을 구비한다.The decryption apparatus of the present invention uses a permutation calculation means for rearranging at least two data blocks by performing a permutation operation on the ciphertext data connected to an input line, and using a key to generate an encrypted data block by cascading to the permutation calculation means. And round calculation means for repeatedly performing the function processing and logic operation, and at least one SXOR calculation means for performing a self-exclusive logical sum on the encrypted data block connected to any round calculation means.

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

이하, 본 발명의 바람직한 실시예에 대하여 첨부한 도3 내지 도5를 참조하여 상세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to FIGS. 3 to 5.

도3은 본 발명의 제1 실시예에 따른 암호화 시스템을 나타내는 도면으로써, DES 알고리즘을 근간으로 2개의 DES 블럭을 동시에 암호화하는 개략적인 블럭도이다.3 is a schematic block diagram of encrypting two DES blocks simultaneously based on the DES algorithm, showing an encryption system according to a first embodiment of the present invention.

도3을 참조하면, 본 발명의 암호화 시스템은 제1 및 제2 DES 블럭(10,20)과, 제1 및 제2 DES 블럭(10,20)의 초기순열기(12,22)에 종속 접속된 제1 내지 제16 라운드(RD1 내지 RD16)와, 기수 번째 라운드(RD1, RD3, RD5, RD7,..., RD15)의 출력단에 접속된 셀프 익스클러시브 논리합 연산기(Self exclusive XOR, 이하 SXOR 연산기라 함)(60)를 구비한다.Referring to Fig. 3, the encryption system of the present invention is cascaded to the first and second DES blocks 10 and 20 and the initial sequencers 12 and 22 of the first and second DES blocks 10 and 20. Self exclusive XOR (SXOR, hereinafter referred to as SXOR) connected to the first to sixteenth rounds RD1 to RD16 and the output terminals of the radix-th round RD1, RD3, RD5, RD7, ..., RD15. 60).

SXOR 연산기(60)는 자신에게 입력되는 4 개의 좌우측 데이터 블럭 중 1 개를 제외한 3 개의 데이터 블럭을 XOR 연산한다.The SXOR operator 60 performs an XOR operation on three data blocks except for one of four left and right data blocks input thereto.

본 발명의 암호화 시스템은 암호화 및 복호화 과정 중간에서 2 블럭간에 서로 영향을 미치도록 설계함으로써, DES의 취약점인 56비트의 짧은 키를 112 비트로 증가시키고 한 번에 각각 64 비트의 입력 데이터를 입력으로 하는 제1 및 제2DES 블럭의 128 비트의 입력데이터를 암호화한다. 본 발명의 암호화 시스템은 112비트의 암호키(K)를 사용하는데 K는 2 개의 DES에서 사용되는 56 비트의 키, K1과 K2이다.(K={K1, K2}) K1과 K2는 두 DES 블럭, 즉 제1 DES 블럭(10)과 제2 DES 블럭(20)에 각각 적용된다. 각각의 라운드(RD1 내지 RD16)는 각각 자신에게 입력되는 우측 데이터와 키{(K1,1K1,2K1,3...K1,16),(K2,1K2,2K2,3...K2,16)}를 이용하여 우측 데이터에 대한 암호함수를 생성하는 함수처리기(14,24)와, 함수처리기(14,24)에 접속되어 자신에게 공급되는 좌측 데이터와 함수처리기(14,24)로부터의 암호함수를 XOR연산하여 암호화된 우측 데이터{(R1,1R1,2...R1,16),(R2,1R2,2...R2,16)}를 생성하는 XOR 연산기(16,26)를 구비한다. DES의 각 라운드에 적용되는 키는, 제1 DES 블럭(10)에서 제1 내지 제16 라운드에 적용되는 키 (K1,1K1,2K1,3,..K1,16)와 제2 DES 블럭(20)에서 제1 내지 제16 라운드에 적용되는 키 (K2,1K2,2K2,3...K2,16)로서 각 라운드의 함수처리기(14,24)에 입력된다. 이들 키는 DES의 각 라운드 키 생성방법으로 K1과 K2로부터 각각 만들어진다.The encryption system of the present invention is designed to affect each other between two blocks in the middle of the encryption and decryption process, thereby increasing the short key of 56 bits, which is a weakness of DES, to 112 bits, and inputting 64 bits of input data at a time. The 128-bit input data of the first and second DES blocks are encrypted. The encryption system of the present invention uses a 112-bit encryption key (K), where K is a 56-bit key, K 1 and K 2 used in two DESs. (K = {K 1 , K 2 }) K 1 And K 2 are applied to two DES blocks, that is, the first DES block 10 and the second DES block 20, respectively. Each round RD1 to RD16 has the right data and key input to itself {(K 1,1 K 1,2 K 1,3 ... K 1,16 ), (K 2,1 K 2,2 K 2,3 ... K 2,16 )}, and the left side data connected to the function processors 14, 24 to generate the cryptographic function for the right data, and supplied to itself. And the right-hand data encrypted by XOR operation of the encryption function from the function processor 14, 24 {(R 1,1 R 1,2 ... R 1,16 ), (R 2,1 R 2,2 .. .R 2,16 )}. The key applied to each round of the DES is the key (K 1,1 K 1,2 K 1,3 , .. K 1,16 ) applied to the first to sixteenth rounds in the first DES block 10. Keys (K 2,1 K 2,2 K 2,3 ... K 2,16 ) applied to the first to sixteenth rounds in the second DES block 20, and the function handlers 14 and 24 of each round. Is entered. These keys are generated from K 1 and K 2 respectively by DES round key generation method.

도4는 본 발명의 SXOR 연산기를 나타내는 상세 회로도이다.4 is a detailed circuit diagram illustrating an SXOR operator of the present invention.

도4를 참조하면, 본 발명의 SXOR 연산기는 j 번째 라운드(RDj)에서 생성되는 4 개의 데이터 블럭(L1,j, R1,j, L2,j, R2,j)중 3 개의 데이터 블럭을 XOR 연산하는 XOR 연산기(62)를 구비한다.Referring to FIG. 4, the SXOR operator of the present invention has three data of four data blocks L 1, j , R 1, j , L 2, j , R 2, j generated in the j th round RDj. An XOR operator 62 for XORing the block is provided.

XOR 연산기(62)는 4 개의 데이터 블럭(L1,j, R1,j, L2,j, R2,j)중 자신의 출력데이터 블럭에 대응되는 입력 데이터 블럭을 제외한 주변의 3 개의 데이터 블럭을 XOR 연산하여 새로운 좌우측 데이터 블럭(L'1,j, R'1,j, L'2,j, R'2,j)을 생성한다.The XOR operator 62 includes three pieces of data of four data blocks (L 1, j , R 1, j , L 2, j , R 2, j ) except the input data block corresponding to its output data block. An XOR operation on the block generates new left and right data blocks L ' 1, j , R' 1, j , L ' 2, j , and R' 2, j .

이와 같은 SXOR 연산기(60)의 SXOR 연산특성에 의하여 역연산이 존재한다.The inverse operation exists due to the SXOR operation characteristic of the SXOR operator 60.

즉, SXOR 연산기(60)의 4 개의 출력 데이터 블럭(L'1,j, R'1,j, L'2,j, R'2,j)으로부터 4 개의 역연산 데이터 블럭 (L1,j, R1,j, L2,j, R2,j)은 아래와 같이 수식3으로 구할 수 있다.That is, four inverse data blocks L 1, j from four output data blocks L ' 1, j , R' 1, j , L ' 2, j , R' 2, j of the SXOR operator 60. , R 1, j , L 2, j , R 2, j ) can be obtained from Equation 3 as follows.

[수식 3][Equation 3]

L1,j=R'1,j L'2,j R'2,j L 1, j = R ' 1, j L ' 2, j R ' 2, j

R1,j=L'1,j L'2,j R'2,j R 1, j = L ' 1, j L ' 2, j R ' 2, j

L2,j=L'1,j R'1,j R'2,j L 2, j = L ' 1, j R ' 1, j R ' 2, j

R2,j=L'1,j R'1,j L'2,j R 2, j = L ' 1, j R ' 1, j L ' 2, j

도3과 같은 2 개의 DES 블럭을 동시에 암호화하는 본 발명의 암호화 처리수순을 상세히 설명하면, 제1 및 제2 DES 블럭(10,20)에는 각각 2 개의 8 바이트(64비트) 데이터 블럭(D1,D2)이 공급된다. 이들 데이터 블럭(D1,D2)은 초기순열기(12,22)에 의해 일정한 규칙에 따라 비트 순서가 재배열되어, 그 결과 값의 상위 4바이트(32 비트)와 하위 4바이트(32비트)로 나뉘어 진다. 이들 각각은 제1 DES 블럭(10)에서 제l 라운드(RD1)의 입력 데이터 블럭(L1,0, R1,0)과, 제2 DES 블럭(20)에서 제1 라운드(RD1)의 입력 데이터 블럭(L2,0, R2,0)으로 공급된다. 이때 각 DES 블럭에 적용되는 키(K1,K2)는 56 비트의 길이를 갖는다. 그러면, j번째 라운드(RDj)에서 제1 DES 블럭(10)의 암호화에 적용되는 좌우측 데이터 블럭을 (L1,j-1, R1,j-1)이라 하면, 이 입력 데이터 중 우측 데이터(R1,j-1)는 함수처리기(14)에 공급됨과 아울러 다음 라운드(RDj+1)에 공급되는 좌측 데이터(L1,j)가 된다. 암호화 함수처리기(14)는 우측 데이터(R1,j-1)와 j번째 라운드(RDj)의 암호화 키(K1,j)를 입력으로하여, 이들을 연산처리함으로서 암호함수를 생성하고, 그 암호함수를 XOR 연산기(16)에 공급한다. XOR 연산기(16)는 좌측 데이터(L1,j-1)와 함수처리기(14)의 연산결과 값을 XOR 연산하여, 암호화된 우측 데이터(R1,j)를 생성한다. 동일한 처리수순에 의하여, 제2 DES 블럭(20)의 j 번째 라운드(RDj)는 암호화된 좌우측 데이터(L2,j, R2,j)를 생성한다. 이를 수식으로 표현하면 수식4와 같다.Referring to the encryption processing procedure of the present invention for simultaneously encrypting two DES blocks as shown in FIG. 3, the first and second DES blocks 10 and 20 each include two 8-byte (64-bit) data blocks D1, D2) is supplied. These data blocks (D1, D2) are rearranged in bit order according to a predetermined rule by the initial sequencers 12, 22, and the result is the upper four bytes (32 bits) and the lower four bytes (32 bits) of the result value. Divided. Each of these is input data blocks L 1,0 , R 1,0 of the first round RD1 in the first DES block 10 and inputs of the first round RD1 in the second DES block 20. The data blocks L 2,0 and R 2,0 are supplied. At this time, the keys K 1 and K 2 applied to each DES block have a length of 56 bits. Then, if the left and right data blocks applied to the encryption of the first DES block 10 in the jth round RDj are (L 1, j-1 , R 1, j-1 ), the right data of the input data ( R 1, j-1 ) is supplied to the function processor 14 and becomes left data L 1, j supplied to the next round RDj + 1. The encryption function processor 14 inputs the right data R 1, j-1 and the encryption key K 1, j of the j th round RDj, and computes these to generate an encryption function, and generates the encryption function. The function is supplied to the XOR operator 16. The XOR operator 16 generates an encrypted right data R 1, j by performing an XOR operation on the left data L 1, j-1 and the result value of the function processor 14. By the same processing procedure, the j th round RDj of the second DES block 20 generates encrypted left and right data L 2, j , R 2, j . This expression is expressed as Equation 4.

[수식 4][Equation 4]

L1,j=R1,j-1 L 1, j = R 1, j-1

R1,j=f(R1,j-1, K1,j)L1,j-1 R 1, j = f (R 1, j-1 , K 1, j ) L 1, j-1

L2,j=R2,j-1 L 2, j = R 2, j-1

R2,j=f(R2,j-1, K2,j)L2,j-1 R 2, j = f (R 2, j-1 , K 2, j ) L 2, j-1

이때 j가 우수이면 현재의 출력 데이터 블럭(L1,j, R1,j, L2,j, R2,j)을 그대로 j+1 번째 라운드(RDj+1)의 입력으로 사용하며, j가 기수이면 이 출력은 SXOR 연산기(60)에 의해 SXOR(Self XOR) 연산되어 새로운 4 개의 데이터 블럭(L'1,j, R'1,j, L'2,j, R'2,j)을 생성한다. 이를 수식으로 표현하면 수식5와 같다.At this time, if j is excellent, the current output data block (L 1, j , R 1, j , L 2, j , R 2, j ) is used as an input of j + 1 th round (RDj + 1) as it is, j If is an odd number, this output is SXOR (Self XOR) computed by SXOR operator 60 to produce four new data blocks (L ' 1, j , R' 1, j , L ' 2, j , R' 2, j ). Create This expression is the same as Equation 5.

[수식 5][Equation 5]

L'1,j=R1,j L2,j R2,j L ' 1, j = R 1, j L 2, j R 2, j

R'1,j=L1,j L2,j R2,j R ' 1, j = L 1, j L 2, j R 2, j

L'2,j=L1,j R1,j R2,j L ' 2, j = L 1, j R 1, j R 2, j

R'2,j=L1,j R1,j L2,j R ' 2, j = L 1, j R 1, j L 2, j

이들 4 개의 새로운 데이터 블럭(L'1,j, R'1,j, L'2,j, R'2,j)을 j+1 번째 라운드(RDj+1)의 입력으로 사용한다. 제1 내지 제16 라운드(RD1 내지 RD16)와 기수 번째 라운드(RD1, RD3, RD5,..., RD15)의 출력단에 접속된 SXOR 연산기(60)의 동작은 상기한 j번째 라운드(RDj)와 동일하게 동작한다. 이러한 반복적인 암호화 알고리즘에 의하여 마지막 라운드 즉, 제16 라운드(RD16)의 암호화된 출력 데이터 블럭(L1,16, R1,16, L2,16, R2,16)이 생성되면, 제1 DES 블럭(10)에서 생성된 좌우측 데이터 블럭(L1,16, R1,16)과, 제2 DES 블럭(20)에서 생성된 좌우측 데이터 블럭(L2,16, R2,16)은 각각 좌우측 데이터 블럭의 값이 교환되어 역순열처리기(18,28)에 공급된다. 그러면, 역순열처리기(18,28)는 초기 순열 값의 역변환(Inverse Initial Permutation(IP_1))으로 연산처리하여 16 바이트의 암호문 (C1,C2)을 생성한다.These four new data blocks L ' 1, j , R' 1, j , L ' 2, j , R' 2, j are used as inputs of the j + 1th round RDj + 1. The operation of the SXOR operator 60 connected to the output terminals of the first to sixteenth rounds RD1 to RD16 and the radix-th rounds RD1, RD3, RD5,..., RD15 is performed with the j th round RDj. It works the same. Once this iterative last round by the encryption algorithm that is, the output 16 the encrypted data blocks of round (RD16) (1,16 L, R 1,16, 2,16 L, R 2,16) are generated, the first DES block 10 the left and right data block (1,16 L, R 1,16), a first DES block 2 the left and right data block (2,16 L, R 2,16) generated in 20 is generated from each The values of the left and right data blocks are exchanged and supplied to the reverse permutation processors 18 and 28. Then, the inverse permutation processor (18,28) generates a 16-byte cipher text (C 1 , C 2 ) by arithmetic processing by the inverse Initial Permutation (IP _1 ).

이와 같이 생성된 암호문 (C1,C2)에 대하여 평문을 구하기 위한 복호화 방법에 대한 처리수순을 살펴보면, 위와 같은 알고리즘에 의하여 암호화된 암호문(C1,C2)으로부터 암호화 과정과 동일한 방법으로 수행된다. 먼저, 암호문(C1,C2)으로부터 C1과 C2를 각각 초기순열(IP)을 취하여 수식6과 같이 각각 4 바이트(32 비트)를 이루어진 좌우측 데이터 블럭(R1,16, L1,16, R2,16, L2,16)으로 재배열한다.Looking at the processing procedure for the decryption method for obtaining the plain text for the ciphertext (C 1 , C 2 ) generated in this way, it is performed in the same manner as the encryption process from the ciphertext (C 1 , C 2 ) encrypted by the above algorithm do. First, the ciphertext (C 1, C 2) C 1 and C 2 for each of the initial permutation (IP) to take each of the 4 bytes (32 bits) consisting of a left and right block data as shown in Equation 6 (1,16 R, from L 1, 16 , R 2,16 , L 2,16 ).

[수식 6][Equation 6]

(R1,16, L1,16)=IP(C1)(R 1,16 , L 1,16 ) = IP (C 1 )

(R2,16, L2,16)=IP(C2)(R 2,16 , L 2,16 ) = IP (C 2 )

재배열된 좌우측 데이터 블럭(L1,16, R1,16, L2,16, R2,16)으로부터 복호화 과정을 제16 라운드(RD16)에서 제1 라운드(RD1)까지 16회 반복 수행한다. 이들 라운드 (RD16 내지 RD1) 중 j 번째 라운드(RDj)의 처리수순을 살펴보기로 한다. j 번째 라운드(RDj)에 입력되는 데이터 블럭을 (R1,j, L1,j, R2,j, L2,j)라 하면, 이 라운드(RDj)의 출력은 수식7과 같이 나타난다.And the decoding process from the rearranged left and right data block (1,16 L, R 1,16, 2,16 L, R 2,16) from the 16th round (RD16) to the first round (RD1) performed 16 times repeatedly . The processing procedure of the j th round RDj among these rounds RD16 to RD1 will be described. If the data block input to the j th round RDj is (R 1, j , L 1, j , R 2, j , L 2, j ), the output of this round RDj is expressed as shown in Equation 7.

[수식 7][Formula 7]

R'1,j-1=L1,j R ' 1, j-1 = L 1, j

L'1,j=R1,j f(L1,j, K1,j)L ' 1, j = R 1, j f (L 1, j , K 1, j )

R'2,j-1=L2,j R ' 2, j-1 = L 2, j

L2,j-1=R2,j f(L2,j, K2,j)L 2, j-1 = R 2, j f (L 2, j , K 2, j )

여기서, j-1이 우수이면 출력 데이터 블럭(L'1,j-1, R'1,j-1, L'2,j-1, R'2,j-1)을 그대로 j-1 번째 라운드(RDj-1)의 입력으로 사용하며, j가 기수이면 이 출력은 SXOR 연산기(60)에 의해 SXOR(Se1f exclusive XOR) 연산되어 새로운 4 개의 데이터 블럭(R1,j-1, L1,j-1, R2,j-1, L2,j-1)을 아래의 수식8과 같은 방법으로 구하여 j-1번째 라운드(RDj-1)에 입력으로 공급한다.Here, if j-1 is good, the output data blocks L ' 1, j-1 , R' 1, j-1 , L ' 2, j-1 , R' 2, j-1 ) are j-1th as they are. It is used as the input of the round (RDj-1). If j is an odd number, this output is calculated by the SXOR operator 60 to be SXOR (Se1f exclusive XOR) and the new four data blocks (R 1, j-1 , L 1, j-1 , R 2, j-1 , L 2, j-1 ) is obtained in the same manner as in Equation 8 below, and is supplied as an input to the j-1th round RDj-1.

[수식 8]Equation 8

R1,j-1=L'1,j-1 L'2,j-1 R'2,j-1 R 1, j-1 = L ' 1, j-1 L ' 2, j-1 R ' 2, j-1

L1,j-1=R'1,j-1 L'2,j-1 R'2,j-1 L 1, j-1 = R ' 1, j-1 L ' 2, j-1 R ' 2, j-1

R2,j-1=L'1,j-1 L'2,j-1 R'2,j-1 R 2, j-1 = L ' 1, j-1 L ' 2, j-1 R ' 2, j-1

L2,j-1=R'1,j-1 L'2,j-1 R'2,j-1 L 2, j-1 = R ' 1, j-1 L ' 2, j-1 R ' 2, j-1

j-1 번째 라운드(RDj-1) 내지 제1 라운드(RD1)를 위와 같이 반복수행하여, 최종적으로 제1 라운드(RD1)에서 출력 데이터 블럭(R1,1, L1,1, R2,1, L2,1)을 생성하면 암호화 과정과 마찬가지로, 좌측과 우측 데이터 블럭을 교환하여 역순열처리기 (18,28)에 공급한다. 그러면, 역순열처리기(18,28)는 초기 순열 값의 역변환(Inverse Initial Permutation(IP_1))으로 연산처리하여 각각 8 바이트로 이루어진 16 바이트의 평문 데이터 블럭 D1과 D2를 구할 수 있다.By performing the j-1 th round RDj-1 to the first round RD1 as described above, the output data blocks R 1 , 1 , L 1 , 1 , R 2, in the first round RD1 are finally performed . 1 , L 2,1 ) is generated, and the left and right data blocks are exchanged and supplied to the reverse permutation processors 18 and 28 as in the encryption process. Then, the inverse permutation processor (18,28) can be processed by the inverse Initial Permutation (IP _1 ) of the initial permutation value to obtain the 16-byte plain text data blocks D 1 and D 2 each consisting of 8 bytes.

도5는 본 발명의 제2 실시예에 따른 암호화 시스템을 나타내는 블럭도이다.5 is a block diagram showing an encryption system according to a second embodiment of the present invention.

도5를 참조하면, 본 발명의 암호화 시스템은 제1 내지 제4 DES 블럭(10,20,30,40)과, 제1 내지 제4 DES 블럭(10,20,30,40)의 초기순열기(12,22,32,42)에 종속 접속된 제1 내지 제16 라운드(RD1 내지 RD16)와, 기수 번째 라운드(RD1,RD3,RD5,RD7,...,RD15)의 출력단에 접속된 제1 SXOR 연산기(60)와 우수 번째 라운드(RD2,RD4,RD6,RD8,...,RD14)의 출력단에 접속된 제2 SXOR 연산기(50)를 구비한다.Referring to FIG. 5, the encryption system of the present invention includes an initial sequencer of the first to fourth DES blocks 10, 20, 30, and 40 and the first to fourth DES blocks 10, 20, 30, and 40. The first to sixteenth rounds RD1 to RD16 cascaded to (12,22,32,42) and the output terminals connected to the output terminals of the radix-th round RD1, RD3, RD5, RD7, ..., RD15. And a second SXOR operator 50 connected to the output terminal of the first SXOR operator 60 and the even-numbered rounds RD2, RD4, RD6, RD8, ..., RD14.

4개의 제1 내지 제4 DES블럭(10,20,30,40)에 본 발명의 암호화 및 복호화 알고리즘을 적용하는 경우, 각각 8 바이트로 이루어진 32 바이트의 평문 입력 데이터(D1,D2,D3,D4)를 동시에 입력으로 받아 각 DES 블럭의 키 K1, K2, K3, 및 K4를 키로 사용하여 총224 비트의 키 효과를 얻는다.When the encryption and decryption algorithm of the present invention is applied to four first through fourth DES blocks 10, 20, 30, and 40, 32 bytes of plain text input data D1, D2, D3, and D4 each consisting of 8 bytes. ) Are simultaneously input, and the keys K 1 , K 2 , K 3 , and K 4 of each DES block are used as keys to obtain a total of 224 bit key effects.

이러한 암호화 처리수순을 설명하면, 제1 내지 제4 DES 블럭(10,20,30,40)에각각 32 바이트의 평문 입력 데이터(D1,D2,D3,D4)가 공급된다. 이들 데이터 블럭(D1,D2,D3,D4)은 각각의 DES 블럭의 초기순열기(12,22,32,42)에 의해 비트 순서가 재 배열되어, 그 결과 값의 상위 4바이트(32 비트)와 하위 4바이트(32비트)로 나뉘어져 제1 라운드(RD1)의 좌우측의 입력 데이터 블럭(L1,0, R1,0, L2,0, R2,0, L3,0, R3,0, L4,0, R4,0)으로 공급된다. 제1 라운드(RD1)는 함수처리기(14,24,34,44)와 XOR 연산기(16,26,36,36)를 이용하여 암호화된 좌우측 데이터 블럭(L1,1, R1,1, L2,1, R2,1, L3,1, R3,1, L4,1, R4,1)을 생성한다. 제1 SXOR 연산기(60)는 제1 라운드(RD1)의 출력중, 제1 DES블럭(10)과 제2 DES 블럭(20)에서 생성된 4 개의 데이터 블럭(L1,1, R1,1, L2,1, R2,1) 중 3 개의 데이터 블럭을 XOR 연산하여 제2 라운드(RD2)의 입력 데이터 블럭(L'1,1, R'1,1, L'2,1, R'2,1)으로 공급한다. 마찬가지로, 제1 라운드(RDl)의 출력 중 제3 DES블럭(30)과 제4 DES 블럭(40)에서 생성된 4 개의 데이터 블럭(L3,1, R3,1, L4,1, R4,1) 중 3 개의 데이터 블럭은 제1 SXOR 연산기(60)에 의하여 XOR 연산되어 제2 라운드(RD2)의 입력 데이터 블럭(L'3,1, R'3,1, L'4,1, R'4,1)으로 공급된다. 그러면, 제2 라운드(RD2)는 함수처리기(14,24,34,44)와 XOR 연산기(16,26,36,36)를 이용하여 암호화된 좌우측 데이터 블럭(L1,2, R1,2, L2,2, R2,2, L3,2, R3,2, L4,2, R4,2)을 생성한다. 이들 데이터 블럭(L1,2, R1,2, L2,2, R2,2, L3,2, R3,2, L4,2, R4,2) 중, 제2 SXOR 연산기(50)에 의해 제1 및 제3 DES 블럭(10,30)의 출력 데이터 블럭(L1,2, R1,2, L3,2, R3,2)은 SXOR 연산되어 새로운 데이터 블럭(L'1,2, R'1,2, L'3,2, R'3,2)으로 변환되어 제3 라운드(RD3)에 공급된다. 그리고 제2 라운드(RD2)의 제2 및 제4 DES 블럭(20,40)의 출력 데이터 블럭(L2,2, R2,2, L4,2, R4,2)은 별도의 제2 SXOR 연산기(50)에 의해 SXOR 연산되어 새로운 데이터 블럭(L'2,2, R'2,2, L'4,2, R'4,2)으로 변환되어 제3 라운드(RD3)에 공급된다.Referring to this encryption procedure, 32 bytes of plain text input data D 1 , D 2 , D 3 , and D 4 are supplied to the first to fourth DES blocks 10 , 20 , 30 , and 40 , respectively. These data blocks (D 1 , D 2 , D 3 , D 4 ) are rearranged in bit order by the initial sequencers 12, 22, 32, and 42 of each DES block, and the upper four bytes of the result value. The input data blocks L 1,0 , R 1,0 , L 2,0 , R 2,0 , L 3, on the left and right sides of the first round RD1 are divided into (32 bits) and lower 4 bytes (32 bits). 0 , R 3,0 , L 4,0 , R 4,0 ). The first round RD1 is the left and right data blocks L 1,1 , R 1,1 , L encrypted using the function processors 14, 24, 34, 44 and the XOR operators 16, 26, 36, 36. 2,1 , R 2,1 , L 3,1 , R 3,1 , L 4,1 , R 4,1 ). The first SXOR operator 60 generates four data blocks L 1 , 1 , R 1 , 1 generated in the first DES block 10 and the second DES block 20 during the output of the first round RD1. , L 2,1, R 2,1) of the three data blocks an XOR operation to the second round (RD2) input data blocks (L '1,1, R' of 1,1, L '2,1, R ' 2,1 ). Similarly, four data blocks L 3 , 1 , R 3 , 1 , L 4 , 1 , and R generated in the third DES block 30 and the fourth DES block 40 among the outputs of the first round RDl. Three data blocks of 4,1 are XORed by the first SXOR operator 60 to input the second data block L' 3,1 , R'3,1 , L' 4,1 of the second round RD2. , R ' 4,1 ). Then, the second round RD2 is the left and right data blocks L 1,2 and R 1,2 encrypted using the function processors 14, 24, 34 and 44 and the XOR operators 16, 26, 36 and 36. , L 2,2 , R 2,2 , L 3,2 , R 3,2 , L 4,2 , R 4,2 ). Among these data blocks (L 1,2 , R 1,2 , L 2,2 , R 2,2 , L 3,2 , R 3,2 , L 4,2 , R 4,2 ), the second SXOR operator By 50, the output data blocks L 1,2 , R 1,2 , L 3,2 , R 3,2 of the first and third DES blocks 10, 30 are subjected to SXOR operation so that a new data block ( L ' 1,2 , R' 1,2 , L ' 3,2 , R' 3,2 ) and supplied to the third round RD3. In addition, the output data blocks L 2 , 2 , R 2 , 2 , L 4 , 2 , and R 4 , 2 of the second and fourth DES blocks 20 and 40 of the second round RD2 may be separated from each other. SXOR is calculated by the computing unit SXOR 50 is converted into a new data block (L '2,2, R' 2,2 , L '4,2, R' 4,2) is supplied to the third round (RD3) .

이와 같은 방법으로, 기수 번째 라운드(RD1, RD3, RD5, RD7, RD9, RD11, RD15)의 출력은 제1 라운드(RD1)와 동일한 방법으로 제1 SXOR 연산기(60)에 의해 SXOR 연산되어 다음 라운드에 공급된다. 그리고 우수 번째 라운드(RD2, RD4, RD6, RD8, RD10, RD12, RD14, 단 16라운드는 제외)의 출력은 제2 라운드(RD2)와 같은 방법으로 각각 기수 번째 DES 블럭(10,30)과 우수 번째 DES 블럭(20,40)의 출력 데이터 블럭을 XOR 연산하는 2 개의 제2 SXOR 연산기(50)에 의해 SXOR 연산되어 다음 라운드에 공급된다. 최종적으로, 제16 라운드(RD16)의 암호화된 출력 데이터 블럭(L1,16, R1,16, L2,16, R2,16, L3,16, R3,16, L4,16, R4,16)이 생성되면, 각각의 DES 블럭 (10,20,30,40)은 이들 데이터 블럭 값을 교환하여 초기 순열 값의 역변환(1P_1)으로 연산처리함으로서 32 바이트의 암호문(C1,C2,C3,C4)이 생성된다.In this way, the outputs of the radix-th round RD1, RD3, RD5, RD7, RD9, RD11, RD15 are SXOR-calculated by the first SXOR operator 60 in the same manner as the first round RD1 to perform the next round. Supplied to. And the output of the even rounds (RD2, RD4, RD6, RD8, RD10, RD12, RD14, except 16 rounds) is the same as the second round (RD2) and the odd DES blocks (10, 30) respectively. SXOR operation is performed by two second SXOR operators 50 which perform XOR operation on the output data blocks of the first DES block 20, 40 and is supplied in the next round. Finally, the 16th output encrypted data blocks of round (RD16) (1,16 L, R 1,16, 2,16 L, R 2,16, 3,16 L, R 3,16, 4,16 L , R 4,16 ), each DES block (10, 20, 30, 40) is a 32-byte ciphertext (C) by exchanging the data block values and processing them by the inverse transformation (1P _1 ) of the initial permutation value 1 , C 2 , C 3 , C 4 ) are generated.

복호화 과정은, 위와 같은 암호화 알고리즘에 의하여 암호화된 암호문 (C1,C2,C3,C4)으로부터 암호화 과정과 같은 방법으로 수행된다. 따라서, 이와 같은 암호화 및 복호화 알고리즘에 의하여 암호화 또는 복호화 함으로써 224 비트의 키 효과를 가진다.The decryption process is performed in the same manner as the encryption process from the ciphertext (C 1 , C 2 , C 3 , C 4 ) encrypted by the above encryption algorithm. Therefore, by encrypting or decrypting by such an encryption and decryption algorithm, a key effect of 224 bits is obtained.

결과적으로, 본 발명의 암호화 방법 및 장치는 56 비트 키를 사용하는 적어도 두 개 이상의 DES 블럭을 동시에 암호화 및 복호화를 수행하여 기수 번째 라운드의 출력단에서 중간 결과 값을 SXOR를 취함으로써 적어도 두 개 이상의 DES 블럭에 적용된 각각의 키가 DES 블럭간에 서로 영향을 주게되어, 암호화 속도의 감소없이 키 확장 효과를 얻을 수 있다.(예를 들면,2 개의 DES 블럭을 동시에 암호화 또는 복호화하는 경우 112 비트로 키가 확장되고, 4 개의 DES 블럭을 동시에 암호화 또는 복호화하는 경우 224로 키를 확장할 수 있다.)As a result, the encryption method and apparatus of the present invention simultaneously encrypts and decrypts at least two or more DES blocks using a 56-bit key to take an SXOR of the intermediate result value at the output of the odd-numbered round, thereby providing at least two or more DESs. Each key applied to a block affects each other between DES blocks, so that a key expansion effect can be obtained without reducing the encryption speed (for example, when encrypting or decrypting two DES blocks simultaneously, the key is extended to 112 bits). If four DES blocks are encrypted or decrypted at the same time, the key can be extended to 224.)

본 발명의 암호화 방법 및 장치에서 2 개 또는 4 개의 DES 블럭이 8 바이트의 입력 데이터 블럭(D1=D2(=D3=D4))으로 취하면, 56 비트의 DES 키를 두 개 또는 네 개의 DES 블럭키 (K1=K2(=K3=K4))로 같이 사용할 경우에 생성되는 암호문(C1=C2(=C3=C4))은 8 바이트 평문 데이터를 DES로 암호화 한 것과 동일하기 때문에 종래의 DES형 암호 알고리즘과 호환성을 가진다.In the encryption method and apparatus of the present invention, if two or four DES blocks are taken as 8-byte input data blocks (D 1 = D 2 (= D 3 = D 4 )), two 56-bit DES keys or The ciphertext (C 1 = C 2 (= C 3 = C 4 )) generated when used with four DES block keys (K 1 = K 2 (= K 3 = K 4 )) decodes 8-byte plain text data. Because it is the same as that encrypted with, it is compatible with the conventional DES encryption algorithm.

상술한 바와 같이, 본 발명의 암호화 방법 및 장치는 암호화 및 복호화 처리속도의 저하없이 키 길이를 확장시켜 비도를 높일 수 있다.As described above, the encryption method and apparatus of the present invention can increase the key length by extending the key length without reducing the encryption and decryption processing speed.

이상 설명한 내용을 통해 당업자라면 본 발명의 기술사상을 일탈하지 아니하는 범위에서 다양한 변경 및 수정이 가능함을 알 수 있을 것이다. 따라서, 본 발명의 기술적 범위는 명세서의 상세한 설명에 기재된 내용으로 한정되는 것이 아니라 특허 청구의 범위에 의해 정하여 져야만 할 것이다.Those skilled in the art will appreciate that various changes and modifications can be made without departing from the technical spirit 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 (20)

평문 데이터에 대하여 적어도 두 개 이상의 데이터 블럭으로 분할하도록 순열 및 재배열하는 단계와; 상기 적어도 두 개 이상의 데이터 블럭 각각에 대한 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 포함하는 라운드를 반복적으로 수행하는 단계와; 상기 임의의 라운드에서 상기 암호화된 데이터 블럭을 셀프 익스클러시브 논리합(SXOR)으로 연산하는 단계를 포함하는 암호화 방법.Permuting and rearranging the data to be divided into at least two data blocks for plain text data; Iteratively performing a round comprising a function processing and a logical operation using a key to generate an encrypted data block for each of the at least two data blocks; Computing the encrypted block of data in a self-exclusive logical sum (SXOR) in the round. 제1항에 있어서, 상기 셀프 익스클러시브 논리합(Self exclusive XOR)으로 연산하는 단계는 임의의 m 번째 출력요소를 생성하도록 상기 n 개의 암호화된 데이터 블럭에서 상기 m 번째 암호화된 데이터 블럭을 제외한 상기 n-1 개의 암호화된 데이터를 배타적 논리합(XOR)으로 연산하는 것을 특징으로 하는 암호화 방볍.The method of claim 1, wherein the operation of performing a self exclusive XOR comprises: n except for the mth encrypted data block in the n encrypted data blocks to generate an arbitrary mth output element. -Encryption method, characterized in that one encrypted data is calculated with an exclusive OR. 평문 데이터에 대하여 두 개의 데이터 블럭으로 분할하도록 순열 및 재배열하는 단계와; 상기 두 개의 데이터 블럭 각각에 대하여 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 포함하는 라운드를 반복적으로 수행하는 단계와; 상기 임의의 라운드에서 생성된 암호화된 데이터 블럭에 대하여 셀프 익스클러시브 논리합(SXOR)으로 연산하는 단계를 포함하는 암호화 방법.Permuting and rearranging the plain text data into two data blocks; Iteratively performing a round comprising a function processing and a logical operation using a key to generate an encrypted data block for each of the two data blocks; And computing a self-exclusive logical sum (SXOR) on the encrypted data blocks generated in the any round. 제3항에 있어서, 상기 각각의 데이터 블럭에 대하여 상기 라운드에서 56 비트의 키가 공급되어 112 비트의 키로 상기 암호화된 데이터 블럭을 생성하는 것을 특징으로 하는 암호화 방법.4. The method of claim 3, wherein a 56-bit key is supplied for the respective data blocks in the round to generate the encrypted data block with a 112-bit key. 제3항에 있어서, 상기 셀프 익스클러시브 논리합으로 연산하는 단계는 기수 번째 상기 라운드에서 생성된 상기 암호화된 데이터 블럭을 논리연산하는 것을 특징으로 하는 암호화 방법.The encryption method as claimed in claim 3, wherein the operation of performing the self-exclusive logical OR comprises performing the logical operation on the encrypted data block generated in the odd-numbered rounds. 제3항에 있어서, 상기 임의의 j-1 번째 라운드에서 생성된 상기 암호화된 데이터 블럭을 각각 (L1,j-1, R1,j-1, L2,j-1, R2,j-1)이라면,4. The method of claim 3, wherein the encrypted data blocks generated in the arbitrary j-1 th round are respectively (L 1, j-1 , R 1, j-1 , L 2, j-1 , R 2, j -1 ), L1,j=R1,j-1 L 1, j = R 1, j-1 R1,j=f(R1,j-1, K1,j)L1,j-1 R 1, j = f (R 1, j-1 , K 1, j ) L 1, j-1 L2,j=R2,j-1 L 2, j = R 2, j-1 R2,j=f(R2,j-1, K2,j)L2,j-1 R 2, j = f (R 2, j-1 , K 2, j ) L 2, j-1 여기서,는 배타적 논리합(XOR) 연산을 의미하고, 암호화된 데이터 블럭(L1,j, R1,j, L2,j, R2,j)이 j 번째 라운드에서 생성되는 것을 특징으로 하는 암호화 방법.here, Denotes an exclusive OR operation, and encrypted data blocks (L 1, j , R 1, j , L 2, j , R 2, j ) are generated in the j th round. 제3항 또는 제6항에 있어서, 상기 j 번째 라운드가 기수 번째 라운드이고, 상기 j 번째 라운드에서 발생한 암호화된 데이터가 각각 L1,j, R1,j, L2,j, R2,j라면, 상기 암호화된 데이터는 셀프 익스클러시브 논리합으로 연산되어,The method according to claim 3 or 6, wherein the j th round is an odd round and the encrypted data generated in the j th round is L 1, j , R 1, j , L 2, j , R 2, j If so, the encrypted data is calculated by a self-exclusive logical OR, L'1,j=R1,j L2,j R2,j L ' 1, j = R 1, j L 2, j R 2, j R'1,j=L1,j L2,j R2,j R ' 1, j = L 1, j L 2, j R 2, j L'2,j=L1,j R1,j R2,j L ' 2, j = L 1, j R 1, j R 2, j R'2,j=L1,j R1,j L2,j R ' 2, j = L 1, j R 1, j L 2, j 여기서는 배타적 논리합(XOR) 연산을 의미하고, L'1,j, R'1,j, L'2,j, R'2,j의 암호화된 데이터 블럭들을 생성하는 것을 특징으로 하는 암호화 방법.here Means an exclusive OR operation, and generates encrypted data blocks of L ' 1, j , R' 1, j , L ' 2, j , R' 2, j . 제3항에 있어서, 우수 번째 상기 라운드에서 발생한 암호화된 데이터 블럭은 셀프 익스클러시브 논리합으로 연산되지 않는 것을 특징으로 하는 암호화 방법.4. The method of claim 3, wherein the encrypted data blocks that occurred in the even-th round are not computed by self-exclusive logical OR. 제3항에 있어서, 최종단에 위치한 상기 라운드에서 발생한 상기 암호화된 데이터에 대하여 상기 순열의 역연산을 수행하여 상기 암호문 데이터를 발생하는 것을 특징으로 하는 암호화 방법.4. The encryption method according to claim 3, wherein the ciphertext data is generated by performing the inverse of the permutation on the encrypted data generated in the round located at the last stage. 평문 데이터에 대하여 네 개의 데이터 블럭으로 분할하도록 순열 및 재배열 하는 단계와; 상기 네 개의 데이터 블럭에 대하여 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 포함하는 라운드를 반복적으로 수행하는 단계와; 상기 두 개의 데이터 블럭이 서로 연관되도록 상기 기수 번째 라운드에서 발생된 상기 암호화된 데이터를 셀프 익스클러시브 논리합으로 연산하는 단계와; 상기 네 개의 데이터 블럭이 서로 연관되도록 상기 우수 번째 라운드에서 발생된 상기 암호화된 데이터 블럭을 셀프 익스클러시브 논리합으로 연산하는 단계를 포함하는 암호화 방법.Permuting and rearranging the data to be divided into four data blocks for the plain text data; Iteratively performing a round comprising a function processing and a logical operation using a key to generate an encrypted data block for the four data blocks; Computing the encrypted data generated in the odd rounds by a self-exclusive logical sum such that the two data blocks are associated with each other; Computing the encrypted data block generated in the even round to self-exclusive logical sum such that the four data blocks are associated with each other. 제10항에 있어서, 상기 각각의 데이터 블럭에 대하여 상기 라운드에서 56 비트의 키가 공급되어 224 비트의 키로 상기 암호화된 데이터 블럭을 생성하는 것을 특징으로 하는 암호화 방법.11. The method of claim 10, wherein a 56-bit key is supplied for the respective data blocks in the round to generate the encrypted data block with a 224-bit key. 암호문 데이터에 대하여 적어도 두 개 이상의 데이터 블럭으로 분할하도록 순열 및 재배열하는 단계와; 상기 적어도 두 개 이상의 데이터 블럭에 대하여 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 포함하는 라운드를 반복적으로 수행하는 단계와; 상기 임의의 라운드에서 상기 암호화된 데이터 블럭에 대하여 셀프 익스클러시브 논리합으로 연산하는 단계를 포함하는 복호화 방법.Permutating and rearranging the ciphertext data into at least two data blocks; Repeatedly performing a round including function processing and a logical operation using a key to generate an encrypted data block for the at least two data blocks; And performing a self-exclusive logical OR on the encrypted data blocks in the arbitrary rounds. 제12항에 있어서, 최종단에 위치한 상기 라운드에서 발생한 상기 데이터 블럭에 대하여 상기 순열의 역연산을 수행하여 상기 평문 데이터를 발생하는 것을 특징으로 하는 복호화 방법.13. The decoding method of claim 12, wherein the plaintext data is generated by performing the inverse of the permutation on the data block generated in the round located at the last stage. 입력라인에 접속되어 평문 데이터에 대하여 순열연산함으로서 적어도 두 개 이상의 데이터 블럭으로 재배열하는 순열연산수단과; 상기 순열연산수단에 종속 접속되어 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 반복적으로 수행하는 라운드 연산수단과; 상기 임의의 라운드 연산수단에 접속되어 상기 암호화된 데이터 블럭에 대하여 셀프 익스클러시브 논리합으로 연산하는 적어도 하나 이상의 SXOR 연산수단을 구비한 것을 특징으로 하는 암호화 장치.Permutation computing means connected to an input line for reordering the plain text data into at least two data blocks; Round arithmetic means for repetitively performing a function processing and a logical operation using a key so as to be subordinately connected to the permutation arithmetic means to generate an encrypted data block; And at least one SXOR arithmetic means connected to said arbitrary round arithmetic means for performing a self-exclusive logical sum on said encrypted data block. 제14항에 있어서, 상기 라운드 연산수단은 상기 각각의 데이터 블럭에 대하여 공급되는 키를 이용하여 연산을 수행하는 것을 특징으로 하는 암호화 장치.15. The encryption apparatus according to claim 14, wherein the round calculation means performs a calculation using a key supplied for each of the data blocks. 제14항에 있어서, 최종단에 위치한 상기 라운드 연산수단은 상기 암호화된 데이터 블럭에 대하여 상기 순열의 역연산을 수행하여 암호문 데이터를 발생하는 역순열 연산수단을 추가로 구비한 것을 특징으로 하는 암호화 장치.15. The encryption apparatus according to claim 14, wherein the round computing means located at the last stage further comprises a reverse permutation calculating means for performing the inverse of the permutation of the encrypted data block to generate encrypted text data. . 제14항에 있어서, 상기 SXOR 연산수단은 상기 기수 번째 라운드 연산수단의 출력단에 접속되어 상기 암호화된 데이터 블럭을 셀프 익스클러시브 논리합으로 연산하는 것을 특징으로 하는 암호화 장치.15. The encryption apparatus according to claim 14, wherein said SXOR calculation means is connected to an output terminal of said odd-numbered round calculation means to calculate said encrypted data block by self-exclusive logical sum. 제14항에 있어서, 상기 SXOR 연산수단은 상기 우수 번째 라운드 연산수단의 출력단에 접속되어 상기 기수 번째 DES 블럭의 상기 암호화된 데이터 블럭을 셀프 익스클러시브 논리합으로 연산하는 것을 특징으로 하는 암호화 장치.15. The encryption apparatus according to claim 14, wherein said SXOR calculating means is connected to an output terminal of said even-numbered round calculating means and calculates said encrypted data block of said odd-numbered DES block by self-exclusive logical sum. 입력라인에 접속되어 암호문 데이터에 대하여 순열연산함으로서 적어도 두개 이상의 데이터 블럭으로 재배열하는 순열연산수단과; 상기 순열연산수단에 종속 접속되어 암호화된 데이터 블럭이 생성되도록 키를 이용한 함수처리와 논리연산을 반복적으로 수행하는 라운드 연산수단과; 임의의 상기 라운드 연산수단에 접속되어 상기 암호화된 데이터 블럭에 대하여 셀프 익스클러시브 논리합으로 연산하는 적어도 하나의 SXOR 연산수단을 구비한것을 특징으로 하는 복호화 장치.Permutation computing means connected to an input line for reordering ciphertext data into at least two data blocks; Round arithmetic means for repetitively performing a function processing and a logical operation using a key so as to be subordinately connected to the permutation arithmetic means to generate an encrypted data block; And at least one SXOR arithmetic unit connected to any of the round arithmetic units and performing a self-exclusive logical sum on the encrypted data block. 제19항에 있어서, 상기 최종 라운드 연산수단에 접속되어 상기 암호화된 데이터 블럭에 대하여 상기 순열연산의 역연산을 수행하여 상기 평문 데이터를 발생하는 역순열 연산수단을 추가로 구비한 것을 특징으로 하는 복호화 장치.20. The decryption apparatus as set forth in claim 19, further comprising: inverse permutation computing means connected to the last round computing means to perform inverse computation of the permutation operation on the encrypted data block to generate the plain text data. Device.
KR1019970049387A 1997-09-27 1997-09-27 Encryption method and apparatus KR100262384B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970049387A KR100262384B1 (en) 1997-09-27 1997-09-27 Encryption method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970049387A KR100262384B1 (en) 1997-09-27 1997-09-27 Encryption method and apparatus

Publications (2)

Publication Number Publication Date
KR19990027040A true KR19990027040A (en) 1999-04-15
KR100262384B1 KR100262384B1 (en) 2000-08-01

Family

ID=19521838

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970049387A KR100262384B1 (en) 1997-09-27 1997-09-27 Encryption method and apparatus

Country Status (1)

Country Link
KR (1) KR100262384B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100494560B1 (en) * 2002-11-23 2005-06-13 한국전자통신연구원 Real time block data encryption/decryption processor using Rijndael block cipher and method therefor
KR101129335B1 (en) * 2010-06-07 2012-03-26 동국대학교 경주캠퍼스 산학협력단 Data distribution storing and restoring methods and apparatuses

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970005596B1 (en) * 1994-07-08 1997-04-18 재단법인 한국전자통신연구소 Method for encrypting and decryting digital information

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100494560B1 (en) * 2002-11-23 2005-06-13 한국전자통신연구원 Real time block data encryption/decryption processor using Rijndael block cipher and method therefor
KR101129335B1 (en) * 2010-06-07 2012-03-26 동국대학교 경주캠퍼스 산학협력단 Data distribution storing and restoring methods and apparatuses

Also Published As

Publication number Publication date
KR100262384B1 (en) 2000-08-01

Similar Documents

Publication Publication Date Title
EP0725511B1 (en) Method for data encryption/decryption using cipher block chaining (CBC) and message authentication codes (MAC)
US7672455B2 (en) Method and apparatus for data encryption
KR100362458B1 (en) Cryptographic processing apparatus, cryptographic processing method, and recording medium recording cryptographic processing program for realizing high-speed crypographic processing without impairing security
US10320554B1 (en) Differential power analysis resistant encryption and decryption functions
JP2002366029A (en) Encipherment safe against dpa(differential power analysis)
KR20180081559A (en) Generate key sequence for encryption operation
US7783045B2 (en) Secure approach to send data from one system to another
JP2000511755A (en) How to encrypt binary code information
US7093126B1 (en) Encryption schemes with almost free integrity awareness
JP3769804B2 (en) Decoding method and electronic device
JPH11298471A (en) Method and device for enciphering block
Bajaj et al. AES algorithm for encryption
KR100262384B1 (en) Encryption method and apparatus
CN114826558A (en) Mass data rapid encryption method and system
EP1629626B1 (en) Method and apparatus for a low memory hardware implementation of the key expansion function
KR100494560B1 (en) Real time block data encryption/decryption processor using Rijndael block cipher and method therefor
JPH10153954A (en) Ciphering device
JPS6281145A (en) Data ciphering system
JP2000089666A (en) Encoding/decoding device
KR20030083326A (en) Method for encipherment
JPH10153955A (en) Ciphering device
KR100380638B1 (en) A data encryption standard system equipped parallel feistel structure
RU2199826C2 (en) Method for iterative encoding of digital data blocks
Kumari et al. Implementation of pipelined data encryption standard for security enhancement through verilog
KR19990011903A (en) Stream cipher system of wireless communication

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20030428

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee