KR101757768B1 - 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템 - Google Patents

데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템 Download PDF

Info

Publication number
KR101757768B1
KR101757768B1 KR1020160013086A KR20160013086A KR101757768B1 KR 101757768 B1 KR101757768 B1 KR 101757768B1 KR 1020160013086 A KR1020160013086 A KR 1020160013086A KR 20160013086 A KR20160013086 A KR 20160013086A KR 101757768 B1 KR101757768 B1 KR 101757768B1
Authority
KR
South Korea
Prior art keywords
data
unit
message
encryption
encryption key
Prior art date
Application number
KR1020160013086A
Other languages
English (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 KR1020160013086A priority Critical patent/KR101757768B1/ko
Application granted granted Critical
Publication of KR101757768B1 publication Critical patent/KR101757768B1/ko

Links

Images

Classifications

    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템을 개시한다. 구체적으로, 본 발명의 실시예에 따른 데이터 암호화 방법은, 데이터 암호화부에서, 메시지의 단위 데이터 수에 따라 메모리 상에 복수 개의 데이터 저장 블럭을 할당하는 단계; 상기 데이터 암호화부에서, 기 설정된 암호화 키의 진수(進數)에 따라 각 데이터 저장 블럭을 복수 개의 구간으로 나누는 단계; 상기 데이터 암호화부에서, 상기 암호화 키에 따라 각 데이터 저장 블럭에서 일 구간에 상기 메시지의 단위 데이터를 삽입하고, 각 데이터 저장 블럭의 상기 일 구간 이외의 나머지 구간에 더미 데이터를 삽입하여 복수 개의 서브 데이터 열을 각각 생성하는 단계; 및 상기 데이터 암호화부에서, 상기 복수 개의 서브 데이터 열을 연결하여 암호화 데이터를 생성하는 단계를 포함한다.

Description

데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템{METHOD FOR ENCRYPTING DATA AND APPARATUS AND SYSTEM FOR EXECUTING THE METHOD}
본 발명은 데이터 암호화 기술에 관한 것으로, 보다 상세하게는 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템에 관한 것이다.
디지털 통신에서 데이터에 대한 불특정한 제 3 자의 취급을 배제하고, 데이터 내용을 보존하기 위한 암호화(Encryption) 및 복호화(Decryption) 방법은 매우 중요한 기술이다. 이를 반영하듯, 디지털 통신에서는 다양한 형태의 암호화/복호화 방법이 이용되고 있으며, 대표적인 것으로 블록 암호화 방식의 DES(Data Encryption Standard), FEAL(Fast Data Encipherment Algorithm) 및 AES(Advanced Encryption Standard)와 의사난수 부가형 암호화(Pseudo Random Number Add Type Cryptofraphy)와 같은 표준 및 방법을 예로 들 수 있다.
데이터의 암호화는 메시지를 지정된 함수를 이용한 알고리즘에 의해 재분배하거나, 미리 정해진 순열을 메시지에 부가하는 형태로 수행된다. 이와 같이 암호화되어 전송되는 데이터는 여러가지 환경에 노출되며, 이 중 의도적인 해커에 의해 이용될 소지가 있다. 이러한 해커들은 전송되는 데이터를 습득하고, 이들을 비교하여 메시지를 유추하는 형태를 비롯해서 다양한 방법으로 암호화 방법을 알아내고, 알아낸 방법에 의해 메시지를 습득하게 된다.
대한민국 등록특허 10-0672341호(2007.01.16)
본 발명의 실시예들은 기 설정된 데이터 암호화 방법 및 암호화 키를 통해 메시지의 암호화를 진행함으로써, 메시지가 제 3 자에게 노출되지 않도록 하는 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템을 제공하기 위한 것이다.
예시적인 실시예에 따르면, 데이터 암호화부에서, 메시지의 단위 데이터 수에 따라 메모리 상에 복수 개의 데이터 저장 블럭을 할당하는 단계; 상기 데이터 암호화부에서, 기 설정된 암호화 키의 진수(進數)에 따라 각 데이터 저장 블럭을 복수 개의 구간으로 나누는 단계; 상기 데이터 암호화부에서, 상기 암호화 키에 따라 각 데이터 저장 블럭에서 일 구간에 상기 메시지의 단위 데이터를 삽입하고, 각 데이터 저장 블럭의 상기 일 구간 이외의 나머지 구간에 더미 데이터를 삽입하여 복수 개의 서브 데이터 열을 각각 생성하는 단계; 및 상기 데이터 암호화부에서, 상기 복수 개의 서브 데이터 열을 연결하여 암호화 데이터를 생성하는 단계를 포함하는, 데이터 암호화 방법이 제공된다.
상기 암호화 키는, N(N은 2 이상의 자연수) 진수이고, 상기 복수 개의 서브 데이터 열을 각각 생성하는 단계는, 상기 데이터 암호화부에서, 상기 N 진수에 대응되는 개수의 숫자 또는 문자를 사용하여 상기 메시지의 단위 데이터 및 상기 더미 데이터를 삽입할 수 있다.
상기 복수 개의 구간으로 나누는 단계는, 상기 데이터 암호화부에서, 상기 데이터 저장 블록을 상기 암호화 키의 진수에 따라 복수 개의 시구간으로 나누는 단계; 및 상기 데이터 암호화부에서, 상기 각 시구간을 상기 암호화 키의 진수에 따라 복수 개의 주파수 구간으로 나누는 단계를 포함할 수 있다.
상기 일 구간에 상기 메시지의 단위 데이터를 삽입하는 단계는, 상기 데이터 암호화부에서, 상기 메시지의 단위 데이터의 순서에 따라 상기 복수 개의 데이터 저장 블록들 간에 순번을 지정하는 단계; 및 상기 데이터 암호화부에서, 각 데이터 저장 블록의 순번에 대응하는 상기 암호화 키의 자리수에 설정된 숫자에 따라 해당 데이터 저장 블록의 일 구간에 상기 메시지의 단위 데이터를 삽입하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 메시지의 단위 데이터 수에 따라 상기 메모리 상에 복수 개의 데이터 저장 블럭을 할당하는 단계; 기 설정된 암호화 키의 진수(進數)에 따라 각 데이터 저장 블럭을 복수 개의 구간으로 나누는 단계; 상기 암호화 키에 따라 각 데이터 저장 블럭에서 일 구간에 상기 메시지의 단위 데이터를 삽입하고, 각 데이터 저장 블럭의 상기 일 구간 이외의 나머지 구간에 더미 데이터를 삽입하여 복수 개의 서브 데이터 열을 각각 생성하는 단계; 및 상기 복수 개의 서브 데이터 열을 연결하여 암호화 데이터를 생성하는 단계를 실행하기 위한 명령어들을 포함하는 장치가 제공된다.
상기 암호화 키는, N(N은 2 이상의 자연수) 진수이고, 상기 프로그램은, 복수 개의 서브 데이터 열을 각각 생성하는 단계에서, 상기 N 진수에 대응되는 개수의 숫자 또는 문자를 사용하여 상기 메시지의 단위 데이터 및 상기 더미 데이터를 삽입하기 위한 명령어들을 포함할 수 있다.
상기 프로그램은, 상기 복수 개의 구간으로 나누는 단계에서, 상기 데이터 저장 블록을 상기 암호화 키의 진수에 따라 복수 개의 시구간으로 나누는 단계; 및 상기 각 시구간을 상기 암호화 키의 진수에 따라 복수 개의 주파수 구간으로 나누는 단계를 실행하기 위한 명령어들을 포함할 수 있다.
상기 프로그램은, 상기 일 구간에 상기 메시지의 단위 데이터를 삽입하는 단계에서, 상기 메시지의 단위 데이터의 순서에 따라 상기 복수 개의 데이터 저장 블록들 간에 순번을 지정하는 단계; 및 각 데이터 저장 블록의 순번에 대응하는 상기 암호화 키의 자리수에 설정된 숫자에 따라 해당 데이터 저장 블록의 일 구간에 상기 메시지의 단위 데이터를 삽입하는 단계를 실행하기 위한 명령어들을 포함할 수 있다.
다른 예시적인 실시예에 따르면, 암호화 키를 공유하는 제1 단말기 및 제2 단말기를 포함하고, 상기 제1 단말기 및 상기 제2 단말기 간에 데이터를 송수신하는 시스템으로서, 상기 제1 단말기는, 메시지의 단위 데이터 수에 따라 메모리 상에 복수 개의 데이터 저장 블럭을 할당하는 동작; 상기 암호화 키의 진수(進數)에 따라 각 데이터 저장 블럭을 복수 개의 구간으로 나누는 동작; 상기 암호화 키에 따라 각 데이터 저장 블럭에서 일 구간에 상기 메시지의 단위 데이터를 삽입하고, 각 데이터 저장 블럭의 상기 일 구간 이외의 나머지 구간에 더미 데이터를 삽입하여 복수 개의 서브 데이터 열을 각각 생성하는 동작; 및 상기 복수 개의 서브 데이터 열을 연결하여 암호화 데이터를 생성하고, 생성된 암호화 데이터를 전송하는 동작을 수행하도록 구성되고, 상기 제2 단말기는, 상기 암호화 데이터를 수신하는 동작; 상기 메시지의 비트 길이에 따라 상기 암호화 데이터를 복수 개의 서브 데이터 열로 구분하는 동작; 상기 암호화 키에 따라 각 서브 데이터 열의 복수 개의 구간 중 일 구간에서 상기 메시지의 단위 데이터를 추출하는 동작; 상기 각 서브 데이터열에서 추출한 상기 단위 데이터를 연결하여 상기 메시지를 복원하는 동작을 수행하도록 구성되는, 시스템이 제공된다.
상기 암호화 키는, N(N은 2 이상의 자연수) 진수이고, 상기 제1 단말기는, 상기 복수 개의 서브 데이터 열을 각각 생성하는 동작에서, 상기 N 진수에 대응되는 개수의 숫자 또는 문자를 사용하여 상기 메시지의 단위 데이터 및 상기 더미 데이터를 삽입할 수 있다.
상기 제1 단말기는, 상기 복수 개의 구간으로 나누는 동작에서, 상기 데이터 저장 블록을 상기 암호화 키의 진수에 따라 복수 개의 시구간으로 나누는 동작; 및 상기 각 시구간을 상기 암호화 키의 진수에 따라 복수 개의 주파수 구간으로 나누는 동작을 수행하도록 구성될 수 있다.
상기 제1 단말기는, 상기 일 구간에 상기 메시지의 단위 데이터를 삽입하는 동작에서, 상기 메시지의 단위 데이터의 순서에 따라 상기 복수 개의 데이터 저장 블록들 간에 순번을 지정하는 동작; 및 각 데이터 저장 블록의 순번에 대응하는 상기 암호화 키의 자리수에 설정된 숫자에 따라 해당 데이터 저장 블록의 일 구간에 상기 메시지의 단위 데이터를 삽입하는 동작을 수행하도록 구성될 수 있다.
본 발명의 실시예들에 의하면, 송신 단말기가 메시지를 송신 단말기와 수신 단말기가 상호 공유된 암호화 키를 이용하여 암호화함으로써, 메시지의 내용을 보존할 수 있게 된다. 또한, 메시지를 암호화 하는데 있어서, 사용 가능한 문자의 개수가 다양하게 됨으로써, 0과 1만을 이용하는 경우 발생되던 암호화 키의 유추를 방지할 수 있게 된다.
도 1은 본 발명의 일 실시예에 따른 데이터 암호화 시스템의 블록도
도 2는 본 발명의 제1 실시예에 따른 데이터 암호화 방법의 예시도
도 3은 본 발명의 제2 실시예에 따른 데이터 암호화 방법의 예시도
도 4는 본 발명의 제3 실시예에 따른 데이터 암호화 방법의 예시도
도 5는 본 발명의 제4 실시예에 따른 데이터 암호화 방법의 예시도
도 6은 본 발명의 일 실시예에 따른 데이터 암호화 방법의 흐름도
도 7은 예시적인 실시예들에서 사용되기에 적합한 예시적인 컴퓨팅 장치를 포함하는 컴퓨팅 환경
이하, 도 1 내지 도 6을 참조하여 본 발명의 구체적인 실시 예들을 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 제한되지 않는다.
본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하의 실시예는 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
이하의 설명에 있어서, 신호 또는 정보의 "전송", "통신", "송신", "수신" 기타 이와 유사한 의미의 용어는 일 구성요소에서 다른 구성요소로 신호 또는 정보가 직접 전달되는 것뿐만이 아니라 다른 구성요소를 거쳐 전달되는 것도 포함한다. 특히 신호 또는 정보를 일 구성요소로 "전송" 또는 "송신"한다는 것은 그 신호 또는 정보의 최종 목적지를 지시하는 것이고 직접적인 목적지를 의미하는 것이 아니다. 이는 신호 또는 정보의 "수신"에 있어서도 동일하다. 또한 본 명세서에 있어서, 2 이상의 데이터 또는 정보가 "관련"된다는 것은 하나의 데이터(또는 정보)를 획득하면, 그에 기초하여 다른 데이터(또는 정보)의 적어도 일부를 획득할 수 있음을 의미한다.
도 1은 본 발명의 일 실시예에 따른 데이터 암호화 시스템의 블록도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 데이터 암호화 시스템(100)은 제1 단말기(102) 및 제2 단말기(104)를 포함한다.
제1 단말기(102) 및 제2 단말기(104)는 로컬 영역 네트워크(Local Area Network: LAN), 광역 네트워크(Wide Area Network: WAN), 셀룰라 네트워크 또는 인터넷 등과 같은 네트워크(50)를 통해 상호 통신 가능하게 연결된다. 제1 단말기(102) 및 제2 단말기(104)의 예들은 스마트 폰, 모바일 폰, PDA(Personal Digital Assistants), MP3, 태블릿 PC, PMP(Portable Multimedia Player), 랩탑 컴퓨터, 퍼스널 컴퓨터 등이 될 수 있으나, 이에 한정되는 것은 아니며 상호 접속 가능한 다양한 유형의 무선 통신 장치 및 유선 통신 장치를 포함한다.
이하, 본 발명의 일 실시예에서는 제1 단말기(102)는 암호화 데이터를 생성하여 전송하는 송신 단말기, 제2 단말기(104)는 암호화 데이터를 수신하여 복호화하는 수신 단말기인 것으로 설명하나 이에 한정되는 것은 아니며, 제1 단말기(102)가 수신 단말기의 역할을 하고, 제2 단말기(104)가 송신 단말기의 역할을 할 수도 있음은 물론이다.
제1 단말기(102)는 메시지를 암호화하여 제2 단말기(104)로 전송하는 단말기로, 데이터 암호화부(112), 제1 메모리(114) 및 제1 통신부(116)를 포함할 수 있다.
데이터 암호화부(112)는 메시지를 암호화 할 수 있다. 구체적으로, 데이터 암호화부(112)는 메시지를 기 설정된 암호화 방식으로 암호화 할 수 있다. 여기서, 기 설정된 암호화 방식이란, 비트 수에 따른 암호화 방식, 시간 분할에 따른 암호화 방식, 주파수 분할에 따른 암호화 방식 및 시간과 주파수 조합에 따른 암호화 방식 중 적어도 하나를 포함할 수 있다. 데이터 암호화부(112)는 상기 암호화 방식 중, 후술하는 제2 단말기(104)와 상호 약속되어 기 설정된 암호화 방식으로 암호화 데이터를 생성할 수 있다. 각 암호화 방식에 대한 구체적인 설명은 도 2 내지 도 4에서 후술하도록 한다.
데이터 암호화부(112)는 암호화 키에 따라 상기 메시지를 암호화 할 수 있다. 구체적으로, 데이터 암호화부(112)는 후술하는 제1 메모리(114)에 저장된 암호화 키를 확인하고, 확인된 암호화 키에 따라 데이터를 암호화 할 수 있다. 여기서, 암호화 키란 제1 단말기(102)와 제2 단말기(104)간에 상호 공유되어 기 설정된 암호화 및 복호화 키로, 메시지의 암호화 및 복호화를 수행하기 위한 규칙을 의미할 수 있다. 즉, 데이터 암호화부(112)는 암호화 방식 및 암호화 키를 이용하여 메시지를 암호화하여 암호화 데이터를 생성할 수 있다.
제1 메모리(114)는 암호화 키를 저장할 수 있다. 구체적으로, 제1 메모리(114)는 데이터 암호화부(112)가 메시지를 암호화하기 위한 암호화 키를 저장하여 데이터 암호화부(112)에 제공할 수 있다.
제1 통신부(116)는 상기 데이터 암호화부(112)에서 생성한 암호화 데이터를 제2 단말기(102)로 전송할 수 있다.
제2 단말기(104)는 제1 단말기(102)로부터 수신된 암호화 데이터를 복호화하는 단말기로, 제2 통신부(122), 데이터 복호화부(124) 및 제2 메모리(126)를 포함할 수 있다.
제2 통신부(122)는 제1 단말기(102)로부터 암호화 데이터를 수신할 수 있다. 구체적으로, 제2 통신부(122)는 제1 단말기(102)에서 암호화하여 생성된 암호화 데이터를 수신할 수 있다.
데이터 복호화부(124)는 제1 단말기(102)에서 수신된 암호화 데이터를 복호화 할 수 있다. 구체적으로, 데이터 복호화부(124)는 수신된 암호화 데이터를 메시지로 복호화하여 제2 단말기(102)의 사용자에게 제공할 수 있다. 데이터 복호화부(124)는 제1 단말기(102)와 상호 약속되어 기 설정된 암호화 방식 및 후술하는 제2 메모리(126)에 저장된 암호화 키를 이용하여 암호화 데이터를 메시지로 복호화할 수 있다.
제2 메모리(126)는 암호화 키를 저장할 수 있다. 구체적으로, 제2 메모리(126)는 데이터 복호화부(124)가 제1 단말기(102)로부터 수신한 암호화 데이터를 메시지로 복호화하기 위한 암호화 키를 저장하여, 데이터 복호화부(124)에 제공할 수 있다.
도 2는 본 발명의 제1 실시예에 따른 데이터 암호화 방법의 예시도이다. 도 2를 참조하면, 데이터 암호화부(112)는 비트 수에 따라 메시지를 암호화하여 암호화 데이터를 생성할 수 있다. 구체적으로, 데이터 암호화부(112)는 메시지의 단위 데이터 수를 확인하여 제1 메모리(114)에 메시지의 단위 데이터 수에 대응하는 복수개의 데이터 저장 블록을 할당할 수 있다. 여기서, 메시지란 제1 단말기(102)가 제2 단말기(104)로 전송하고자 하는 실제 데이터를 의미할 수 있다. 또한, 단위 데이터란, 메시지를 이루는 각각의 데이터 단위를 의미할 수 있다.
데이터 암호화부(112)는 메시지의 단위 데이터 순서에 따라 복수 개의 데이터 저장 블록들 간에 순번을 지정할 수 있다. 예를 들어, 데이터 암호화부(112)는 메시지의 첫번째 단위 데이터가 삽입될 데이터 저장 블록을 첫번째 데이터 저장 블록으로 순번을 지정할 수 있다. 또한, 데이터 암호화부(112)는 메시지의 두번째 단위 데이터가 삽입될 데이터 저장 블록을 두번째 데이터 저장 블록으로 순번을 지정할 수 있다.
데이터 암호화부(112)는 제1 메모리(114)에 기 저장된 암호화 키가 몇 진수(進數)의 수로 설정되어 있는지에 따라 각각의 데이터 저장 블록을 복수의 구간으로 나눌 수 있다. 예를 들어, 데이터 암호화부(112)는 암호화 키가 5진수로 기 설정된 경우, 데이터 저장 블록을 5개의 구간으로 나눌 수 있다. 여기서는, 데이터 암호화부(112)가 기 설정된 암호화 키의 진수에 따라 데이터 저장 블록을 복수개의 구간으로 나누는 것으로 설명하였으나 이에 한정되는 것은 아니며, 데이터 암호화부(112)는 사용자의 설정에 따라 데이터 저장 블록을 복수개의 구간으로 나눌 수도 있음은 물론이다.
데이터 암호화부(112)는 암호화 키에 따라 각 데이터 저장 블록의 일 구간에 메시지의 단위 데이터를 삽입하고, 일 구간 이외의 나머지 구간에 더미 데이터를 삽입하여 서브 데이터 열(예를 들어, 메시지가 n비트인 경우, 제1 서브 데이터 열(a), 제2 서브 데이터 열(b), 제3 서브 데이터 열(c), …, 제n 서브 데이터 열(d))을 생성할 수 있다. 여기서, 서브 데이터 열이란 메시지를 암호화하여 제2 단말기로 전송하기 위한 것으로, 보안을 위해 메시지 이외에 더미 데이터를 포함하는 데이터 열을 의미할 수 있다. 데이터 암호화부(112)는 각 데이터 저장 블록의 순번에 대응하는 암호화 키의 자리수를 확인할 수 있다. 예를 들어, 데이터 암호화부(112)는 제1 서브 데이터 열(a)은 암호화 키의 첫번째 자리수에 위치한 수와 대응되도록 할 수 있고, 제2 서브 데이터 열(b)은 암호화 키의 두번째 자리수에 위치한 수와 대응되도록 할 수 있다. 만약, 데이터 암호화부(112)는 생성된 서브 데이터 열의 수가 암호화 키를 이루는 숫자의 수보다 많을 경우, 암호화 키를 반복하여 사용함으로써, 각각의 서브 데이터 열과 암호화 키의 각 자리수에 위치한 수가 대응되도록 할 수 있다.
데이터 암호화부(112)는 각 데이터 저장 블록의 순번에 대응하는 암호화 키의 자리수에 설정된 숫자에 따라 해당 데이터 저장 블록의 일 구간에 메시지의 단위 데이터를 삽입할 수 있다. 여기서, 암호화 키는 메시지의 암호화 및 복호화를 수행하기 위한 규칙으로, 서브 데이터 열을 이루는 구간(즉, 비트) 중, 메시지의 일부 단위 데이터가 삽입될 위치를 나타낼 수 있다. 구체적으로, 데이터 암호화부(112)는 암호화 키의 진수에 따라 일정 구간으로 나뉘어진 각 서브 데이터 열(구체적으로, 메시지가 n비트인 경우, 제1 서브 데이터 열(a), 제2 서브 데이터 열(b), 제3 서브 데이터 열(c), …, 제n 서브 데이터 열(d))의 구간 중, 각 서브 데이터 열과 대응되는 암호화 키의 수가 나타내는 위치에 메시지의 각 단위 데이터를 삽입함으로써, 암호화 데이터를 생성할 수 있다. 데이터 암호화부(112)는 암호화 키의 첫번째 자리수에 위치한 수를 확인하고, 제1 서브 데이터 열(a)의 구간 중, 해당 수와 대응되는 위치에 메시지의 첫번째 단위 데이터(예를 들어, 첫번째 비트)를 삽입할 수 있다. 또한, 데이터 암호화부(112)는 암호화 키의 두번째 자리수에 위치한 수를 확인하고, 제2 서브 데이터 열(b)의 구간 중, 해당 수와 대응되는 위치에 메시지의 두번째 단위 데이터(예를 들어, 두번째 비트)를 삽입할 수 있다. 위와 같은 방식으로, 데이터 암호화부(112)는 각 서브 데이터 열에 대응되는 암호화 키에 따라 메시지의 단위 데이터를 각각 삽입함으로써 암호화 데이터를 생성할 수 있다. 이때, 데이터 암호화부(112)는 서브 데이터 열에서 메시지의 데이터가 삽입된 비트를 제외한 다른 비트에 더미 데이터를 삽입할 수 있다. 여기서, 더미 데이터란 의미 없이 가상적으로 설정되는 데이터로 랜덤한 값으로 설정된 것을 의미할 수 있다.
또한, 데이터 암호화부(112)는 암호화 키의 진수(즉, 서브 데이터 열의 구간 수)에 따라, 서브 데이터 열의 각 구간(즉, 비트)에서 삽입 가능한 숫자(또는, 문자)의 개수를 설정할 수 있다. 구체적으로, 데이터 암호화부(112)는 기 설정된 암호화 키의 진수(또는, 서브 데이터 열의 구간 수)를 확인하고, 상기 확인한 암호화 키의 진수에 대응하는 숫자의 개수를 사용하여 암호화 데이터를 생성할 수 있다. 데이터 암호화부(112) 기 설정된 암호화 키의 진수(또는, 서브 데이터 열의 구간 수)에 따라 서브 데이터 열의 각 구간에서 사용 가능한 문자의 개수를 설정함으로써, 0과 1만을 더미 데이터로 이용함으로써 0과 1만을 더미 데이터로 이용하는 경우 유한한 길이의 암호화 데이터에서 더미 데이터인 0과 1이 50:50의 확률로 분포되는 것을 이용하여 암호화 키를 유추하여 메시지를 추적하는 것을 방지할 수 있게 된다.
데이터 암호화부(112)는 상기 생성한 복수의 서브 데이터 열을 이용하여 암호화 데이터를 생성할 수 있다. 구체적으로, 데이터 암호화부(112)는 상기 생성한 복수의 서브 데이터 열을 연결하여 하나의 데이터 열로 생성함으로써, 메시지를 암호화한 암호화 데이터를 생성할 수 있다. 이때, 데이터 암호화부(112)는 서브 데이터 열의 순번(즉, 데이터 저장 블록들의 순번)에 따라 상기 생성한 복수의 서브 데이터 열을 연결함으로써, 암호화 데이터를 생성할 수 있다.
예를 들어, 데이터 암호화부(112)는 메시지가 142…5(n자리 수의 데이터이고, 각 자리는 1비트)인 경우, n개의 데이터 저장 블록을 생성할 수 있다. 또한, 데이터 암호화부(112)는 암호화 키가 5진수로 기 설정되고, 21325인 경우, 각각의 데이터 저장 블록을 5개의 구간(즉, 5비트)으로 나눌 수 있다. 데이터 암호화부(112)는 제1 서브 데이터 열(a)에서 암호화 키의 첫번째 수인 2에 대응되는 위치(즉, 5비트 중 두번째 비트)에 메시지의 첫번째 수(즉, 첫번째 단위 데이터)인 1을 삽입할 수 있다. 또한, 데이터 암호화부(112)는 제2 서브 데이터 열(b)에서는 암호화 키의 두번째 수인 1에 대응되는 위치(즉, 5비트 중 첫번째 비트)에 메시지의 두번째 수(즉, 두번째 단위 데이터)인 4를 삽입할 수 있다. 위와 같은 방식으로, 데이터 암호화부(112)는 각각의 서브 데이터 열에서 암호화 키와 대응되는 위치에 메시지의 단위 데이터를 삽입할 수 있다. 만약, 암호화 키가 5자리의 수이고, 서브 데이터 열의 개수가 5개를 초과하는 경우(즉, 메시지가 5비트 이상인 경우), 제1 단말기(102)는 데이터 키를 반복하여 사용(예를 들어, 서브 데이터 열의 개수가 10개일 경우, 암호화 키는 2132521325)함으로써, 메시지에 대한 복수의 서브 데이터 열을 생성할 수 있다. 데이터 암호화부(112)는 상기 생성한 복수의 서브 데이터 열을 연결하여 하나의 암호화 데이터를 생성하고, 제1 통신부(116)를 통해 제2 단말기(104)로 전송할 수 있다.
데이터 복호화부(124)는 입력된 암호화 데이터를 복호화하여 메시지를 확인할 수 있다. 구체적으로, 데이터 복호화부(124)는 입력된 암호화 데이터와 기 저장된 암호화 키를 이용하여 메시지를 확인할 수 있다. 데이터 복호화부(124)는 제2 메모리(126)에 기 저장된 암호화 키가 몇 진수(進數)의 수로 설정되어 있는지 확인하여, 암호화 데이터를 각각의 서브 데이터 열로 구분할 수 있다.
데이터 복호화부(124)는 상기 구분된 각각의 서브 데이터 열의 순번과 대응되는 암호화 키의 자리수를 확인하고, 각각의 서브 데이터 열에 매칭되는 암호화 키의 자리수에 설정된 숫자를 확인할 수 있다. 데이터 복호화부(124)는 복수개의 구간으로 나뉘어진 각각의 서브 데이터 열과 상기 각각의 서브 데이터 열과 매칭되는 암호화 키의 자리수에 설정된 숫자를 이용하여 각각의 서브 데이터 열에 포함된 단위 데이터를 추출할 수 있다.
데이터 복호화부(124)는 각각의 서브 데이터 열에서 추출한 단위 데이터의 연결을 통해 메시지를 확인할 수 있게 된다.
도 3은 본 발명의 제2 실시예에 따른 데이터 암호화 방법의 예시도이다. 여기서는, 도 2에 도시된 제1 실시예와 비교하여 추가되거나 차이가 나는 부분을 중점적으로 설명하기로 한다.
도 3을 참조하면, 데이터 암호화부(112)는 주파수 분할을 이용해 메시지를 암호화하여 암호화 데이터를 생성할 수 있다. 구체적으로, 데이터 암호화부(112)는 메시지의 단위 데이터 수를 확인하여 제1 메모리(114)에 메시지의 단위 데이터 수에 대응하는 복수개의 데이터 저장 블록을 할당할 수 있다. 데이터 암호화부(112)는 메시지의 단위 데이터 순서에 따라 복수 개의 데이터 저장 블록들 간에 순번을 지정할 수 있다.
데이터 암호화부(112)는 제1 메모리(114)에 기 저장된 암호화 키가 몇 진수(進數)의 수로 설정되어 있는지에 따라 각각의 데이터 저장 블록을 복수의 채널 구간으로 나눌 수 있다. 예를 들어, 데이터 암호화부(112)는 암호화 키가 5진수로 기 설정된 경우, 데이터 저장 블록을 5개의 채널 구간으로 나눌 수 있다. 수 있다. 여기서, 채널이란 데이터를 전송하기 위한 주파수 대역으로, 복수의 채널 구간은 서로 다른 주파수 대역을 사용하는 각각의 구간을 의미할 수 있다.
데이터 암호화부(112)는 암호화 키에 따라 각 데이터 저장 블록의 일 채널에 메시지의 단위 데이터를 삽입하고, 일 채널 이외의 나머지 채널에 더미 데이터를 삽입하여 서브 데이터 열(예를 들어, 메시지가 n비트인 경우, 제1 서브 데이터 열(e), 제2 서브 데이터 열(f), 제3 서브 데이터 열(g), …, 제n 서브 데이터 열(h))을 생성할 수 있다. 데이터 암호화부(112)는 각 데이터 저장 블록의 순번에 대응하는 암호화 키의 자리수를 확인할 수 있다. 예를 들어, 데이터 암호화부(112)는 제1 서브 데이터 열(e)은 암호화 키의 첫번째 자리수에 위치한 수와 대응되도록 할 수 있고, 제2 서브 데이터 열(f)은 암호화 키의 두번째 자리수에 위치한 수와 대응되도록 할 수 있다.
데이터 암호화부(112)는 각 데이터 저장 블록의 순번에 대응하는 암호화 키의 자리수에 설정된 숫자에 따라 해당 데이터 저장 블록의 일 채널에 메시지의 단위 데이터를 삽입할 수 있다. 여기서, 암호화 키는 메시지의 암호화 및 복호화를 수행하기 위한 규칙으로, 서브 데이터 열을 이루는 채널 구간 중, 메시지의 일부 단위 데이터가 삽입될 채널 구간을 나타낼 수 있다. 구체적으로, 데이터 암호화부(112)는 암호화 키의 진수에 따라 복수의 채널로 이루어진 각 서브 데이터 열(예를 들어, 메시지가 n개의 실제 데이터로 이루어진 경우, 제1 서브 데이터 열(e), 제2 서브 데이터 열(f), 제3 서브 데이터 열(g), …, 제n 서브 데이터 열(h))의 채널 중, 각 서브 데이터 열과 대응되는 암호화 키의 수가 나타내는 일 채널에 메시지의 각 단위 데이터를 삽입하고, 일 채널 이외의 채널에 더미 데이터를 삽입함으로써, 암호화 데이터를 생성할 수 있다.
도 4는 본 발명의 제3 실시예에 따른 데이터 암호화 방법의 예시도이다. 여기서는, 도 2 내지 도 3에 도시된 제1 실시예 및 제2 실시예와 비교하여 추가되거나 차이가 나는 부분을 중점적으로 설명하기로 한다.
도 4를 참조하면, 데이터 암호화부(112)는 시간 분할을 이용해 메시지를 암호화하여 암호화 데이터를 생성할 수 있다. 구체적으로, 데이터 암호화부(112)는 메시지의 단위 데이터 수를 확인하여 제1 메모리(114)에 메시지의 단위 데이터 수에 대응하는 복수개의 데이터 저장 블록을 할당할 수 있다. 데이터 암호화부(112)는 메시지의 단위 데이터 순서에 따라 복수 개의 데이터 저장 블록들 간에 순번을 지정할 수 있다.
데이터 암호화부(112)는 제1 메모리(114)에 기 저장된 암호화 키가 몇 진수(進數)의 수로 설정되어 있는지에 따라 각각의 데이터 저장 블록을 복수의 시구간으로 나눌 수 있다. 예를 들어, 암호화 키가 5진수인 경우, 데이터 암호화부(112)는 t시간 간격으로 나누어진 n개의 서브 데이터 열로 중, 첫번재 일정 시간(1t)에 대한 첫번째 서브 데이터 열(i)을 5개의 시구간(예를 들어, t1 -1, t1 -2, t1 -3, t1 -4, t1 -5)으로 나눌 수 있다. 또한, 두번째 일정 시간(2t)에 대한 두번째 서브 데이터 열(j)를 5개의 시구간(예를 들어, t2 -1, t2 -2, t2 -3, t2 -4, t2 -5)으로 나눌 수 있다.
데이터 암호화부(112)는 암호화 키에 따라 각 데이터 저장 블록의 일 시구간에 메시지의 단위 데이터를 삽입하고, 일 시구간 이외의 나머지 시구간에 더미 데이터를 삽입하여 서브 데이터 열(예를 들어, 메시지가 n비트인 경우, 제1 서브 데이터 열(i), 제2 서브 데이터 열(j), …, 제n 서브 데이터 열(k))을 생성할 수 있다. 데이터 암호화부(112)는 각 데이터 저장 블록의 순번에 대응하는 암호화 키의 자리수를 확인할 수 있다. 예를 들어, 데이터 암호화부(112)는 제1 서브 데이터 열(i)은 암호화 키의 첫번째 자리수에 위치한 수와 대응되도록 할 수 있고, 제2 서브 데이터 열(j)은 암호화 키의 두번째 자리수에 위치한 수와 대응되도록 할 수 있다.
구체적으로, 데이터 암호화부(112)는 각 데이터 저장 블록의 순번에 대응하는 암호화 키의 자리수에 설정된 숫자에 따라 해당 데이터 저장 블록의 일 시구간에 메시지의 단위 데이터를 삽입할 수 있다. 여기서, 암호화 키는 메시지의 암호화 및 복호화를 수행하기 위한 규칙으로, 서브 데이터 열을 이루는 시구간 중, 메시지의 일부 단위 데이터가 삽입될 시구간을 나타낼 수 있다. 구체적으로, 데이터 암호화부(112)는 암호화 키의 진수에 따라 복수의 채널로 이루어진 각 서브 데이터 열(예를 들어, 메시지가 n비트인 경우, 제1 서브 데이터 열(i), 제2 서브 데이터 열(j), …, 제n 서브 데이터 열(k))의 시구간 중, 각 서브 데이터 열과 대응되는 암호화 키의 수가 나타내는 일 시구간에 메시지의 각 단위 데이터를 삽입하고, 일 시구간 이외의 시구간에 더미 데이터를 삽입함으로써, 암호화 데이터를 생성할 수 있다.
도 5는 본 발명의 제4 실시예에 따른 데이터 암호화 방법의 예시도이다. 여기서는, 도 2 내지 도 4에 도시된 제1 실시예, 제2 실시예 및 제3 실시예와 비교하여 추가되거나 차이가 나는 부분을 중점적으로 설명하기로 한다.
도 5를 참조하면, 데이터 암호화부(112)는 주파수 분할과 시간 분할을 조합하여 메시지를 암호화하여 암호화 데이터를 생성할 수 있다. 구체적으로, 데이터 암호화부(112)는 메시지의 단위 데이터 수를 확인하여 제1 메모리(114)에 메시지의 단위 데이터 수에 대응하는 복수개의 데이터 저장 블록을 할당할 수 있다. 데이터 암호화부(112)는 메시지의 단위 데이터 순서에 따라 복수 개의 데이터 저장 블록들 간에 순번을 지정할 수 있다.
데이터 암호화부(112)는 제1 메모리(114)에 기 저장된 암호화 키가 몇 진수(進數)의 수로 설정되어 있는지에 따라 각각의 데이터 저장 블록을 복수의 시구간으로 나눌 수 있다. 또한, 데이터 암호화부(112)는 기 저장된 암호화 키가 몇 진수(進數)의 수로 설정되어 있는지에 따라 상기 시구간으로 나뉘어진 각각의 데이터 저장 블록을 복수의 채널 구간으로 나눌 수 있다. 예를 들어, 암호화 키가 5진수인 경우, 데이터 암호화부(112)는 t시간 간격으로 나누어진 n개의 서브 데이터 열 중, 첫번재 일정 시간(1t)에 대한 첫번째 서브 데이터 열(l)을 5개의 시구간(예를 들어, t1 -1, t1 -2, t1 -3, t1 -4, t1 -5)으로 나눌 수 있다. 또한, 데이터 암호화부(112)는 서브 데이터 열(l)의 5개의 각각의 시구간을 5개의 채널 구간으로 나눌 수 있다.
데이터 암호화부(112)는 암호화 키에 따라 각 데이터 저장 블록의 일 위치에 메시지의 각 단위 데이터를 삽입하고, 일 위치 이외의 나머지 위치에 더미 데이터를 삽입하여 서브 데이터 열(예를 들어, 메시지가 n비트인 경우, 제1 서브 데이터 열(l), 제2 서브 데이터 열(m), 제3 서브 데이터 열(n) …, 제n 서브 데이터 열(o))을 생성할 수 있다. 데이터 암호화부(112)는 각 데이터 저장 블록의 순번에 대응하는 암호화 키의 자리수를 확인할 수 있다. 여기서, 암호화 키는 메시지의 암호화 및 복호화를 수행하기 위한 규칙으로, 서브 데이터 열을 이루는 구간 중, 메시지의 일부 단위 데이터가 삽입될 위치를 나타내는 순서쌍일 수 있다. 또한, 순서쌍은 시간 분할 방법에 대한 실제 데이터 삽입 위치 및 주파수 분할에 대한 실제 데이터 삽입 위치를 각각 나타내는 두 개의 숫자를 나타내는 것일 수 있다. 데이터 암호화부(112)는 하나의 서브 데이터 열을 구성하는데 있어서, 시간 분할 방법 따라 암호화 데이터가 전송되는 시간을 기 저장된 암호화 키의 진수로 나눈 시구간의 수가 n개이고, 주파수 분할 방법에 따라 암호화 키의 진수로 나눈 채널의 수 m개인 경우, n x m 개의 위치를 갖는 하나의 서브 데이터 열을 생성할 수 있다.
데이터 암호화부(112)는 각 데이터 저장 블록의 순번에 대응하는 암호화 키의 순서쌍에 설정된 위치에 따라 해당 데이터 저장 블록의 위치에 메시지의 단위 데이터를 삽입할 수 있다. 구체적으로, 데이터 암호화부(112)는 암호화 키의 진수에 따라 복수의 위치로 이루어진 각 서브 데이터 열(예를 들어, 메시지가 n비트인 경우, 제1 서브 데이터 열(l), 제2 서브 데이터 열(m), 제3 서브 데이터 열(n) …, 제n 서브 데이터 열(o))의 위치 중, 각 서브 데이터 열과 대응되는 암호화 키의 자리수의 순서쌍이 나타내는 위치에 메시지의 각 단위 데이터를 삽입하고, 일 위치 이외의 위치에는 더미 데이터를 삽입함으로써, 암호화 데이터를 생성할 수 있다.
예를 들어, 데이터 암호화부(112)는 메시지가 142…5(n자리 수의 데이터)인 경우, n개의 데이터 저장 블록을 생성할 수 있다. 또한, 데이터 암호화부(112)는 암호화 키가 5진수로 기 설정되고, 암호화 키가 (2,3), (4,1), (2,2), (1,3), (5,2)의 순서쌍인 경우, 시간 분할에 따른 서브 데이터 열을 5개의 구간으로 나눌 수 있고, 주파수 분할에 따라 5개의 채널을 형성할 수 있다. 데이터 암호화부(112)는 제1 서브 데이터 열(o)에서 암호화 키의 첫번째 순서쌍인 (2,3)에 대응되는 위치에 메시지의 첫번째 수(즉, 첫번째 단위 데이터)인 1을 삽입할 수 있다. 또한, 데이터 암호화부(112)는 제2 서브 데이터 열(m)에서는 암호화 키의 두번째 순서쌍인 (4,1)에 대응되는 위치에 메시지의 두번째 수(즉, 두번째 단위 데이터)인 4를 삽입할 수 있다. 위와 같은 방식으로 데이터 암호화부(112)는 각각의 서브 데이터 열에서 암호화 키와 대응되는 위치에 메시지의 실제 데이터 일부를 삽입할 수 있다.
도 6은 본 발명의 일 실시예에 따른 데이터 암호화 방법의 흐름도이다. 도시된 흐름도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다. 또한 실시예에 따라 상기 방법에 도시되지 않은 하나 이상의 단계들이 상기 방법과 함께 수행될 수도 있다.
도 6을 참조하면, 데이터 암호화부(112)는 제2 단말기(104)로 전송하고자 하는 메시지를 입력받는다(S602). 구체적으로, 데이터 암호화부(112)는 제1 단말기(104)가 암호화하여 제2 단말기(104)로 전송하고자 하는 메시지를 입력받을 수 있다.
다음으로, 데이터 암호화부(112)는 기 저장된 암호화 키를 확인한다(S604). 구체적으로, 데이터 암호화부(112)는 상기 S602 단계에서 입력받은 메시지를 암호화하기 위한 암호화 키를 제1 메모리(114)로부터 확인할 수 있다.
다음으로, 데이터 암호화부(112)는 메시지를 암호화하여 암호화 데이터를 생성한다(S606). 구체적으로, 데이터 암호화부(112)는 메시지의 단위 데이터 수에 따라 제1 메모리(114)에 복수 개의 데이터 저장 블록을 할당할 수 있다. 또한, 데이터 암호화부(112)는 기 설정된 암호화 키의 진수에 따라 각 데이터 저장 블록을 복수 개의 구간으로 나눌 수 있다. 데이터 암호화부(112)는 암호화 키에 따라 각 데이터 저장 블록의 일 구간에는 메시지의 단위 데이터를 삽입하고, 일 구간 이외의 나머지 구간에는 더미 데이터를 삽입하여 복수 개의 서브 데이터 열을 생성할 수 있다. 데이터 암호화부(112)는 상기 생성한 복수개의 서브 데이터 열을 연결함으로써, 메시지를 암호화할 수 있다.
이때, 데이터 암호화부(112)는 비트 수에 따른 암호화 방식, 시간 분할에 따른 암호화 방식, 주파수 분할에 따른 암호화 방식 및 시간과 주파수 조합에 따른 암호화 방식 중 적어도 하나의 방식 및 암호화 키를 이용하여 메시지를 암호화 할 수 있다.
다음으로, 데이터 암호화부(112)는 생성한 암호화 데이터를 제2 단말기(104)로 전송한다(S608). 구체적으로, 데이터 암호화부(112)는 제1 통신부(116)를 통해 생성한 암호화 데이터를 제2 단말기(104)로 전송할 수 있다.
도 7은 예시적인 실시예들에서 사용되기에 적합한 예시적인 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 도시한다.
도 7에 도시된 예시적인 컴퓨팅 환경(300)은 컴퓨팅 장치(310)를 포함한다. 통상적으로, 각 구성은 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 않았더라도 그 구성에 적합한 컴포넌트를 추가적으로 포함할 수 있다. 컴퓨팅 장치(310)는 데이터를 암호화 하는 장치(예를 들어, 제1 단말기(102)) 또는 데이터를 복호화 하는 장치(예를 들어, 제2 단말기(104))) 일 수 있다.
컴퓨팅 장치(310)는 적어도 하나의 프로세서(312), 컴퓨터 판독 가능 저장 매체(314) 및 버스(360)를 포함한다. 프로세서(312)는 버스(360)와 연결되고, 버스(360)는 컴퓨터 판독 가능 저장 매체(314)를 포함하여 컴퓨팅 장치(310)의 다른 다양한 컴포넌트들을 프로세서(312)에 연결한다.
프로세서(312)는 컴퓨팅 장치(310)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(312)는 컴퓨터 판독 가능 저장 매체(314)에 저장된 컴퓨터 실행 가능 명령어를 실행할 수 있고, 컴퓨터 판독 가능 저장 매체(314)에 저장된 컴퓨터 실행 가능 명령어는 프로세서(312)에 의해 실행되는 경우 컴퓨팅 장치(310)로 하여금 소정의 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능 저장 매체(314)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드(예컨대, 애플리케이션(330)에 포함되는 명령어), 프로그램 데이터(예컨대, 애플리케이션(330)에 의해 사용되는 데이터) 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(314)에 저장된 애플리케이션(330)은 프로세서(312)에 의해 실행 가능한 명령어의 소정의 집합을 포함한다.
도 7에 도시된 메모리(316) 및 저장 장치(318)는 컴퓨터 판독 가능 저장 매체(314)의 예이다. 메모리(316)에는 프로세서(312)에 의해 실행될 수 있는 컴퓨터 실행 가능 명령어가 로딩될 수 있다. 또한, 메모리(316)에는 프로그램 데이터가 저장될 수 있다. 예컨대, 이러한 메모리(316)는 랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적합한 조합일 수 있다. 다른 예로서, 저장 장치(318)는 정보의 저장을 위한 하나 이상의 착탈 가능하거나 착탈 불가능한 컴포넌트를 포함할 수 있다. 예컨대, 저장 장치(318)는 하드 디스크, 플래시 메모리, 자기 디스크, 광 디스크, 컴퓨팅 장치(310)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
컴퓨팅 장치(310)는 또한 하나 이상의 입출력 장치(370)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(320)를 포함할 수 있다. 입출력 인터페이스(320)는 버스(360)에 연결된다. 입출력 장치(370)는 입출력 인터페이스(320)를 통해 컴퓨팅 장치(310)(의 다른 컴포넌트들)에 연결될 수 있다. 입출력 장치(370)는 포인팅 장치, 키보드, 터치 입력 장치, 음성 입력 장치, 센서 장치 및/또는 촬영 장치와 같은 입력 장치 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100 : 데이터 암호화 시스템
102 : 제1 단말기
104 : 제2 단말기
112 : 데이터 암호화부
114 : 제1 메모리
116 : 제1 통신부
122 : 제2 통신부
124 : 데이터 복호화부
126 : 제2 메모리
300 : 컴퓨팅 환경
310 : 컴퓨팅 장치
312 : 프로세서
314 : 컴퓨터 판독 가능 저장 매체
316 : 메모리
318 : 저장 장치
320 : 입출력 인터페이스
330 : 애플리케이션
360 : 버스
370 : 입출력 장치

Claims (12)

  1. 데이터 암호화부에서, 메시지의 단위 데이터 수에 따라 메모리 상에 복수 개의 데이터 저장 블럭을 할당하는 단계;
    상기 데이터 암호화부에서, 기 설정된 암호화 키의 진수(進數)에 따라 각 데이터 저장 블럭을 복수 개의 구간으로 나누는 단계;
    상기 데이터 암호화부에서, 상기 암호화 키에 따라 각 데이터 저장 블럭에서 일 구간에 상기 메시지의 단위 데이터를 삽입하고, 각 데이터 저장 블럭의 상기 일 구간 이외의 나머지 구간에 더미 데이터를 삽입하여 복수 개의 서브 데이터 열을 각각 생성하는 단계; 및
    상기 데이터 암호화부에서, 상기 복수 개의 서브 데이터 열을 연결하여 암호화 데이터를 생성하는 단계를 포함하며,
    상기 암호화 키는, N(N은 2 이상의 자연수) 진수이고,
    상기 복수 개의 서브 데이터 열을 각각 생성하는 단계는,
    상기 데이터 암호화부에서, 상기 N 진수에 대응되는 개수의 숫자 또는 문자를 사용하여 상기 메시지의 단위 데이터 및 상기 더미 데이터를 삽입하는, 데이터 암호화 방법.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 복수 개의 구간으로 나누는 단계는,
    상기 데이터 암호화부에서, 상기 데이터 저장 블록을 상기 암호화 키의 진수에 따라 복수 개의 시구간으로 나누는 단계; 및
    상기 데이터 암호화부에서, 상기 각 시구간을 상기 암호화 키의 진수에 따라 복수 개의 주파수 구간으로 나누는 단계를 포함하는, 데이터 암호화 방법.
  4. 청구항 1에 있어서,
    상기 일 구간에 상기 메시지의 단위 데이터를 삽입하는 단계는,
    상기 데이터 암호화부에서, 상기 메시지의 단위 데이터의 순서에 따라 상기 복수 개의 데이터 저장 블록들 간에 순번을 지정하는 단계; 및
    상기 데이터 암호화부에서, 각 데이터 저장 블록의 순번에 대응하는 상기 암호화 키의 자리수에 설정된 숫자에 따라 해당 데이터 저장 블록의 일 구간에 상기 메시지의 단위 데이터를 삽입하는 단계를 포함하는, 데이터 암호화 방법.
  5. 하나 이상의 프로세서;
    메모리; 및
    하나 이상의 프로그램을 포함하는 장치로서,
    상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,
    상기 프로그램은,
    메시지의 단위 데이터 수에 따라 상기 메모리 상에 복수 개의 데이터 저장 블럭을 할당하는 단계;
    기 설정된 암호화 키의 진수(進數)에 따라 각 데이터 저장 블럭을 복수 개의 구간으로 나누는 단계;
    상기 암호화 키에 따라 각 데이터 저장 블럭에서 일 구간에 상기 메시지의 단위 데이터를 삽입하고, 각 데이터 저장 블럭의 상기 일 구간 이외의 나머지 구간에 더미 데이터를 삽입하여 복수 개의 서브 데이터 열을 각각 생성하는 단계; 및
    상기 복수 개의 서브 데이터 열을 연결하여 암호화 데이터를 생성하는 단계를 실행하기 위한 명령어들을 포함하며,
    상기 암호화 키는, N(N은 2 이상의 자연수) 진수이고,
    상기 프로그램은, 복수 개의 서브 데이터 열을 각각 생성하는 단계에서,
    상기 N 진수에 대응되는 개수의 숫자 또는 문자를 사용하여 상기 메시지의 단위 데이터 및 상기 더미 데이터를 삽입하기 위한 명령어들을 포함하는, 장치.
  6. 삭제
  7. 청구항 5에 있어서,
    상기 프로그램은, 상기 복수 개의 구간으로 나누는 단계에서,
    상기 데이터 저장 블록을 상기 암호화 키의 진수에 따라 복수 개의 시구간으로 나누는 단계; 및
    상기 각 시구간을 상기 암호화 키의 진수에 따라 복수 개의 주파수 구간으로 나누는 단계를 실행하기 위한 명령어들을 포함하는 장치.
  8. 청구항 5에 있어서,
    상기 프로그램은, 상기 일 구간에 상기 메시지의 단위 데이터를 삽입하는 단계에서,
    상기 메시지의 단위 데이터의 순서에 따라 상기 복수 개의 데이터 저장 블록들 간에 순번을 지정하는 단계; 및
    각 데이터 저장 블록의 순번에 대응하는 상기 암호화 키의 자리수에 설정된 숫자에 따라 해당 데이터 저장 블록의 일 구간에 상기 메시지의 단위 데이터를 삽입하는 단계를 실행하기 위한 명령어들을 포함하는 장치.
  9. 암호화 키를 공유하는 제1 단말기 및 제2 단말기를 포함하고, 상기 제1 단말기 및 상기 제2 단말기 간에 데이터를 송수신하는 시스템으로서,
    상기 제1 단말기는,
    메시지의 단위 데이터 에 따라 메모리 상에 복수 개의 데이터 저장 블럭을 할당하는 동작;
    상기 암호화 키의 진수(進數)에 따라 각 데이터 저장 블럭을 복수 개의 구간으로 나누는 동작;
    상기 암호화 키에 따라 각 데이터 저장 블럭에서 일 구간에 상기 메시지의 단위 데이터를 삽입하고, 각 데이터 저장 블럭의 상기 일 구간 이외의 나머지 구간에 더미 데이터를 삽입하여 복수 개의 서브 데이터 열을 각각 생성하는 동작; 및
    상기 복수 개의 서브 데이터 열을 연결하여 암호화 데이터를 생성하고, 생성된 암호화 데이터를 전송하는 동작을 수행하도록 구성되고,
    상기 제2 단말기는,
    상기 암호화 데이터를 수신하는 동작;
    기 설정된 상기 암호화 키의 진수에 따라 상기 암호화 데이터를 복수 개의 서브 데이터 열로 구분하는 동작;
    상기 암호화 키에 따라 각 서브 데이터 열의 복수 개의 구간 중 일 구간에서 상기 메시지의 단위 데이터를 추출하는 동작;
    상기 각 서브 데이터열에서 추출한 상기 단위 데이터를 연결하여 상기 메시지를 복원하는 동작을 수행하도록 구성되며,
    상기 암호화 키는, N(N은 2 이상의 자연수) 진수이고,
    상기 제1 단말기는, 상기 복수 개의 서브 데이터 열을 각각 생성하는 동작에서,
    상기 N 진수에 대응되는 개수의 숫자 또는 문자를 사용하여 상기 메시지의 단위 데이터 및 상기 더미 데이터를 삽입하는, 시스템.

  10. 삭제
  11. 청구항 9에 있어서,
    상기 제1 단말기는, 상기 복수 개의 구간으로 나누는 동작에서,
    상기 데이터 저장 블록을 상기 암호화 키의 진수에 따라 복수 개의 시구간으로 나누는 동작; 및
    상기 각 시구간을 상기 암호화 키의 진수에 따라 복수 개의 주파수 구간으로 나누는 동작을 수행하도록 구성되는, 시스템.
  12. 청구항 9에 있어서,
    상기 제1 단말기는, 상기 일 구간에 상기 메시지의 단위 데이터를 삽입하는 동작에서,
    상기 메시지의 단위 데이터의 순서에 따라 상기 복수 개의 데이터 저장 블록들 간에 순번을 지정하는 동작; 및
    각 데이터 저장 블록의 순번에 대응하는 상기 암호화 키의 자리수에 설정된 숫자에 따라 해당 데이터 저장 블록의 일 구간에 상기 메시지의 단위 데이터를 삽입하는 동작을 수행하도록 구성되는 시스템.
KR1020160013086A 2016-02-02 2016-02-02 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템 KR101757768B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160013086A KR101757768B1 (ko) 2016-02-02 2016-02-02 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160013086A KR101757768B1 (ko) 2016-02-02 2016-02-02 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템

Publications (1)

Publication Number Publication Date
KR101757768B1 true KR101757768B1 (ko) 2017-07-14

Family

ID=59358426

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160013086A KR101757768B1 (ko) 2016-02-02 2016-02-02 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템

Country Status (1)

Country Link
KR (1) KR101757768B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710359A (zh) * 2022-04-15 2022-07-05 辽宁工控科技有限公司 工业网络动态密钥管理方法及工业网络加密通信方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001305954A (ja) * 2000-04-19 2001-11-02 Hitachi Ltd おとり暗号方法
KR100446336B1 (ko) * 2003-05-20 2004-09-01 엔에이치엔(주) 데이터 암호화 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001305954A (ja) * 2000-04-19 2001-11-02 Hitachi Ltd おとり暗号方法
KR100446336B1 (ko) * 2003-05-20 2004-09-01 엔에이치엔(주) 데이터 암호화 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710359A (zh) * 2022-04-15 2022-07-05 辽宁工控科技有限公司 工业网络动态密钥管理方法及工业网络加密通信方法
CN114710359B (zh) * 2022-04-15 2024-02-06 沈阳邦粹科技有限公司 工业网络动态密钥管理方法及工业网络加密通信方法

Similar Documents

Publication Publication Date Title
US10187200B1 (en) System and method for generating a multi-stage key for use in cryptographic operations
CN101340279B (zh) 数据加密及解密方法、系统及设备
US8254570B2 (en) Method and system for encryption of data
US10009170B2 (en) Apparatus and method for providing Feistel-based variable length block cipher
US8345876B1 (en) Encryption/decryption system and method
US8675864B2 (en) Apparatus for encrypting data
US8180048B2 (en) Method and system for computational transformation
WO2011143257A1 (en) Format-preserving encryption via rotating block encryption
US20140334623A1 (en) Rapid data encryption and decryption for secure communication over open channels with plausible deniability
KR101727312B1 (ko) 순서 보존 암호화 및 복호화 장치와 그 방법
CN114244507B (zh) 基于单路传输的量子直接通信方法、装置、设备和系统
US20110182419A1 (en) Encryption algorithm with randomized buffer
KR20150122494A (ko) 암호화 장치, 암호화 방법, 복호화 방법 및 컴퓨터 판독가능 기록매체
KR101757768B1 (ko) 데이터 암호화 방법과 이를 수행하기 위한 장치 및 시스템
EP3298720B1 (en) Computing with encrypted values
KR101428648B1 (ko) 블록 토큰 기반의 암호화 방법 및 블록 토큰 기반의 복호화 방법
KR101566416B1 (ko) 보안성이 향상된 암·복호화 장치 및 방법
US7539305B2 (en) Schryption method and device
KR20180081469A (ko) 경량암호 알고리즘 기반의 스마트 기기 내의 개인정보 및 콘텐츠 암복호화를 통한 정보 보안 시스템, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
KR20170103321A (ko) 보안성이 강화된 순서보존 암호화 방법 및 장치
KR20170005850A (ko) 암호 장치, 기억 시스템, 복호 장치, 암호 방법, 복호 방법, 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 및 복호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
RU2254685C2 (ru) Способ шифрующего преобразования информации
Charru et al. Improved Cryptography Algorithm to Enhanced Data Security
US20190034661A1 (en) Method for safeguarding the confidentiality of the sender's identification of messages transmitted through promiscuous channels
US11664976B2 (en) Method and devices for creating redundancy and encryption using Mojette Transform

Legal Events

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