KR20090042624A - Apparatus and method for symmetric key encryption processing - Google Patents
Apparatus and method for symmetric key encryption processing Download PDFInfo
- Publication number
- KR20090042624A KR20090042624A KR1020070108485A KR20070108485A KR20090042624A KR 20090042624 A KR20090042624 A KR 20090042624A KR 1020070108485 A KR1020070108485 A KR 1020070108485A KR 20070108485 A KR20070108485 A KR 20070108485A KR 20090042624 A KR20090042624 A KR 20090042624A
- Authority
- KR
- South Korea
- Prior art keywords
- key
- round
- memory
- round key
- signal
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/24—Key scheduling, i.e. generating round keys or sub-keys for block encryption
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 두 개 이상의 키를 사용하는 대칭키 암호 프로세싱 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for symmetric key cryptography using two or more keys.
대칭형 암호방식(symmetric cryptographic technique)은 암호화 방식 중 암호화 할 때 사용하는 키와 복호화 할 때 사용하는 키가 같은 암호방식으로서, 대표적인 대칭형 암호방식으로는 IBM에서 개발한 블럭암호 알고리즘으로 1977년에 미 연방 표준으로 채택된 DES(Data Encryption Standard) 및 미국국립표준·기술 연구소(NIST)가 DES의 차세대 국제 표준 암호로 대체하는 순서 공개형의 대칭 키 암호 방식인 AES(Advanced Encryption Standard)를 들 수 있다.The symmetric cryptographic technique is a cryptographic method in which the key used for encryption and the key used for decryption are the same. The representative symmetric cryptographic method is a block cipher algorithm developed by IBM. The Standard Encryption Standard (DES) and the National Institute of Standards and Technology (NIST), the adopted standards, are the Advanced Encryption Standard (AES), an open order symmetric key cryptography that replaces DES 'next generation of international standard cryptography.
종래기술에서 이러한 대칭형 암호방식을 통해 데이터의 암복호화를 처리하는 대칭키 암호 프로세싱 장치로 복수 개의 키가 r-라운드 반복적으로 입력되고, 대칭키 암호 프로세싱 장치는 각각의 키가 입력될 때마다 입력된 키에 해당하는 라운드 키를 생성하여 데이터의 암복호화에 이용한다.In the prior art, a plurality of keys are repeatedly input r-round to a symmetric key cryptographic processing device that processes data encryption and decryption through such a symmetric cryptographic method, and the symmetric key cryptographic processing device is inputted for each key input. A round key corresponding to the key is generated and used to decrypt data.
예를 들어, 스마트카드는 DRM(Digital Rights Management) 기술로 보호된 컨 텐츠를 컨텐츠 키로 복호화 한 후, 보안채널에 사용되는 보안채널 키로 재 암호화하여 CE(Customer Electronics) 장치로 전송한다. CE 장치는 보안채널 키로 암호화된 컨텐츠를 복호화한 후 랜더링(rendering)하게 된다. 이때, 컨텐츠 보호 및 보안채널 각각에 동일한 대칭키 암호 프로세싱 장치가 사용되는 경우, 대칭키 암호 프로세싱 장치에는 반복적으로 두 개의 키가 입력되게 되고, 대칭키 암호 프로세싱 장치는 두 개의 키가 입력될 때마다 라운드 키를 생성하여 생성된 라운드 키로 데이터의 암복호화를 수행한다.For example, the smart card decrypts the content protected by DRM (Digital Rights Management) technology with the content key, re-encrypts it with the secure channel key used for the secure channel, and transmits it to the CE (Customer Electronics) device. The CE device decrypts the content encrypted with the secure channel key and then renders it. In this case, when the same symmetric key cryptographic processing device is used for each of the content protection and security channel, two keys are repeatedly input to the symmetric key cryptographic processing device, and the symmetric key cryptographic processing device is used whenever two keys are input. The round key generated by generating a round key is used to decrypt data.
본 발명은 대칭키 암호기술로 보호된 응용 서비스를 자체의 보안 채널을 통해 재 암호화하여 서비스하는 경우, 하나의 암호 프로세서에 두 개 이상의 키에 대한 라운드 키를 생성하고, 저장하여 동일한 서비스의 응용에 대해 상기 라운드 키의 재생성 없이 사용하는 대칭키 암호 프로세싱 장치 및 방법을 제공한다.According to the present invention, when an application service protected by symmetric key cryptography is re-encrypted through its own secure channel, a service generates a round key for two or more keys in one cryptographic processor and stores the same. And a symmetric key cryptographic processing apparatus and method for use without regeneration of the round key.
본 발명은 상기 라운드 키를 생성하고, 저장하여 사용함으로써 상기 라운드 키의 생성을 반복하지 않아 소비전력 및 속도의 효율성을 높일 수 있는 대칭키 암호 프로세싱 장치 및 방법을 제공한다.The present invention provides a symmetric key cryptographic processing apparatus and method which can increase the efficiency of power consumption and speed by not generating the round key by generating, storing and using the round key.
본 발명의 일실시예에 따른 대칭키 암호 프로세싱 장치는, 라운드 키 생성신호 또는 대칭키 암복호 신호를 생성하는 제어신호부, 상기 라운드 키 생성신호에 따라 입력되는 복수 개의 키 각각에 대한 라운드 키를 생성하는 라운드 키 생성부, 상기 라운드 키가 저장되는 메모리부 및 상기 대칭키 암복호 신호에 따라 상기 메모리부로부터 해당하는 라운드 키를 수신하여 외부 데이터의 암호화 또는 복호화를 처리하는 대칭키 암복호처리부를 포함한다.A symmetric key cryptographic processing apparatus according to an embodiment of the present invention includes a control signal unit for generating a round key generation signal or a symmetric key decryption signal, and a round key for each of a plurality of keys input according to the round key generation signal. A round key generation unit for generating a memory, a memory unit for storing the round key, and a symmetric key decryption processing unit for receiving encryption or decryption of external data by receiving a corresponding round key from the memory unit according to the symmetric key decryption signal. Include.
본 발명의 일측면에 따르면, 상기 제어신호부는 최초 라운드에 상기 라운드 키 생성신호를 생성하고, 모든 라운드에 상기 대칭키 암복호 신호를 생성할 수 있다.According to an aspect of the present invention, the control signal unit may generate the round key generation signal in the first round, and generate the symmetric key decryption signal in every round.
본 발명의 일측면에 따르면, 상기 메모리부는 최초 라운드에 상기 라운드 키가 해당하는 메모리 영역에 저장되고, 모든 라운드가 종료될 때까지 상기 라운드 키를 유지할 수 있다.According to an aspect of the present invention, the memory unit may be stored in a memory area corresponding to the round key in the first round, and maintain the round key until all rounds are finished.
본 발명의 일측면에 따르면, 상기 제어신호부는 입력 신호 또는 출력 신호를 포함하는 메모리 제어 신호를 더 생성할 수 있고, 상기 입력 신호에 따라 상기 메모리부에 상기 라운드 키를 저장시키고, 상기 출력 신호에 따라 상기 메모리부에서 해당하는 라운드 키를 추출하는 입출력 신호 처리부를 더 포함할 수 있다. 이때, 상기 메모리 제어 신호는 최초 라운드에 상기 입력 신호를 포함하고, 모든 라운드에 상기 출력 신호를 포함할 수 있다.According to an aspect of the present invention, the control signal unit may further generate a memory control signal including an input signal or an output signal, store the round key in the memory unit in accordance with the input signal, and to the output signal Accordingly, the memory unit may further include an input / output signal processor that extracts a corresponding round key. In this case, the memory control signal may include the input signal in the first round and the output signal in all rounds.
본 발명의 일실시예에 따른 대칭키 암호 프로세싱 장치는 최초 라운드 시 입력되는 키 각각에 대해 라운드 키를 생성 및 저장하고, 모든 라운드에서 상기 저장된 라운드 키를 이용하여 외부 데이터를 암복호화한다.The symmetric key cryptographic processing apparatus according to an embodiment of the present invention generates and stores a round key for each key input during the first round, and encrypts and decrypts external data using the stored round key in every round.
본 발명의 일실시예에 따른 대칭키 암호 프로세싱 방법은 라운드 키 생성신호에 따라 입력되는 복수 개의 키 각각에 대한 라운드 키를 생성하는 단계, 상기 라운드 키를 메모리에 저장하는 단계 및 대칭키 암복호 신호에 따라 상기 메모리로부터 해당하는 라운드 키를 추출하여 외부 데이터의 암호화 또는 복호화를 처리하는 단계를 포함한다.In a symmetric key encryption processing method according to an embodiment of the present invention, generating a round key for each of a plurality of keys input according to a round key generation signal, storing the round key in a memory, and a symmetric key decryption signal And extracting a corresponding round key from the memory to process encryption or decryption of external data.
본 발명의 일실시예에 따른 대칭키 암호 프로세싱 방법은 최초 라운드에 입력되는 복수 개의 키 각각에 대한 라운드 키를 생성하여 메모리에 저장하는 제1 단계 및 상기 메모리로부터 해당하는 라운드 키를 수신하여 외부 데이터의 암호화 또는 복호화를 처리하는 제2 단계를 포함한다.In a symmetric key cryptography processing method according to an embodiment of the present invention, a first step of generating a round key for each of a plurality of keys input in an initial round and storing it in a memory and receiving a corresponding round key from the memory to receive external data A second step of processing the encryption or decryption of.
이하 첨부된 도면을 참조하여 본 발명에 따른 다양한 실시예를 상세히 설명 하기로 한다.Hereinafter, various embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일실시예에 있어서, 대칭키 암호 프로세싱 장치의 개괄적인 동작을 설명하기 위한 도면이다.1 is a view for explaining the general operation of the symmetric key cryptography processing apparatus according to an embodiment of the present invention.
대칭키 암호 프로세싱 장치(100)에는 복수 개의 키가 반복적으로 입력된다. 기존에는 상기 복수 개의 키 각각이 반복적으로 입력될 때마다 상기 복수 개의 키 각각에 대한 라운드 키를 생성하고, 상기 생성된 라운드 키를 이용하여 외부 데이터의 암호화 또는 복호화를 수행하였으나 본 발명의 일실시예에 따르면, 하나의 키에 대한 라운드 키를 한번만 생성하고, 저장하여 반복적으로 사용이 가능하다. 즉, 도 1에 도시된 바와 같이, 단계(S101)에서 대칭키 암호 프로세싱 장치(100)는 입력된 키에 대한 라운드 키를 생성하고 메모리에 저장한다. 또한, 단계(S102)에서 대칭키 암호 프로세싱 장치(100)는 상기 메모리에 저장된 라운드 키를 이용하여 외부 데이터의 암호화 또는 복호화를 처리한다. 즉, 복수개의 키 각각에 대한 라운드 키들이 한번 생성이 되면, 상기 라운드 키들을 상기 메모리에 저장하고, 동일한 서비스의 응용이 종료될 때까지 상기 라운드 키들의 재생성 없이 입력되는 키에 따라 해당하는 라운드 키를 상기 메모리에서 추출하고, 상기 추출된 라운드 키를 이용하여 외부 데이터를 암호화 또는 복호화할 수 있다.A plurality of keys are repeatedly input to the symmetric key
이때, 단계(S101)은 최초 라운드에서만 실행될 수 있고, 단계(S102)는 모든 라운드에 대해서 반복적으로 수행될 수 있다. 여기서, 라운드란 상기 복수 개의 키가 각각 한번씩 입력되고, 상기 복수 개의 키 각각을 이용하여 외부 데이터의 암호화 또는 복호화가 처리되는 과정을 의미할 수 있고, 상기 모든 라운드는 하나의 컨텐츠에 대한 서비스의 응용이 종료될 때까지 상기 컨텐츠에 대해 r-번 반복적으로 수행되는 r-라운드를 의미할 수 있다.In this case, step S101 may be executed only in the first round, and step S102 may be repeatedly performed for all rounds. Here, the round may mean a process in which the plurality of keys are input once each, and a process of encrypting or decrypting external data is processed using each of the plurality of keys, and all the rounds are applications of a service for one content. This may mean r-round that is repeatedly performed r-times on the content until the end of the content.
즉, 상기 복수 개의 키에 대한 라운드 키를 생성하는 단계(S101)는 최초 라운드에서만 실행되고, 상기 외부 데이터에 대한 암호화 또는 복호화는 매 라운드마다 단계(S102)와 같이 상기 최초 라운드에 생성되고 메모리에 저장된 라운드 키들 중 해당하는 라운드 키를 추출하여 이용함으로써, 매 라운드마다 상기 라운드 키를 반복적으로 생성하지 않도록 함으로써 소비전력 및 속도가 개선될 수 있다. 또는, 다양한 제어신호를 이용하여 특정 신호 발생에 따라 상기 라운드 키를 생성하거나, 또는 저장된 라운드 키를 이용하여 외부 데이터에 대한 암호화 또는 복호화를 처리하도록 할 수 있다.That is, step S101 of generating round keys for the plurality of keys is executed only in the first round, and encryption or decryption of the external data is generated in the first round and stored in the memory as in step S102 every round. By extracting and using a corresponding round key among the stored round keys, power consumption and speed can be improved by not generating the round key repeatedly every round. Alternatively, the round key may be generated according to a specific signal generation using various control signals, or the encryption or decryption of external data may be processed using the stored round key.
이후, 도 2 내지 도 5를 통해 입력되는 복수 개의 키가 반복적으로 입력되는 경우에 입력되는 동일한 키에 대해서는 한번만 라운드 키를 생성하는 대칭키 암호 프로세싱 장치 및 방법에 대해 더욱 자세히 설명한다.Hereinafter, a symmetric key cryptography processing apparatus and method for generating a round key only once for the same key input when a plurality of keys input through FIGS. 2 to 5 are repeatedly input will be described in more detail.
도 2는 본 발명의 일실시예에 있어서, 대칭키 암호 프로세싱 장치의 내부 구성을 설명하기 위한 블록도이다. 여기서, 대칭키 암호 프로세싱 장치(200)는 도 2에 도시된 바와 같이 제어신호부(201), 라운드 키 생성부(202), 메모리부(203), 대칭키 암복호처리부(204) 및 입출력 신호 처리부(205)를 포함한다.2 is a block diagram illustrating an internal configuration of a symmetric key cryptographic processing apparatus according to an embodiment of the present invention. Here, as shown in FIG. 2, the symmetric key
제어신호부(201)는 라운드 키 생성신호 또는 대칭키 암복호 신호를 생성한다. 이때, 제어신호부(201)는 입력되는 키가 신규 입력인 경우, 상기 라운드 키 생성신호를 생성할 수 있고, 상기 키가 입력될 때마다 상기 대칭키 암복호 신호를 생성할 수 있다. 다시 말해, 상기 라운드 키 생성신호는 상기 입력되는 키가 최초로 입력되는 경우에만 생성될 수 있고, 상기 대칭키 암복호 신호는 키가 입력될 때마다 생성될 수 있다. 또한, 이와는 다르게 제어신호부(201)는 최초 라운드에 상기 라운드 키 생성신호를 생성하고, 모든 라운드에 상기 대칭키 암복호 신호를 생성할 수도 있다.The
라운드 키 생성부(202)는 상기 라운드 키 생성신호에 따라 입력되는 복수 개의 키 각각에 대한 라운드 키를 생성한다. 즉, 최초 라운드에 또는 입력되는 키가 신규 입력인 경우, 제어신호부(201)는 상기 라운드 키 생성신호를 생성하여 라운드 키 생성부(202)로 전송한다. 이때, 라운드 키 생성부(202)가 상기 라운드 키 생성신호를 수신하면, 라운드 키 생성부(202)는 입력되는 키에 대한 라운드 키를 생성할 수 있다. 즉, 라운드 키 생성부(202)는 상기 라운드 키 생성신호를 수신하는 경우에는 입력되는 복수 개의 키가 갖는 값에 따라 상기 복수 개의 키 각각에 대한 라운드 키를 생성할 수 있다.The round
메모리부(203)에는 라운드 키 생성부(202)에서 생성되는 라운드 키가 저장된다. 이때, 상기 복수개의 키 각각에 대응하는 상기 라운드 키는 메모리부(203)의 메모리 영역에 생성 순서대로 저장되거나, 또는 제어신호부(201)가 더 생성하는 메모리 제어 신호에 따라 상기 라운드 키가 저장될 메모리 영역이 지정됨으로써, 상기 지정된 메모리 영역에 저장될 수 있다. 이러한 메모리부(203)는 상기 라운드 키가 해당하는 메모리 영역에 저장되고, 해당하는 서비스의 응용이 종료될 때까지 상기 라운드 키를 유지할 수 있다.The
대칭키 암복호처리부(204)는 상기 대칭키 암복호 신호에 따라 상기 메모리부로부터 해당하는 라운드 키를 수신하여 외부 데이터의 암호화 또는 복호화를 처리한다. 즉, 제어신호부(202)가 상기 대칭키 암복호 신호를 생성하고, 대칭키 압복호처리부(204)에서 상기 대칭키 암복호 신호를 수신하는 경우, 대칭키 암복호처리부(204)는 입력되는 메모리부(203)로부터 해당하는 라운드 키를 수신하여 외부 데이터의 암호화 또는 복호화를 수행할 수 있다.The symmetric key
이를 위해, 대칭키 암복호처리부(204)는 외부 데이터를 수신하는 외부 데이터 수신부(미도시), 제어신호부(201)가 더 생성하는 상기 메모리 제어 신호에 따라 메모리부(203)로부터 해당하는 라운트 키를 수신하는 라운드 키 수신부(미도시) 및 상기 라운드 키를 이용하여 상기 외부 데이터를 암호화 또는 복호화하는 암복호화부(미도시)를 포함할 수 있다.To this end, the symmetric key encryption /
예를 들어, 컨텐츠 보호 및 보안채널 각각을 위해 이용되는 두 개의 키가 반복적으로 사용되는 경우, 대칭키 암호 프로세싱 장치(200)는 컨텐츠 보호를 위한 컨텐츠 키에 따라 생성된 제1 라운드 키 및 보안채널을 위한 보안채널 키에 따라 생성된 제2 라운드 키를 메모리부(203)에 저장시키고, 대칭키 암복호처리부(204)에서 상기 외부 데이터인 컨텐츠를 상기 제1 라운드 키로 복호화하거나 상기 제2 라운드 키로 암호화하도록 할 수 있다. 이후, 상기 컨텐츠 키 또는 보안채널 키가 재입력되는 경우, 라운드 키 생성부(202)는 상기 컨텐츠 키 또는 보안채널 키에 대한 라운드 키를 재생성하지 않고, 대칭키 암복호처리부(204)는 메모리부(203)에 저장된 상기 제1 라운드 키 또는 상기 제2 라운드 키를 이용하여 상기 컨텐츠를 암복 호화할 수 있다.For example, when two keys used for each of the content protection and security channel are repeatedly used, the symmetric key
여기서, 상기 메모리 제어 신호는 메모리부(203)에 라운드 키 생성부(202)로부터 생성된 라운드 키를 저장하기 위한 입력 신호 또는 메모리부(203)로부터 해당하는 라운드 키를 추출하여 대칭키 암복호처리부(204)로 전송하기 위한 출력 신호를 포함할 수 있다. 이때, 상기 입력 신호는 최초 라운드 또는 입력되는 키가 신규 입력인 경우에 상기 메모리 제어 신호에 포함될 수 있고, 상기 출력 신호는 모든 라운드 또는 키가 입력될 때마다 상기 메모리 제어 신호에 포함될 수 있다.The memory control signal is a symmetric key encryption / decryption processor that extracts a corresponding round key from an input signal or
입출력 신호 처리부(205)는 상기 입력 신호에 따라 메모리부(203)에 상기 라운드 키를 저장시키고, 상기 출력 신호에 따라 메모리부(203)에서 해당하는 라운드 키를 추출한다. 즉, 입출력 신호 처리부(205)는 상기 입력 신호를 포함하는 메모리 제어신호가 입력되는 경우, 현재 라운드에서 라운드 키 생성부(203)가 생성한 라운드 키를 메모리부(203)에 저장시키고, 상기 출력 신호를 포함하는 메모리 제어신호가 입력되는 경우, 메모리부(203)에서 상기 출력 신호에 해당하는 라운드 키를 추출하여 대칭키 암복호처리부(204)로 전송할 수 있다.The input / output
이와 같이, 본 발명의 일실시예에 따른 대칭키 암호 프로세싱 장치(200)는 상기 라운드 키 생성 신호에 따라 상기 라운드 키를 생성하고, 상기 대칭키 암복호 신호에 따라 미리 생성 및 저장된 라운드 키를 반복 사용하기 때문에 키가 입력될 때마다 라운드 키를 생성하지 않아도 되어 소비전력 및 속도가 개선될 수 있다.As such, the symmetric key
도 3은 본 발명의 일실시예에 있어서, 대칭키 암호 프로세싱 장치의 다른 내부 구성을 설명하기 위한 블록도이다.3 is a block diagram illustrating another internal configuration of a symmetric key cryptographic processing apparatus according to an embodiment of the present invention.
대칭키 암호 프로세싱 장치(300)는 최초 라운드 시 입력되는 키 각각에 대해 라운드 키를 생성 및 저장하고, 모든 라운드에서 상기 저장된 라운드 키를 이용하여 외부 데이터를 암복호화한다. 이를 위해, 대칭키 암호 프로세싱 장치(300)는 도 3에 도시된 바와 같이 라운드 키 생성부(301), 메모리부(302) 및 대칭키 암복호처리부(303)를 포함할 수 있다.The symmetric key
라운드 키 생성부(301)는 상기 최초 라운드 시 입력되는 상기 키 각각에 대한 라운드 키를 생성한다. 즉, 대칭키 암호 프로세싱 장치(300)에는 하나의 라운드마다 복수 개의 키가 한번씩, 상기 모든 라운드인 r-라운드 동안 반복하여 입력될 수 있고, 상기 최초 라운드 시 라운드 키 생성부(301)는 상기 복수 개의 키 각각에 대한 라운드 키를 생성할 수 있다.The round
메모리부(302)에는 상기 라운드 키가 해당하는 메모리 영역에 저장된다. 이때, 메모리부(302)는 최초 라운드에 상기 라운드 키가 해당하는 메모리 영역에 저장되고, 모든 라운드가 종료될 때까지 상기 라운드 키를 유지할 수 있다. 즉, 상기 라운드 키는 상기 복수 개의 키 각각에 대응하여 하나씩 생성되고, 생성된 라운드 키들은 메모리부(302)가 포함하는 복수 개의 영역 중 해당하는 영역에 각각 저장될 수 있다. 또는 단순히 생성되는 순서로 상기 복수 개의 영역에 저장될 수도 있다.In the
대칭키 암복호처리부(303)는 라운드마다 상기 메모리부로부터 해당하는 라운드 키를 수신하여 외부 데이터의 암호화 또는 복호화를 처리한다. 즉, 대칭키 암복호처리부(303)는 상기 최초 라운드에 생성된 복수 개의 라운드 키 중 입력되는 키에 해당하는 라운드 키를 수신하여 상기 외부 데이터를 암호화하거나 또는 복호화할 수 있다.The symmetric key encryption /
예를 들어, 컨텐츠 보호 및 보안채널 각각을 위한 두 개의 키가 반복적으로 사용되는 경우, 대칭키 암호 프로세싱 장치(300)는 컨텐츠 보호를 위한 컨텐츠 키에 따라 생성된 제1 라운드 키 및 보안채널을 위한 보안채널 키에 따라 생성된 제2 라운드 키를 메모리부(302)에 저장시키고, 대칭키 암복호처리부(303)에서 상기 외부 데이터인 컨텐츠를 컨텐츠 키로 복호화하거나 상기 보안채널 키로 암호화하도록 할 수 있다. 이후, 상기 컨텐츠 키 또는 보안채널 키가 재입력되는 경우, 상기 컨텐츠 키 또는 보안채널 키에 대한 라운드 키를 재생성하지 않고, 메모리부(302)에 저장된 상기 제1 라운드 키 또는 상기 제2 라운드 키를 이용하여 상기 컨텐츠를 암복호화할 수 있게 된다.For example, if two keys for each of the content protection and security channel are repeatedly used, the symmetric key
도 4는 본 발명의 일실시예에 있어서, 대칭키 암호 프로세싱 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a symmetric key cryptography processing method according to an embodiment of the present invention.
단계(S401)에서 대칭키 암호 프로세싱 장치는 라운드 키 생성신호에 따라 입력되는 복수 개의 키 각각에 대한 라운드 키를 생성한다. 이때, 상기 라운드 키 생성신호는 상기 복수 개의 키 중 입력되는 키가 신규 입력되는 경우 생성될 수 있다. 다시 말해, 입력되는 키에 대한 라운드 키는 상기 입력되는 키가 최초로 입력되는 경우에만 생성될 수 있다.In step S401, the symmetric key cryptography processing apparatus generates a round key for each of the plurality of keys input according to the round key generation signal. In this case, the round key generation signal may be generated when a key input among the plurality of keys is newly input. In other words, the round key for the input key may be generated only when the input key is first input.
단계(S402)에서 상기 대칭키 암호 프로세싱 장치는 상기 라운드 키를 메모리에 저장한다. 이때, 상기 메모리에 저장된 상기 라운드 키는 기선정된 메모리 제 어 신호에 따라 상기 메모리에 저장 또는 추출될 수 있고, 상기 메모리 제어 신호는 상기 라운드 키를 상기 메모리의 해당하는 영역에 저장하기 위한 입력 신호 또는 상기 메모리에서 해당하는 라운드 키를 추출하기 위한 출력 신호를 포함할 수 있다.In step S402, the symmetric key cryptographic processing apparatus stores the round key in a memory. In this case, the round key stored in the memory may be stored or extracted in the memory according to a predetermined memory control signal, and the memory control signal is an input signal for storing the round key in a corresponding region of the memory. Or it may include an output signal for extracting a corresponding round key from the memory.
단계(S403)에서 상기 대칭키 암호 프로세싱 장치는 대칭키 암복호 신호에 따라 상기 메모리로부터 해당하는 라운드 키를 추출하여 외부 데이터의 암호화 또는 복호화를 처리한다. 이를 위해, 상기 대칭키 암호 프로세싱 장치는 외부 데이터를 수신하고, 상기 메모리 제어 신호에 기초하여 상기 메모리에서 해당하는 라운드 키를 추출하여, 추출된 상기 라운드 키에 기초하여 상기 외부 데이터를 암호화 또는 복호화할 수 있다. 이때, 상기 대칭키 암복호 신호는 모든 라운드마다 생성될 수 있다.In step S403, the symmetric key cryptography processing apparatus extracts a corresponding round key from the memory according to a symmetric key decryption signal to process encryption or decryption of external data. To this end, the symmetric key cryptographic processing apparatus receives external data, extracts a corresponding round key from the memory based on the memory control signal, and encrypts or decrypts the external data based on the extracted round key. Can be. In this case, the symmetric key decryption signal may be generated every round.
즉, 상기 대칭키 암호 프로세싱 장치는 상기 라운드 키 생성신호를 이용하여 상기 라운드 키를 생성 및 저장한 후 상기 대칭키 암복호 신호를 통해 상기 저장된 라운드 키를 입력된 키에 따라 반복적으로 이용하여 상기 외부 데이터의 암복호를 처리할 수 있다. 따라서, 본 발명의 일실시예에 따르면 하나의 컨텐츠에 대해서는 복수 개의 키를 이용하여 서비스를 제공하는 경우, 상기 대칭키 암호 프로세싱 장치는 키가 입력될 때마다 상기 입력되는 키에 대한 라운드 키를 생성할 필요가 없어진다. 다시 말해, 상기 라운드 키 생성신호에 의해서만 상기 라운드 키를 생성 및 저장하고, 상기 대칭키 암복호 신호에 의해 상기 저장된 라운드 키를 입력되는 키에 따라 선택하여 사용함으로써 상기 라운드 키의 생성을 반복할 필요성이 없어 진다. 이에 따라, 대칭키 암호 프로세싱에 따른 소비전력 및 속도가 개선될 수 있다.That is, the symmetric key cryptographic processing apparatus generates and stores the round key using the round key generation signal, and then repeatedly uses the stored round key according to the input key through the symmetric key decryption signal. Decryption of data can be handled. Accordingly, when providing a service using a plurality of keys for one content, the symmetric key cryptographic processing apparatus generates a round key for the input key whenever a key is input. There is no need to do it. In other words, it is necessary to repeat generation of the round key by generating and storing the round key only by the round key generation signal, and selecting and using the stored round key according to the input key by the symmetric key decryption signal. This disappears. Accordingly, power consumption and speed according to symmetric key cryptographic processing can be improved.
도 5는 본 발명의 일실시예에 있어서, 다른 대칭키 암호 프로세싱 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating another symmetric key cryptography processing method according to an embodiment of the present invention.
단계(S501)에서 대칭키 암호 프로세싱 장치는 최초 라운드에 입력되는 복수 개의 키 각각에 대한 라운드 키를 생성하여 메모리에 저장한다. 여기서, 상기 메모리는 상기 최초 라운드에 상기 라운드 키가 해당하는 메모리 영역에 저장될 수 있고, 모든 라운드가 종료될 때까지 상기 라운드 키가 유지할 수 있다.In step S501, the symmetric key cryptography processing apparatus generates a round key for each of the plurality of keys input in the first round and stores it in the memory. Here, the memory may be stored in a memory area corresponding to the round key in the first round, and the round key may be maintained until all rounds are completed.
단계(S502)에서 상기 대칭키 암호 프로세싱 장치는 상기 메모리로부터 해당하는 라운드 키를 수신하여 외부 데이터의 암호화 또는 복호화를 처리한다. 이를 위해, 상기 대칭키 암호 프로세싱 장치는 외부 데이터를 수신하고, 기선정된 메모리 제어 신호에 기초하여 상기 메모리에서 상기 라운드 키를 수신한 후, 상기 라운드 키에 기초하여 상기 외부 데이터를 암호화 또는 복호화할 수 있다. 이 경우, 상기 메모리 제어 신호는 상기 메모리가 포함하는 라운드 키 중 현재 라운드에서 이용될 라운드 키를 결정하는 신호를 포함할 수 있다. 즉, 상기 대칭키 암호 프로세싱 장치는 상기 메모리 제어 신호를 이용하여 상기 메모리가 포함하는 복수 개의 라운드 키 중 현재 라운드에 이용될 키를 추출하고, 입력된 상기 외부 데이터의 암호화 또는 복호화에 이용할 수 있다.In step S502, the symmetric key cryptography processing apparatus receives a corresponding round key from the memory to process encryption or decryption of external data. To this end, the symmetric key cryptographic processing apparatus receives external data, receives the round key from the memory based on a predetermined memory control signal, and then encrypts or decrypts the external data based on the round key. Can be. In this case, the memory control signal may include a signal for determining a round key to be used in the current round among the round keys included in the memory. That is, the symmetric key cryptography processing apparatus may extract a key to be used for the current round among a plurality of round keys included in the memory by using the memory control signal, and use the same to encrypt or decrypt the input external data.
단계(S503)에서 상기 대칭키 암호 프로세싱 장치는 모든 라운드에 대해 단계(S502)를 반복 수행한다. 즉, 상기 대칭키 암호 프로세싱 장치는 최초 라운드에 서만 입력되는 복수 개의 키 각각에 대한 라운드 키를 생성하여 메모리에 저장하고, 상기 최초 라운드 및 나머지 라운드인 상기 모든 라운드 동안 상기 메모리에 저장된 라운드 키 중 해당하는 라운드 키를 선택하여 이용할 수 있다.In step S503, the symmetric key cryptographic processing apparatus repeats step S502 for all rounds. That is, the symmetric key cryptographic processing apparatus generates a round key for each of a plurality of keys input only in the first round, and stores the round key in a memory, and the corresponding one of the round keys stored in the memory during the first round and the remaining rounds is stored. A round key can be selected and used.
따라서, 본 발명의 일실시예에 따르면 하나의 컨텐츠에 대해서는 복수 개의 키를 이용하여 서비스를 제공하는 경우, 대칭키 암호 프로세싱 장치는 상기 복수 개의 키 각각에 대한 라운드 키를 매 라운드마다 생성할 필요 없이 최초 생성된 라운드 키를 입력되는 키에 따라 선택하여 사용함으로써 상기 라운드 키의 생성을 반복할 필요성이 없어진다. 이에 따라, 대칭키 암호 프로세싱에 따른 소비전력 및 속도가 개선될 수 있다.Therefore, according to an embodiment of the present invention, when providing a service using a plurality of keys for one content, the symmetric key cryptographic processing apparatus does not need to generate a round key for each of the plurality of keys every round. By selecting and using the first generated round key according to the input key, there is no need to repeat the generation of the round key. Accordingly, power consumption and speed according to symmetric key cryptographic processing can be improved.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(Floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드 뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention can be implemented in the form of program instructions that can be executed by various computer means can be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.
이상과 같이 본 발명을 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명하였으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by specific embodiments such as specific components and the like, but the embodiments and drawings are provided only to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. For those skilled in the art, various modifications and variations are possible from these descriptions.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and all the things that are equivalent to or equivalent to the claims as well as the following claims will belong to the scope of the present invention. .
도 1은 본 발명의 일실시예에 있어서, 대칭키 암호 프로세싱 장치의 개괄적인 동작을 설명하기 위한 도면이다.1 is a view for explaining the general operation of the symmetric key cryptography processing apparatus according to an embodiment of the present invention.
도 2는 본 발명의 일실시예에 있어서, 대칭키 암호 프로세싱 장치의 내부 구성을 설명하기 위한 블록도이다.2 is a block diagram illustrating an internal configuration of a symmetric key cryptographic processing apparatus according to an embodiment of the present invention.
도 3은 본 발명의 일실시예에 있어서, 대칭키 암호 프로세싱 장치의 다른 내부 구성을 설명하기 위한 블록도이다.3 is a block diagram illustrating another internal configuration of a symmetric key cryptographic processing apparatus according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 있어서, 대칭키 암호 프로세싱 방법을 설명하기 위한 흐름도이다.4 is a flowchart illustrating a symmetric key cryptography processing method according to an embodiment of the present invention.
도 5는 본 발명의 일실시예에 있어서, 다른 대칭키 암호 프로세싱 방법을 설명하기 위한 흐름도이다.5 is a flowchart illustrating another symmetric key cryptography processing method according to an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
200: 대칭키 암호 프로세싱 장치200: symmetric key cryptographic processing device
201: 제어신호부201: control signal unit
202: 라운드 키 생성부202: round key generation unit
203: 메모리부203: memory
204: 대칭키 암복호처리부204: symmetric key encryption and decryption processing unit
205: 입출력 신호 처리부205: input and output signal processing unit
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070108485A KR20090042624A (en) | 2007-10-26 | 2007-10-26 | Apparatus and method for symmetric key encryption processing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070108485A KR20090042624A (en) | 2007-10-26 | 2007-10-26 | Apparatus and method for symmetric key encryption processing |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20090042624A true KR20090042624A (en) | 2009-04-30 |
Family
ID=40765325
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070108485A KR20090042624A (en) | 2007-10-26 | 2007-10-26 | Apparatus and method for symmetric key encryption processing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20090042624A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160016157A (en) | 2014-08-04 | 2016-02-15 | 주식회사 엔씨소프트 | Method of distributing original data with recovery data |
-
2007
- 2007-10-26 KR KR1020070108485A patent/KR20090042624A/en not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20160016157A (en) | 2014-08-04 | 2016-02-15 | 주식회사 엔씨소프트 | Method of distributing original data with recovery data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101527329B1 (en) | Apparatus and method for data encryption | |
US9152805B2 (en) | Security device | |
KR101847492B1 (en) | Apparatus and method for data encryption, apparatus and method for data decryption | |
US20120269340A1 (en) | Hierarchical encryption/decryption device and method thereof | |
KR102397579B1 (en) | Method and apparatus for white-box cryptography for protecting against side channel analysis | |
KR20100069588A (en) | Methods and devices for instruction level software encryption | |
CN104660590B (en) | A kind of file encryption secure cloud storage scheme | |
KR20090131696A (en) | Enc/decryption device and security storage device including the same | |
KR20190010251A (en) | A method and apparatus of lpes for security enhancement in cloud storage transport phase | |
KR20130093557A (en) | System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction | |
KR101458479B1 (en) | Method of encrypting and decrypting the data of the session state | |
JP6487433B2 (en) | Apparatus and method for rekeying for use in a block cipher algorithm | |
WO2015166701A1 (en) | Encryption method, program, and system | |
KR101947871B1 (en) | Function encryption system and method for outputting inner product values | |
KR101790948B1 (en) | Apparatus and method for providing drm service, apparatus and method for playing contents using drm service | |
CN109995508B (en) | Encryption and decryption device and method for FPGA code stream | |
KR101240247B1 (en) | Proxy re-encryption Method using two secret key, Method for decrypting of Proxy re-encryption message | |
KR101440680B1 (en) | Homomorphic Encryption and Decryption Method using Chinese Remainder Theorem and apparatus using the same | |
KR20090042624A (en) | Apparatus and method for symmetric key encryption processing | |
CN103491384A (en) | Encrypting method and device of video and decrypting method and device of video | |
KR101445483B1 (en) | Method and system for secure data transfer using conditional proxy re-encryption | |
CN112149166A (en) | Unconventional password protection method and intelligent bank machine | |
KR101824315B1 (en) | Method and apparatus for encrypting data, and method and apparatus decrypting data | |
JP2006313505A (en) | Encryption and decryption system, apparatuses and methods for encryption and decryption, and program | |
KR100992589B1 (en) | Data enciphering method capable of reusing encryption pad and device thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |