KR20100029575A - Data enciphering method capable of reusing encryption pad and device thereof - Google Patents
Data enciphering method capable of reusing encryption pad and device thereof Download PDFInfo
- Publication number
- KR20100029575A KR20100029575A KR1020080088408A KR20080088408A KR20100029575A KR 20100029575 A KR20100029575 A KR 20100029575A KR 1020080088408 A KR1020080088408 A KR 1020080088408A KR 20080088408 A KR20080088408 A KR 20080088408A KR 20100029575 A KR20100029575 A KR 20100029575A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- pad
- encryption
- blocks
- encrypted
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- 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
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 데이터 암호화 기술에 관한 것으로, 보다 상세하게는 암호화 패드를 재사용할 수 있는 데이터 암호화 방법 및 그 장치에 관한 것이다.The present invention relates to data encryption technology, and more particularly, to a data encryption method and apparatus capable of reusing an encryption pad.
암호화 방법 중의 하나인 일회용 패드(one time pad)를 이용한 암호화 방법은 송신단(예컨대, 암호화부)에서 데이터(예컨대, 멀티미디어 데이터) 파일과 같은 파일 크기의 패드를 만든 후, 상기 데이터를 구성하는 비트들과 상기 패드를 구성하는 비트들 중에서 대응되는 비트들 간의 배타적 논리합 연산(Exclusive-OR)을 수행하고 연산 결과를 암호화된 데이터로서 생성한다.The encryption method using a one time pad, which is one of encryption methods, generates a pad having a file size such as a data (eg, multimedia data) file at a transmitting end (eg, an encryption unit), and then configures bits of the data. And an exclusive-OR operation between the corresponding bits among the bits constituting the pad and the corresponding bits, and generate an operation result as encrypted data.
이때, 데이터의 암호화에 이용되는 패드는 램덤 비트(random bit)들의 집합으로서, 수신단(예컨대, 복호화부)에서는 상기 패드를 이용하여 암호화된 데이터를 복호화할 수 있다.In this case, the pad used to encrypt the data is a set of random bits, and the receiving end (for example, the decryption unit) may decrypt the encrypted data using the pad.
즉, 데이터의 암호화에 이용되는 패드는 송신단의 암호화시 바뀔 수 있으므로, 상기 송신단은 암호화된 데이터를 항상 상기 패드와 함께 수신단에 전송해야 한다.That is, since the pad used for encrypting the data may change when the transmitting end is encrypted, the transmitting end should always transmit the encrypted data together with the pad to the receiving end.
이와 같은 일회용 패드를 이용한 암호화 방법은 상기 일회용 패드의 비트열 (bit stream)이 충분히 랜덤하게 생성되어 있다면, 암호화된 데이터의 해독(cryptanalysis)이 어려운 방법으로 알려져 있다.The encryption method using such a disposable pad is known to be difficult to decrypt encrypted data if a bit stream of the disposable pad is sufficiently randomly generated.
그러나, 위에서 설명한 바와 같이 송신단에서는 데이터 파일과 동일한 크기를 갖는 패드(이른바, 암호화 및 복호화를 위한 일회용 패드)를 매번 생성하고 이를 수신단에 전송해야 하는바, 데이터 전송 시간, 트래픽(traffic), 및 비용이 커질 수 있는 문제점이 발생할 수 있다.However, as described above, the transmitting end needs to create a pad having the same size as the data file (so-called one-time pad for encryption and decryption) and transmit it to the receiving end every time. Data transmission time, traffic, and cost This can be a big problem.
이러한 단점을 보완하기 위하여 데이터 암호화시 일회용 패드 대신에 난수 발생기(random number generator)에서 발생되는 난수(random number)를 이용할 수 있지만, 난수 발생기의 주기성과 시드(seed) 값을 이용한 공격에 대해 지속적으로 안전한 대응방법이 없는바, 높은 실행 효율성을 위하여 암호화 패드를 재사용하면서도 암호기능의 안전성을 충분히 유지할 수 있는 방안이 필요한 실정이다. To compensate for this drawback, the random number generator can use random numbers instead of disposable pads to encrypt the data.However, the cyclical and seed values of the random number generator are continuously used for attacks. Since there is no safe countermeasure, there is a need for a method that can sufficiently maintain the security of the encryption function while reusing the encryption pad for high execution efficiency.
따라서, 본 발명이 해결하고자 하는 과제는 암호화 패드를 재사용할 수 있는 데이터 암호화 방법 및 그 장치를 제공하는 것이다.Accordingly, an object of the present invention is to provide a data encryption method and apparatus capable of reusing an encryption pad.
또한, 본 발명이 해결하고자 하는 과제는 암호화 패드를 재사용하면서도 암호기능의 안전성을 충분히 유지할 수 있는 암호화 방법 및 그 장치를 제공하는 것이다.In addition, an object of the present invention is to provide an encryption method and apparatus capable of sufficiently maintaining the security of the encryption function while reusing the encryption pad.
상기 기술적 과제를 달성하기 위한 데이터 암호화 방법은, N2(N은 자연수)개의 비트로 구성된 암호화 및 복호화를 위한 패드를 N개의 블록으로 나누고 나뉘어진 블록들을 N! 개의 순열 중 어느 하나의 순열에 상응하도록 배치시키는 제1 단계; 배치된 블록들을 구성하는 N개의 비트들을 상기 블록들이 배치된 순열과 동일하게 배치시키는 제2 단계; 및 상기 제2 단계에 의해서 배치된 패드를 이용하여 데이터를 암호화하는 암호화 단계를 포함할 수 있다. 단, N은 안전도 관련 실험 등을 통하여, 일정값 이상으로 제한하여 사용될 수 있다. 통상적인 암호키의 길이 128bit를 참고하여, N 은 적어도 128 이상으로 잡는 것이 좋다고 볼 수 있다. The data encryption method for achieving the above technical problem, the pad for encryption and decryption consisting of N 2 (N is a natural number) bits divided into N blocks and divided blocks N! A first step of disposing corresponding to one of the four permutations; A second step of arranging N bits constituting the arranged blocks equally to the permutation in which the blocks are arranged; And an encryption step of encrypting data by using the pad disposed by the second step. However, N may be used by limiting it to a predetermined value or more through safety-related experiments. Referring to the 128-bit length of a conventional encryption key, it can be considered that N should be set to at least 128.
상기 데이터암호화 방법은, 상기 암호화 단계에 의해서 암호화된 데이터 및 상기 N! 개의 순열 중에서 상기 어느 하나의 순열에 대한 정보를 클라이언트에 전송하는 단계를 더 포함할 수 있다.The data encryption method includes data encrypted by the encryption step and the N! The method may further include transmitting information about the one permutation from among the permutations to the client.
상기 어느 하나의 순열에 대한 정보는, 공개키 암호화 알고니즘에 의해서 암호화되어 상기 클라이언트에 전송될 수 있다.Information about any one permutation may be encrypted by a public key encryption algorithm and transmitted to the client.
상기 암호화 및 상기 복호화를 위한 패드는, 상기 클라이언트에 미리 저장되어 재활용될 수 있다.The pad for encryption and decryption may be previously stored in the client and recycled.
상기 클라이언트는, 상기 어느 하나의 순열에 대한 정보를 이용하여 미리 저장된 패드를 재배치시키고 재배치된 패드를 이용하여 상기 암호화된 데이터를 복호화 시킬 수 있다.The client may relocate a previously stored pad using the information on any one permutation, and decrypt the encrypted data using the relocated pad.
상기 기술적 과제를 달성하기 위한 데이터 암호화 장치는, N2(N은 자연수)개 의 비트로 구성된 암호화 및 복호화를 위한 패드를 N개의 블록으로 나누고 나뉘어진 블록들을 N! 개의 순열 중 어느 하나의 순열에 상응하도록 배치시키고, 배치된 블록들을 구성하는 N개의 비트들을 상기 블록들이 배치된 순열과 동일하게 배치시키는 패드 배치부; 및 상기 패드 배치부에 의해서 배치된 패드를 이용하여 데이터를 암호화하는 암호화부를 포함할 수 있다.The data encryption apparatus for achieving the above technical problem, divides the pad for encryption and decryption consisting of N 2 (N is a natural number) bits into N blocks and divided blocks N! A pad arranging unit arranged to correspond to any one of the four permutations, and arranging N bits constituting the arranged blocks to be identical to the permutations in which the blocks are arranged; And it may include an encryption unit for encrypting data using the pad disposed by the pad placement unit.
상기 데이터 암호화부는, 상기 암호화된 데이터 및 상기 N! 개의 순열 중에서 상기 어느 하나의 순열에 대한 정보를 클라이언트에 전송하고, 상기 클라이언트는, 상기 어느 하나의 순열에 대한 정보를 이용하여 미리 저장된 패드를 재배치시키고 재배치된 패드를 이용하여 상기 암호화된 데이터를 복호화시킬 수 있다.The data encryption unit, the encrypted data and the N! Information about any one of the permutations is transmitted to the client, and the client relocates the previously stored pad using the information about the one permutation and decrypts the encrypted data using the relocated pad. You can.
상기 어느 하나의 순열에 대한 정보는, 공개키 암호화 알고니즘에 의해서 암호화되어 상기 클라이언트에 전송될 수 있다.Information about any one permutation may be encrypted by a public key encryption algorithm and transmitted to the client.
상기 암호화 및 상기 복호화를 위한 패드는, 상기 클라이언트에 미리 저장되어 재활용될 수 있다.The pad for encryption and decryption may be previously stored in the client and recycled.
본 발명에 따른 데이터 암호화 방법 및 그 장치는 암호화 패드를 여러 번 재사용할 수 있어 데이터 전송 시간, 트래픽(traffic), 및 비용을 줄일 수 있는 효과가 있다.The data encryption method and apparatus according to the present invention can reuse the encryption pad several times, thereby reducing the data transmission time, traffic, and cost.
또한, 본 발명에 따른 데이터 암호화 방법 및 그 장치는 암호화 패드를 재사용하면서도 암호기능의 안전성을 충분히 유지할 수 있는 효과가 있다.In addition, the data encryption method and the apparatus according to the present invention has the effect that it is possible to sufficiently maintain the security of the encryption function while reusing the encryption pad.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조해야만 한다.In order to fully understand the present invention, the operational advantages of the present invention, and the objects achieved by the practice of the present invention, reference should be made to the accompanying drawings which illustrate preferred embodiments of the present invention and the contents described in the accompanying drawings.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. In the present specification, when one component 'transmits' data to another component, the component may directly transmit the data to the other component, and the data through at least one other component. Means that it may be transmitted to the other component.
반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다. On the contrary, when one component 'directly transmits' data to another component, it means that the data is transmitted from the component to the other component without passing through the other component.
이하, 첨부된 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 이해하고 실시할 수 있도록 본 발명의 바람직할 실시예를 상세히 설명하도록 한다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily understand and implement the present invention. Like reference numerals in the drawings denote like elements.
도 1은 본 발명의 실시 예에 따른 컨텐츠 서버를 포함하는 시스템을 나타내고, 도 2는 본 발명의 실시 예에 따른 데이터 암호화 장치의 블록도를 나타내고, 도 3은 데이터 암호화 장치가 암호화 패드를 배치하는 과정을 설명하기 위한 도면이다.1 shows a system including a content server according to an embodiment of the present invention, FIG. 2 shows a block diagram of a data encryption device according to an embodiment of the present invention, and FIG. 3 shows a data encryption device in which an encryption pad is arranged. It is a figure for demonstrating a process.
도 4는 도 2의 데이터 암호화 장치가 데이터 암호화를 수행하는 과정을 설명 하기 위한 도면이고, 도 5는 본 발명의 실시 예에 따른 데이터 복호화 장치의 블록도를 나타낸다. 도 1 내지 도 5를 참조하면, 본 발명의 실시 예에 따른 시스템(10)은 제1 디바이스(20), 컨텐츠 서버(30), 및 제2 디바이스(40)을 포함할 수 있다.4 is a diagram for describing a process of performing data encryption by the data encryption apparatus of FIG. 2, and FIG. 5 is a block diagram of a data decryption apparatus according to an exemplary embodiment of the present invention. 1 to 5, the
여기서, 제1 디바이스(20) 및/ 또는 제2 디바이스(40) 각각은 데이터 통신가능한 기기로서, PC, 노트북, PMP, 네비게이션, 및 MP4 중에서 어느 하나가 될 수 있다.Here, each of the
또한, 제1 디바이스(20) 및/ 또는 제2 디바이스(40) 각각은 별도의 통신 서버(미도시) 내에 구현될 수도 있다.In addition, each of the
제1 디바이스(20)는 데이터(DATA, 예컨대, 멀티미디어 데이터)를 생성할 수 있으며, 생성된 데이터(DATA)를 암호화 및 복호화를 하기 위한 패드(예컨대, 도 3의 Pd5)를 이용하여 암호화하고 암호화된 데이터(E-DATA)를 컨텐츠 서버(30)로 전송할 수 있다.The
이때, 제1 디바이스(20)는 암호화된 데이터(E-DATA)를 제2 디바이스(40)로 직접 전송할 수 있음은 물론이다.In this case, the
제1 디바이스(20)는 데이터(DATA)를 암호화하기 위하여 암호화 장치(21)를 포함할 수 있다. 상기 암호화 장치(21)는 N2개의 비트로 구성된 암호화 및 복호화를 위한 패드(Pd1)를 N(N은 자연수)개의 블록(예컨대, 0 내지 127)으로 나누고 나뉘어진 블록들(0 내지 127)을 N! 개의 순열 중 어느 하나의 순열에 상응하도록 배치시키고, 배치된 블록들(0 내지 127)을 구성하는 N개의 비트들을 상기 블록들(0 내지 127)이 배치된 순열과 동일하게 재배치시키고, 재배치된 패드(Pd5)를 이용하여 데이터(DATA)할 수 있다.The
이때, 암호화 장치(21)는 패드(Pd1)를 블록(0 내지 127)으로 나눌 때, 각각이 같은 개수의 비트 수를 갖는 블록으로 나눌 수 있다. At this time, the
예컨대, 암호화 장치(21)는 패드(Pd1)가 500개의 비트로 구성된 패드라면, 각각이 50개의 비트를 갖는 10개의 블록을 나눌 수 있다.For example, if the pad Pd1 is a pad composed of 500 bits, the
여기서, N은 안전도 관련 실험 등을 통하여, 일정값 이상으로 제한하여 사용될 수 있다. 통상적인 암호키의 길이 128bit를 참고하여, N 은 적어도 128 이상으로 잡는 것이 좋다고 볼 수 있다. Here, N may be used by limiting to a predetermined value or more through safety-related experiments. Referring to the 128-bit length of a conventional encryption key, it can be considered that N should be set to at least 128.
암호화 장치(21)는 패드 배치부(23), 데이터 수신부(25), 및 암호화부(27)를 포함할 수 있다. 상기 패드 배치부(23)는 N2개의 비트로 구성된 암호화 및 복호화를 위한 패드(Pd1)를 N(N은 자연수)개의 블록(0 내지 127)으로 나누고 나뉘어진 블록들(0 내지 127)을 N! 개의 순열 중 어느 하나의 순열에 상응하도록 배치시키고, 배치된 블록들을 구성하는 N개의 비트들을 상기 블록들(0 내지 127)이 배치된 순열과 동일하게 재배치시킬 수 있다.The
예컨대, 패드 배치부(23)는 도 3과 같이 암호화 및 복호화를 위한 패드(Pd1)를 N(N은 자연수)개의 블록(0 내지 127)으로 나누고 나뉘어진 블록들(0 내지 127)을 N! 개의 순열 중 어느 하나의 순열에 상응하도록 재배치시켜 블록들이 재배치된 패드(Pd3)를 생성(이른바, 블록 수준의 뒤섞기)할 수 있다.For example, the
이때, 패드 배치부(23)에 패드(Pd1)를 구성하는 블록(0 내지 127)의 수는 128개이므로 각각의 위치를 기억하는 데는 7비트가 필요하다. 따라서, 재배치된 패드(Pd3)에 대한 순열정보는 112 바이트(128*7비트)의 데이터와 상응할 수 있다.At this time, since the number of
이어서, 패드 배치부(23)는 재배치된 패드(Pd3) 내에서 재배치된 블록(0 내지 127)들을 구성하는 N개의 비트들을 상기 블록들(0 내지 127)이 배치된 순열과 동일하게 재배치하여 재배치된 패드(Pd5)를 생성(이른바, 비트 수준의 뒤섞기)할 수 있다.Subsequently, the
데이터 수신부(25)는 제1 디바이스(10)의 응용 프로그램에 의해서 생성된 또는 데이터 베이스에 저장된 데이터(Data, 예컨대, 멀티미디어 데이터)를 수신하고 수신된 데이터를 암호화부(27)로 전송할 수 있다.The
암호화부(27)는 패드 배치부(23)에서 재배치된 패드(Pd5)를 수신하고, 수신된 패드(Pd5)를 이용하여 데이터(DATA)를 암호화할 수 있다. The
예컨대, 데이터 수신부(25)는 도 4와 같이 재배치된 패드(Pd5)와 데이터(DATA)와의 논리연산(예컨대, 배타적 논리 합(Exclusive-OR) 연산)을 수행하고 연산결과를 암호화된 데이터(E-Data)로서 출력할 수 있다.For example, the
한편, 암호화부(27)는 재배치된 패드(Pd5)의 재배치된 순열정보를 암호화하고 암호화된 순열정보(key)를 생성할 수 있으며, 암호화된 데이터(E-Data) 및 상기 암호화된 순열정보(key)를 컨텐츠 서버(30) 또는 제2 디바이스(40)로 전송할 수 있다.Meanwhile, the
암호화된 순열정보(key)는 N! 개의 순열 중 어느 하나의 순열 정보가 암호화 된 값으로서, 암호화부(27)는 상기 순열정보를 공개키 암호화 방식에 의하여 암호화할 수 있으나, RSA 암호화 방식, SSL 암호화 방식, ROBIN 암호화 방식, 및 3DES 암호화 방식 중에서 어느 하나의 암호화 방식에 의해서 암호화할 수 있음은 물론이다.Encrypted permutation information (key) is N! Although the permutation information of any one of the permutations is encrypted, the
컨텐츠 서버(30)는 제1 디바이스(20)으로부터 암호화된 데이터(E-Data) 및 암호화된 순열정보(key)를 수신하고, 제2 디바이스(40)로부터 수신된 데이터 요청(미도시)에 응답하여 암호화된 데이터(E-Data) 및 암호화된 순열정보(key)를 상기 제2 디바이스(40)로 전송할 수 있다.The
한편, 컨텐츠 서버(30)에는 도 2의 데이터 암호화 장치(21)가 구현될 수 있으며, 이 경우 상기 컨텐츠 서버(30)는 제1 디바이스(20)와 같이 패드(Pd5)를 이용하여 멀티미디어 데이터(Data)를 암호화할 수 있음은 물론이다.Meanwhile, the
또한, 컨텐츠 서버(30)는 암호화 및 복호화에 이용되는 패드(Pd1)를 항시 저장할 수 있으며, 제2 디바이스(40)는 상기 패드(Pd1)를 미리 전송 또는 다운받아 저장하려 암호화된 데이터(E-Data)를 암호화된 순열정보(key)에 의해서 복호화할 수 있다.In addition, the
제2 디바이스(40)는 제1 디바이스(20) 또는 컨텐츠 서버(30)에 멀티미디어 데이터 요청을 발생하고, 상기 제1 디바이스(20) 또는 상기 컨텐츠 서버(30)로부터 암호화된 데이터(E-Data) 및 암호화된 순열정보(key)를 수신할 수 있다.The
이때, 제2 디바이스(40)는 암호화된 순열정보(key)를 복호화하고 복호화된 순열정보를 이용하여 미리 저장된 복호화를 위한 패드(예컨대, Pd1)를 재배치하고 재배치된 패드(예컨대, Pd5)를 이용하여 암호화된 데이터(E-Data)를 복호화할 수 있다.At this time, the
한편, 제2 디바이스(40)는 제1 디바이스(20) 및/ 또는 컨텐츠 서버(30)로부터 복호화를 위한 패드(예컨대, Pd1)를 미리 다운받아 저장할 수 있다.Meanwhile, the
즉, 본 발명의 실시 예에 따른 제2 디바이스(40)는 제1 디바이스(20) 및/ 또는 컨텐츠 서버(30)로부터 복호화를 위한 패드(예컨대, Pd1)를 순열정보에 기초하여 변형시킬 수 있는바 최초 다운받은 상기 패드(예컨대, Pd1)를 여러 번 재사용할 수 있는 효과가 있다.That is, the
또한, 제1 디바이스(20) 및/ 또는 컨텐츠 서버(30)는 복호화를 위한 패드(예컨대, Pd5)를 암호화된 데이터(E-Data) 전송함과 동시에 전송할 필요가 없는 바 데이터 전송 시간 및 트래픽(traffic)을 줄일 수 있는 효과가 있다.In addition, the
제2 디바이스(40)는 암호화된 데이터(E-Data)를 복호화하기 위하여 복호화 장치(41)를 포함할 수 있다.The
보다 상세하게는, 제2 디바이스(40)는 복호화된 순열정보를 이용하여 미리 저장된 복호화를 위한 패드(예컨대, Pd1)를 패드 배치부(23)에 의해서 블록단위로 재배치된 패드(Pd3)로 재배치할 수 있다.More specifically, the
이어서, 복호화 장치(41)는 복호화된 순열정보를 이용하여 블록단위 및 비트단위로 배치된 패드(Pd5)를 이용하여 암호화된 데이터(E-Data)를 복호화할 수 있다.Subsequently, the
복호화 장치(41)는 패드 배치부(43), 데이터 수신부(45), 및 복호화부(47)를 포함할 수 있다. The
상기 패드 배치부(43)는 제1 디바이스(20) 및 /또는 컨텐츠 서버(30)로부터 암호화된 순열정보(key)를 수신하고 이를 복호화하여 복호화된 순열정보를 검출할 수 있다.The
이어서, 상기 패드 배치부(43)는 복호화된 순열정보에 기초하여 미리 저장된 복호화를 위한 패드(예컨대, Pd1)를 블록단위 및 비트단위로 재배치하고 재배치된 패드(Pd5)를 검출하고 검출된 패드(Pd5)를 복호화부(47)로 전송할 수 있다.Subsequently, the
데이터 수신부(45)는 제1 디바이스(20) 및 /또는 컨텐츠 서버(30)로부터 암호화된 데이터(E-Data)를 수신하고 수신된 암호화된 데이터(E-Data)를 복호화부(47)로 전송할 수 있다.The
복호화부(47)는 패드 배치부(43)에서 출력된 패드(Pd5) 및 데이터 수신부(45)에서 출력된 암호화된 데이터(E-Data)를 수신하고, 상기 패드(Pd5)를 이용하여 상기 암호화된 데이터(E-Data)를 복호화할 수 있다.The
예컨대, 복호화부(47)는 패드 배치부(43)에서 출력된 패드(Pd5)와 데이터 수신부(45)에서 출력된 암호화된 데이터(E-Data)와의 논리연산(예컨대, 배타적 논리 합(Exclusive-OR) 연산)을 수행하고 연산결과를 복호화된 데이터(Data)로서 출력할 수 있다.For example, the
도 6은 본 발명의 실시 예에 따른 데이터 암호화 및 복호화 방법을 나타내는 흐름도이다. 도 1 내지 도 2, 도 5, 및 도 6을 참조하면, 제1 디바이스(20) 또는 컨텐츠 서버에 내장될 수 있는 암호화 장치(21)는 N2(N은 자연수)개의 비트로 구성된 암호화 및 복호화를 위한 패드(Pd1)를 N(N은 자연수)개의 블록으로 나누고 나뉘어진 블록들을 N! 개의 순열 중 어느 하나의 순열에 상응하도록 배치시킬 수 있다(S10).6 is a flowchart illustrating a data encryption and decryption method according to an embodiment of the present invention. 1 to 2, 5, and 6, the
암호화 장치(21)는 S10 단계에 의해서 배치된 패드(Pd3)의 블록들을 구성하는 N개의 비트들을 상기 블록들이 배치된 순열과 동일하게 배치시키고(S12), S12 단계에 의해서 배치된 패드를 이용하여 데이터(Data)를 암호화시킬 수 있다(S14).The
암호화 장치(21)는 S14 단계에 의해서 암호화된 데이터(E-Data) 및 N! 개의 순열 중 어느 하나의 순열에 대한 정보를 클라이언트(예컨대, 제2 디바이스(40))로 전송할 수 있다(S16).The
제2 디바이스(40)에 내장될 수 있는 복호화 장치(41)는 순열에 대한 정보를 이용하여 미리 저장된 패드(Pd1)를 재배치시키고 재배치된 패드(Pd5)를 이용하여 상기 암호화된 데이터(E-Data)를 복호화시킬 수 있다(S18).The
여기서, 암호화 장치(21)에 의해서 생성된 순열에 대한 정보는 암호화(예컨대, 공개키 암호화 방식에 의한 암호화)되어 제2 디바이스(40)로 전송될 수 있음은 물론이다.Here, of course, the information on the permutation generated by the
도 7은 본 발명의 실시 예에 따른 데이터 암호화 및 복호화 방법에 따른 효과를 설명하기 위한 도면이다. 도 3과 도 7을 참조하면, 전수조사의 측면에서, 일반적으로 암호화 키가 2128 정도의 조합을 가지면 외부 공격으로부터 안전하다.7 is a view for explaining the effect of the data encryption and decryption method according to an embodiment of the present invention. 3 and 7, in terms of total inspection, in general, if the encryption key has a combination of about 2 128 , it is safe from external attack.
도 3과 같이 암호화 및 복호화를 위한 패드(Pd1)를 구성하는 블록의 개수가 128개인 경우, 2128 < 128! 이므로, 블록 수준의 뒤섞기에서는 블록의 개수를 128개 이상으로 정함으로써 128! 이상의 전수조사 공간, 즉 암호화 기법으로서의 기본적인 안전성이 확보될 가능성이 있다.As shown in FIG. 3, when the number of blocks constituting the pad Pd1 for encryption and decryption is 128, 2 128 <128! In block-level shuffling, the number of blocks is 128! There is a possibility that the above-mentioned whole research space, i.e., basic security as an encryption technique, is secured.
이 경우, 암호화 및 복호화를 위한 패드(Pd1)가 블록 수준에서 뒤섞기게 된 패드(Pd3)로 변형(또는, 검출)되는 시간은 도 7의 (a)와 같이 블록의 개수 n에 해당하는 정도의 실행시간 즉, O(n) 시간이 될 수 있다.In this case, the time at which the pad Pd1 for encryption and decryption is transformed (or detected) into the pad Pd3 intermixed at the block level is equivalent to the number n of blocks as shown in FIG. It may be execution time, that is, O (n) time.
결국, 이러한 실행이 O(n2) 시간 정도 진행되면 모든 블록들은 블록 수준에서 뒤섞기게 된 패드(Pd3)로 복구될 가능성이 높다.As a result, if this execution proceeds for O (n 2 ) time, it is likely that all blocks will be recovered to pad Pd3, which is shuffled at the block level.
그러나 본 발명의 실시 예에 의한 암호화 및 복호화 방법에 의한 패드 재배치 방법은 도 7의 (b)와 같이 블록 수준에서 뒤섞인 패드(Pd3)를 다시 비트 단위로 뒤섞는바 외부의 공격에 의한 복호화시 지수적인 시간을 확보할 수 있는 효과가 있다.However, the pad relocation method according to the encryption and decryption method according to an embodiment of the present invention mixes the pads Pd3 mixed at the block level bit by bit again as shown in FIG. It is effective to secure time.
예컨대, 도 3과 같이 128개의 블록으로 나누어질 수 있는 패드(Pd1)에서, 블록에 적용된 순열이 재차 각각의 블록 내부의 비트열에 적용되도록 하기 위하여 각각의 블록이 128비트를 갖도록 설계되는 경우, 상기 패드(Pd1)의 크기는 128128비트가 된다.For example, in the pad Pd1, which can be divided into 128 blocks as shown in FIG. 3, when each block is designed to have 128 bits so that the permutation applied to the block is applied to the bit strings inside each block again, The size of the pad Pd1 is 128128 bits.
따라서, 공격자가 공개된 패드(Pd1)를 구성하는 블록들 중에서 어느 하나의 블록을 취하여, 암호화된 데이터(E-Data)에 배타적 논리합(Exclusive-OR) 연산을 적용하는 경우, 각각의 블록이 순열의 적용을 받아 비트 수준에서도 뒤섞였기 때문에, 암호화된 데이터(E-Data)에 배타적 논리합(Exclusive-OR) 연산을 반복 적용하더라도 O(n)시간 안에는 깨지 못하게 된다.Therefore, when an attacker takes any one of the blocks constituting the disclosed pad Pd1 and applies an exclusive-OR operation to the encrypted data (E-Data), each block is permutated. Because it is mixed at the bit level under the application of, even if the exclusive-OR operation is repeatedly applied to the encrypted data (E-Data), it cannot be broken in O (n) time.
즉, 전수조사를 통해서라도, 암호화된 데이터(E-Data)를 구성하는 블록들 중에서 어느 하나의 블록을 깨려면, 패드(Pd1)에서 취한 블록을 비트 수준에서 순열을 바꾸어 가면서 암호화된 데이터(E-Data)과 논리합(Exclusive-OR) 연산을 반복 적용하여야 한다.That is, even through full investigation, to break any one of the blocks constituting the encrypted data E-Data, the encrypted data E while changing the permutation at the bit level of the block taken by the pad Pd1 is changed. -Data) and Exclusive-OR operation must be applied repeatedly.
하지만, 비트 수준에서의 순열의 재적용에 의해 2128가지의 조합 공간이 생성되기 때문에 이를 전수 조사하려면, 결국 O(2n)으로 표현되는 실행시간을 거쳐야 한다.However, 2 128 combinations of space are created by reapplying permutations at the bit level, so to fully investigate it, it must go through an execution time expressed as O (2 n ).
따라서 본 발명에 따른 암호화 방법에 의해서 암호화된 데이터(E-Data)는 공격자가 전수조사 이외의 고도한 특별한 기법을 개발하지 못하는 한, 기본적으로는 지수적인 복잡도의 전수조사 실행을 통해야 암호화된 데이터(E-Data)를 복호화할 수 있다.Therefore, the data encrypted by the encryption method according to the present invention (E-Data) is basically encrypted data through the exploration of the exponential complexity, unless the attacker develops a highly specialized technique other than a full investigation E-Data) can be decoded.
또한, 본 발명에 따른 암호화 방법에 의해서 암호화된 데이터(E-Data)의 암호화 시간은 일반적으로 사용되는 AES방식에 비해 매우 빠르다.In addition, the encryption time of the data (E-Data) encrypted by the encryption method according to the present invention is very fast compared to the commonly used AES method.
왜냐하면, AES 방식은 기본적으로 비트수준의 뒤섞기를 수차례 중복 실행하는 방식이기 때문에, 이론적인 면에서 본 발명보다 실행시간이 많이 소요된다.Because the AES method is basically a method of overlapping bit-level shuffles several times, it takes more time to execute than the present invention in theory.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 본 발명에 따른 메시지 전송방법을 수행하기 위한 프로그램 코드는 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 전송될 수도 있다. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like. The program code for performing the message transmission method according to the present invention may be a carrier wave ( For example, transmission via the Internet).
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인 (functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion. And functional programs, codes and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the drawings, this is merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.BRIEF DESCRIPTION OF THE DRAWINGS In order to better understand the drawings cited in the detailed description of the invention, a brief description of each drawing is provided.
도 1은 본 발명의 실시 예에 따른 컨텐츠서버를 포함하는 서버-클라이트 시스템을 나타낸다.1 illustrates a server-crite system including a content server according to an exemplary embodiment of the present invention.
도 2는 본 발명의 실시 예에 따른 데이터 암호화 장치의 블록도를 나타낸다.2 is a block diagram of a data encryption apparatus according to an embodiment of the present invention.
도 3은 데이터 암호화 장치가 암호화 패드를 배치하는 과정을 설명하기 위한 도면이다.3 is a diagram for describing a process of arranging an encryption pad by a data encryption device.
도 4는 도 2의 데이터 암호화 장치가 데이터 암호화를 수행하는 과정을 설명하기 위한 도면이다.4 is a diagram for describing a process of performing data encryption by the data encryption apparatus of FIG. 2.
도 5는 본 발명의 실시 예에 따른 데이터 복호화 장치의 블록도를 나타낸다.5 is a block diagram of a data decoding apparatus according to an embodiment of the present invention.
도 6은 본 발명의 실시 예에 따른 데이터 암호화 및 복호화 방법을 나타내는 흐름도이다.6 is a flowchart illustrating a data encryption and decryption method according to an embodiment of the present invention.
도 7은 본 발명의 실시 예에 따른 데이터 암호화 및 복호화 방법에 따른 효과를 설명하기 위한 도면이다.7 is a view for explaining the effect of the data encryption and decryption method according to an embodiment of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080088408A KR100992589B1 (en) | 2008-09-08 | 2008-09-08 | Data enciphering method capable of reusing encryption pad and device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080088408A KR100992589B1 (en) | 2008-09-08 | 2008-09-08 | Data enciphering method capable of reusing encryption pad and device thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100029575A true KR20100029575A (en) | 2010-03-17 |
KR100992589B1 KR100992589B1 (en) | 2010-11-08 |
Family
ID=42179779
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080088408A KR100992589B1 (en) | 2008-09-08 | 2008-09-08 | Data enciphering method capable of reusing encryption pad and device thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100992589B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190062316A (en) * | 2017-11-28 | 2019-06-05 | 고려대학교 산학협력단 | Server and method for detecting malware in data files |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004184566A (en) | 2002-12-02 | 2004-07-02 | Sony Corp | Aes block cryptography and encryption circuit for the same |
JP3818263B2 (en) | 2003-01-28 | 2006-09-06 | 日本電気株式会社 | AES encryption processing device, AES decryption processing device, AES encryption / decryption processing device, AES encryption processing method, AES decryption processing method, and AES encryption / decryption processing method |
-
2008
- 2008-09-08 KR KR1020080088408A patent/KR100992589B1/en active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190062316A (en) * | 2017-11-28 | 2019-06-05 | 고려대학교 산학협력단 | Server and method for detecting malware in data files |
Also Published As
Publication number | Publication date |
---|---|
KR100992589B1 (en) | 2010-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100592683C (en) | Protected return path from digital rights management dongle | |
US8401186B2 (en) | Cloud storage data access method, apparatus and system based on OTP | |
EP3251040B1 (en) | Obfuscation for protection of streaming media and other data flows | |
US9419796B2 (en) | Method for storing and recovering data, utilization of the method in a storage cloud, storage server and computer program product | |
WO2007118829A1 (en) | Encryption apparatus and method for providing an encrypted file system | |
CN103152168A (en) | Flexible architecture and instruction for advanced encryption standard (AES) | |
KR20100069610A (en) | Methods and devices for a chained encryption mode | |
CN1565102A (en) | Memory encryption | |
KR20160024965A (en) | Method and apparatus to encrypt plaintext data | |
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 | |
JP2009075720A (en) | Information processor and information processing program | |
CN112564887A (en) | Key protection processing method, device, equipment and storage medium | |
CN104660590A (en) | Cloud storage scheme for file encryption security | |
KR20130093557A (en) | System, devices and methods for collaborative execution of a software application comprising at least one encrypted instruction | |
CN102833077A (en) | Encryption and decryption methods of remote card-issuing data transmission of financial IC (Integrated Circuit) card and financial social security IC card | |
KR20080046515A (en) | Encoding and decoding method of contents file | |
CN102480353A (en) | Method of password authentication and secret key protection | |
CN103501220A (en) | Encryption method and device | |
CN101103589A (en) | Communication system and method | |
KR101790948B1 (en) | Apparatus and method for providing drm service, apparatus and method for playing contents using drm service | |
KR100992589B1 (en) | Data enciphering method capable of reusing encryption pad and device thereof | |
KR101602803B1 (en) | The encryption and decryption Method of using to polarization | |
CN115529192A (en) | Method, device, equipment and storage medium for secure transmission of network data | |
JP2001142396A (en) | Ciphering device, its method, ciphering/deciphering device, its method and communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20131004 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20141001 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20151005 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20161004 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20171011 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20181108 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20190925 Year of fee payment: 10 |