KR101566416B1 - Method and device of data encription with increased security - Google Patents

Method and device of data encription with increased security Download PDF

Info

Publication number
KR101566416B1
KR101566416B1 KR1020140084365A KR20140084365A KR101566416B1 KR 101566416 B1 KR101566416 B1 KR 101566416B1 KR 1020140084365 A KR1020140084365 A KR 1020140084365A KR 20140084365 A KR20140084365 A KR 20140084365A KR 101566416 B1 KR101566416 B1 KR 101566416B1
Authority
KR
South Korea
Prior art keywords
encryption
data
key
module
temporary
Prior art date
Application number
KR1020140084365A
Other languages
Korean (ko)
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 KR1020140084365A priority Critical patent/KR101566416B1/en
Application granted granted Critical
Publication of KR101566416B1 publication Critical patent/KR101566416B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4408Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream encryption, e.g. re-encrypting a decrypted video stream for redistribution in a home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring

Abstract

The present invention relates to a device and a method to encode and decode digital content or the like to prevent from being illegally used. The present invention provides the device and the method to encode and decode which increases a security by additionally converting a binary code of encryption data, and maintains an advantage of the encryption speed by applying a lightweight encryption encoding method. The device comprises: a key setting module to set a unique key; a hash module to generate an encryption key of a block unit; a content data module to store the content data; a measurement module to generate temporary encryption data; and an encryption module to generate encryption data.

Description

보안성이 향상된 암·복호화 장치 및 방법{METHOD AND DEVICE OF DATA ENCRIPTION WITH INCREASED SECURITY}TECHNICAL FIELD [0001] The present invention relates to an apparatus and a method for encrypting and decrypting data,

본 발명은 사용자가 불법적으로 사용하지 못하도록 디지털 콘텐츠 등을 암·복호화 하는 장치 및 방법에 있어서, 특히 보안성이 향상된 암·복호화 장치 및 방법에 관한 것이다.
The present invention relates to an apparatus and method for encrypting and decrypting digital contents and the like so that a user can not illegally use the apparatus, and more particularly, to an apparatus and method for encrypting and decrypting improved security.

인터넷 정보통신 기술의 발달과 스마트폰과 같은 모바일 디바이스의 등장으로 개방형 네트워크의 이용이 증가함에 따라 디지털 콘텐츠 유통 시장이 활성화 되고 있다. 이러한 배경으로 사용자에게 동영상을 빠르게 전달하기 위한 CDN(Content Delicery Network)기술이 연구되고 있다. CDN 서비스는 기존의 네트워크 구조 설비 등을 변경 없이 사용하면서 캐시 서버에 콘텐츠를 분산 저장시키고 사용자의 요청에 따라 가까운 캐시 서버에서 콘텐츠를 제공하는 캐싱 기술을 이용하는 서비스를 말한다. 최근 CDN기술과 관련하여 다수의 캐쉬 서버의 배치를 효율적으로 하는 방법, 콘텐츠의 효율적인 저장 방식, 네트워크 간의 트래픽 감소 에 대한 연구가 활발히 진행되고 있다.As the development of Internet information and communication technology and the emergence of mobile devices such as smart phones have increased the use of open networks, the digital contents distribution market has been activated. In this background, CDN (Content Delicer Network) technology is being studied to quickly deliver moving images to users. The CDN service refers to a service that uses caching technology to distribute content to a cache server while using existing network structure facilities without modification and to provide content from a near cache server according to a user's request. Recently, researches about efficient arrangement of multiple cache servers, efficient storage of contents, and reduction of traffic between networks have been actively carried out in relation to CDN technology.

한편, 인터넷은 원하는 정보를 누구나 손쉽게 접할 수 있는 장점이 있으나, 권한이 없는 사용자에 의해 데이터가 불법적으로 유통될 가능성이 있어 디지털 네트워크 상에서 유포되는 데이터의 보안이 점차 중요한 문제로 부각되고 있다. 하지만, CDN 기술은 디지털 콘텐츠가 광범위하게 분산 저장되어 있어 저작권 보호나 불법 복제 등과 같이 보안에 취약한 문제가 있다. On the other hand, the Internet has an advantage that anyone can easily access desired information. However, since the data may be illegally circulated by an unauthorized user, the security of the data spread on the digital network becomes increasingly important. However, the CDN technology has a problem in that it is vulnerable to security such as copyright protection and piracy because digital contents are widely distributed and stored.

종래에는 콘텐츠 데이터의 보안을 위해 블록암호화 알고리즘을 이용하여 콘텐츠 데이터를 전송하였으나, 이 방법은 대용량 콘텐츠 전송에 있어서 많은 암·복호화 시간이 요구되어 속도적 측면에 취약한 문제가 있었다. Conventionally, in order to secure content data, content data is transmitted using a block encryption algorithm. However, this method has a problem in that it requires a large amount of time for encryption / decryption in transmission of a large amount of content and is vulnerable to a speed aspect.

종래에는 이러한 속도적 측면을 향상시킨 경량화 암호화 기법으로 스크램블링 암호화 기법을 사용하였다. 스크램블링 암호화 기법은, 원래의 콘텐츠 데이터를 특정한 키에 의해 변형 또는 암호화하여 전송하고 특정한 키를 가진 사용자만이 정상적으로 영상을 복원할 수 있도록 한다. 스크램블링 암호화 기법에 의하면 허가되지 않은 사용자는 수신된 영상을 복호화 하더라도, 원래의 영상이 아닌 스크램블링 과정을 거쳐 왜곡된 영상을 보게 된다. In the past, scrambling cryptography has been used as a lightweight encryption method that improves the speed aspect. The scrambling encryption scheme transforms or encrypts original content data by a specific key, and allows only a user having a specific key to restore the image normally. According to the scrambling encryption scheme, even if an unauthorized user decrypts a received image, the user scrambles the original image, but sees the distorted image.

하지만, 스크램블링 암호화 기법의 경우 암호화영상과 원본 프레임의 일부가 노출되었을 때 노출된 프레임 이후의 영상은 복호화가 가능하여 보안적 측면이 취약한 문제가 있다. 따라서, 경량화 암호화 기법의 경우 보안성이 향상된 암호화 알고리즘이 필요하게 되었다.
However, in the case of the scrambling encryption scheme, when the encrypted image and a part of the original frame are exposed, the image after the exposed frame can be decrypted, resulting in a problem of poor security. Therefore, in the case of the lightweight encryption method, an encryption algorithm with improved security has become necessary.

따라서 본 발명은 암호화 속도가 빠르면서 보안성이 향상된 암·복호화 장치 및 방법을 제공하여, 사용자가 보다 안전하게 콘텐츠를 제공받을 수 있도록 하는 것을 목적으로 한다.
Therefore, it is an object of the present invention to provide an apparatus and method for encrypting and decrypting data with high encryption speed and improved security, so that a user can receive contents more securely.

상기 목적을 달성하기 위하여 본 발명은, 콘텐츠 데이터의 암호화를 위한 유니크 키를 설정하는 키 설정 모듈; 유니크 키를 해시하여 블록 단위의 암호화 키를 생성하는 해시 모듈; 콘텐츠 데이터를 블록 단위로 분할하여 저장하는 콘텐츠 데이터 모듈; 암호화 키와 콘텐츠 데이터를 연산하여 임시 암호화 데이터를 생성하는 연산 모듈 및 임시 암호화 데이터의 바이너리 코드를 변환하여 암호화 데이터를 생성하는 암호화 모듈을 포함하는 것을 일 특징으로 한다.According to an aspect of the present invention, there is provided a content providing apparatus including: a key setting module for setting a unique key for encrypting content data; A hash module for hashing the unique key to generate an encryption key in units of blocks; A content data module for dividing and storing content data in block units; An operation module for generating temporary encryption data by calculating the encryption key and the content data, and an encryption module for converting the binary code of the temporary encryption data to generate encrypted data.

또한 본 발명은, (a) 콘텐츠 데이터의 암호화를 위한 유니크 키를 설정하는 키 설정 단계; (b) 유니크 키를 해시하여 블록 단위의 암호화 키를 생성하는 해시 단계; (c) 콘텐츠 데이터를 블록 단위로 분할하여 저장하는 단계; (d) 암호화 키와 콘텐츠 데이터를 연산하여 임시 암호화 데이터를 생성하는 단계 및 (e) 임시 암호화 데이터의 바이너리 코드를 변환하여 암호화 데이터를 생성하는 암호화 단계를 포함하는 것을 다른 특징으로 한다.According to another aspect of the present invention, there is provided an information processing method comprising the steps of: (a) setting a unique key for encrypting content data; (b) a hash step of hashing the unique key to generate an encryption key in units of blocks; (c) dividing and storing the content data in blocks; (d) generating temporary encryption data by computing an encryption key and content data; and (e) encrypting the binary code of the temporary encrypted data to generate encrypted data.

또한 본 발명은, 암호화 데이터의 복호화를 위한 유니크 키를 입력받는 키 설정 모듈, 유니크 키를 해시하여 블록 단위의 암호화 키를 생성하는 해시 모듈, 암호화 데이터의 바이너리 코드를 변환하여 임시 암호화 데이터를 생성하는 임시 복호화 모듈 및 임시 암호화 데이터와 암호화 키를 연산하여 콘텐츠 데이터를 복원하는 복호화 모듈을 포함하는 것을 또 다른 특징으로 한다.
According to another aspect of the present invention, there is provided a method of encrypting encrypted data, comprising: a key setting module for receiving a unique key for decrypting encrypted data; a hash module for generating an encryption key in units of blocks by hashing the unique key; A temporary decryption module, and a decryption module for recovering contents data by calculating temporary encryption data and an encryption key.

본 발명에 따르면, 암호화 데이터의 바이너리 코드를 추가적으로 변환하여 보안성은 향상되고, 경량화 암호화 기법을 적용하여 암호화 속도의 이점이 유지되는 효과가 있다.
According to the present invention, the binary code of the encrypted data is additionally converted to improve the security, and the advantage of the encryption speed is maintained by applying the lightweight encryption technique.

도 1은 본 발명의 실시예에 따른 암호화 장치를 나타낸다.
도 2는 본 발명의 실시예에 따른 암호화 과정을 나타낸다.
도 3은 본 발명의 실시예에 따른 복호화 장치를 나타낸다.
1 shows an encryption apparatus according to an embodiment of the present invention.
2 shows an encryption process according to an embodiment of the present invention.
3 shows a decoding apparatus according to an embodiment of the present invention.

이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명을 상세히 설명한다. 다만, 본 발명이 예시적 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일 참조부호는 실질적으로 동일한 기능을 수행하는 부재를 나타낸다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the exemplary embodiments. Like reference numerals in the drawings denote members performing substantially the same function.

도 1은 본 발명의 실시예에 따른 암호화 장치(10)를 나타낸다. 도 1을 참조하면 암호화 장치(10)는 콘텐츠 데이터의 암호화를 위한 유니크 키를 설정하는 키 설정 모듈(101)과 유니크 키를 해시하여 블록 단위의 암호화 키를 생성하는 해시 모듈(103)과 콘텐츠 데이터를 블록 단위로 분할하여 저장하는 콘텐츠 데이터 모듈(105)과 암호화 키와 콘텐츠 데이터를 연산하여 임시 암호화 데이터를 생성하는 연산 모듈(107) 및 임시 암호화 데이터의 바이너리 코드를 변환하여 암호화 데이터를 생성하는 암호화 모듈(109)을 포함할 수 있다. 1 shows an encryption apparatus 10 according to an embodiment of the present invention. 1, the encryption apparatus 10 includes a key setting module 101 for setting a unique key for encrypting content data, a hash module 103 for generating an encryption key in block units by hashing a unique key, A calculation module 107 for calculating an encryption key and content data to generate temporary encryption data, and an encryption module 107 for converting the binary code of the temporary encryption data and generating encrypted data, Module 109, as shown in FIG.

보호받고자 하는 평문을 암호화 하는 경우, 특정 인수를 평문과 연산하여 평문을 암호문으로 변환시키게 된다. 특정 인수가 공개되지 않는 이상 제3자는 연산과정을 알 수 없으므로 암호문을 복호화할 수 없다. 이러한 특정 인수를 유니크 키라 한다. 따라서, 유니크 키는 특정 사용자만이 콘텐츠 데이터를 암호화 및 복호화할 수 있도록 하는 아이디(ID)와 같은 기능을 한다.When encrypting a plaintext to be protected, the plaintext is converted to a ciphertext by computing a specific argument with a plaintext. Unless the specific argument is disclosed, the third party can not decipher the cipher text because it can not know the operation process. This particular argument is called a unique key. Accordingly, the unique key functions as an ID that allows only a specific user to encrypt and decrypt content data.

키 설정 모듈(101)은 이러한 유니크 키를 설정한다. 설정 방법으로는 사용자로부터 지정받거나, 콘텐츠 데이터의 종류 또는 크기에 대응하여 특정한 데이터 값으로 설정될 수 있다. The key setting module 101 sets this unique key. The setting method may be specified by the user, or may be set to a specific data value corresponding to the type or size of the content data.

해시 모듈(103)은 키 설정 모듈(101)로부터 지정된 유니크 키를 해시하여, 콘텐츠 데이터와 연산을 수행할 암호화 키를 생성할 수 있다. 해시란, 데이터를 짧게 함축하여 나타내는 것으로 이해할 수 있다. 보다 상세하게, 해시 함수는 임의의 데이터를 자르고 치환하여 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 기능을 한다. 해시는 해시 함수로부터 매핑된 두 해시 값이 다르다면 해시 값에 대한 원래 데이터도 다르지만 역은 성립하지 않는 특성이 있으며, 전자 서명, 전자 지문 등에 사용될 수 있다. The hash module 103 may generate a cryptographic key for performing an operation with the content data by hashing the unique key designated from the key setting module 101. [ The hash can be understood to represent the data in a shortened manner. More specifically, the hash function performs a function of mapping data of an arbitrary length into data of a fixed length by cutting and replacing arbitrary data. If the two hash values mapped from the hash function are different, the hash value is different from the original data for the hash value, but the inverse is not established. The hash value can be used for electronic signature, electronic fingerprint, and the like.

본 실시예로 해시 모듈(103)은 SHA(Secure Hash Algorithm) 해시 함수를 이용하여 유니크 키를 해시할 수 있다. 이 경우, 초기 유니크 키를 해시한 값을 제1 암호화 키라고 한다면, 두 번째 매핑되는 해시 값은 제1 암호화 키를 해시하여 얻게 된다. 이는 표 1 과 같이 나타낼 수 있다.In this embodiment, the hash module 103 can hash the unique key using a SHA (Secure Hash Algorithm) hash function. In this case, if the value obtained by hashing the initial unique key is a first encryption key, the second mapped hash value is obtained by hashing the first encryption key. This can be shown in Table 1.

제1 암호화 키The first encryption key SHA-512(유니크 키)SHA-512 (unique key) 제2 암호화 키The second encryption key SHA-512(제1 암호화 키)SHA-512 (first encryption key) 제(n+1) 암호화 키The (n + 1) -th encryption key SHA-512(제n 암호화 키)SHA-512 (nth encryption key)

SHA-512 함수는 임의의 데이터 길이를 갖는 유니크 키를 512비트로 매핑시키는 것을 의미한다. 본 실시예는 512비트의 길이로 매핑하는 것을 가정하여 설명되었으나, 매핑시키는 데이터 길이는 후술하게 될 콘텐츠 데이터 모듈(105)의 콘텐츠 데이터 길이에 의해 결정되므로 변경될 수 있다. The SHA-512 function means mapping a unique key having an arbitrary data length to 512 bits. Although the present embodiment has been described on the assumption that the mapping is performed with a length of 512 bits, the data length to be mapped is determined by the content data length of the content data module 105 to be described later and can be changed.

따라서, 해시 모듈(103)은 특정 사용자가 암호화 및 복호화가 가능하도록 설정된 유니크 키를 바탕으로 콘텐츠 데이터 크기에 해당하는 암호화 키를 생성하게 된다. 해시 함수는 제(n+1) 암호화 키로 제n 암호화 키를 알아낼 수 없는 특성이 있어 보안성에 강점이 있다.Accordingly, the hash module 103 generates an encryption key corresponding to the content data size based on the unique key set for the specific user to be able to be encrypted and decrypted. The hash function has a characteristic that it can not find the n-th cipher key with the (n + 1) -th cipher key, which is advantageous in security.

콘텐츠 데이터 모듈(105)은 보호하고자 하는 콘텐츠 데이터를 블록 단위로 분할하여 저장할 수 있다. 콘텐츠 데이터란 네트워크에서 유통될 수 있는 디지털 영상이나 문서 등을 포함할 수 있다. 본 실시예로, 콘텐츠 데이터가 512비트인 경우, 콘텐츠 데이터 블록은 6비트의 바이너리 코드로 이루어질 수 있다.The content data module 105 may divide and store the content data to be protected in blocks. The content data may include a digital image, a document, or the like that can be distributed in a network. In this embodiment, when the content data is 512 bits, the content data block may be composed of 6 bits of binary code.

이 경우, 512비트의 콘텐츠 데이터는 86개의 콘텐츠 데이터 블록으로 이루어질 수 있으며, 상술한 해시 모듈(103)은 콘텐츠 데이터 블록의 개수만큼 암호화 키를 생성할 수 있다. 따라서 해시 모듈(103)은 각각의 콘텐츠 데이터 블록과 매칭되도록 6비트의 바이너리 코드로 이루어진 암호화 키 86개를 해시할 수 있다.In this case, the 512-bit content data may be composed of 86 content data blocks, and the hash module 103 may generate the encryption key by the number of the content data blocks. Thus, the hash module 103 can hash the 86 encryption keys made up of 6-bit binary codes so as to match each content data block.

연산 모듈(107)은 암호화 키의 바이너리 코드와 콘텐츠 데이터 블록의 바이너리 코드를 베타적 논리 연산(XOR : exclusive or)으로 연산하여 임시 암호화 데이터를 생성할 수 있다. 위의 실시예에 의하면, 6비트의 암호화 키와 6비트의 콘텐츠 데이터 블록을 86번 연산하게 된다. 결과적으로 연산 모듈(107)은 6비트의 임시 암호화 데이터 블록 86개로 이루어진 임시 암호화 데이터를 생성하게 된다.The operation module 107 can generate the temporary encryption data by calculating the binary code of the encryption key and the binary code of the content data block using an XOR (exclusive or) operation. According to the above embodiment, the 6-bit encryption key and the 6-bit content data block are operated 86 times. As a result, the operation module 107 generates temporary encrypted data consisting of 86 temporary encrypted data blocks of 6 bits.

암호화 모듈(109)은 임시 암호화 데이터의 바이너리 코드 중에서 인접한 두 비트를 베타적 논리 연산(XOR)으로 연산하여 암호화 데이터를 생성할 수 있다. 보다 상세하게, 암호화 모듈(109)은 임시 암호화 데이터의 바이너리 코드 중에서 내림차순으로 인접한 두 비트를 베타적 논리 연산(XOR)하게 된다. 다만, 변환된 암호화 데이터의 첫 비트는 임시 암호화 데이터의 첫 비트와 동일할 수 있다.The encryption module 109 can generate the encrypted data by calculating the adjacent two bits from the binary code of the temporary encryption data by the beta logical operation (XOR). More specifically, the encryption module 109 performs a bitwise logical operation (XOR) on the two adjacent bits in the descending order of the binary codes of the temporary encryption data. However, the first bit of the converted encrypted data may be the same as the first bit of the temporary encrypted data.

일 실시예로 임시 암호화 데이터의 바이너리 코드가 '0011'인 경우, 내림차순으로 인접한 두 비트를 베타적 논리 연산(XOR) 해보면 '0'과 '0', '0'과 '1, '1'과 '1'을 각각 베타적 논리 연산(XOR)하게 된다. 각각 순서대로 암호화 데이터의 두 번째, 세 번째, 네 번째 비트가 되며, 첫 비트는 임시 암호화 데이터의 첫 비트인 '0'과 동일할 수 있다. 이와 같은 논리를 정리하면 다음과 같다. In a case where the binary code of the temporary encryption data is '0011', if two bits adjacent to each other in the descending order are subjected to a bitwise logical operation (XOR), '0' and '0', '0' and '1' (XOR) '1' respectively. Third, and fourth bits of the encrypted data, respectively, and the first bit may be the same as the first bit '0' of the temporary encrypted data. This logic is summarized as follows.

임시 암호화 데이터(0011)Temporary encryption data (0011) 암호화 데이터Encrypted data '0''0' '0''0' '0' XOR '0''0' XOR '0' '0''0' '0' XOR '1''0' XOR '1' '1''One' '1' XOR '1''1' XOR '1' '0''0'

따라서 임시 암호화 데이터의 바이너리 코드 '0011'은 '0010'으로된 암호화 데이터로 변환된다. 본 실시예로 임시 암호화 데이터 블록이 86개인 경우, 위와 같은 논리 변환은 블록 별로 86번 수행되거나 86개의 임시 암호화 데이터 블록으로 이루어진 임시 암호화 데이터 전체 비트를 대상으로 1번 수행할 수 있다.Therefore, the binary code '0011' of the temporary encryption data is converted into the encrypted data of '0010'. In the present embodiment, when the temporary encryption data block is 86, the above logical conversion can be performed 86 times for each block or once for all the temporary encrypted data bits consisting of 86 temporary encrypted data blocks.

이와 같이 암호화 모듈(109)은 특정 인수인 암호화 키를 이용하여 데이터를 변환시키는 연산 모듈(107)과는 다르게, 변환하고자 하는 데이터(임시 암호화 데이터)의 코드 자체를 일정한 규칙에 의해서 변환시키는 기능을 한다. As described above, unlike the operation module 107 that converts data using an encryption key, which is a specific argument, the encryption module 109 has a function of converting the code itself of the data (temporary encryption data) to be converted by a certain rule do.

암호화 모듈(109)은 암호화 키에 의해 변환된 임시 암호화 데이터를 2차적으로 변환함으로써, 권한이 없는 일반 사용자가 복호화시 알아내야 하는 인수 및 연산 논리를 증가시킴으로써 보안성을 증가시킨다. 또한, XOR의 논리 회로의 구성은 간단하고 저렴하게 구현할 수 있으며, 특정 인수를 추가로 요하지 않는 점에 암호화 속도적 장점은 유지된다.The encryption module 109 secondarily converts the temporary encryption data converted by the encryption key, thereby increasing the security by increasing the arguments and calculation logic that the unauthorized general user needs to know in decoding. Moreover, the configuration of the logic circuit of the XOR can be implemented simply and inexpensively, and the advantage of the encryption speed is maintained in that it does not require any additional argument.

도 2는 암호화 과정을 나타낸다. 본 발명의 다른 실시예에 따른 암호화 방법은 (a) 콘텐츠 데이터의 암호화를 위한 유니크 키를 설정하는 키 설정 단계, (b) 유니크 키를 해시하여 블록 단위의 암호화 키를 생성하는 해시 단계, (c) 콘텐츠 데이터를 블록 단위로 분할하여 저장하는 단계, (d) 암호화 키와 콘텐츠 데이터를 연산하여 임시 암호화 데이터를 생성하는 단계 및 (e) 임시 암호화 데이터의 바이너리 코드를 변환하여 암호화 데이터를 생성하는 암호화 단계를 포함할 수 있다. 2 shows the encryption process. According to another aspect of the present invention, there is provided an encryption method including: (a) a key setting step of setting a unique key for encrypting content data; (b) a hash step of generating an encryption key in block units by hashing a unique key; (D) generating temporary encryption data by computing an encryption key and content data, and (e) encrypting the binary data of the temporary encryption data to generate encrypted data. Step < / RTI >

암호화 방법의 각 단계는 도면을 통해 도시되지 않았으나, (a) 단계는 키 설정 모듈(101), (b) 단계는 해시 모듈(103), (c) 단계는 콘텐츠 데이터 모듈(105), (d) 단계는 연산 모듈(107), (e) 단계는 암호화 모듈(109)에서 각각 수행하는 기능으로 이해될 수 있다.Although each step of the encryption method is not shown in the drawing, step (a) is a key setting module 101, step (b) is a hash module 103, step (c) ) May be understood as a function performed by the operation module 107, and (e) by the encryption module 109, respectively.

도 2를 참조하여 암호화 하는 과정을 일 실시예로 설명한다. The process of encrypting with reference to FIG. 2 will be described as an embodiment.

콘텐츠 데이터의 암호화 및 복호화를 위해 사용자는 'konkuk'이라는 유니크 키를 설정할 수 있다. 'konkuk'이라는 유니크 키는 첫 번째로 해시되어 특정 길이의 바이너리 코드로 이루어진 제1 암호화 키가 될 수 있다. 이후, 제1 암호화기가 해시되어 두 번째 해시된 키는 제2 암호화 키가 된다. 이와 같은 원리로, 콘텐츠 데이터 블록의 개수만큼 암호화 키가 생성된다.In order to encrypt and decrypt content data, the user can set a unique key called 'konkuk'. A unique key called 'konkuk' can be firstly hashed and become a first encryption key made up of a binary code of a certain length. Thereafter, the first encryption unit is hashed and the second hashed key becomes the second encryption key. With this principle, an encryption key is generated by the number of content data blocks.

이후, 연산 모듈(107)에서 제1 암호화 키로 첫 번째 콘텐츠 데이터 블록을 변환한다. 본 실시예로 제1 암호화 키 '58ECF9'와, 첫 번째 콘텐츠 데이터 블록인 '333896'를 XOR 연산하는 경우, 첫 번째 콘텐츠 데이터 블록은 임시 암호화 데이터인 '6BD46F'로 변환된다. Then, the operation module 107 converts the first content data block with the first encryption key. In the present embodiment, when the first encryption key '58ECF9' and the first content data block '333896' are XORed, the first content data block is converted into temporary encrypted data '6BD46F'.

이후, 암호화 모듈(109)에서 임시 암호화 데이터인 '6BD46F'를 상술한 논리 연산으로 변환하여 암호화 데이터인 '5EBE58'이 생성된다. 이와 같은 암호화 과정을 거치는 경우, 권한이 없는 일반 사용자가 제n 암호화 키를 알아낸다고 하여도, n번째 프레임 이후 영상을 복원할 수 없어 콘텐츠 데이터의 보안성이 향상되게 된다. Thereafter, the encryption module 109 converts the temporarily encrypted data '6BD46F' into the above-mentioned logical operation to generate encrypted data '5EBE58'. In the case of passing through such an encryption process, even if an unauthorized general user finds the n-th encryption key, the image after the n-th frame can not be restored, thereby improving the security of the content data.

도 3은 본 발명의 실시예에 따른 복호화 장치(30)를 나타낸다. 도 3을 참조하면, 복호화 장치(30)는 암호화 데이터의 복호화를 위한 유니크 키를 입력받는 키 설정 모듈(301), 유니크 키를 해시하여 블록 단위의 암호화 키를 생성하는 해시 모듈(303), 암호화 데이터의 바이너리 코드를 변환하여 임시 암호화 데이터를 생성하는 임시 복호화 모듈(307) 및 임시 암호화 데이터와 암호화 키를 연산하여 콘텐츠 데이터를 복원하는 복호화 모듈(309)을 포함할 수 있다.3 shows a decoding apparatus 30 according to an embodiment of the present invention. 3, the decryption apparatus 30 includes a key setting module 301 for receiving a unique key for decrypting encrypted data, a hash module 303 for generating an encryption key in units of blocks by hashing the unique key, A temporary decryption module 307 for generating temporary encryption data by converting the binary code of the data, and a decryption module 309 for recovering the content data by calculating the temporary encryption data and the encryption key.

복호화 장치(30)는 도 1의 암호화 장치(10)에 의해 암호화된 콘텐츠 데이터를 복원하는 장치로서, 암호화 장치(10)의 역과정을 수행하는 장치로 이해될 수 있다. 키 설정 모듈(301) 및 해시 모듈(303)은 상술한 기능을 동일하게 수행한다. 다만, 키 설정 모듈(301)에서 설정되는 유니크 키는 암호화에 사용되도록 사용자로부터 입력 받은 특정 유니크 키와 동일하다.The decryption apparatus 30 is an apparatus for recovering content data encrypted by the encrypting apparatus 10 of FIG. 1, and can be understood as an apparatus for performing an inverse process of the encrypting apparatus 10. The key setting module 301 and the hash module 303 perform the same functions as described above. However, the unique key set in the key setting module 301 is the same as the specific key input from the user to be used for encryption.

암호화 데이터 모듈(305)은 암호화 데이터를 입력받으며, 임시 복호화 모듈(307)은 암호화 데이터를 임시 암호화 데이터로 변환한다. 임시 복호화 모듈(307)은 암호화 데이터의 바이너리 코드 중 첫 비트 값을 임시 암호화 데이터의 첫 비트 값으로 하고, 임시 암호화 데이터의 첫 비트 값과 암호화 데이터의 두 번째 비트 값을 XOR 하여 임시 암호화 데이터의 두 번째 비트 값으로 한다. 이와 같은 논리로 임시 암호화 데이터의 두 번째 비트 값과 암호화 데이터의 세 번째 비트 값을 XOR 하여 임시 암호화 데이터의 세 번째 비트 값으로 한다. The encryption data module 305 receives the encrypted data, and the temporary decryption module 307 converts the encrypted data into temporary encrypted data. The temporary decryption module 307 sets the first bit value in the binary code of the encrypted data as the first bit value of the temporary encrypted data and XORs the first bit value of the temporary encrypted data and the second bit value of the encrypted data, Th bit value. With this logic, the second bit value of the temporary encryption data and the third bit value of the encrypted data are XORed to be the third bit value of the temporary encrypted data.

이해를 돕기 위한 본 실시예로, 암호화 데이터의 바이너리 코드가 '0010'인 경우, 임시 암호화 데이터의 첫 비트 값은 암호화 데이터의 첫 비트 값인 '0'이며, 임시 암호화 데이터의 두 번째 비트 값은 상기 '0'과 암호화 데이터의 두 번째 비트 값인 '0'을 XOR 결과인 '0'이 된다. 이와 같은 과정을 표로 나타내면 표 3과 같다. 결과적으로 암호화 모듈(109)과 반대되는 작업이 수행되는 것을 확인할 수 있다.When the binary code of the encrypted data is' 0010 ', the first bit value of the temporary encrypted data is' 0', which is the first bit value of the encrypted data, and the second bit value of the temporary encrypted data is' '0' and the second bit value of the encrypted data are '0', which is the XOR result. Table 3 shows these processes. As a result, it can be confirmed that the operation opposite to the encryption module 109 is performed.

암호화 데이터(0010)Encryption data (0010) 임시 암호화 데이터Temporary encryption data '0''0' '0''0' '0' XOR '0''0' XOR '0' '0''0' '0' XOR '1''0' XOR '1' '1''One' '1' XOR '0''1' XOR '0' '1''One'

복호화 모듈(309)은 임시 암호화 데이터와 암호화 키를 XOR 연산하는 작업을 수행한다. 이 경우, 최종적으로 콘텐츠 데이터 블록의 값이 복원된다. 이와 같은 과정으로 사용자는 콘텐츠 데이터를 복호화할 수 있다.The decryption module 309 performs an operation of XORing the temporary encryption data and the encryption key. In this case, the value of the contents data block is finally restored. With this process, the user can decode the content data.

이상에서 대표적인 실시예를 통하여 본 발명을 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명한 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 특허청구범위와 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태에 의하여 정해져야 한다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. will be. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by all changes or modifications derived from the scope of the appended claims and equivalents of the following claims.

10: 암호화 장치 101: 키 설정 모듈
103: 해시 모듈 105: 콘텐츠 데이터 모듈
107: 연산 모듈 109: 암호화 모듈
30: 복호화 장치 301: 키 설정 모듈
303: 해시 모듈 305: 암호화 데이터 모듈
307: 임시 복호화 모듈 309: 복호화 모듈
10: Encryption device 101: Key setting module
103: Hash module 105: Content data module
107: Operation module 109: Encryption module
30: Decryption unit 301: Key setting module
303: Hash module 305: Encrypted data module
307: temporary decryption module 309: decryption module

Claims (9)

보안성이 향상된 암호화 장치에 있어서,
콘텐츠 데이터의 암호화를 위한 유니크 키를 설정하는 키 설정 모듈;
상기 유니크 키를 해시하여 블록 단위의 암호화 키를 생성하는 해시 모듈;
상기 콘텐츠 데이터를 블록 단위로 분할하여 저장하는 콘텐츠 데이터 모듈;
상기 암호화 키와 상기 콘텐츠 데이터를 연산하여 임시 암호화 데이터를 생성하는 연산 모듈; 및
상기 임시 암호화 데이터의 바이너리 코드를 변환하여 암호화 데이터를 생성하는 암호화 모듈을 포함하고,
상기 해시 모듈은,
상기 유니크 키를 해시하여 제1 암호화 키를 생성하고, 상기 제1 암호화 키를 해시하여 제2 암호화 키를 생성하며,
상기 암호화 모듈은,
상기 임시 암호화 데이터의 바이너리 코드 중에서 인접한 두 비트를 베타적 논리 연산(XOR)으로 연산하여 상기 암호화 데이터를 생성함으로써, 상기 암호화 키에 의해 변환된 임시 암호화 데이터를 2차적으로 변환하여 복호화시 알아내야 하는 인수 및 연산 논리를 증가시키는 것을 특징으로 하는 암호화 장치.
In an encryption device with improved security,
A key setting module for setting a unique key for encrypting content data;
A hash module for hashing the unique key to generate an encryption key in units of blocks;
A content data module for dividing and storing the content data on a block-by-block basis;
An operation module for operating the encryption key and the content data to generate temporary encryption data; And
And an encryption module for converting the binary code of the temporary encryption data to generate encrypted data,
The hash module includes:
Generates a first encryption key by hashing the unique key, generates a second encryption key by hashing the first encryption key,
The encryption module includes:
The temporary encryption data converted by the encryption key is secondarily converted and then decrypted when the temporary encryption data is converted by using a binary logical operation (XOR) of the binary code of the temporary encryption data to generate the encrypted data And increases the argument and operation logic.
삭제delete 제 1 항에 있어서,
상기 해시 모듈은, 상기 콘텐츠 데이터 블록의 개수만큼 상기 암호화 키를 생성하는 것을 특징으로 하는 암호화 장치.
The method according to claim 1,
The hash module may include: And generates the encryption key by the number of blocks.
제 1 항에 있어서,
상기 연산 모듈은, 상기 암호화 키의 바이너리 코드와 상기 콘텐츠 데이터 블록의 바이너리 코드를 베타적 논리 연산(XOR)으로 연산하여 상기 임시 암호화 데이터를 생성하는 것을 특징으로 하는 암호화 장치.
The method according to claim 1,
Wherein the operation module generates the temporary encryption data by calculating a binary code of the encryption key and a binary code of the content data block using a beta logical operation (XOR).
삭제delete 보안성이 향상된 암호화 방법에 있어서,
(a) 콘텐츠 데이터의 암호화를 위한 유니크 키를 설정하는 키 설정 단계;
(b) 상기 유니크 키를 해시하여 블록 단위의 암호화 키를 생성하는 해시 단계;
(c) 상기 콘텐츠 데이터를 블록 단위로 분할하여 저장하는 단계;
(d) 상기 암호화 키와 상기 콘텐츠 데이터를 연산하여 임시 암호화 데이터를 생성하는 단계; 및
(e) 상기 임시 암호화 데이터의 바이너리 코드를 변환하여 암호화 데이터를 생성하는 암호화 단계를 포함하고,
상기 (b)단계는,
상기 유니크 키를 해시하여 제1 암호화 키를 생성하고, 상기 제1 암호화 키를 해시하여 제2 암호화 키를 생성하며,
상기 (e)단계는,
상기 임시 암호화 데이터의 바이너리 코드 중에서 인접한 두 비트를 베타적 논리 연산(XOR)으로 연산하여 상기 암호화 데이터를 생성함으로써, 상기 암호화 키에 의해 변환된 임시 암호화 데이터를 2차적으로 변환하여 복호화시 알아내야 하는 인수 및 연산 논리를 증가시키는 것을 특징으로 하는 암호화 방법.
1. An encryption method with improved security,
(a) a key setting step of setting a unique key for encrypting content data;
(b) a hashing step of hashing the unique key to generate an encryption key in units of blocks;
(c) dividing the content data into blocks and storing the blocks;
(d) computing the encryption key and the content data to generate temporary encryption data; And
(e) an encryption step of converting the binary code of the temporary encryption data to generate encrypted data,
The step (b)
Generates a first encryption key by hashing the unique key, generates a second encryption key by hashing the first encryption key,
The step (e)
The temporary encryption data converted by the encryption key is secondarily converted and then decrypted when the temporary encryption data is converted by using a binary logical operation (XOR) of the binary code of the temporary encryption data to generate the encrypted data And the arithmetic logic is increased.
제 6 항에 있어서,
상기 (d) 단계는, 상기 암호화 키의 바이너리 코드와 상기 콘텐츠 데이터 블록의 바이너리 코드를 베타적 논리 연산(XOR)으로 연산하여 상기 임시 암호화 데이터를 생성하는 것을 특징으로 하는 암호화 방법.
The method according to claim 6,
Wherein the generating of the temporary encryption data by the binary logical operation (XOR) of the binary code of the encryption key and the binary code of the content data block is performed by the step (d).
삭제delete 삭제delete
KR1020140084365A 2014-07-07 2014-07-07 Method and device of data encription with increased security KR101566416B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140084365A KR101566416B1 (en) 2014-07-07 2014-07-07 Method and device of data encription with increased security

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140084365A KR101566416B1 (en) 2014-07-07 2014-07-07 Method and device of data encription with increased security

Publications (1)

Publication Number Publication Date
KR101566416B1 true KR101566416B1 (en) 2015-11-09

Family

ID=54605086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140084365A KR101566416B1 (en) 2014-07-07 2014-07-07 Method and device of data encription with increased security

Country Status (1)

Country Link
KR (1) KR101566416B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101874179B1 (en) * 2016-05-19 2018-07-04 중앙대학교 산학협력단 Door-lock device, user terminal and controlling method of door-lock device
CN112634492A (en) * 2020-12-10 2021-04-09 信通建技术有限公司 Intelligent door lock encryption method and equipment based on Jilin code and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101133988B1 (en) * 2010-04-23 2012-04-05 한국과학기술원 Method for encrypting and decrypting stream and cryptographic file systems thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101133988B1 (en) * 2010-04-23 2012-04-05 한국과학기술원 Method for encrypting and decrypting stream and cryptographic file systems thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101874179B1 (en) * 2016-05-19 2018-07-04 중앙대학교 산학협력단 Door-lock device, user terminal and controlling method of door-lock device
CN112634492A (en) * 2020-12-10 2021-04-09 信通建技术有限公司 Intelligent door lock encryption method and equipment based on Jilin code and storage medium
CN112634492B (en) * 2020-12-10 2022-03-01 信通建技术有限公司 Intelligent door lock encryption method and equipment based on Jilin code and storage medium

Similar Documents

Publication Publication Date Title
US7260215B2 (en) Method for encryption in an un-trusted environment
US10187200B1 (en) System and method for generating a multi-stage key for use in cryptographic operations
US6490353B1 (en) Data encrypting and decrypting apparatus and method
US8687800B2 (en) Encryption method for message authentication
JP2017187724A (en) Encryption device, encryption method, decryption device, and decryption method
CN113726725A (en) Data encryption and decryption method and device, electronic equipment and storage medium
Kaur et al. A random selective block encryption technique for secure image cryptography using blowfish algorithm
Yahaya et al. Cryptosystem for secure data transmission using Advance Encryption Standard (AES) and Steganography
EP2904731B1 (en) Method and device for digital data blocks encryption and decryption
JP2008035305A (en) Encryption method and data concealing method
KR101566416B1 (en) Method and device of data encription with increased security
Sahila et al. Secure digital image watermarking by using SVD and AES
JP5586758B1 (en) Dynamic encryption key generation system
Ahuja et al. Dual layer secured password manager using Blowfish and LSB
Fatima et al. A Multi-Layer Data Security Model in Cloud
Rajput et al. An improved cryptographic technique to encrypt images using extended hill cipher
Charru et al. Improved Cryptography Algorithm to Enhanced Data Security
US11664976B2 (en) Method and devices for creating redundancy and encryption using Mojette Transform
Hamsanandhini et al. Securing Data in the Image Using SHA & ECC
Jacob et al. Secured and reliable file sharing system with de-duplication using erasure correction code
CN117411727B (en) Encryption method, device and storage medium for symmetric encryption of communication transmission
Verma et al. Strong threshold secret image sharing based on boolean operation
Bhalde Performance improvement: Audio steganography technique parity bit combined with cryptography
Mathur et al. A Study of Data Hiding Using Cryptography and Steganography
Bindu Madavi et al. Security and Privacy Issues in Cloud and IoT Technology and Their Countermeasures

Legal Events

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

Payment date: 20181015

Year of fee payment: 4