KR101566416B1 - Method and device of data encription with increased security - Google Patents
Method and device of data encription with increased security Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing 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/4408—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
Abstract
Description
본 발명은 사용자가 불법적으로 사용하지 못하도록 디지털 콘텐츠 등을 암·복호화 하는 장치 및 방법에 있어서, 특히 보안성이 향상된 암·복호화 장치 및 방법에 관한 것이다.
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
보호받고자 하는 평문을 암호화 하는 경우, 특정 인수를 평문과 연산하여 평문을 암호문으로 변환시키게 된다. 특정 인수가 공개되지 않는 이상 제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
해시 모듈(103)은 키 설정 모듈(101)로부터 지정된 유니크 키를 해시하여, 콘텐츠 데이터와 연산을 수행할 암호화 키를 생성할 수 있다. 해시란, 데이터를 짧게 함축하여 나타내는 것으로 이해할 수 있다. 보다 상세하게, 해시 함수는 임의의 데이터를 자르고 치환하여 임의의 길이의 데이터를 고정된 길이의 데이터로 매핑하는 기능을 한다. 해시는 해시 함수로부터 매핑된 두 해시 값이 다르다면 해시 값에 대한 원래 데이터도 다르지만 역은 성립하지 않는 특성이 있으며, 전자 서명, 전자 지문 등에 사용될 수 있다. The
본 실시예로 해시 모듈(103)은 SHA(Secure Hash Algorithm) 해시 함수를 이용하여 유니크 키를 해시할 수 있다. 이 경우, 초기 유니크 키를 해시한 값을 제1 암호화 키라고 한다면, 두 번째 매핑되는 해시 값은 제1 암호화 키를 해시하여 얻게 된다. 이는 표 1 과 같이 나타낼 수 있다.In this embodiment, the
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
따라서, 해시 모듈(103)은 특정 사용자가 암호화 및 복호화가 가능하도록 설정된 유니크 키를 바탕으로 콘텐츠 데이터 크기에 해당하는 암호화 키를 생성하게 된다. 해시 함수는 제(n+1) 암호화 키로 제n 암호화 키를 알아낼 수 없는 특성이 있어 보안성에 강점이 있다.Accordingly, the
콘텐츠 데이터 모듈(105)은 보호하고자 하는 콘텐츠 데이터를 블록 단위로 분할하여 저장할 수 있다. 콘텐츠 데이터란 네트워크에서 유통될 수 있는 디지털 영상이나 문서 등을 포함할 수 있다. 본 실시예로, 콘텐츠 데이터가 512비트인 경우, 콘텐츠 데이터 블록은 6비트의 바이너리 코드로 이루어질 수 있다.The
이 경우, 512비트의 콘텐츠 데이터는 86개의 콘텐츠 데이터 블록으로 이루어질 수 있으며, 상술한 해시 모듈(103)은 콘텐츠 데이터 블록의 개수만큼 암호화 키를 생성할 수 있다. 따라서 해시 모듈(103)은 각각의 콘텐츠 데이터 블록과 매칭되도록 6비트의 바이너리 코드로 이루어진 암호화 키 86개를 해시할 수 있다.In this case, the 512-bit content data may be composed of 86 content data blocks, and the
연산 모듈(107)은 암호화 키의 바이너리 코드와 콘텐츠 데이터 블록의 바이너리 코드를 베타적 논리 연산(XOR : exclusive or)으로 연산하여 임시 암호화 데이터를 생성할 수 있다. 위의 실시예에 의하면, 6비트의 암호화 키와 6비트의 콘텐츠 데이터 블록을 86번 연산하게 된다. 결과적으로 연산 모듈(107)은 6비트의 임시 암호화 데이터 블록 86개로 이루어진 임시 암호화 데이터를 생성하게 된다.The
암호화 모듈(109)은 임시 암호화 데이터의 바이너리 코드 중에서 인접한 두 비트를 베타적 논리 연산(XOR)으로 연산하여 암호화 데이터를 생성할 수 있다. 보다 상세하게, 암호화 모듈(109)은 임시 암호화 데이터의 바이너리 코드 중에서 내림차순으로 인접한 두 비트를 베타적 논리 연산(XOR)하게 된다. 다만, 변환된 암호화 데이터의 첫 비트는 임시 암호화 데이터의 첫 비트와 동일할 수 있다.The
일 실시예로 임시 암호화 데이터의 바이너리 코드가 '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'은 '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
암호화 모듈(109)은 암호화 키에 의해 변환된 임시 암호화 데이터를 2차적으로 변환함으로써, 권한이 없는 일반 사용자가 복호화시 알아내야 하는 인수 및 연산 논리를 증가시킴으로써 보안성을 증가시킨다. 또한, XOR의 논리 회로의 구성은 간단하고 저렴하게 구현할 수 있으며, 특정 인수를 추가로 요하지 않는 점에 암호화 속도적 장점은 유지된다.The
도 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
도 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
이후, 암호화 모듈(109)에서 임시 암호화 데이터인 '6BD46F'를 상술한 논리 연산으로 변환하여 암호화 데이터인 '5EBE58'이 생성된다. 이와 같은 암호화 과정을 거치는 경우, 권한이 없는 일반 사용자가 제n 암호화 키를 알아낸다고 하여도, n번째 프레임 이후 영상을 복원할 수 없어 콘텐츠 데이터의 보안성이 향상되게 된다. Thereafter, the
도 3은 본 발명의 실시예에 따른 복호화 장치(30)를 나타낸다. 도 3을 참조하면, 복호화 장치(30)는 암호화 데이터의 복호화를 위한 유니크 키를 입력받는 키 설정 모듈(301), 유니크 키를 해시하여 블록 단위의 암호화 키를 생성하는 해시 모듈(303), 암호화 데이터의 바이너리 코드를 변환하여 임시 암호화 데이터를 생성하는 임시 복호화 모듈(307) 및 임시 암호화 데이터와 암호화 키를 연산하여 콘텐츠 데이터를 복원하는 복호화 모듈(309)을 포함할 수 있다.3 shows a
복호화 장치(30)는 도 1의 암호화 장치(10)에 의해 암호화된 콘텐츠 데이터를 복원하는 장치로서, 암호화 장치(10)의 역과정을 수행하는 장치로 이해될 수 있다. 키 설정 모듈(301) 및 해시 모듈(303)은 상술한 기능을 동일하게 수행한다. 다만, 키 설정 모듈(301)에서 설정되는 유니크 키는 암호화에 사용되도록 사용자로부터 입력 받은 특정 유니크 키와 동일하다.The
암호화 데이터 모듈(305)은 암호화 데이터를 입력받으며, 임시 복호화 모듈(307)은 암호화 데이터를 임시 암호화 데이터로 변환한다. 임시 복호화 모듈(307)은 암호화 데이터의 바이너리 코드 중 첫 비트 값을 임시 암호화 데이터의 첫 비트 값으로 하고, 임시 암호화 데이터의 첫 비트 값과 암호화 데이터의 두 번째 비트 값을 XOR 하여 임시 암호화 데이터의 두 번째 비트 값으로 한다. 이와 같은 논리로 임시 암호화 데이터의 두 번째 비트 값과 암호화 데이터의 세 번째 비트 값을 XOR 하여 임시 암호화 데이터의 세 번째 비트 값으로 한다. The
이해를 돕기 위한 본 실시예로, 암호화 데이터의 바이너리 코드가 '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
복호화 모듈(309)은 임시 암호화 데이터와 암호화 키를 XOR 연산하는 작업을 수행한다. 이 경우, 최종적으로 콘텐츠 데이터 블록의 값이 복원된다. 이와 같은 과정으로 사용자는 콘텐츠 데이터를 복호화할 수 있다.The
이상에서 대표적인 실시예를 통하여 본 발명을 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명한 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 특허청구범위와 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태에 의하여 정해져야 한다.
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.
상기 해시 모듈은, 상기 콘텐츠 데이터 블록의 개수만큼 상기 암호화 키를 생성하는 것을 특징으로 하는 암호화 장치.
The method according to claim 1,
The hash module may include: And generates the encryption key by the number of blocks.
상기 연산 모듈은, 상기 암호화 키의 바이너리 코드와 상기 콘텐츠 데이터 블록의 바이너리 코드를 베타적 논리 연산(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).
(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.
상기 (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).
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)
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)
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 |
-
2014
- 2014-07-07 KR KR1020140084365A patent/KR101566416B1/en active IP Right Grant
Patent Citations (1)
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)
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 |