KR100440074B1 - Apparatus for generating key in algorithm of data encryption standard - Google Patents

Apparatus for generating key in algorithm of data encryption standard Download PDF

Info

Publication number
KR100440074B1
KR100440074B1 KR10-2002-0065828A KR20020065828A KR100440074B1 KR 100440074 B1 KR100440074 B1 KR 100440074B1 KR 20020065828 A KR20020065828 A KR 20020065828A KR 100440074 B1 KR100440074 B1 KR 100440074B1
Authority
KR
South Korea
Prior art keywords
data
encryption
decryption
key
shift
Prior art date
Application number
KR10-2002-0065828A
Other languages
Korean (ko)
Other versions
KR20040037361A (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 KR10-2002-0065828A priority Critical patent/KR100440074B1/en
Priority to IT001131A priority patent/ITTO20021131A1/en
Priority to DE10261408A priority patent/DE10261408A1/en
Priority to FR0216914A priority patent/FR2846497B1/en
Publication of KR20040037361A publication Critical patent/KR20040037361A/en
Application granted granted Critical
Publication of KR100440074B1 publication Critical patent/KR100440074B1/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
    • 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
    • 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
    • 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/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

본 발명은 DES(Data Encryption Standard : 데이터 암호화 표준)의 암호화(Encryption)와 복호화(Decryption) 알고리즘의 공통점을 이용하여 키 생성부의 하드웨어 구현을 최적화한 데이터 암호화 표준 알고리즘의 키 생성 장치에 관한 것으로, 암호화·복호화 시, 각 방향의 쉬프트(Shift)를 방향에 따라 각각 구현하지 않고, 공동으로 구현함으로써 하드웨어의 면적을 최적화하는 효과가 있다.The present invention relates to a key generation device of a data encryption standard algorithm that optimizes a hardware implementation of a key generation unit by using a common point between encryption and decryption algorithms of the DES (Data Encryption Standard). When decoding, it is possible to optimize the area of hardware by implementing the shift in each direction jointly rather than in each direction.

Description

데이터 암호화 표준 알고리즘의 키 생성 장치{Apparatus for generating key in algorithm of data encryption standard}Apparatus for generating key in algorithm of data encryption standard}

본 발명은 데이터 암호화 표준 알고리즘의 키 생성 장치에 관한 것으로, DES(Data Encryption Standard : 데이터 암호화 표준)의 암호화(Encryption)와 복호화(Decryption) 알고리즘의 공통점을 이용하여 키 생성부의 하드웨어 구현을 최적화한 데이터 암호화 표준 알고리즘의 키 생성 장치에 관한 것이다.The present invention relates to a device for generating a key of a data encryption standard algorithm. The present invention relates to data optimized for hardware implementation of a key generation unit by using a common point between encryption and decryption algorithms of the DES (Data Encryption Standard). A key generating device of an encryption standard algorithm.

도 1은 DES의 일반적인 암호화 알고리즘을 나타내는 것으로, 왼쪽의 데이터 암호화 부분(10)과 오른쪽의 키 생성부(20)로 나누어진다.1 shows a general encryption algorithm of DES, which is divided into a data encryption portion 10 on the left side and a key generation unit 20 on the right side.

데이터 암호화 부분(10)은 입력되는 64 비트의 일반 데이터를 좌우 32 비트로 나누고, 여기에 키 생성부(20)에서 생성된 48 비트의 키(Ki, i=1, …, 16)와 f 함수 및 XOR(Exclusive-OR)을 이용하여 연산하는 과정을 16번 반복하고, 다시 좌우 32 비트의 값을 바꾸어서 암호화한다.The data encryption part 10 divides the input 64-bit general data into left and right 32 bits, wherein the 48-bit key (Ki, i = 1, ..., 16) generated by the key generator 20 and the f function and Repeat the operation 16 times using XOR (Exclusive-OR), and then encrypt by changing the left and right 32 bit values again.

이러한 암호화 알고리즘에서 키 생성부(20)를 이하 상세히 설명한다.The key generation unit 20 in this encryption algorithm will be described in detail below.

사용자는 56 비트의 키를 입력하는데 여기에 8 비트의 패리티(Parity) 비트를 포함시켜 초기 키는 64 비트로 입력된다.The user enters a 56-bit key, which includes an 8-bit parity bit and the initial key is 64-bit.

즉, 패리티 비트는 64 비트의 매 8번째 비트에 해당되어, 각 바이트는 홀수 개의 '1'을 갖도록 패리티 비트가 조정된다.That is, the parity bit corresponds to every eighth bit of 64 bits, so that the parity bit is adjusted so that each byte has an odd number of '1's.

이러한 64 비트의 초기 키에 먼저 조합 선택 1(Permuted Choice 1)의 연산을 한다.The 64-bit initial key is first operated on a Permuted Choice 1.

이때, 패리티 비트는 제외되어, 56 비트만이 조합 선택 1의 연산에 참여한다.At this time, the parity bit is excluded and only 56 bits participate in the operation of the combination selection 1.

다음 표 1은 조합 선택 1의 연산에 따른 초기 키의 비트 배열을 나타낸다.Table 1 below shows a bit array of the initial key according to the operation of the combination selection 1.

[표 1]TABLE 1

5757 4949 4141 3333 2525 1717 99 1One 5858 5050 4242 3434 2626 1818 1010 22 5959 5151 4343 3535 2727 1919 1111 33 6060 5252 4444 3636 6363 5555 4747 3939 3131 2323 1515 77 6262 5454 4646 3838 3030 2222 1414 66 6161 5353 4545 3737 2929 2121 1313 55 2828 2020 1212 44

즉, 조합 선택 1 결과의 첫번째 비트는 초기 키의 57번째 비트에 해당되고, 결과 값의 두번째 비트는 초기 키의 49번째 비트에 해당됨을 나타낸다.That is, the first bit of the combination selection 1 result corresponds to the 57th bit of the initial key, and the second bit of the result value corresponds to the 49th bit of the initial key.

이렇게 초기 키의 패리티 비트를 제외한 비트의 배열이 바뀌게 된다.In this way, the array of bits is changed except for the parity bits of the initial key.

그 후, 조합 선택 1의 결과를 다시 28 비트씩 분리하여 처음 28 비트를 C0라 정의하고, 다음 28 비트를 D0라 정의한다.After that, the result of the combination selection 1 is separated again by 28 bits, and the first 28 bits are defined as C0, and the next 28 bits are defined as D0.

그러면 이렇게 분리된 C0와 D0를 이용하여 암호화에 쓰일 16개의 키를 생성하게 된다.Then, using these separated C0 and D0, 16 keys for encryption will be generated.

먼저 C0와 D0를 차례로 쉬프트(Shift) 하게 되는데, i=1, …, 16 일 때, C(i-1)와 D(i-1)에 따라 다음의 표 2에 의해 쉬프트 된다.First, C0 and D0 are shifted in sequence, i = 1,... , 16, it is shifted by following Table 2 according to C (i-1) and D (i-1).

[표 2]TABLE 2

ii 1One 22 33 44 55 66 77 88 99 1010 1111 1212 1313 1414 1515 1616 쉬프트 크기Shift size 1One 1One 22 22 22 22 22 22 1One 22 22 22 22 22 22 1One

즉, C0와 D0는 1 비트가 쉬프트 되어 C1, D1가 되고, C1, D1은 1 비트가 쉬프트 되어 C2, D2가 되며, C2, D2는 2 비트가 쉬프트 되어 C3, C4가 된다.That is, C0 and D0 are shifted by one bit to be C1 and D1, C1 and D1 are shifted by one bit to C2 and D2, and C2 and D2 are shifted by two bits to C3 and C4.

이런 식으로 Ci(i=1, …, 16)와 Di(i=1, …, 16)를 모두 구할 수 있다.In this way, both Ci (i = 1,…, 16) and Di (i = 1,…, 16) can be obtained.

그런 다음 암호화에 쓰일 키(Ki) 값을 구하기 위하여, 이러한 Ci(i=1, …, 16)와 Di(i=1, …, 16)에 조합 선택 2(Permuted Choice 2)의 연산을 하게 된다.Then, in order to obtain a key (Ki) value for encryption, the operation of Permuted Choice 2 is performed on Ci (i = 1,…, 16) and Di (i = 1,…, 16). .

표 3은 조합 선택 2의 연산에 따른 비트의 배열을 나타낸다.Table 3 shows the arrangement of bits according to the operation of the combination selection 2.

[표 3]TABLE 3

1414 1717 1111 2424 1One 55 33 2828 1515 66 2121 1010 2323 1919 1212 44 2626 88 1616 77 2727 2020 1313 22 4141 5252 3131 3737 4747 5555 3030 4040 5151 4545 3333 4848 4444 4949 3939 5656 3434 5353 4646 4242 5050 3636 2929 3232

조합 선택 2의 연산은 조합 선택 1과 같은 방법으로, Ci와 Di의 비트 배열을 표 3과 같이 바꿈으로써 48 비트의 Ki를 생성하게 된다.The operation of the combination selection 2 is performed in the same manner as the combination selection 1, and the Ki of 48 bits is generated by changing the bit array of Ci and Di as shown in Table 3.

이렇게 생성된 키, Ki(i=1, …, 16)는 DES 알고리즘의 데이터 암호화 부분(10)에 적용된다.The keys, Ki (i = 1, ..., 16), thus generated, are applied to the data encryption portion 10 of the DES algorithm.

이상은 암호화에 대한 설명이고, 반대로 복호화 시에는 C0, D0 대신에 C16, D16부터 위 과정을 반복하여 수행한다. 단지, 이때 쉬프트는 오른쪽으로 한다.The above is a description of the encryption, on the contrary, when decrypting, the above process is repeated from C16 and D16 instead of C0 and D0. However, the shift is to the right at this time.

도 2는 상술된 바와 같은 암호화와 복호화 시의 쉬프트 양을 비교하여 나타낸 것이다. 도시된 바와 같이, 암호화 시 C1에서 C16까지의 쉬프트 양과 복호화 시 C16에서 C1까지의 쉬프트 양이 서로 같음을 알 수 있다.Figure 2 shows a comparison of the shift amount during encryption and decryption as described above. As shown, it can be seen that the amount of shift from C1 to C16 during encryption and the amount of shift from C16 to C1 at decryption are the same.

이러한 DES 알고리즘을 하드웨어로 구현할 때는, 일반적으로 암호화와 복호화를 별도의 블럭으로 구현하므로 암호화와 복호화의 공통되는 부분이 중복되어 구현되는 경향이 있고 이로 인해 하드웨어의 크기가 상대적으로 커지는 문제점이 있다.When implementing such a DES algorithm in hardware, since encryption and decryption are generally implemented as separate blocks, common parts of encryption and decryption tend to overlap each other, which causes a problem in that the size of hardware is relatively large.

본 발명의 목적은 모든 암호화 시스템에 적용될 수 있는 DES 알고리즘의 키 생성부의 하드웨어 구현을 최적화함에 있다.An object of the present invention is to optimize the hardware implementation of the key generation unit of the DES algorithm that can be applied to all encryption systems.

본 발명의 다른 목적은 DES 알고리즘에서 암호화와 복호화를 동시에 구현하는데 있다.Another object of the present invention is to simultaneously implement encryption and decryption in the DES algorithm.

본 발명의 또 다른 목적은 DES 알고리즘의 키 생성부의 쉬프트 방향을 하나의 방향으로 하여 암호화와 복호화에 동시 사용함에 있다.Another object of the present invention is to use the shift direction of the key generation unit of the DES algorithm as one direction for simultaneous encryption and decryption.

도 1은 DES의 일반적인 암호화 알고리즘 흐름도.1 is a flow diagram of a general encryption algorithm of DES.

도 2는 도 1의 알고리즘에서 암호화와 복호화 시의 쉬프트 양을 비교하는 도면.FIG. 2 is a diagram comparing shift amounts at the time of encryption and decryption in the algorithm of FIG. 1. FIG.

도 3은 본 발명에 따른 일 실시예의 키 생성 장치의 구성도.3 is a block diagram of a key generation device according to an embodiment of the present invention.

도 4는 본 발명에 따른 다른 실시예의 키 생성 장치의 구성도.4 is a block diagram of a key generation device according to another embodiment of the present invention.

이를 위하여, 본 발명의 특징은, 초기 키 값으로 암호화와 복호화에 따른 연산을 수행하여 상위 데이터와 하위 데이터를 생성하는 키 제어부; 상위 데이터를 왼쪽 쉬프트 시키는 제 1 쉬프트부; 하위 데이터를 왼쪽 쉬프트 시키는 제 2 쉬프트부; 및 제 1 쉬프트부와 제 2 쉬프트부에서 쉬프트된 각각의 데이터로 데이터 암호화 표준 알고리즘의 조합 선택 2 연산을 수행하여 데이터 암호화 표준 알고리즘의 암호화와 복호화의 키를 생성하는 키 생성부를 구비하며;To this end, a feature of the present invention, the key control unit for generating the upper data and lower data by performing the operation according to the encryption and decryption with the initial key value; A first shift unit for left shifting upper data; A second shift unit for left shifting lower data; And a key generation unit for performing a combination selection 2 operation of the data encryption standard algorithm with the respective data shifted in the first shift unit and the second shift unit to generate a key for encryption and decryption of the data encryption standard algorithm;

제 1 쉬프트부와 제 2 쉬프트부 각각은, 레지스터; 상위 데이터 및 하위 데이타 중 어느 하나와 피드백 데이터를 선택적으로 레지스터에 전달하는 제 1 다중화기; 레지스터의 데이터를 역배열하는 제 1 역배열기; 암호화일 경우에는 레지스터의 데이터를 전달하고, 복호화일 경우에는 제 1 역배열기의 데이터를 전달하는 제 2 다중화기; 제 2 다중화기에서 전달되는 데이터를 비트 단위로 왼쪽 쉬프트 시키는 로테이터(Rotator); 로테이터의 데이터를 역배열하는 제 2 역배열기; 및 암호화일 경우에는 로테이터의 데이터를 피드백 데이터로서 제 1 다중화기로 전달하고, 복호화일 경우에는 제 2 역배열기의 데이터를 피드백 데이터로서 제 1 다중화기로 전달하는 제 3 다중화기를 구비하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘의 키 생성 장치를 제공함에 있다.Each of the first shift portion and the second shift portion includes a register; A first multiplexer for selectively transferring any one of upper data and lower data and feedback data to a register; A first inverse array for inversely arranging data in the register; A second multiplexer for transferring data of a register in case of encryption and data of a first inverse array in case of decryption; A rotator configured to left shift the data transmitted from the second multiplexer in units of bits; A second reverse arranger for reverse arranging data of the rotator; And a third multiplexer which transmits data of the rotator as feedback data to the first multiplexer in case of encryption and delivers data of the second inverse array to the first multiplexer as feedback data in case of decryption. An apparatus for generating a key of an encryption standard algorithm is provided.

그리고, 본 발명에 따른 다른 특징은, 초기 키 값으로 암호화와 복호화에 따른 연산을 수행하여 상위 데이터와 하위 데이터를 생성하는 키 제어부; 상위 데이터를 쉬프트 시키는 제 1 쉬프트부; 하위 데이터를 쉬프트 시키는 제 2 쉬프트부;및 제 1 쉬프트부와 제 2 쉬프트부에서 쉬프트된 각각의 데이터로 데이터 암호화 표준 알고리즘의 조합 선택 2 연산을 수행하여 데이터 암호화 표준 알고리즘의 암호화와 복호화의 키를 생성하는 키 생성부를 구비하며;In addition, another aspect of the present invention, the key control unit for generating the upper data and lower data by performing the operation according to the encryption and decryption with the initial key value; A first shift unit for shifting higher order data; A second shift unit for shifting the lower data; and a combination selection 2 operation of the data encryption standard algorithm with each data shifted in the first shift unit and the second shift unit to perform encryption and decryption keys of the data encryption standard algorithm. A key generating unit for generating;

제 1 쉬프트부와 제 2 쉬프트부 각각은, 레지스터; 상위 데이터 및 하위 데이타 중 어느 하나와 피드백 데이터를 선택적으로 레지스터에 전달하는 다중화기; 및 레지스터의 데이터를 암호화와 복호화에 따라 비트 단위로 쉬프트 시켜 다중화기로 피드백 데이터로서 전달하는 로테이터를 구비하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘의 키 생성 장치를 제공함에 있다.Each of the first shift portion and the second shift portion includes a register; A multiplexer for selectively transferring any one of upper data and lower data and feedback data to a register; And a rotator for shifting the register data bit by bit in accordance with encryption and decryption and transmitting the feedback data to the multiplexer as feedback data.

이하, 본 발명에 따른 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 3은 DES 암호화 알고리즘에서 암호화와 복호화의 쉬프트를 함께 구현하기 위한 본 발명에 따른 일 실시예의 키 생성 장치의 하드웨어 구성도로, 3쌍의 다중화기(310 내지 320), 1쌍의 로테이터(326, 328), 1쌍의 레지스터(322, 324), 및 2쌍의 역배열기(330 내지 336)로 구성되고, 이는 Ci을 계산하는 부분과 Di을 계산하는 부분으로 나누어져 있다.3 is a hardware configuration diagram of a key generation device according to an embodiment of the present invention for implementing a shift of encryption and decryption together in a DES encryption algorithm, including three pairs of multiplexers 310 to 320 and one pair of rotators 326. 328, a pair of registers 322 and 324, and two pairs of inverse arrays 330 to 336, which are divided into a portion for calculating Ci and a portion for calculating Di.

이는 비트 수를 나누어 계산함으로써, 보다 효율적으로 계산을 하고 하드웨어의 구성 또한 부하를 줄여 효율적으로 하기 위함이다.This is done by dividing the number of bits, so that the calculation can be done more efficiently, and the hardware configuration is also reduced to reduce the load.

그리고, 본 발명에 따른 일 실시예의 키 생성 장치는 초기 키(K) 값을 입력 받아 암호화일 경우에는 C1과 D1을 출력하고 복호화일 경우에는 C16과 D16을 출력하는 키 제어부(340)와, 계산된 Ci와 Di를 이용하여 키를 생성하는 키 생성부(338)를 더 구비한다.In addition, the key generation device according to the embodiment of the present invention receives an initial key K value and outputs C1 and D1 in case of encryption and C16 and D16 in case of decryption, and calculates a key controller 340. And a key generation unit 338 for generating a key by using Ci and Di.

키 제어부(340)는 암호화일 경우에는 초기 키(K)를 조합 선택 1 연산을 하고 이를 C0와 D0로 분리하여 각각 1비트씩 왼쪽 쉬프트하여 C1과 D1으로서 출력하며, 복호화일 경우에는 초기 키(K)의 조합 선택 1 연산 후 C0와 D0로 분리하여 이를 각각 C16과 D16으로서 출력하며, 이러한 암호화와 복호화에 따른 각각의 동작은 암호화 복호화 판단 신호(A)에 의해 결정된다.The key control unit 340 performs a combination selection 1 operation on the initial key K in the case of encryption, separates it into C0 and D0, shifts it left by 1 bit, and outputs it as C1 and D1. After the combination selection 1 operation of K), it is separated into C0 and D0 and output as C16 and D16, respectively. The operation according to the encryption and decryption is determined by the encryption decryption determination signal A.

이때, 복호화일 경우 C0와 D0를 그대로 C16과 D16으로서 출력하는 것은, 도 2에 도시된 바와 같이 C0와 D0를 쉬프트하여 C16과 D16을 생성하면, C0와 D0가 28비트이고 쉬프트되는 양도 28비트이므로 결국 C0와 D0는 각각 C16 및 D16와 같은 값이 되기 때문이다.At this time, in the case of decoding, outputting C0 and D0 as C16 and D16 is as shown in FIG. 2. When C0 and D0 are shifted to generate C16 and D16, C0 and D0 are 28 bits and the shifted amount is 28 bits. This is because C0 and D0 become the same values as C16 and D16, respectively.

한편, 키 생성부(338)는 계산된 Ci와 Di를 이용하여 조합 선택 2 연산을 하여 키를 생성한다.Meanwhile, the key generation unit 338 generates a key by performing a combination selection 2 operation using the calculated Ci and Di.

먼저, 암호화 및 복호화에 사용할 키를 생성하기 위한 초기 키(K) 값이 키 제어부(340)에 입력되면, 키 제어부(340)는 연산을 통하여 Ci와 Di(암호화일 경우 C1과 D1, 복호화일 경우 C16과 D16)를 출력한다.First, when an initial key (K) value for generating a key to be used for encryption and decryption is input to the key control unit 340, the key control unit 340 calculates Ci and Di (C1 and D1 in case of encryption, and decryption day). In the case of C16 and D16).

그러면, 다중화기(310, 312)는 키 제어부(340)에서 전달되는 Ci와 Di를 각각 레지스터(322, 324)에 기록하고, 이에 레지스터(322, 324)는 기록된 Ci와 Di를 다중화기(314, 316)와 역배열기(330, 332)에 전달하며, 역배열기(330, 332)는 레지스터(322, 324)에서 전달된 Ci와 Di의 배열을 바꾸어 다중화기(314, 316)에 전달한다.Then, the multiplexers 310 and 312 record Ci and Di transmitted from the key control unit 340 into the registers 322 and 324, respectively, and the registers 322 and 324 multiply the recorded Ci and Di into the multiplexer ( 314 and 316 and the inverse arrays 330 and 332, and the inverse arrays 330 and 332 transfer the Ci and Di arrays transferred from the registers 322 and 324 to the multiplexers 314 and 316. .

즉, 다중화기(314, 316)는 레지스터(322, 324)와 역배열기(330, 332)로부터 각각 Ci와 Di를 전달받으며, 이때 전달되는 레지스터(322, 324)와 역배열기(330, 332)의 Ci와 Di는 그 배열이 다르다.That is, the multiplexers 314 and 316 receive Ci and Di from the registers 322 and 324 and the inverse arrays 330 and 332, respectively, and the registers 322 and 324 and the inverse arrays 330 and 332 transmitted at this time. Ci and Di have different arrangements.

이에, 다중화기(314, 316)는 입력되는 암호화 복호화 판단 신호(A)에 따라 암호화를 위한 키를 생성하는 것인지 복호화를 위한 키를 생성하는 것인지를 판단하여, 암호화를 위한 키를 생성하는 경우에는 레지스터(322, 324)에서 Ci와 Di를 가져오고, 복호화를 위한 키를 생성하는 경우에는 역배열기(330, 332)에서 Ci와 Di를 가져와, 이를 로테이터(326, 328)에 전달한다.Accordingly, the multiplexers 314 and 316 determine whether to generate a key for encryption or a key for decryption according to the input encryption decryption determination signal A, and thus generate a key for encryption. Ci and Di are taken from the registers 322 and 324, and Ci and Di are taken from the reverse arrays 330 and 332 and transferred to the rotators 326 and 328 when a key for decryption is generated.

여기서, 로테이터(326, 328)는 왼쪽으로만 쉬프트 되는 것으로, 다중화기(314, 316)로부터 전달받은 Ci와 Di를 내부 카운터 또는 외부 카운터(도시 생략)를 이용하여 왼쪽으로 쉬프트 시키고, 이때 로테이터(326, 328)의 가장 왼쪽 비트인 MSB(Most Significant Bit)는 가장 오른쪽 비트인 LSB(Least Significant Bit)로 회전되어 입력된다.Here, the rotators 326 and 328 are shifted only to the left side, and the Ci and Di received from the multiplexers 314 and 316 are shifted to the left using an internal counter or an external counter (not shown). Most Significant Bit (MSB), which is the leftmost bit of 326 and 328, is rotated and input into the Least Significant Bit (LSB), which is the rightmost bit.

이때, 로테이터(326, 328)는 입력되는 쉬프트량 신호(B)에 따라 쉬프트량을 조절한다.At this time, the rotators 326 and 328 adjust the shift amount according to the shift amount signal B input.

이렇게 쉬프트된 Ci와 Di는 다중화기(318, 320)와 역배열기(334, 336)로 전달되고, 역배열기(334, 336)는 로테이터(326, 328)에서 전달된 Ci와 Di의 배열을 바꾸어 다중화기(318, 320)에 전달한다.The shifted Ci and Di are transferred to the multiplexers 318 and 320 and the reverse arrays 334 and 336, and the reverse arrays 334 and 336 change the arrangement of Ci and Di transferred from the rotators 326 and 328. Pass to multiplexer 318,320.

즉, 다중화기(318, 320)는 로테이터(326, 328)와 역배열기(334, 336)로부터 각각 Ci와 Di를 전달받으며, 이때 전달되는 로테이터(326, 328)와 역배열기(330,332)의 Ci와 Di는 그 배열이 다르다.That is, the multiplexers 318 and 320 receive Ci and Di from the rotators 326 and 328 and the reverse arrays 334 and 336, respectively, and the Ci of the rotators 326 and 328 and the reverse arrays 330 and 332 are transmitted. And Di differ in their arrangement.

이에, 다중화기(318, 320)는 입력되는 암호화 복호화 판단 신호(A)에 따라 암호화를 위한 키를 생성하는 것인지 복호화를 위한 키를 생성하는 것인지를 판단하여, 암호화를 위한 키를 생성하는 경우에는 로테이터(326, 328)에서 Ci와 Di를 가져오고, 복호화를 위한 키를 생성하는 경우에는 역배열기(334, 336)에서 Ci와 Di를 가져와, 이를 다중화기(310, 312)에 전달한다.Accordingly, the multiplexers 318 and 320 determine whether to generate a key for encryption or a key for decryption according to the input encryption decryption determination signal A, and generate a key for encryption. Ci and Di are taken from the rotators 326 and 328, and Ci and Di are taken from the reverse arrays 334 and 336 when the keys for decryption are generated and transmitted to the multiplexers 310 and 312.

그러면 다중화기(310, 312)는 전달받은 Ci와 Di 값을 레지스터(322, 324)에 기록하고, 상기 과정을 반복함으로써 각각 암호화일 경우에는 C1, D1에서 C16, D16까지 구하고, 복호화일 경우에는 C16, D16에서 C1, D1까지 구한다.Then, the multiplexers 310 and 312 record the Ci and Di values received in the registers 322 and 324, and repeat the above procedure to obtain C1, D1 to C16 and D16 in case of encryption and decryption in case of decryption. Obtain from C16, D16 to C1, D1.

이러한 과정 중, 키 생성부(338)는 레지스터(322, 324)에 기록되어 있는 Ci와 Di의 값을 이용하여 조합 선택 2 연산을 함으로써 Ki를 구한다.During this process, the key generation unit 338 calculates Ki by performing a combination selection 2 operation using the values of Ci and Di recorded in the registers 322 and 324.

상술된 과정을 다시 정리하면, 다중화기(314 내지 320)는 암호화 복호화 판단 신호(A)에 따라 암호화일 경우에는 레지스터(322, 324) 또는 로테이터(326, 328)로부터 Ci와 Di 값을 가져오고, 복호화일 경우에는 역배열기(330 내지 336)에서 역배열된 Ci와 Di 값을 가져옴으로써 암호화와 복호화에 따른 데이터의 분류를 수행하므로, 로테이터(326, 328)는 암호화나 복호화에 상관없이 쉬프트 되는 양만 판단하면 되고, C1과 D1에서 C16과 D16까지 쉬프트 되는 양과 C16과 D16에서 C1과 D1까지 쉬프트 되는 양은 도 2에 도시된 바와 같이 동일하므로, 로테이터(326, 328)는 암호화와 복호화에 관계없이 공통으로 사용되는 쉬프트량 신호(B)만 입력받는다.In summary, the multiplexers 314 to 320 take Ci and Di values from registers 322 and 324 or rotators 326 and 328 in the case of encryption according to the encryption decryption determination signal A. In the case of decryption, the data is classified according to encryption and decryption by obtaining Ci and Di values de-arranged in the reverse arrays 330 to 336, so that the rotators 326 and 328 only shift the amount regardless of encryption or decryption. The amount shifted from C1 and D1 to C16 and D16 and the amount shifted from C16 and D16 to C1 and D1 are the same as shown in FIG. 2, so that the rotators 326 and 328 are common regardless of encryption and decryption. Only the shift amount signal B used as is input.

그리고, 암호화의 왼쪽 쉬프트 로테이터(326, 328)를 복호화에도 이용하기 위하여 역배열기(330 내지 336)를 이용하여, 이에 데이터를 역순으로 입력하여 왼쪽 쉬프트를 시키고 다시 역순으로 출력함으로써 결국 복호화에 필요한 오른쪽 쉬프트의 효과를 낸다.Then, in order to use the left shift rotators 326 and 328 of encryption for decryption, the reverse arrayers 330 to 336 are used to input data in reverse order to shift left and output the data in reverse order. Make a shift effect.

또한, 암호화와 복호화에 동일한 하드웨어를 적용하기 위하여 필요한 상술된 암호화 복호화 판단 신호(A)와 쉬프트량 신호(B)는 DES 알고리즘의 전체 하드웨어 구현 시 키 생성 장치를 제어하기 위해 발생되는 신호의 일부로서 구현된다.In addition, the above-mentioned encryption decryption determination signal A and the shift amount signal B, which are necessary to apply the same hardware to encryption and decryption, are part of a signal generated to control the key generation device in the entire hardware implementation of the DES algorithm. Is implemented.

도 4는 본 발명에 따른 다른 실시예의 키 생성 장치의 하드웨어 구성도로, 1쌍의 다중화기(410, 420)와 1쌍의 레지스터(430, 440) 및 1쌍의 로테이터(450, 460)로 구성되고, 이는 상술된 본 발명에 따른 일 실시예와 마찬가지로 효율적인 계산과 하드웨어 구성의 부하를 줄이기 위하여 Ci를 계산하는 부분과 Di를 계산하는 부분으로 나누어져 있다.4 is a hardware configuration diagram of a key generation device according to another embodiment of the present invention, which includes a pair of multiplexers 410 and 420, a pair of registers 430 and 440, and a pair of rotators 450 and 460. As in the above-described embodiment of the present invention, it is divided into a part for calculating Ci and a part for calculating Di in order to reduce the load of efficient calculation and hardware configuration.

그리고, 초기 키(K) 값을 입력 받아 암호화일 경우에는 C1과 D1을 출력하고 복호화일 경우에는 C16과 D16을 출력하는 키 제어부(480)와, 계산된 Ci와 Di를 이용하여 키를 생성하는 키 생성부(470)를 더 구비한다.The key control unit 480 outputs C1 and D1 in case of encryption and C16 and D16 in case of encryption, and generates a key using the calculated Ci and Di. A key generation unit 470 is further provided.

키 제어부(480)는 암호화일 경우에는 초기 키(K)를 조합 선택 1 연산을 하고 이를 C0와 D0로 분리하여 각각 1비트씩 왼쪽 쉬프트하여 C1과 D1으로서 출력하며, 복호화일 경우에는 초기 키(K)의 조합 선택 1 연산 후 C0와 D0로 분리하여 이를 각각 C16과 D16으로서 출력하며, 이러한 암호화와 복호화에 따른 각각의 동작은 암호화 복호화 판단 신호(A)에 의해 결정된다.The key control unit 480 performs a combination selection 1 operation on the initial key K in the case of encryption, separates it into C0 and D0, shifts it left by 1 bit, and outputs it as C1 and D1. After the combination selection 1 operation of K), it is separated into C0 and D0 and output as C16 and D16, respectively. The operation according to the encryption and decryption is determined by the encryption decryption determination signal A.

이때, 복호화일 경우 C0와 D0를 그대로 C16과 D16으로서 출력하는 것은, 도 2에 도시된 바와 같이 C0와 D0를 쉬프트하여 C16과 D16을 생성하면, C0와 D0가 28비트이고 쉬프트되는 양도 28비트이므로 결국 C0와 D0는 각각 C16 및 D16와 같은 값이 되기 때문이다.At this time, in the case of decoding, outputting C0 and D0 as C16 and D16 is as shown in FIG. 2. When C0 and D0 are shifted to generate C16 and D16, C0 and D0 are 28 bits and the shifted amount is 28 bits. This is because C0 and D0 become the same values as C16 and D16, respectively.

한편, 키 생성부(470)는 계산된 Ci와 Di를 이용하여 조합 선택 2 연산을 하여 키를 생성한다.Meanwhile, the key generation unit 470 generates a key by performing a combination selection 2 operation using the calculated Ci and Di.

먼저, 암호화 및 복호화에 사용할 키를 생성하기 위한 초기 키(K) 값이 키 제어부(480)에 입력되면, 키 제어부(480)는 연산을 통하여 Ci와 Di(암호화일 경우 C1과 D1, 복호화일 경우 C16과 D16)를 출력한다.First, if an initial key (K) value for generating a key to be used for encryption and decryption is input to the key control unit 480, the key control unit 480 performs Ci and Di (C1 and D1 in case of encryption, and decryption date) through an operation. In the case of C16 and D16).

그러면, 다중화기(410, 420)는 전달받은 Ci와 Di를 각각 레지스터(430, 440)에 기록하고, 로테이터(450, 460)는 레지스터(430, 440)에 기록되어 있는 Ci와 Di를 각각 가져온다.Then, the multiplexers 410 and 420 record the received Ci and Di in the registers 430 and 440, respectively, and the rotators 450 and 460 bring the Ci and Di recorded in the registers 430 and 440, respectively. .

그리고, 로테이터(450, 460)는 암호화일 경우에는 Ci와 Di를 왼쪽으로 쉬프트 시키고, 복호화일 경우에는 오른쪽으로 쉬프트 시키며, 이때 MSB와 LSB는 회전하여 각각 LSB와 MSB로 입력된다.The rotators 450 and 460 shift Ci and Di to the left in the case of encryption and to the right in the case of decryption. In this case, the MSB and LSB are rotated and input to the LSB and the MSB, respectively.

즉, 여기서의 로테이터(450, 460)는 왼쪽, 오른쪽 모두 양방향 쉬프트가 가능하고, 암호화와 복호화의 경우에 따라 그 방향이 결정되어 사용된다.That is, the rotators 450 and 460 here can be bidirectionally shifted on both the left and right sides, and their directions are determined and used according to the case of encryption and decryption.

이러한 로테이터(450, 460)의 암호화와 복호화의 판단과 그에 따른 쉬프트량은 DES 알고리즘의 전체 하드웨어 구현 시 키 생성 장치를 제어하기 위해 발생되는 신호의 일부로서 암호화 복호화 판단 신호(A)와 쉬프트량 신호(B)를 구현하여 사용한다.The determination of the encryption and decryption of the rotators 450 and 460 and the shift amount thereof are part of a signal generated to control the key generation device when the entire hardware implementation of the DES algorithm is implemented, and the encryption decryption determination signal A and the shift amount signal. Implement and use (B)

다시 말하면, 로테이터(450, 460)는 암호화 복호화 판단 신호(A)에 따라 쉬프트의 방향을 결정하고, 쉬프트량 신호(B)에 따라 쉬프트될 비트 수를 결정하여 레지스터(430, 440)로부터 전달받은 Ci와 Di를 내부 카운터 또는 외부 카운터(도시 생략)를 이용하여 해당 방향으로 쉬프트 시킨다.In other words, the rotators 450 and 460 determine the direction of the shift according to the encryption decryption determination signal A, and determine the number of bits to be shifted according to the shift amount signal B and received from the registers 430 and 440. Ci and Di are shifted in the corresponding direction using an internal counter or an external counter (not shown).

이렇게 쉬프트된 값은 다시 다중화기(410, 420)로 입력되어 상기와 같은 과정을 반복함으로써 각각 암호화일 경우에는 C1, D1에서 C16, D16까지 구하고, 복호화일 경우에는 C16, D16에서 C1, D1까지 구한다.The shifted value is inputted to the multiplexers 410 and 420 again and the above process is repeated to obtain C1, D1 to C16 and D16 for encryption, and C16 and D16 to C1 and D1 for decryption. Obtain

이러한 과정 중, 키 생성부(470)는 레지스터(430, 440)에 기록되어 있는 Ci와 Di를 이용하여 조합 선택 2 연산을 함으로써 Ki를 구한다.During this process, the key generation unit 470 calculates Ki by performing a combination selection 2 operation using Ci and Di recorded in the registers 430 and 440.

상술된 바와 같이, 본 발명은 DES의 암호화·복호화 알고리즘의 쉬프트되는 공통점을 추출하여, 각 방향의 쉬프트를 방향에 따라 각각 구현하지 않고, 한 방향 쉬프트 또는 양방향 쉬프트의 공동 이용으로 하드웨어의 면적을 최적화하는 효과가 있다.As described above, the present invention extracts the common point that is shifted in the encryption / decryption algorithm of DES, and optimizes the area of hardware by jointly using one-way or two-way shifts without implementing shifts in each direction according to directions. It is effective.

Claims (8)

초기 키 값으로 암호화와 복호화에 따른 연산을 수행하여 상위 데이터와 하위 데이터를 생성하는 키 제어부;A key controller configured to generate upper data and lower data by performing an operation according to encryption and decryption with an initial key value; 상기 상위 데이터를 왼쪽으로 쉬프트 시키는 제 1 쉬프트부;A first shift unit which shifts the upper data to the left; 상기 하위 데이터를 왼쪽으로 쉬프트 시키는 제 2 쉬프트부; 및A second shift unit which shifts the lower data to the left; And 상기 제 1 쉬프트부와 상기 제 2 쉬프트부에서 쉬프트된 각각의 데이터로 데이터 암호화 표준 알고리즘의 조합 선택 2(Permuted Choice 2) 연산을 수행하여 상기 데이터 암호화 표준 알고리즘의 암호화와 복호화의 키를 생성하는 키 생성부를 구비하며;A key for generating a key for encryption and decryption of the data encryption standard algorithm by performing a Permuted Choice 2 operation of the data encryption standard algorithm on each of the data shifted in the first shift unit and the second shift unit. A generating unit; 상기 제 1 쉬프트부와 상기 제 2 쉬프트부 각각은,Each of the first shift portion and the second shift portion, 레지스터;register; 상기 상위 데이터 및 상기 하위 데이타 중 어느 하나와 피드백 데이터를 선택적으로 상기 레지스터에 전달하는 제 1 다중화기;A first multiplexer for selectively transferring any one of the upper data and the lower data and feedback data to the register; 상기 레지스터의 데이터를 역배열하는 제 1 역배열기;A first inverse array for inversely arranging data in the register; 암호화일 경우에는 상기 레지스터의 데이터를 전달하고, 복호화일 경우에는 상기 제 1 역배열기의 데이터를 전달하는 제 2 다중화기;A second multiplexer transferring data of the register in case of encryption and data of the first inverse array in case of decryption; 상기 제 2 다중화기에서 전달되는 데이터를 비트 단위로 왼쪽 쉬프트 시키는 로테이터;A rotator for left-shifting data transmitted from the second multiplexer in units of bits; 상기 로테이터의 데이터를 역배열하는 제 2 역배열기; 및A second inverse array for inversely arranging data of the rotator; And 암호화일 경우에는 상기 로테이터의 데이터를 상기 피드백 데이터로서 상기 제 1 다중화기로 전달하고, 복호화일 경우에는 상기 제 2 역배열기의 데이터를 상기 피드백 데이터로서 상기 제 1 다중화기로 전달하는 제 3 다중화기를 구비하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘의 키 생성 장치.In the case of encryption, the data of the rotator is transmitted to the first multiplexer as the feedback data, and in the case of decryption, a third multiplexer is provided to transmit the data of the second inverse array to the first multiplexer as the feedback data. Key generation device of the data encryption standard algorithm, characterized in that. 제 1 항에 있어서,The method of claim 1, 상기 키 제어부는, 암호화일 경우에는 상기 초기 키 값으로 상기 데이터 암호화 표준 알고리즘의 조합 선택 1(Permuted Choice 1) 연산을 수행하고 상위 초기 데이터와 하위 초기 데이터로 나누어 각각 1비트씩 왼쪽 쉬프트하여 상기 상위 데이터와 상기 하위 데이터를 생성하고, 복호화일 경우에는 상기 상위 초기 데이터와 상기 하위 초기 데이터를 상기 상위 데이터와 상기 하위 데이터로서 생성하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘의 키 생성 장치.In the case of encryption, the key control unit performs a permuted choice 1 operation of the data encryption standard algorithm with the initial key value, divides the upper initial data and the lower initial data, and shifts each bit by one bit to the upper key. Generating data and the lower data, and in case of decryption, generating the upper initial data and the lower initial data as the upper data and the lower data. 제 1 항에 있어서,The method of claim 1, 상기 키 제어부, 상기 제 2 다중화기, 및 상기 제 3 다중화기는 상기 데이터 암호화 표준 알고리즘의 암호화와 복호화를 판단하는 제어 신호에 의해 상기 암호화와 복호화를 판단하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘의 키 생성 장치.The key controller, the second multiplexer, and the third multiplexer determine the encryption and decryption based on a control signal for determining encryption and decryption of the data encryption standard algorithm. Device. 제 1 항에 있어서,The method of claim 1, 상기 로테이터는, 내부 카운터 및 외부 카운터 중 어느 하나를 사용하고, 상기 데이터 암호화 표준 알고리즘의 쉬프트량를 판단하는 제어 신호에 의해 상기 쉬프트의 양을 판단하여 처리하는 것을 특징으로 하는 암호화 표준 알고리즘의 키 생성 장치.The rotator uses any one of an internal counter and an external counter, and determines and processes the shift amount by a control signal for determining the shift amount of the data encryption standard algorithm. . 초기 키 값으로 암호화와 복호화에 따른 연산을 수행하여 상위 데이터와 하위 데이터를 생성하는 키 제어부;A key controller configured to generate upper data and lower data by performing an operation according to encryption and decryption with an initial key value; 상기 상위 데이터를 쉬프트 시키는 제 1 쉬프트부;A first shift unit which shifts the upper data; 상기 하위 데이터를 쉬프트 시키는 제 2 쉬프트부; 및A second shift unit which shifts the lower data; And 상기 제 1 쉬프트부와 상기 제 2 쉬프트부에서 쉬프트된 각각의 데이터로 데이터 암호화 표준 알고리즘의 조합 선택 2 연산을 수행하여 상기 데이터 암호화 표준 알고리즘의 암호화와 복호화의 키를 생성하는 키 생성부를 구비하며;A key generation unit configured to generate a key for encryption and decryption of the data encryption standard algorithm by performing a combination selection 2 operation of a data encryption standard algorithm on each of the data shifted in the first shift unit and the second shift unit; 상기 제 1 쉬프트부와 상기 제 2 쉬프트부 각각은,Each of the first shift portion and the second shift portion, 레지스터;register; 상기 상위 데이터 및 상기 하위 데이타 중 어느 하나와 피드백 데이터를 선택적으로 상기 레지스터에 전달하는 다중화기; 및A multiplexer for selectively transferring any one of the upper data and the lower data and feedback data to the register; And 상기 레지스터의 데이터를 암호화와 복호화에 따라 비트 단위로 쉬프트 시켜 상기 다중화기로 상기 피드백 데이터로서 전달하는 로테이터를 구비하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘의 키 생성 장치.And a rotator for shifting the register data bit by bit in accordance with encryption and decryption, and transmitting the data as the feedback data to the multiplexer. 제 5 항에 있어서,The method of claim 5, wherein 상기 키 제어부는, 암호화일 경우에는 상기 초기 키 값으로 상기 데이터 암호화 표준 알고리즘의 조합 선택 1 연산을 수행하고 상위 초기 데이터와 하위 초기 데이터로 나누어 각각 1비트씩 왼쪽 쉬프트하여 상기 상위 데이터와 상기 하위 데이터를 생성하고, 복호화일 경우에는 상기 상위 초기 데이터와 상기 하위 초기 데이터를 상기 상위 데이터와 상기 하위 데이터로서 생성하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘의 키 생성 장치.In the case of encryption, the key control unit performs a combination selection 1 operation of the data encryption standard algorithm with the initial key value, divides the upper initial data and the lower initial data into left bits, and shifts the upper data and the lower data by one bit. And generating the upper initial data and the lower initial data as the upper data and the lower data in case of decryption. 제 5 항에 있어서,The method of claim 5, wherein 상기 로테이터는, 내부 카운터 및 외부 카운터 중 어느 하나를 사용하고, 상기 데이터 암호화 표준 알고리즘의 쉬프트량를 판단하는 제어 신호에 의해 상기 쉬프트의 양을 판단하여, 암호화일 경우에는 왼쪽 쉬프트를 하고, 복호화일 경우에는 오른쪽 쉬프트를 하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘의 키 생성 장치.The rotator uses either one of an internal counter and an external counter, determines the amount of the shift by a control signal that determines the amount of shift of the data encryption standard algorithm, performs a left shift in case of encryption, and in case of decryption. The key generation device of the data encryption standard algorithm, characterized in that the right shift. 제 5 항에 있어서,The method of claim 5, wherein 상기 키 제어부와 상기 로테이터는, 상기 데이터 암호화 표준 알고리즘의 암호화와 복호화를 판단하는 제어 신호에 의해 상기 암호화와 복호화를 판단하는 것을 특징으로 하는 데이터 암호화 표준 알고리즘의 키 생성 장치.And the key control unit and the rotator determine the encryption and decryption based on a control signal for determining encryption and decryption of the data encryption standard algorithm.
KR10-2002-0065828A 2002-10-28 2002-10-28 Apparatus for generating key in algorithm of data encryption standard KR100440074B1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR10-2002-0065828A KR100440074B1 (en) 2002-10-28 2002-10-28 Apparatus for generating key in algorithm of data encryption standard
IT001131A ITTO20021131A1 (en) 2002-10-28 2002-12-30 KEY GENERATION DEVICE FOR AN ALGORITHM
DE10261408A DE10261408A1 (en) 2002-10-28 2002-12-30 Key generation device for a data encryption standard algorithm
FR0216914A FR2846497B1 (en) 2002-10-28 2002-12-31 KEY FORMING DEVICE FOR STANDARD ALGORITHM OF DATA ENCRYPTION

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0065828A KR100440074B1 (en) 2002-10-28 2002-10-28 Apparatus for generating key in algorithm of data encryption standard

Publications (2)

Publication Number Publication Date
KR20040037361A KR20040037361A (en) 2004-05-07
KR100440074B1 true KR100440074B1 (en) 2004-07-14

Family

ID=32089763

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0065828A KR100440074B1 (en) 2002-10-28 2002-10-28 Apparatus for generating key in algorithm of data encryption standard

Country Status (4)

Country Link
KR (1) KR100440074B1 (en)
DE (1) DE10261408A1 (en)
FR (1) FR2846497B1 (en)
IT (1) ITTO20021131A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100584604B1 (en) * 2004-08-14 2006-05-30 삼성전자주식회사 Method of generating key for authenticating device, the apparatus therefor, device authentication method and the apparatus therefor
KR101102928B1 (en) * 2009-08-21 2012-01-10 유병규 Composition Damper

Citations (6)

* 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
KR20010005012A (en) * 1999-06-30 2001-01-15 김영환 Encryption and decryption device using data encryption standard algorithm
JP2002236448A (en) * 2000-12-19 2002-08-23 Internatl Business Mach Corp <Ibm> Hardware for modular multiplication using a plurality of almost entirely identical processor elements
KR20020087332A (en) * 2001-05-14 2002-11-22 최병윤 Modular ECB, CBC, CFB, and OFB Mode Circuit of Symmetric Key Encryption
KR20020087331A (en) * 2001-05-14 2002-11-22 최병윤 AES Rijndael Encryption and Decryption Circuit with Subround-Level Pipeline Scheme
KR20030051111A (en) * 2001-12-18 2003-06-25 신경욱 Round processing circuit and on-line round key generation circuit for the hardware implementation of AES Rijndael cipher algorithm

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100377172B1 (en) * 2000-06-13 2003-03-26 주식회사 하이닉스반도체 Key Scheduller of encryption device using data encryption standard algorithm

Patent Citations (6)

* 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
KR20010005012A (en) * 1999-06-30 2001-01-15 김영환 Encryption and decryption device using data encryption standard algorithm
JP2002236448A (en) * 2000-12-19 2002-08-23 Internatl Business Mach Corp <Ibm> Hardware for modular multiplication using a plurality of almost entirely identical processor elements
KR20020087332A (en) * 2001-05-14 2002-11-22 최병윤 Modular ECB, CBC, CFB, and OFB Mode Circuit of Symmetric Key Encryption
KR20020087331A (en) * 2001-05-14 2002-11-22 최병윤 AES Rijndael Encryption and Decryption Circuit with Subround-Level Pipeline Scheme
KR20030051111A (en) * 2001-12-18 2003-06-25 신경욱 Round processing circuit and on-line round key generation circuit for the hardware implementation of AES Rijndael cipher algorithm

Also Published As

Publication number Publication date
ITTO20021131A1 (en) 2004-04-29
FR2846497B1 (en) 2005-08-05
FR2846497A1 (en) 2004-04-30
KR20040037361A (en) 2004-05-07
DE10261408A1 (en) 2004-05-06

Similar Documents

Publication Publication Date Title
EP1052611B1 (en) Data converter and recording medium on which program for executing data conversion is recorded
EP1246389B1 (en) Apparatus for selectably encrypting or decrypting data
EP1507247A1 (en) Data conversion device and data conversion method
KR100377172B1 (en) Key Scheduller of encryption device using data encryption standard algorithm
US8189792B2 (en) Method and apparatus for performing cryptographic operations
KR100377176B1 (en) Encryption device using data encryption standard algorithm
NO333209B1 (en) Block cryptogram apparatus using auxiliary transformation
US20090080646A1 (en) Method And Architecture For Parallel Calculating Ghash Of Galois Counter Mode
JP4663635B2 (en) Method performed by an apparatus for encrypting and decrypting blocks of data
KR100360957B1 (en) Cipher processor, IC Card And Cipher processing method
US6931127B2 (en) Encryption device using data encryption standard algorithm
KR100440074B1 (en) Apparatus for generating key in algorithm of data encryption standard
JP3547474B2 (en) Cryptographic operation circuit
US8204219B2 (en) Cryptographic method and apparatus for enhancing computation performance of a central processing unit
KR20020087331A (en) AES Rijndael Encryption and Decryption Circuit with Subround-Level Pipeline Scheme
KR100190157B1 (en) Encryption apparatus and encryption method
KR100316024B1 (en) Encryption device using data encryption standard algorithm
KR100494560B1 (en) Real time block data encryption/decryption processor using Rijndael block cipher and method therefor
KR100316025B1 (en) Encryption and decryption device using data encryption standard algorithm
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
JP3906574B2 (en) Encryption conversion method, encryption conversion device, decryption method, decryption device, and data communication system
KR100284587B1 (en) Round circuit of symmetric key cryptography
JP2001042766A (en) Data ciphering device and method therefor
KR20050060301A (en) Apparatus and method for seed encryption/decryption, f function processor therefor, and security system thereof

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee