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 PDF

Info

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
Application number
KR1020080088408A
Other languages
Korean (ko)
Other versions
KR100992589B1 (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 KR1020080088408A priority Critical patent/KR100992589B1/en
Publication of KR20100029575A publication Critical patent/KR20100029575A/en
Application granted granted Critical
Publication of KR100992589B1 publication Critical patent/KR100992589B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic 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

PURPOSE: A data enciphering method for reusing the encoding pad and an apparatus thereof are provided to maintain the stability of a coding function and reuse the encoded pad. CONSTITUTION: A pad arranger(23) divides an encoding/decoding pad consisting of a plurality of bits into a plurality of blocks. The blocks are disposed in order to correspond to the specific permutation. The PAD display part disposes something for bits comprising arranged blocks with the permutation in which blocks are arranged. An encoder(27) uses the pad arranged by the PAD display part. The data coding part transmits the information for permutation and encrypted data by the client.

Description

암호화 패드를 재사용할 수 있는 데이터 암호화 방법 및 그 장치{Data enciphering method capable of reusing encryption pad and device thereof}Data enciphering method capable of reusing encryption pad and device

본 발명은 데이터 암호화 기술에 관한 것으로, 보다 상세하게는 암호화 패드를 재사용할 수 있는 데이터 암호화 방법 및 그 장치에 관한 것이다.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 system 10 according to an embodiment of the present invention may include a first device 20, a content server 30, and a second device 40.

여기서, 제1 디바이스(20) 및/ 또는 제2 디바이스(40) 각각은 데이터 통신가능한 기기로서, PC, 노트북, PMP, 네비게이션, 및 MP4 중에서 어느 하나가 될 수 있다.Here, each of the first device 20 and / or the second device 40 may be any one of a PC, a notebook computer, a PMP, a navigation device, and an MP4 as a device capable of data communication.

또한, 제1 디바이스(20) 및/ 또는 제2 디바이스(40) 각각은 별도의 통신 서버(미도시) 내에 구현될 수도 있다.In addition, each of the first device 20 and / or the second device 40 may be implemented in a separate communication server (not shown).

제1 디바이스(20)는 데이터(DATA, 예컨대, 멀티미디어 데이터)를 생성할 수 있으며, 생성된 데이터(DATA)를 암호화 및 복호화를 하기 위한 패드(예컨대, 도 3의 Pd5)를 이용하여 암호화하고 암호화된 데이터(E-DATA)를 컨텐츠 서버(30)로 전송할 수 있다.The first device 20 may generate data DATA (eg, multimedia data), and encrypt and encrypt the generated data DATA using a pad (eg, Pd5 of FIG. 3) for encrypting and decrypting the generated data DATA. The data E-DATA may be transmitted to the content server 30.

이때, 제1 디바이스(20)는 암호화된 데이터(E-DATA)를 제2 디바이스(40)로 직접 전송할 수 있음은 물론이다.In this case, the first device 20 may directly transmit the encrypted data E-DATA to the second device 40.

제1 디바이스(20)는 데이터(DATA)를 암호화하기 위하여 암호화 장치(21)를 포함할 수 있다. 상기 암호화 장치(21)는 N2개의 비트로 구성된 암호화 및 복호화를 위한 패드(Pd1)를 N(N은 자연수)개의 블록(예컨대, 0 내지 127)으로 나누고 나뉘어진 블록들(0 내지 127)을 N! 개의 순열 중 어느 하나의 순열에 상응하도록 배치시키고, 배치된 블록들(0 내지 127)을 구성하는 N개의 비트들을 상기 블록들(0 내지 127)이 배치된 순열과 동일하게 재배치시키고, 재배치된 패드(Pd5)를 이용하여 데이터(DATA)할 수 있다.The first device 20 may include an encryption device 21 to encrypt data DATA. Said encryption device (21) is N 2 of the bits, the pad for encryption and decryption are configured (Pd1), N (N is a natural number) number of blocks (for example, 0 to 127) block binary split divided into (0 to 127) N ! Pads arranged to correspond to any one of the four permutations, and rearranging the N bits constituting the arranged blocks 0 to 127 to be identical to the permutations to which the blocks 0 to 127 are disposed, and repositioned pads. Data may be used using Pd5.

이때, 암호화 장치(21)는 패드(Pd1)를 블록(0 내지 127)으로 나눌 때, 각각이 같은 개수의 비트 수를 갖는 블록으로 나눌 수 있다. At this time, the encryption apparatus 21 may divide the pad Pd1 into blocks 0 to 127, and may divide the pad Pd1 into blocks having the same number of bits.

예컨대, 암호화 장치(21)는 패드(Pd1)가 500개의 비트로 구성된 패드라면, 각각이 50개의 비트를 갖는 10개의 블록을 나눌 수 있다.For example, if the pad Pd1 is a pad composed of 500 bits, the encryption apparatus 21 may divide 10 blocks each having 50 bits.

여기서, 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 encryption apparatus 21 may include a pad arranging unit 23, a data receiving unit 25, and an encryption unit 27. The pad configuration unit 23 is N to N 2 of the bits, the pad for encryption and decryption are configured (Pd1), N (N is a natural number) blocks (0 to 127) by dividing the divided blocks (0 to 127)! The N bits constituting the arranged blocks may be rearranged to correspond to one of the permutations, and the N bits constituting the arranged blocks may be rearranged to be identical to the permutations in which the blocks 0 to 127 are arranged.

예컨대, 패드 배치부(23)는 도 3과 같이 암호화 및 복호화를 위한 패드(Pd1)를 N(N은 자연수)개의 블록(0 내지 127)으로 나누고 나뉘어진 블록들(0 내지 127)을 N! 개의 순열 중 어느 하나의 순열에 상응하도록 재배치시켜 블록들이 재배치된 패드(Pd3)를 생성(이른바, 블록 수준의 뒤섞기)할 수 있다.For example, the pad arranging unit 23 divides the pad Pd1 for encryption and decryption into N (N is a natural number) blocks 0 to 127 as shown in FIG. 3 and divides the divided blocks 0 to 127 into N! The rearrangement may correspond to a permutation of any one of the four permutations to generate a pad (Pd3) in which blocks are rearranged (so-called block-level shuffling).

이때, 패드 배치부(23)에 패드(Pd1)를 구성하는 블록(0 내지 127)의 수는 128개이므로 각각의 위치를 기억하는 데는 7비트가 필요하다. 따라서, 재배치된 패드(Pd3)에 대한 순열정보는 112 바이트(128*7비트)의 데이터와 상응할 수 있다.At this time, since the number of blocks 0 to 127 constituting the pad Pd1 is 128 in the pad arranging unit 23, 7 bits are required to store each position. Thus, the permutation information for the repositioned pad Pd3 may correspond to 112 bytes (128 * 7 bits) of data.

이어서, 패드 배치부(23)는 재배치된 패드(Pd3) 내에서 재배치된 블록(0 내지 127)들을 구성하는 N개의 비트들을 상기 블록들(0 내지 127)이 배치된 순열과 동일하게 재배치하여 재배치된 패드(Pd5)를 생성(이른바, 비트 수준의 뒤섞기)할 수 있다.Subsequently, the pad arranging unit 23 rearranges the N bits constituting the relocated blocks 0 to 127 in the repositioned pad Pd3 in the same manner as the permutation in which the blocks 0 to 127 are arranged. Pad Pd5 can be created (so-called bit-level shuffling).

데이터 수신부(25)는 제1 디바이스(10)의 응용 프로그램에 의해서 생성된 또는 데이터 베이스에 저장된 데이터(Data, 예컨대, 멀티미디어 데이터)를 수신하고 수신된 데이터를 암호화부(27)로 전송할 수 있다.The data receiver 25 may receive data (eg, multimedia data) generated by an application program of the first device 10 or stored in a database and transmit the received data to the encryption unit 27.

암호화부(27)는 패드 배치부(23)에서 재배치된 패드(Pd5)를 수신하고, 수신된 패드(Pd5)를 이용하여 데이터(DATA)를 암호화할 수 있다. The encryption unit 27 may receive the pad Pd5 rearranged by the pad arranging unit 23, and encrypt the data DATA using the received pad Pd5.

예컨대, 데이터 수신부(25)는 도 4와 같이 재배치된 패드(Pd5)와 데이터(DATA)와의 논리연산(예컨대, 배타적 논리 합(Exclusive-OR) 연산)을 수행하고 연산결과를 암호화된 데이터(E-Data)로서 출력할 수 있다.For example, the data receiver 25 performs a logical operation (eg, an exclusive-OR operation) between the rearranged pad Pd5 and the data DATA, and encrypts the operation result as encrypted data E. FIG. -Data).

한편, 암호화부(27)는 재배치된 패드(Pd5)의 재배치된 순열정보를 암호화하고 암호화된 순열정보(key)를 생성할 수 있으며, 암호화된 데이터(E-Data) 및 상기 암호화된 순열정보(key)를 컨텐츠 서버(30) 또는 제2 디바이스(40)로 전송할 수 있다.Meanwhile, the encryption unit 27 may encrypt the rearranged permutation information of the rearranged pad Pd5 and generate encrypted permutation information (key), and encrypts the encrypted data (E-Data) and the encrypted permutation information ( key) may be transmitted to the content server 30 or the second device 40.

암호화된 순열정보(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 encryption unit 27 may encrypt the permutation information by a public key encryption method, but the RSA encryption method, the SSL encryption method, the ROBIN encryption method, and the 3DES encryption. Of course, it can be encrypted by any one of the encryption method.

컨텐츠 서버(30)는 제1 디바이스(20)으로부터 암호화된 데이터(E-Data) 및 암호화된 순열정보(key)를 수신하고, 제2 디바이스(40)로부터 수신된 데이터 요청(미도시)에 응답하여 암호화된 데이터(E-Data) 및 암호화된 순열정보(key)를 상기 제2 디바이스(40)로 전송할 수 있다.The content server 30 receives encrypted data (E-Data) and encrypted permutation information (key) from the first device 20, and responds to a data request (not shown) received from the second device 40. The encrypted data (E-Data) and the encrypted permutation information (key) may be transmitted to the second device 40.

한편, 컨텐츠 서버(30)에는 도 2의 데이터 암호화 장치(21)가 구현될 수 있으며, 이 경우 상기 컨텐츠 서버(30)는 제1 디바이스(20)와 같이 패드(Pd5)를 이용하여 멀티미디어 데이터(Data)를 암호화할 수 있음은 물론이다.Meanwhile, the data encryption apparatus 21 of FIG. 2 may be implemented in the content server 30, and in this case, the content server 30 may use the pad Pd5 like the first device 20 to provide multimedia data ( Of course, data can be encrypted.

또한, 컨텐츠 서버(30)는 암호화 및 복호화에 이용되는 패드(Pd1)를 항시 저장할 수 있으며, 제2 디바이스(40)는 상기 패드(Pd1)를 미리 전송 또는 다운받아 저장하려 암호화된 데이터(E-Data)를 암호화된 순열정보(key)에 의해서 복호화할 수 있다.In addition, the content server 30 may always store the pad Pd1 used for encryption and decryption, and the second device 40 may transmit or download the pad Pd1 in advance and store the encrypted data E-. Data) can be decrypted by encrypted permutation information (key).

제2 디바이스(40)는 제1 디바이스(20) 또는 컨텐츠 서버(30)에 멀티미디어 데이터 요청을 발생하고, 상기 제1 디바이스(20) 또는 상기 컨텐츠 서버(30)로부터 암호화된 데이터(E-Data) 및 암호화된 순열정보(key)를 수신할 수 있다.The second device 40 generates a multimedia data request to the first device 20 or the content server 30, and encrypts the data (E-Data) from the first device 20 or the content server 30. And encrypted permutation information (key).

이때, 제2 디바이스(40)는 암호화된 순열정보(key)를 복호화하고 복호화된 순열정보를 이용하여 미리 저장된 복호화를 위한 패드(예컨대, Pd1)를 재배치하고 재배치된 패드(예컨대, Pd5)를 이용하여 암호화된 데이터(E-Data)를 복호화할 수 있다.At this time, the second device 40 decrypts the encrypted permutation information (key), relocates a pad (eg, Pd1) for decryption previously stored using the decrypted permutation information, and uses the rearranged pad (eg, Pd5). Encrypted data (E-Data) can be decrypted.

한편, 제2 디바이스(40)는 제1 디바이스(20) 및/ 또는 컨텐츠 서버(30)로부터 복호화를 위한 패드(예컨대, Pd1)를 미리 다운받아 저장할 수 있다.Meanwhile, the second device 40 may previously download and store a pad (eg, Pd1) for decoding from the first device 20 and / or the content server 30.

즉, 본 발명의 실시 예에 따른 제2 디바이스(40)는 제1 디바이스(20) 및/ 또는 컨텐츠 서버(30)로부터 복호화를 위한 패드(예컨대, Pd1)를 순열정보에 기초하여 변형시킬 수 있는바 최초 다운받은 상기 패드(예컨대, Pd1)를 여러 번 재사용할 수 있는 효과가 있다.That is, the second device 40 according to an embodiment of the present invention may deform a pad (eg, Pd1) for decoding from the first device 20 and / or the content server 30 based on the permutation information. Bar The first downloaded pad (for example, Pd1) can be reused many times.

또한, 제1 디바이스(20) 및/ 또는 컨텐츠 서버(30)는 복호화를 위한 패드(예컨대, Pd5)를 암호화된 데이터(E-Data) 전송함과 동시에 전송할 필요가 없는 바 데이터 전송 시간 및 트래픽(traffic)을 줄일 수 있는 효과가 있다.In addition, the first device 20 and / or the content server 30 may transmit the pad (for example, Pd5) for decryption at the same time as transmitting the encrypted data (E-Data), and thus the data transmission time and traffic ( Traffic can be reduced.

제2 디바이스(40)는 암호화된 데이터(E-Data)를 복호화하기 위하여 복호화 장치(41)를 포함할 수 있다.The second device 40 may include a decryption apparatus 41 to decrypt the encrypted data (E-Data).

보다 상세하게는, 제2 디바이스(40)는 복호화된 순열정보를 이용하여 미리 저장된 복호화를 위한 패드(예컨대, Pd1)를 패드 배치부(23)에 의해서 블록단위로 재배치된 패드(Pd3)로 재배치할 수 있다.More specifically, the second device 40 repositions a pad (for example, Pd1) previously stored using the decoded permutation information to a pad Pd3 rearranged in units of blocks by the pad arranging unit 23. can do.

이어서, 복호화 장치(41)는 복호화된 순열정보를 이용하여 블록단위 및 비트단위로 배치된 패드(Pd5)를 이용하여 암호화된 데이터(E-Data)를 복호화할 수 있다.Subsequently, the decryption apparatus 41 may decrypt the encrypted data E-Data using the pad Pd5 arranged in units of blocks and bits using the decrypted permutation information.

복호화 장치(41)는 패드 배치부(43), 데이터 수신부(45), 및 복호화부(47)를 포함할 수 있다. The decoding device 41 may include a pad arranging unit 43, a data receiving unit 45, and a decoding unit 47.

상기 패드 배치부(43)는 제1 디바이스(20) 및 /또는 컨텐츠 서버(30)로부터 암호화된 순열정보(key)를 수신하고 이를 복호화하여 복호화된 순열정보를 검출할 수 있다.The pad arranging unit 43 may receive encrypted permutation information (key) from the first device 20 and / or the content server 30 and decrypt the detected permutation information.

이어서, 상기 패드 배치부(43)는 복호화된 순열정보에 기초하여 미리 저장된 복호화를 위한 패드(예컨대, Pd1)를 블록단위 및 비트단위로 재배치하고 재배치된 패드(Pd5)를 검출하고 검출된 패드(Pd5)를 복호화부(47)로 전송할 수 있다.Subsequently, the pad arranging unit 43 repositions the previously stored decoding pad (for example, Pd1) in units of blocks and bits based on the decoded permutation information, detects the relocated pad Pd5, and detects the detected pad ( Pd5) may be transmitted to the decoder 47.

데이터 수신부(45)는 제1 디바이스(20) 및 /또는 컨텐츠 서버(30)로부터 암호화된 데이터(E-Data)를 수신하고 수신된 암호화된 데이터(E-Data)를 복호화부(47)로 전송할 수 있다.The data receiver 45 receives the encrypted data E-Data from the first device 20 and / or the content server 30 and transmits the received encrypted data E-Data to the decryption unit 47. Can be.

복호화부(47)는 패드 배치부(43)에서 출력된 패드(Pd5) 및 데이터 수신부(45)에서 출력된 암호화된 데이터(E-Data)를 수신하고, 상기 패드(Pd5)를 이용하여 상기 암호화된 데이터(E-Data)를 복호화할 수 있다.The decryption unit 47 receives the pad Pd5 output from the pad arranging unit 43 and the encrypted data E-Data output from the data receiving unit 45, and uses the pad Pd5 to encrypt the pad. The decoded data (E-Data) can be decoded.

예컨대, 복호화부(47)는 패드 배치부(43)에서 출력된 패드(Pd5)와 데이터 수신부(45)에서 출력된 암호화된 데이터(E-Data)와의 논리연산(예컨대, 배타적 논리 합(Exclusive-OR) 연산)을 수행하고 연산결과를 복호화된 데이터(Data)로서 출력할 수 있다.For example, the decryption unit 47 may perform a logical operation (eg, exclusive logical sum) between the pad Pd5 output from the pad arranging unit 43 and the encrypted data E-Data output from the data receiving unit 45. OR) and output the result as decoded data.

도 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 encryption apparatus 21, which may be embedded in the first device 20 or the content server, performs encryption and decryption consisting of N 2 bits (N is a natural number). Divide the pad Pd1 into N (N is a natural number) blocks and divide the divided blocks into N! It may be arranged to correspond to any one of the permutations (S10).

암호화 장치(21)는 S10 단계에 의해서 배치된 패드(Pd3)의 블록들을 구성하는 N개의 비트들을 상기 블록들이 배치된 순열과 동일하게 배치시키고(S12), S12 단계에 의해서 배치된 패드를 이용하여 데이터(Data)를 암호화시킬 수 있다(S14).The encryption apparatus 21 arranges the N bits constituting the blocks of the pad Pd3 arranged in step S10 in the same manner as the permutations in which the blocks are arranged (S12), and uses the pads arranged in step S12. Data Data may be encrypted (S14).

암호화 장치(21)는 S14 단계에 의해서 암호화된 데이터(E-Data) 및 N! 개의 순열 중 어느 하나의 순열에 대한 정보를 클라이언트(예컨대, 제2 디바이스(40))로 전송할 수 있다(S16).The encryption apparatus 21 encrypts the data (E-Data) and N! Information about any one of the ten permutations may be transmitted to the client (eg, the second device 40) (S16).

제2 디바이스(40)에 내장될 수 있는 복호화 장치(41)는 순열에 대한 정보를 이용하여 미리 저장된 패드(Pd1)를 재배치시키고 재배치된 패드(Pd5)를 이용하여 상기 암호화된 데이터(E-Data)를 복호화시킬 수 있다(S18).The decryption apparatus 41, which may be embedded in the second device 40, may rearrange the pad Pd1 stored in advance using information on permutation, and use the encrypted data E-Data using the rearranged pad Pd5. ) Can be decrypted (S18).

여기서, 암호화 장치(21)에 의해서 생성된 순열에 대한 정보는 암호화(예컨대, 공개키 암호화 방식에 의한 암호화)되어 제2 디바이스(40)로 전송될 수 있음은 물론이다.Here, of course, the information on the permutation generated by the encryption apparatus 21 may be encrypted (for example, encrypted using a public key encryption method) and transmitted to the second device 40.

도 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)

N2(N은 자연수)개의 비트로 구성된 암호화 및 복호화를 위한 패드를 N개의 블록으로 나누고 나뉘어진 블록들을 N! 개의 순열 중 어느 하나의 순열에 상응하도록 배치시키는 제1 단계;N 2 (N is a natural number) The pad for encryption and decryption composed of bits is divided into N blocks, and the divided blocks are divided into N! A first step of disposing corresponding to one of the four permutations; 배치된 블록들을 구성하는 N개의 비트들을 상기 블록들이 배치된 순열과 동일하게 배치시키는 제2 단계; 및A second step of arranging N bits constituting the arranged blocks equally to the permutation in which the blocks are arranged; And 상기 제2 단계에 의해서 배치된 패드를 이용하여 데이터를 암호화하는 암호화 단계를 포함하는 데이터 암호화 방법.And an encryption step of encrypting the data by using the pad disposed by the second step. 제1항에 있어서, 상기 데이터암호화 방법은,The method of claim 1, wherein the data encryption method, 상기 암호화 단계에 의해서 암호화된 데이터 및 상기 N! 개의 순열 중에서 상기 어느 하나의 순열에 대한 정보를 클라이언트에 전송하는 단계를 더 포함하는 데이터 암호화 방법.The data encrypted by the encryption step and the N! And transmitting information about one of the permutations to the client. 제2항에 있어서, 상기 어느 하나의 순열에 대한 정보는,The method of claim 2, wherein the information on any one permutation, 공개키 암호화 알고니즘에 의해서 암호화되어 상기 클라이언트에 전송되는 데이터 암호화 방법.A data encryption method encrypted by a public key encryption algorithm and transmitted to the client. 제2항에 있어서, 상기 암호화 및 상기 복호화를 위한 패드는,The pad of claim 2, wherein the pad for encrypting and decrypting comprises: 상기 클라이언트에 미리 저장되어 재활용될 수 있는 데이터 암호화방법,Data encryption method that can be stored in advance and recycled to the client, 제2항에 있어서, 상기 클라이언트는,The method of claim 2, wherein the client, 상기 어느 하나의 순열에 대한 정보를 이용하여 미리 저장된 패드를 재배치시키고 재배치된 패드를 이용하여 상기 암호화된 데이터를 복호화시키는 데이터 암호화 방법.And repositioning the previously stored pads using the information on the permutation and decrypting the encrypted data using the relocated pads. 제1항 내지 제5항 중에서 적어도 어느 하나의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체.A computer-readable recording medium having recorded thereon a program for executing at least one method of claim 1 on a computer. N2(N은 자연수)개의 비트로 구성된 암호화 및 복호화를 위한 패드를 N개의 블록으로 나누고 나뉘어진 블록들을 N! 개의 순열 중 어느 하나의 순열에 상응하도록 배치시키고, 배치된 블록들을 구성하는 N개의 비트들을 상기 블록들이 배치된 순열과 동일하게 배치시키는 패드 배치부; 및N 2 (N is a natural number) The pad for encryption and decryption composed of bits is divided into N blocks, and the divided blocks are divided into 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 상기 패드 배치부에 의해서 배치된 패드를 이용하여 데이터를 암호화하는 암호화부를 포함하는 데이터 암호화 장치.And an encryption unit for encrypting data using the pads arranged by the pad arranging unit. 제7항에 있어서, 상기 데이터 암호화부는,The method of claim 7, wherein the data encryption unit, 상기 암호화된 데이터 및 상기 N! 개의 순열 중에서 상기 어느 하나의 순열에 대한 정보를 클라이언트에 전송하고, 상기 클라이언트는,The encrypted data and the N! Information about one of the permutations is transmitted to the client, and the client 상기 어느 하나의 순열에 대한 정보를 이용하여 미리 저장된 패드를 재배치시키고 재배치된 패드를 이용하여 상기 암호화된 데이터를 복호화시키는 데이터 암호화 장치.And repositioning the previously stored pads using the information on any one permutation and decrypting the encrypted data using the relocated pads. 제7항에 있어서, 상기 어느 하나의 순열에 대한 정보는,The method of claim 7, wherein the information on any one permutation, 공개키 암호화 알고니즘에 의해서 암호화되어 상기 클라이언트에 전송되는 데이터 암호화 장치.A data encryption device encrypted by a public key encryption algorithm and transmitted to the client. 제7항에 있어서, 상기 암호화 및 상기 복호화를 위한 패드는,The method of claim 7, wherein the pad for encryption and decryption, 상기 클라이언트에 미리 저장되어 재활용될 수 있는 데이터 암호화 장치.A data encryption device that can be stored in advance and recycled to the client.
KR1020080088408A 2008-09-08 2008-09-08 Data enciphering method capable of reusing encryption pad and device thereof KR100992589B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (1)

* Cited by examiner, † Cited by third party
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