KR100316025B1 - Encryption and decryption device using data encryption standard algorithm - Google Patents

Encryption and decryption device using data encryption standard algorithm Download PDF

Info

Publication number
KR100316025B1
KR100316025B1 KR1019990025795A KR19990025795A KR100316025B1 KR 100316025 B1 KR100316025 B1 KR 100316025B1 KR 1019990025795 A KR1019990025795 A KR 1019990025795A KR 19990025795 A KR19990025795 A KR 19990025795A KR 100316025 B1 KR100316025 B1 KR 100316025B1
Authority
KR
South Korea
Prior art keywords
output
exclusive
multiplexer
permutation
unit
Prior art date
Application number
KR1019990025795A
Other languages
Korean (ko)
Other versions
KR20010005012A (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 KR1019990025795A priority Critical patent/KR100316025B1/en
Publication of KR20010005012A publication Critical patent/KR20010005012A/en
Application granted granted Critical
Publication of KR100316025B1 publication Critical patent/KR100316025B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures

Abstract

본 발명은 암호 및 복호장치에 관한 것으로, 특히 데이터 암호 표준 알고리즘을 이용한 암호 및 복호장치에 관한 것이다. 그 장치는 카운팅값에 따라 키값을 발생하는 키 발생부, 64비트 입력 데이터를 입력받아 순열 연산하는 순열 연산부, 상기 순열 연산부의 연산 결과와 상기 키 발생부로부터의 키값을 배타 논리합 연산하는 제1배타 논리합 연산부, 상기 제1배타 논리합 연산부의 출력을 입력받아 치환 연산하는 치환부, 및 상기 순열 연산부 및 상기 치환부의 출력을 배타 논리합 연산하는 배타 논리합 연산부를 포함하는 것을 특징으로 하는 한다. 본 발명에 의하면, 연산 속도를 유지하면서도 칩 면적을 대폭 줄일 수 있다는 효과가 있다.The present invention relates to an encryption and decryption apparatus, and more particularly, to an encryption and decryption apparatus using a data encryption standard algorithm. The apparatus includes a key generator for generating a key value according to a counting value, a permutation operator for receiving permutation of 64-bit input data, and a first exclusive operation for performing an exclusive OR operation on the calculation result of the permutation operator and the key value from the key generator. And a logical OR operation unit, a replacement unit which receives an output of the first exclusive logical OR operation unit, and performs a substitution operation, and an exclusive logical OR operation unit which performs an exclusive OR operation on the outputs of the permutation operator and the replacement unit. According to the present invention, it is possible to significantly reduce the chip area while maintaining the operation speed.

Description

데이터 암호 표준 알고리즘을 이용한 암호 및 복호 장치{Encryption and decryption device using data encryption standard algorithm}Encryption and decryption device using data encryption standard algorithm

본 발명은 암호 및 복호 장치에 관한 것으로, 특히 데이터 암호화 표준 알고리즘을 이용한 암호 및 복호 장치에 관한 것이다.The present invention relates to an encryption and decryption apparatus, and more particularly, to an encryption and decryption apparatus using a data encryption standard algorithm.

일반적으로 집적 회로 카드(Integrated circuit card) 분야에서는 사용자 인증(authentication)을 위해 고도의 복잡한 암호화(Encryption) 및 복호화(decryption) 알고리즘을 이용해야 하는데, 그중 하나가 데이터 암호 표준(Data Encryption Standard: 이하, DES라 칭함) 알고리즘이다. DES 알고리즘은 데이터와 키(key) 모두 64비트를 사용하여 16 라운드(round) 연산후, 64 비트의 암호화 데이터를 생성한다. 또한, 원래 하드웨어 구현에 적합하도록 비트 조작 및 서플링(shuffling) 동작이 대부분이고 16 라운드의 반복 연산을 수행하여 소프트웨어로 구현을 하였을 때에는 상당히 연산 시간이 길어지고 보통 5ms 정도의 연산 시간이 소요된다. 물론, 하드웨어적으로 구현한 경우에는 연산 시간이 짧아지는데 구현 면적이 커지게 된다. 일반적으로 전용 DES 칩은 면적에 대한 고려보다는 연산 시간을 줄이는데 초점을 맞추기 때문에 파이프라인(pipeline) 구조를 사용하여 연산 시간을 상당히 줄일 수 있다. 그리고 64비트 단위의 블록이 상당히 많은 연산을 필요로 하는 경우에는 암호화 블록 상호간에 데이터 암호화를 또 수행하게 되는데 보통 전자적 코드 북(electronic code book: ECB), 시퍼 블록 체이닝(cipher block chaining: CBC), 출력 피드백(out feedback: OFB), 시퍼 피드백(cipher feedback:CFB) 등이 사용된다. 그 중 ECD는 상용 소프트웨어 제품에 많이 사용되지만 외부 공격에 약해서 좀더 복잡하지만 보안에 강한 CBC를 많이 사용한다.In general, in the field of integrated circuit cards, highly complex encryption and decryption algorithms must be used for user authentication, one of which is the Data Encryption Standard (hereinafter, referred to as "encryption"). DES) algorithm. The DES algorithm generates 64 bits of encrypted data after 16 rounds of operations using both 64 bits of data and keys. In addition, the bit manipulation and shuffling operations are most suitable for the original hardware implementation, and when the software is implemented by performing 16 rounds of repetitive operations, the computation time is considerably longer and usually takes about 5 ms. Of course, in the case of a hardware implementation, the computation time is shortened, but the implementation area becomes large. In general, a dedicated DES chip focuses on reducing computation time rather than area considerations, so a pipeline structure can be used to significantly reduce computation time. And if a 64-bit block requires a significant amount of computation, the data encryption is performed again between the encryption blocks, usually an electronic code book (ECB), cipher block chaining (CBC), Out feedback (OFB), cipher feedback (CFB), and the like are used. Among them, ECD is widely used in commercial software products, but it is more complicated because of weak external attacks.

도 1은 종래의 DES 알고리즘을 이용한 암호화 장치를 설명하기 위한 도면으로, 도면 부호 1은 초기 순열(initial permutation)을, 10은 DES 알고리즘을 수행하는 기본 구조를 나타내며, L(i)은 i번째 64비트중 왼쪽 32비트를, R(i)은 i번째 64비트중 오른쪽 32비트를, Ki는 i번째 키를, 그리고 XOR는 배타논리합 게이트를 각각 나타낸 것이다.1 is a diagram illustrating a conventional encryption device using the DES algorithm, in which reference numeral 1 denotes an initial permutation, 10 denotes a basic structure for performing a DES algorithm, and L (i) denotes an i-th 64. The left 32 bits of the bits, R (i) the right 32 bits of the i-th 64 bits, Ki the i key, and XOR the exclusive logical gate.

먼저, 기본 구조(10)를 살펴보면, 왼쪽 32비트 L(0)(11)과 오른쪽 32비트 R(0)(12)에 대해서, R(0)(12)과 키(k1)(13)가 DES 연산부(14)에 입력되고 연산 처리된 후, 그 결과와 L(0)(11)이 배타논리합 연산부(15)에 의해 배타논리합 연산되어 출력된다. 이때, R(0)(12)은 다음 단의 왼쪽 32비트(L(1))가 된다. 이때, DES 연산부(14)는 DES 알고리즘을 수행하기 위한 확장 순열(expansion permuation), 키 생성(key generation), 치환(S-BOX subsitution), 그리고 순열(P-BOX permuation) 등의 연산을 수행한다.First, looking at the basic structure 10, for the left 32-bit L (0) (11) and the right 32-bit R (0) (12), R (0) (12) and key (k1) (13) After input to the DES operation unit 14 and arithmetic processing, the result and L (0) 11 are subjected to an exclusive logic operation by the exclusive logic operation unit 15 and output. At this time, R (0) 12 becomes the left 32 bits (L (1)) of the next stage. At this time, the DES operation unit 14 performs operations such as expansion permuation, key generation, S-BOX subsitution, and permutation (P-BOX permuation) for performing the DES algorithm. .

기본 DES 알고리즘은 다음 과정을 통해 수행되며, 이를 상세히 설명하면 다음과 같다.The basic DES algorithm is performed through the following process, which will be described in detail below.

(1). 64 비트 입력(I64)중 오른쪽 32비트 R(i)은 다음 단의 왼쪽 32비트(L(i+1))가 된다.(One). The right 32 bits R (i) of the 64-bit input I64 become the left 32 bits (L (i + 1)) of the next stage.

(2). 오른쪽 32 비트(R(i))는 선택 과정을 거쳐 48비트 데이터가 된다.(2). The right 32 bits R (i) go through a selection process to form 48 bits of data.

(3). 64비트 키는 48비트 1~16까지의 n번째 보조 키를 생성하기 위해 사용된다. 이때, 48비트 보조 키는 (2) 과정을 통해 생성된 48비트와 배타논리합 연산을 통해 48비트의 결과를 얻는다.(3). The 64-bit key is used to generate the nth secondary key from 48 bits 1 to 16. At this time, the 48-bit auxiliary key obtains a 48-bit result through the exclusive logical sum operation and the 48-bit generated through the process (2).

(4). (2) 과정을 수행한 후의 48비트의 결과는 8개의 6비트 블록으로 나누어지며, 6비트중 4비트가 선택되어 32비트 출력이 얻어진다.(4). (2) The 48-bit result after the process is divided into eight 6-bit blocks. Four bits of the six bits are selected to obtain a 32-bit output.

(5). (4)과정의 32비트 출력은 각 비트마다 위치를 새로이 변환한다.(5). The 32-bit output in (4) converts the position of each bit anew.

(6). 32비트 블록은 입력의 왼쪽 32비트(L(i))와 배타 논리합 연산을 행한 결과가 다음 단의 오른쪽 32비트(L(i+1))가 된다.(6). In the 32-bit block, the result of performing the exclusive OR operation with the left 32 bits (L (i)) of the input is the right 32 bits (L (i + 1)) of the next stage.

상술한 과정을 통해 64비트의 결과를 얻게 되고, 이러한 과정을 총 16번 반복 수행된 후, 그 결과로서 왼쪽 32비트(L(16))(16)와 오른쪽 32비트(R(16))(17)를 얻게 되며, 이는 초기 순열(1)에 대한 역 순열(18)로서 출력된다.Through the above-described process, a 64-bit result is obtained, and this process is repeatedly performed 16 times, and as a result, the left 32 bits (L (16)) 16 and the right 32 bits (R (16)) ( 17), which is output as the inverse permutation 18 relative to the initial permutation 1.

이상에서 살펴본 바와 같이, 종래의 DES 알고리즘을 이용한 암호화 장치는 기본 구조(10)를 통해 연산을 총 16회에 걸쳐서 쉬프팅 및 키 처리 과정을 반복 수행하는 형태의 구조를 가진다. 따라서, 집적화시 칩 면적을 크게 차지하게 되고, 하드웨어 효율성이 떨어진다는 문제점이 있었다.As described above, the conventional encryption device using the DES algorithm has a structure of repeating the shifting and key processing processes for a total of 16 operations through the basic structure (10). Therefore, the chip occupies a large area when integrated, and there is a problem in that hardware efficiency is low.

본 발명은 칩면적을 최소화할 수 있는 데이터 암호화 표준 알고리즘을 이용한 암호 및 복호장치를 제공하는데 그 목적이 있다.An object of the present invention is to provide an encryption and decryption apparatus using a data encryption standard algorithm that can minimize the chip area.

도 1은 종래의 데이터 암호 표준 알고리즘을 이용한 암호 장치를 설명하기 위한 도면.1 is a view for explaining a cryptographic apparatus using a conventional data encryption standard algorithm.

도 2a는 본 발명에 따른 데이터 암호 표준 알고리즘을 이용한 암호 및 복호장치를 설명하기 위한 도면.Figure 2a is a view for explaining the encryption and decryption apparatus using a data encryption standard algorithm according to the present invention.

도 2b는 도 2a에 도시된 암호 및 복호 장치의 동작을 설명하기 위한 신호 파형도.Fig. 2B is a signal waveform diagram for explaining the operation of the encryption and decryption apparatus shown in Fig. 2A.

도 3a는 도 2a에 도시된 치환부(50)를 설명하기 위한 상세 도면.FIG. 3A is a detailed view for explaining the substitution unit 50 shown in FIG. 2A. FIG.

도 3b는 도 3a에 도시된 치환부의 동작을 설명하기 위한 신호 파형도.FIG. 3B is a signal waveform diagram for explaining the operation of the substitution unit shown in FIG. 3A. FIG.

* 도면의 주요 부분에 대한 설명* Description of the main parts of the drawing

20 : 4비트 카운터 30 : 키 발생부20: 4-bit counter 30: Key generator

40 : 순열 연산부 50 : 치환부40: permutation calculation unit 50: substitution unit

60, 70 : 배타 논리합 연산부60, 70: exclusive OR operation unit

상기 목적을 달성하기 위한 본 발명에 따른 데이터 암호화 표준 알고리즘을 이용한 암호 및 복호장치는 카운팅값에 따라 키값을 발생하는 키 발생부, 64비트 입력 데이터를 입력받아 순열 연산하는 순열 연산부, 상기 순열 연산부의 연산 결과와 상기 키 발생부로부터의 키값을 배타 논리합 연산하는 제1배타 논리합 연산부, 상기 제1배타 논리합 연산부의 출력을 입력받아 치환 연산하는 치환부, 및 상기 순열 연산부 및 상기 치환부의 출력을 배타 논리합 연산하는 배타 논리합 연산부를 포함하여 이루어진다.The encryption and decryption apparatus using the data encryption standard algorithm according to the present invention for achieving the above object is a key generator for generating a key value according to a counting value, a permutation operation unit for receiving permutation 64-bit input data, the permutation operator A first exclusive OR operation unit for performing an exclusive OR operation on the operation result and the key value from the key generation unit, a replacement unit for receiving a substitution operation by receiving an output of the first exclusive OR operation unit, and an exclusive OR of the permutation operation unit and the output of the replacement unit. It includes an exclusive OR operation unit for calculating.

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하면 다음과 같다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 2A는 본 발명에 따른 DES 알고리즘을 이용한 암호 및 복호 장치를 설명하기 위한 도면으로, 도면 부호 20은 4비트 카운터를, 30은 키 발생부를, 40은 순열(P-BOX permutation) 연산부를, 50은 치환부(S-BOX substitution)를, 60 및 70은 배타 논리합 연산부를 각각 나타낸 것이다.2A is a view for explaining an encryption and decryption apparatus using the DES algorithm according to the present invention, reference numeral 20 denotes a 4-bit counter, 30 denotes a key generator, 40 denotes a P-BOX permutation operator, and Are S-BOX substitutions, and 60 and 70 are exclusive OR operations, respectively.

먼저, 4비트 카운터(20)는 enc 신호에 의해 증가되고, dec 신호에 의해 감소 카운팅 동작을 수행하며, reset 신호에 의해 리셋된다. 키 발생부(30)는 반복되는 다음 키값을 순차적으로 발생하는 부분으로, 카운터(20)의 카운팅값과, enc 및 dec 신호에 따라 키(key)값 혹은 피드백된 키값을 선택 출력하는 멀티플렉서(MUX)(32)와, 멀티플렉서(32)의 출력을 쉬프팅 시키는 쉬프트 레지스터(34)로 구성된다. 순열 연산부(40)는 순열(P-BOX permutation) 연산을 수행하는 부분으로, 두 개의 멀티플렉서(42, 44)와 레지스터(46)로 구성된다. 치환부(50)는 치환(S-BOX substitution) 연산을 수행하는 부분이다. 배타 논리합 연산부(60, 70)는 각각 배타 논리합 연산을 수행한다.First, the 4-bit counter 20 is incremented by the enc signal, performs a decrement counting operation by the dec signal, and is reset by the reset signal. The key generator 30 sequentially generates the next repeated key value. The key generator 30 selectively outputs a count value of the counter 20 and a key value or a fed back key value according to the enc and dec signals. ) And a shift register 34 for shifting the output of the multiplexer 32. The permutation operator 40 is a part that performs a permutation (P-BOX permutation) operation, and consists of two multiplexers 42 and 44 and a register 46. The substitution unit 50 is a part that performs an S-BOX substitution operation. The exclusive OR calculation units 60 and 70 perform an exclusive OR operation, respectively.

도 2B는 도 2A에 도시된 암호 및 복호 장치의 동작을 설명하기 위한 파형도를 도시한 것으로, 미설명된 clk는 클럭신호를, counter는 4비트 카운터의 카운트값을, key는 킷값을 각각 나타낸 것이다.FIG. 2B shows a waveform diagram for explaining the operation of the encryption and decryption apparatus shown in FIG. 2A, where unexplained clk represents a clock signal, counter represents a count value of a 4-bit counter, and key represents a kit value. will be.

도 2A 및 도 2B를 참조하여 본 발명의 동작을 상세히 설명하면 다음과 같다.Referring to Figures 2A and 2B will be described in detail the operation of the present invention.

DES 알고리즘의 암호화(encryption)와 복호화(decryption)의 차이는 키 쉬프트 방향과 횟수만 차이가 있다. 따라서, enc 및 dec 신호에 따라 암호화 또는 복호화 동작을 선택할 수 있게 된다. 키 발생부(30)는 카운터(20)의 카운팅 동작의 시작과 함께 다음 반복 연산을 위한 키값을 차례대로 발생한다. 키 발생부(30)의 키값과 순열 연산부(40)의 연산 결과는 배타 논리합 연산부(60)에 의해 배타 논리합 연산된 후, 치환부(50)에 입력된다. 순열 연산부(40)는 64 비트 입력 데이터(data)를 두 개의 멀티플렉서(42, 44)에 각각 32비트씩 입력되며, 멀티플렉서들(42, 44)의 출력은 레지스터(46)에 저장된 후, 배타 논리합 연산부(60, 70)에 각각 입력된다. 이때, 멀티플렉서(42)는 배타 논리합 연산부(70)의 출력을 다른 하나의 입력으로 하며, 멀티플렉서(42)는 레지스터(46)에 저장값을 다른 하나의 입력으로 받아들인다.The difference between encryption and decryption of the DES algorithm is only the key shift direction and the number of times. Therefore, the encryption or decryption operation can be selected according to the enc and dec signals. The key generator 30 sequentially generates key values for the next iteration operation with the start of the counting operation of the counter 20. The key value of the key generation unit 30 and the calculation result of the permutation calculation unit 40 are inputted to the replacement unit 50 after the exclusive OR operation is performed by the exclusive OR calculation unit 60. The permutation operator 40 inputs 64-bit input data to the multiplexers 42 and 44 by 32 bits, respectively, and the outputs of the multiplexers 42 and 44 are stored in the register 46 and then exclusive OR. It is input to the calculating parts 60 and 70, respectively. At this time, the multiplexer 42 uses the output of the exclusive OR operation unit 70 as another input, and the multiplexer 42 receives the stored value in the register 46 as the other input.

도 3A는 도 2A에 도시된 치환부(50)의 상세 도면으로, 도면 부호 52, 및 56은 멀티플렉서(MUX)를, 54는 롬(ROM)을, 58은 디멀티플렉서(DEMUX)를, 그리고 r_clk는 키값과 연산한 데이터를 다음 연산을 위한 데이터로 레치하기 위한 클럭신호를 각각 나타낸 것이다.FIG. 3A is a detailed view of the substitution unit 50 shown in FIG. 2A, where reference numerals 52 and 56 are a multiplexer (MUX), 54 is a ROM (ROM), 58 is a demultiplexer (DEMUX), and r_clk is The clock signal for latching the key value and the calculated data into the data for the next operation is shown.

도 3B는 도 3A에 도시된 치환부(50)의 동작을 설명하기 위한 신호 파형도를 도시한 것으로, key는 키값을, data는 롬(54)의 출력을 나타낸 것이다.FIG. 3B shows a signal waveform diagram for explaining the operation of the substitution unit 50 shown in FIG. 3A, where key is a key value and data is an output of the ROM 54.

도 3A 및 도 3B를 참조하여 치환부(50)를 상세히 설명하면 다음과 같다.Referring to Figure 3A and 3B will be described in detail the substitution unit 50 as follows.

먼저, 입력 데이터(data_in)에 대하여 멀티플렉서(52)는 3비트 r_clk 신호에 따라 6비트를 선택 출력한다. 선택된 6비트중 1 비트는 멀티플렉서(56)의 선택신호(SEL)로서 이용되고 나머지 5비트는 3비트의 r_clk 신호와 함께 롬(54)의 어드레스로서 입력된다. 이때, 롬(54)은 치환 연산용 데이터를 저장하는 곳으로, 일반 조합 로직(combination logic)으로 구현하면 1 사이클 동작으로 가능하나, 칩면적을 크게 차지하게 된다. 따라서, 롬(54)으로 대체하게 되면 8 사이클 동작이 필요하게 된다. 롬(54)의 4비트 출력을 8번 연결시켜 최종 32비트 출력 데이터(data_out)를 얻을 수 있게 된다. 따라서, 연산 속도는 총 16회 연산에 16 사이클이 필요하므로 256 사이클이 소요된다. 만약, 5MHz의 클럭 주기라면 51.2us가 소요된다.First, the multiplexer 52 selects and outputs 6 bits according to the 3-bit r_clk signal with respect to the input data data_in. One bit of the selected six bits is used as the selection signal SEL of the multiplexer 56, and the remaining five bits are input as the address of the ROM 54 together with the three bits of the r_clk signal. In this case, the ROM 54 stores data for substitution operation. When the ROM 54 is implemented by general combination logic, the ROM 54 may occupy a large amount of chip area. Thus, replacement with ROM 54 requires eight cycles of operation. By connecting the 4-bit output of ROM 54 eight times, the final 32-bit output data (data_out) can be obtained. Therefore, the computation speed takes 256 cycles because 16 cycles are required for a total of 16 computations. If the clock cycle is 5MHz, 51.2us is required.

본 발명의 기술 사상은 상기 바람직한 실시예에 따라 구체적으로 기술되었으나, 상기한 실시예는 그 설명을 위한 것이며, 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.Although the technical spirit of the present invention has been described in detail according to the above-described preferred embodiment, it should be noted that the above-described embodiment is for the purpose of description and not of limitation. In addition, those skilled in the art will understand that various embodiments are possible within the scope of the technical idea of the present invention.

상기와 같이 이루어지는 본 발명에 따른 DES 알고리즘을 이용한 암호 및 복호 장치는 연산 속도를 유지하면서도 반복 동작 하드웨어를 공유하고, 치환 연산을 롬으로 대체함으로써, 칩 면적을 대폭 줄일 수 있다.The encryption and decryption apparatus using the DES algorithm according to the present invention, as described above, can greatly reduce the chip area by sharing repetitive hardware while maintaining the operation speed and replacing the substitution operation with a ROM.

Claims (4)

카운팅값에 따라 키값을 발생하는 키 발생부;A key generator for generating a key value according to the counting value; 64비트 입력 데이터를 입력받아 순열 연산하는 순열 연산부;A permutation calculator configured to receive 64-bit input data and perform permutation; 상기 순열 연산부의 연산 결과와 상기 키 발생부로부터의 키값을 배타 논리합 연산하는 제1배타 논리합 연산부;A first exclusive OR calculation unit configured to perform an exclusive OR operation on an operation result of the permutation calculator and a key value from the key generator; 상기 제1배타 논리합 연산부의 출력을 입력받아 치환 연산하는 치환부; 및A substitution unit which receives an output of the first exclusive-OR calculation unit and performs a substitution operation; And 상기 순열 연산부 및 상기 치환부의 출력을 배타 논리합 연산하는 배타 논리합 연산부를 포함하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘을 이용한 암호 및 복호 장치.And an exclusive-OR operation unit configured to perform an exclusive-OR operation on the output of the permutation operator and the permutation unit. 제1항에 있어서, 상기 키 발생부는 상기 카운팅값에 따라 제1 및 제2키값을 선택 출력하는 제1멀티플렉서; 및The apparatus of claim 1, wherein the key generator comprises: a first multiplexer configured to selectively output first and second key values according to the counting value; And 상기 제1멀티플렉서의 출력을 쉬프팅하는 쉬프트 레지스터를 포함하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘을 이용한 암호 및 복호장치.And a shift register for shifting the output of the first multiplexer. 제1항에 있어서, 상기 순열 연산부는 64비트 입력 데이터중 32비트와 상기 제2배타 논리합 연산부의 출력을 선택 출력하는 제2멀티플렉서;The apparatus of claim 1, wherein the permutation calculator comprises: a second multiplexer configured to selectively output 32 bits of 64-bit input data and an output of the second exclusive OR operation unit; 상기 제2멀티플렉서의 출력을 저장하는 레지스터; 및A register to store an output of the second multiplexer; And 상기 64비트 입력 데이터중 다른 32비트와 상기 레지스터의 출력을 선택 출력하는 제3멀티플렉서를 포함하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘을 이용한 암호 및 복호 장치And a third multiplexer configured to selectively output another 32-bit of the 64-bit input data and an output of the register. 제1항에 있어서, 상기 치환부는 클럭신호에 따라 입력 데이터중 소정 비트를 선택 출력하는 제4멀티플렉서;The display apparatus of claim 1, wherein the replacement unit comprises: a fourth multiplexer configured to selectively output a predetermined bit of input data according to a clock signal; 상기 제4멀티플렉서의 출력과 상기 클럭신호를 어드레스로서 입력받아 저장된 데이터를 출력하는 롬;A ROM for receiving the output of the fourth multiplexer and the clock signal as an address and outputting stored data; 상기 제4멀티플렉서의 출력중 소정 비트에 따라 상기 롬의 출력중 소정 비트들을 선택 출력하는 제5멀티플렉서; 및A fifth multiplexer for selectively outputting predetermined bits of the output of the ROM according to predetermined bits of the output of the fourth multiplexer; And 상기 제5멀티플렉서의 출력을 상기 클럭신호에 따라 디멀티플렉싱 동작을 수행하는 디멀티플렉서를 포함하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘을 이용한 암호 및 복호장치.And a demultiplexer configured to demultiplex the output of the fifth multiplexer according to the clock signal.
KR1019990025795A 1999-06-30 1999-06-30 Encryption and decryption device using data encryption standard algorithm KR100316025B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990025795A KR100316025B1 (en) 1999-06-30 1999-06-30 Encryption and decryption device using data encryption standard algorithm

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990025795A KR100316025B1 (en) 1999-06-30 1999-06-30 Encryption and decryption device using data encryption standard algorithm

Publications (2)

Publication Number Publication Date
KR20010005012A KR20010005012A (en) 2001-01-15
KR100316025B1 true KR100316025B1 (en) 2001-12-12

Family

ID=19597738

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990025795A KR100316025B1 (en) 1999-06-30 1999-06-30 Encryption and decryption device using data encryption standard algorithm

Country Status (1)

Country Link
KR (1) KR100316025B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100440074B1 (en) * 2002-10-28 2004-07-14 주식회사 하이닉스반도체 Apparatus for generating key in algorithm of data encryption standard
US7904714B2 (en) 2005-01-11 2011-03-08 Samsung Electronics Co., Ltd Apparatus and method for ciphering/deciphering a signal in a communication system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07147571A (en) * 1993-11-24 1995-06-06 Tamura Electric Works Ltd Scramble/descramble processing unit
US5513262A (en) * 1992-02-18 1996-04-30 Tulip Computers International B.V Device for enciphering and deciphering, by means of the DES algorithm, data to be written to be read from a hard disk
JPH09233066A (en) * 1996-02-23 1997-09-05 Sony Corp Encryption/decryption method and its device
US5687238A (en) * 1994-12-22 1997-11-11 Nec Corporation Small size product cipher apparatus
KR19990002840A (en) * 1997-06-23 1999-01-15 윤종용 Fast Block Encryption Algorithm Guarantees Security against Differential and Linear Decryptions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513262A (en) * 1992-02-18 1996-04-30 Tulip Computers International B.V Device for enciphering and deciphering, by means of the DES algorithm, data to be written to be read from a hard disk
JPH07147571A (en) * 1993-11-24 1995-06-06 Tamura Electric Works Ltd Scramble/descramble processing unit
US5687238A (en) * 1994-12-22 1997-11-11 Nec Corporation Small size product cipher apparatus
JPH09233066A (en) * 1996-02-23 1997-09-05 Sony Corp Encryption/decryption method and its device
KR19990002840A (en) * 1997-06-23 1999-01-15 윤종용 Fast Block Encryption Algorithm Guarantees Security against Differential and Linear Decryptions

Also Published As

Publication number Publication date
KR20010005012A (en) 2001-01-15

Similar Documents

Publication Publication Date Title
AU2003213318B2 (en) Block cipher apparatus using auxiliary transformation
US5351299A (en) Apparatus and method for data encryption with block selection keys and data encryption keys
US5623548A (en) Transformation pattern generating device and encryption function device
KR100377172B1 (en) Key Scheduller of encryption device using data encryption standard algorithm
KR100377176B1 (en) Encryption device using data encryption standard algorithm
WO2006098015A1 (en) Data converting apparatus and data converting method
KR20050078271A (en) Hardware cryptographic engine and method improving power consumption and operation speed
EP1351430B1 (en) Expansion key generating device, encryption device and encryption system
KR20050087271A (en) Key schedule apparatus for generating an encryption round key and a decryption round key selectively corresponding to initial round key having variable key length
EP1059760A1 (en) Method for the block-encryption of discrete data
KR100316025B1 (en) Encryption and decryption device using data encryption standard algorithm
Pyrgas et al. A very compact architecture of CLEFIA block cipher for secure IoT systems
JP4515716B2 (en) Extended key generation device, encryption device, and encryption system
KR101662291B1 (en) Device for encryption and decryption based on Lightweight encryption algorithm LEA
KR20020087331A (en) AES Rijndael Encryption and Decryption Circuit with Subround-Level Pipeline Scheme
KR100434558B1 (en) A fast block encryption algorithm
KR20020007113A (en) A circuit of seed code & multiple code using a on-line dictionary calculating system for the round key
JP4230152B2 (en) Cryptographic circuit
KR20030087893A (en) Modular AES Rijndael Round Key Scheduler with On-the-Fly Computation Scheme of Round Key
KR100377173B1 (en) Encryption device using data encryption standard algorithm
KR100546777B1 (en) Apparatus and method for SEED Encryption/Decryption, and F function processor therefor
KR0171157B1 (en) Encryption apparatus using des algorism
Fournaris et al. VLSI architecture and FPGA implementation of ICE encryption algorithm
US7443981B1 (en) Execution unit for performing the data encryption standard
KR100442354B1 (en) Encryption apparatus and method for rc4 type

Legal Events

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

Payment date: 20051021

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee