KR20120023311A - 비트 조합 순서를 이용한 암호화 방법 및 장치 - Google Patents

비트 조합 순서를 이용한 암호화 방법 및 장치 Download PDF

Info

Publication number
KR20120023311A
KR20120023311A KR1020100085733A KR20100085733A KR20120023311A KR 20120023311 A KR20120023311 A KR 20120023311A KR 1020100085733 A KR1020100085733 A KR 1020100085733A KR 20100085733 A KR20100085733 A KR 20100085733A KR 20120023311 A KR20120023311 A KR 20120023311A
Authority
KR
South Korea
Prior art keywords
pattern
bit
encryption
data
code
Prior art date
Application number
KR1020100085733A
Other languages
English (en)
Other versions
KR101148560B1 (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 KR1020100085733A priority Critical patent/KR101148560B1/ko
Publication of KR20120023311A publication Critical patent/KR20120023311A/ko
Application granted granted Critical
Publication of KR101148560B1 publication Critical patent/KR101148560B1/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

비트로 표현된 데이터를 암호화하는 방법 및 장치에 관한 것으로서, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 암호화 하려는 데이터 중에서 소정 영역의 비트를 선택하는 비트 선택부, 상기 선택된 비트를 포함하는 비트열과 상기 암호화 하려는 데이터를 논리 연산하여 1차 암호화된 데이터를 생성하는 제1 암호화부, 상기 선택된 비트를 임의의 코드로 변환하는 변환부 및 상기 1차 암호화된 데이터 및 상기 그레이 코드를 비트 조합 순서에 대한 패턴 형식에 따라 재조합 하여 2차 암호화된 데이터를 생성하는 제2 암호화부를 포함한다.

Description

비트 조합 순서를 이용한 암호화 방법 및 장치{APPARATUS AND METHOD FOR ENCRYPTION USING MIXTURE OF BIT DATA}
기술분야는 비트로 표현된 데이터를 암호화하는 방법 및 장치에 관한 것이다.
암호(cryptography)는 경제?금융분야에서 널리 사용된 이래, 동일성의 인증 (Authentication), 암호화 키에 대한 관리(Key Management), 디지털 서명(Digital Signature) 및 신원확인(Identity Verification) 등 광범위하게 사용되고 있다.
암호화 기술은 메시지 전송의 안전을 보장하기 위하여 자주 사용된다. 암호화 기술은 전송측(transmission side)에서 평문(plaintext)을 부호화(encrypt)하고, 수신측(receiving side)에서 암호문(ciphertext)을 해독(decrypt) 하는 것을 포함한다. 데이터 암호화 표준(Data Encryption Standard: DES)은 여러 나라들과 ANSI(American National Standards Institute)에서 표준으로 채용된 블록단위 암호화 프로토콜이다. 이외에도 암호화 프로토콜에는 3-DES 및 AES(Advanced Encryption Standard) 등이 있다.
암호해독은 해독키의 관리소홀, 비밀번호의 예측가능성, 또는 통신망에서 키보드 입력에 대한 모니터링 등으로도 가능하다. 암호를 해독하는 기술로는 단순 암호문 공격(Ciphertext Only Attack), 평문공격(Known Plaintext Attack), 선택 평문공격(Chosen Plaintext Attack), 최적 선택 평문 공격(Adaptively Chosen Plaintext Attack), 시간 공격 (timing attack) 및 DPA(또는 '전력분석'이라 함)공격 등이 있다.
본 발명은 데이터의 배타적 논리합 연산, 임의의 코드 변환 및 패턴 형식을 이용한 비트의 재조합을 통해 암호화/복호화에 필요한 복잡한 연산 과정을 줄임으로써 처리 속도가 빠른 비트 조합 순서를 이용한 암호화 장치 및 방법을 제공한다.
또한, 본 발명은 패턴 형식이 저장되어 있는 패턴코드 표를 변경함으로써 보안키 유출이나 암호해독과 같은 보안사고가 발생하는 경우 신속하게 대처할 수 있는 비트 조합 순서를 이용한 암호화 장치 및 방법을 제공한다.
본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 암호화 하려는 데이터 중에서 소정 영역의 비트를 선택하는 비트 선택부, 상기 선택된 비트를 포함하는 비트열과 상기 암호화 하려는 데이터를 논리 연산하여 1차 암호화된 데이터를 생성하는 제1 암호화부, 상기 선택된 비트를 임의의 코드로 변환하는 변환부 및 상기 1차 암호화된 데이터 및 상기 임의의 코드를 비트 조합 순서에 대한 패턴 형식에 따라 재조합 하여 2차 암호화된 데이터를 생성하는 제2 암호화부를 포함한다.
상기 제1 암호화부는 상기 선택된 비트를 상기 암호화 하려는 데이터와 동일한 크기만큼 반복하여 연속된 비트열을 생성하는 비트열 생성부를 포함할 수 있다.
상기 제1 암호화부는 상기 선택된 비트를 포함하는 비트열과 상기 암호화 하려는 데이터에 대하여 배타적 논리합 연산을 수행할 수 있다.
상기 변환부는 상기 선택된 비트를 그레이 코드(gray code)로 변환할 수 있다.
상기 제2 암호화부는 상기 임의의 코드를 상기 1차 암호화된 데이터에 삽입하는 삽입부를 포함할 수 있다.
상기 제2 암호화부는 상기 패턴 형식을 패턴 코드를 이용하여 패턴코드 표로부터 결정하는 패턴 형식 결정부를 포함하고, 상기 1차 암호화된 데이터 및 상기 임의의 코드를 상기 결정된 패턴 형식에 따라 재조합할 수 있다.
또한, 본 발명의 다른 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 상기 패턴코드 표를 저장하는 패턴코드 저장부를 더 포함할 수 있다.
상기 패턴 형식은 상기 패턴 형식에 포함된 패턴 코드 비트에 의하여 구별될 수 있다.
상기 제2 암호화부는 패턴 코드에 따라 상기 1차 암호화된 데이터 및 상기 임의의 코드를 복수개의 패턴 형식으로 2차 암호화할 수 있다.
상기 복수개의 패턴 형식은 상기 2차 암호화된 데이터에 아이디(ID) 비트가 추가되어 구별될 수 있다.
또한, 본 발명의 다른 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 상기 2차 암호화된 데이터에 상기 암호화 하려는 데이터 외에 추가적인 정보를 부여하는 추가 정보 처리부를 더 포함할 수 있다.
상기 패턴은 적어도 하나의 정보 패턴 또는 허위 정보 패턴을 포함할 수 있다.
본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 방법은 암호화 하려는 데이터 중에서 소정 영역의 비트를 선택하는 단계, 상기 선택된 비트를 포함하는 비트열과 상기 암호화 하려는 데이터를 논리 연산하여 1차 암호화된 데이터를 생성하는 단계, 상기 선택된 비트를 임의의 코드로 변환하는 단계 및 상기 1차 암호화된 데이터 및 상기 임의의 코드를 비트 조합 순서에 대한 패턴 형식에 따라 재조합 하여 2차 암호화된 데이터를 생성하는 단계를 포함한다.
상기 1차 암호화하는 단계는 상기 선택된 비트를 상기 암호화 하려는 데이터와 동일한 크기만큼 반복하여 연속된 비트열을 생성하는 단계를 포함할 수 있다.
상기 1차 암호화하는 단계는 상기 선택된 비트를 포함하는 비트열과 상기 암호화 하려는 데이터에 대하여 배타적 논리합 연산을 수행할 수 있다.
상기 2차 암호화하는 단계는 상기 임의의 코드를 상기 1차 암호화된 데이터에 삽입하는 단계를 포함할 수 있다.
상기 2차 암호화하는 단계는 상기 패턴 형식을 패턴 코드를 이용하여 패턴코드 표로부터 결정하는 단계를 포함하고, 상기 1차 암호화된 데이터 및 상기 임의의 코드를 상기 결정된 패턴 형식에 따라 재조합할 수 있다.
또한, 본 발명의 다른 일실시예에 따른 비트 조합 순서를 이용한 암호화 방법은 상기 2차 암호화된 데이터에 상기 암호화 하려는 데이터 외에 추가적인 정보를 부여하는 단계를 더 포함할 수 있다.
본 발명은 데이터의 배타적 논리합 연산, 임의의 코드 변환 및 패턴 형식을 이용한 비트의 재조합을 통해 암호화/복호화에 필요한 복잡한 연산 과정을 줄임으로써 처리 속도가 빠른 비트 조합 순서를 이용한 암호화 장치 및 방법을 제공할 수 있다.
또한, 본 발명은 패턴 형식이 저장되어 있는 패턴코드 표를 변경함으로써 보안키 유출이나 암호해독과 같은 보안사고가 발생하는 경우 신속하게 대처할 수 있는 비트 조합 순서를 이용한 암호화 장치 및 방법을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치의 블록도이다.
도 2는 본 발명의 일실시예에 따른 패턴의 형식을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 패턴코드 표의 일 예를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 패턴코드 표의 다른 일 예를 나타낸 도면이다.
도 5a, 5b는 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치를 적용한 구체적 일 예를 나타낸다.
도 6a, 6b는 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치를 적용한 다른 일 예를 나타낸다.
도 7은 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 방법의 흐름도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 복잡한 연산이 요구되지 않아, 사양이 낮은 스마트폰, PDA, 핸드폰에 사용되어 강한 보안성을 갖출 수 있다. 또한, 바코드 RFID, 온라인 문서 위조, 변조 및 사용자 인증 등의 분야에서 강한 보안성 뿐만 아니라 패턴코드 표의 변경을 통해 신속하게 보안 사고에 대처하게 할 수 있다.
도 1은 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치의 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 비트 선택부(110), 제1 암호화부(120), 변환부(130), 제2 암호화부(140), 패턴코드 저장부(150), 추가정보 처리부(160)를 포함한다.
비트 선택부(110)는 암호화 하려는 데이터 중에서 소정 영역의 비트를 선택한다. 암호화 하려는 데이터는 ASCII 코드 변환을 통해 비트로 표현될 수 있다. 소정 영역이란 비트로 표현된 데이터의 일부 영역을 의미한다. 소정 영역은 사용자에 의해 임의로 설정될 수 있다. 또한, 소정 영역은 데이터의 암호화 속도를 고려하여 영역의 크기 별로 미리 설정될 수 있다. 사용자에 의해 임의로 설정되는 소정 영역 및 암호화 속도를 고려하여 미리 설정된 소정 영역은 제어부(도시되지 않음)에 의해 제어될 수 있다.
제1 암호화부(120)는 선택된 비트를 포함하는 비트열과 암호화 하려는 데이터를 논리 연산하여 1차 암호화된 데이터를 생성한다. 제1 암호화부(120)는 비트열 생성부(121)를 포함할 수 있다. 비트열 생성부(121)는 비트 선택부(110)에서 선택된 비트를 반복 배치하여 암호화 하려는 데이터와 동일한 크기를 가진 비트열을 생성할 수 있다. 또한, 제1 암호화부(120)는 비트 선택부(110)에서 선택된 비트를 포함하는 비트열과 암호화 하려는 데이터에 대하여 배타적 논리합 연산(XOR)을 수행할 수 있다. 즉, 제1 암호화부(120)는 선택된 비트를 반복 배치하여 생성된, 암호화 하려는 데이터와 동일한 크기를 가진 비트열과 암호화 하려는 데이터에 대하여 배타적 논리합 연산을 수행할 수 있다.
변환부(130)는 비트 선택부(110)에서 선택된 비트를 임의의 코드로 변환한다. 변환부(130)는 선택된 비트를 특정 코드 변환법에 기초하여 임의의 코드로 변환할 수 있다. 또한, 변환부(130)는 선택된 비트를 코드표에서 랜덤하게 설정된 코드 변환에 기초하여 임의의 코드로 변환할 수 있다. 예를들면, 변환부(130)는 선택된 비트를 그레이 코드 변환식 또는 그레이 코드 변환표를 이용하여 그레이 코드로 변환할 수 있다.
제2 암호화부(140)는 1차 암호화된 데이터 및 임의의 코드를 비트 조합 순서에 대한 패턴 형식에 따라 재조합 하여 2차 암호화된 데이터를 생성한다. 제2 암호화부(140)는 삽입부(141)를 포함할 수 있다. 삽입부(141)는 변환부(130)에서 변환된 임의의 코드를 1차 암호화된 데이터에 삽입할 수 있다. 삽입부(141)는 임의의 코드를 비트 선택부(110)에서 비트가 선택된 소정 영역에 삽입할 수 있다. 또한, 제2 암호화부(140)는 패턴 형식 결정부(143)를 포함할 수 있다. 패턴 형식 결정부(143)는 패턴 코드를 이용하여 패턴코드 표로부터 패턴 형식을 결정할 수 있다. 패턴 코드는 사용자에 의해 결정될 수 있다. 또한, 패턴 코드는 랜덤하게 결정될 수 있다. 제2 암호화부(140)는 1차 암호화된 데이터 및 임의의 코드를 패턴 형식 결정부(143)에서 결정된 패턴 형식에 따라 재조합 할 수 있다. 패턴 형식은 비트의 조합 순서에 대해 정의하고 있으며, 패턴 코드 비트에 의해 구별될 수 있다. 또한, 패턴은 비트의 조합 순서를 나타내는 정보 패턴 및 암호 해독이 어렵도록 정보 패턴에 추가된, 비트의 조합 순서와 관계없는 허위 정보 패턴으로 구별될 수 있다.
또한, 제2 암호화부(140)는 패턴 코드에 따라 1차 암호화된 데이터 및 임의의 코드를 복수개의 패턴 형식으로 2차 암호화할 수 있다. 복수개의 패턴 형식이란 복수개의 암호문을 의미한다. 제2 암호화부(140)는 패턴 코드를 이용하여 패턴코드 표에 저장된 패턴 형식이 복수개의 패턴 형식이면, 1차 암호화된 데이터 및 임의의 코드를 복수개의 암호문으로 2차 암호화 할 수 있다. 여기서 복수개의 패턴 형식은 2차 암호화된 데이터에 아이디(ID) 비트가 추가되어 구별될 수 있다. 복수개의 패턴 형식이 구별된다는 것은 먼저 2차 암호화에 적용될 패턴 형식과 나중에 적용될 패턴 형식이 구별된다는 것이다. 순서는 아이디 비트의 크기에 따라 결정될 수 있다. 아이디 비트는 적어도 하나 이상의 비트를 포함할 수 있다.
패턴코드 저장부(150)는 패턴코드 표를 저장할 수 있다. 패턴코드 표에는 패턴 형식에 대한 정보가 저장되어 있다. 패턴코드 표는 일종의 패턴 코드에 의해 분류되는 패턴 형식에 대한 데이터베이스를 의미할 수 있다. 패턴형식 결정부(143)는 패턴코드 저장부(150)에 저장된 패턴코드 표에서 패턴 코드에 해당하는 패턴 형식을 결정할 수 있다. 제2 암호화부(140)는 패턴형식 결정부(143)에서 결정된 패턴 형식에 따라 1차 암호화된 데이터 및 임의의 코드를 재조합할 수 있다. 패턴코드 저장부(150)에 저장된 패턴코드 표를 변경함으로써 신속하게 보안 사고에 대처할 수 있다.
추가정보 처리부(160)는 제2 암호화부(140)에서 2차 암호화된 데이터에 암호화 하려는 데이터 외에 추가적인 정보를 부여할 수 있다. 추가적인 정보는 2차 암호화된 데이터에 추가 비트를 생성하는 방식으로 부여될 수 있다. 여기서 추가적인 정보란 패턴코드 표가 일회용인지 여부, 암호화된 데이터의 복호화 가능한 횟수, 복호화가 가능한 기간 및 접근권한 등에 관한 정보를 포함할 수 있다.
또한, 비트 선택부(110), 제1 암호화부(120), 변환부(130) 및 제2 암호부(140)의 동작은 제어부(도시되지 않음)에 의해 제어될 수 있다. 또한, 비트 선택부(110), 제1 암호화부(120), 변환부(130) 및 제2 암호부(140)는 하나의 프로세서에 포함될 수 있다.
도 2는 본 발명의 일실시예에 따른 패턴의 형식을 나타낸 도면이다.
도 2를 참조하면, 본 발명의 일실시예에 따른 패턴 형식은 슬라이스(Slice), 코드(Code) 및 아이디(ID)를 포함할 수 있다. 암호문의 형태는 패턴 형식과 동일하다. 슬라이스는 암호화된 데이터의 재조합을 위해 임의의 크기로 나누어진 비트 조각을 의미한다. 코드는 패턴코드 표에서 패턴 형식을 선택하기 위한 코드 값이다. 데이터를 2개 이상의 암호문으로 암호화하는 경우에는 2개 이상의 패턴 형식을 이용할 수 있다. 이때, 패턴 형식에 아이디가 추가되어 각각의 패턴을 구별하기 위한 구별 번호로 사용될 수 있다. 또한, 패턴은 크게 정보 패턴과 허위 정보 패턴으로 구성될 수 있다. 정보 패턴은 실제 정보를 암호화 하기 위해 사용되는 패턴이다. 허위 정보 패턴은 해독을 어렵게 하기 위해 임의의 허위 정보를 담고 있는 패턴이다.
도 2를 참조하면, (A)는 한 개의 패턴 형식으로 암호화 되는 경우를 나타낸다. (B)는 두 개의 패턴 형식으로 암호화 되는 경우를 나타낸다. (A) 및 (B)의 경우에 패턴 형식은 슬라이스(210) 및 코드(220,230,250,280)로 이루어진다. (B)의 경우에는 아이디 비트(240,260,270,290)가 추가된다.
(A) 및 (B)의 경우에 공통적으로, 데이터는 슬라이스, 코드 및 아이디의 순서에 의해 암호화되는 것이므로, 슬라이스, 코드 및 아이디가 고정된 위치를 가지거나 일정한 크기를 가질 필요는 없다. 패턴코드 표에 저장된 패턴 형식에서 각 패턴 형식의 전체 비트 수, 할당 된 아이디 및 코드의 비트 수는 동일하다. 또한, 동일한 패턴코드 표에서 코드와 아이디 비트의 위치는 같고, 슬라이스의 조합 순서는 다르다. 즉, 패턴코드 표에 저장된 패턴 형식은 슬라이스의 조합 순서가 상이한 형태이며, 코드 값에 의해 구별될 수 있다. 패턴 형식에서 코드 비트는 인접하여 연속으로 배치될 수도 있고, 분할되어 비트 별로 상이한 위치에 배치될 수도 있다.
(B)의 경우에 복수개의 패턴 형식은 추가된 아이디 비트로 표현 가능한 개수만큼 가능하다. 아이디 비트는 분할되어 비트 별로 상이한 위치에 배치된다. 코드 비트는 패턴을 구성하는 정보 패턴에 나누어 각각 1비트씩 삽입될 수 있다. 허위 정보 패턴에는 임의의 값을 넣을 수 있다.
도 3은 본 발명의 일실시예에 따른 패턴코드 표의 일 예를 나타낸 도면이다.
도 3을 참조하면, 패턴코드 표에는 한 개의 암호문을 생성하는 경우의 패턴 형식이 나타나 있다. 패턴 코드는 A, B 두 개의 비트로 표현되며, 패턴 형식에서 비트 번호 16(320) 및 비트 번호 23(310)에 배치되어 있다. 두 개의 비트로는 4가지 경우를 표현 할 수 있으므로, 패턴 형식은 슬라이스의 조합 순서가 상이한 4가지 경우로 표현될 수 있다. 도 3을 참조하면, 패턴 형식은 전체 29개의 비트로 구성되어 있으며, 23번째 비트 및 16번째 비트는 코드 비트로 사용되고, 나머지 27개 비트의 조합 순서에 의해 4가지 경우로 구별될 수 있다. 이때, 27개 비트의 조합 순서는 사용자에 의해 임의로 설정될 수도 있고, 랜덤하게 설정될 수도 있다.
도 4는 본 발명의 일실시예에 따른 패턴코드 표의 다른 일 예를 나타낸 도면이다.
도 4를 참조하면, 패턴코드 표에는 두 개의 암호문을 생성하는 경우의 패턴 형식이 나타나 있다. 패턴은 정보 패턴 및 허위 정보 패턴을 포함할 수 있다. 정보 패턴은 실제 정보를 암호화 하기 위해 사용되는 패턴이다. 허위 정보 패턴은 해독을 어렵게 하기 위해 임의의 허위 정보를 담고 있는 패턴이다. 패턴 코드는 A, B 두 개의 비트로 표현되며, 패턴 형식에서 비트 번호 9(412) 및 비트 번호 9(415)에 배치되어 있다. 두 개의 암호문을 형성하는 경우에는 각 패턴 형식에 코드 비트가 하나씩 배치될 수 있다. 또한, 아이디 비트가 추가된다. 아이디 비트는 복수개의 암호문을 형성하는 경우에, 각 암호문을 구별하기 위해 사용될 수 있다. 허위 정보 패턴에는 임의의 비트가 배치될 수 있다.
도 4를 참조하면, 정보 패턴 및 허위 정보 패턴은 17개의 비트로 구성되며, 비트 번호 13(411,414,417) 및 비트 번호 3(413,416,419)은 아이디 비트로 사용되고, 비트 번호 9(412,415,418)는 코드 비트로 사용될 수 있다. 따라서, 17개의 비트 중 3개의 비트를 제외한 14개의 비트의 조합 순서를 통해 패턴 형식이 결정될 수 있다. 두 개의 암호문이 생성되므로 코드 비트는 각 암호문에 한 개씩 배치(412,415)될 수 있다. 코드 비트로 A, B 두 개의 비트가 할당되므로, 4가지 경우(00,01,10,11)의 패턴 형식을 생성할 수 있다.
도 5a 및 도 5b는 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치를 적용한 구체적 일 예를 나타낸다.
본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치를 통하여 암호화 하려는 데이터는 알파벳 문자 CODE이다. 알파벳 문자 CODE를 ASCII 코드로 변환하면, C는 1000011, O는 1101111, D는 1100100, E는 1100101로 변환된다. (A)는 데이터 CODE의 ASCII 코드로 변환된 결과를 나타낸다. 따라서, 데이터 CODE는 총 28개의 비트로 표현될 수 있다.
비트 선택부(110)는 (B)의 데이터에서, 비트 번호 18부터 비트 번호 22까지(510)를 소정 영역으로 하여 비트를 선택할 수 있다. 비트열 생성부(121)는 선택된 비트(510)를 반복하여 총 28개의 비트로 구성된 비트열(520)을 생성할 수 있다. 제1 암호화부(120)는 (B)에서 데이터와 비트열에 대하여 배타적 논리합 연산(XOR)을 수행할 수 있다. 배타적 논리합 연산(XOR) 결과가 (B)의 XOR 결과에 나타나 있다.
변환부(130)는 선택된 비트(510)를 임의의 코드로 변환한다. 도 5a에서는 변환부(130)가 선택된 비트(510)를 그레이 코드(530)로 변환하는 경우를 예로 들었다. 변환부(130)는 선택된 비트(11110)에 대하여 가장 왼쪽 비트는 그대로 가져오고, 나머지 비트는 왼쪽의 비트와 배타적 논리합 연산을 수행하여 그레이 코드로 변환할 수 있다. 따라서, 변환부(130)를 통해 변환된 그레이 코드는 10001(530)이다. 삽입부(141)는 그레이 코드(530)를 제1 암호화부(120)에서 배타적 논리합 연산을 수행한 결과에 삽입할 수 있다. 그레이 코드(530)가 삽입되는 위치는 비트 선택부(110)에 의해 선택된 비트의 소정 영역(540)이다. (C)는 제1 암호화부(120)에서 배타적 논리합 연산을 수행한 결과 및 그레이 코드(530)를 나타낸다. (D)는 제1 암호화부(120)에서 배타적 논리합 연산을 수행한 결과에 그레이 코드(530)가 삽입된 결과를 나타낸다.
도 5b는 패턴 코드에 따라 패턴 형식이 결정됨으로써, 결정된 패턴 형식에 의해 한 개의 암호문이 생성되는 경우를 나타낸다. 패턴형식 결정부(143)는 패턴코드 표에서 패턴 코드가 결정되면, 결정된 패턴 코드에 따라 패턴 형식을 결정할 수 있다. 패턴 코드는 사용자에 의해 결정될 수도 있고, 랜덤하게 결정될 수도 있다. (E)는 도 3의 패턴코드 표에서 패턴 코드가 01로 결정되는 경우의 패턴 형식을 나타낸다. 패턴 형식은 30개의 비트로 구성되며, 비트 번호 24 및 비트 번호 17이 패턴 코드 비트로 사용된다. (D)의 결과 값은 (E)의 0부터 27까지의 순서에 따라 재조합 될 수 있다. (F)는 (D)의 결과 값을 (E)의 순서에 따라 재조합 한 결과를 나타낸다.
도 6a 및 도 6b는 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치를 적용한 다른 일 예를 나타낸다.
도 6a 및 도 6b는 도 5a에서 (A),(B),(C),(D)의 과정을 통과한 후, 패턴 코드에 따라 패턴 형식이 결정됨으로써, 결정된 패턴 형식에 의해 두 개의 암호문이 생성되는 경우를 나타낸다. 도 4의 패턴코드 표에서 패턴 코드가 00으로 결정되면, 패턴형식 결정부(143)는 패턴 코드에 해당되는 패턴 형식을 결정할 수 있다. 복수개의 암호문이 생성되는 경우에는 패턴이 정보 패턴 및 허위 정보 패턴을 포함할 수 있다. (A)에서는 패턴이 두 개의 정보 패턴 및 하나의 허위 정보 패턴으로 구성된다. 두 개의 정보 패턴 형식은 아이디 비트로 구별될 수 있다. 각 정보 패턴 형식은 17개의 비트로 구성되며, 2개의 아이디 비트 및 1개의 코드 비트를 포함할 수 있다. 따라서, 전체 정보 패턴 형식은 34개의 비트로 구성되고, 4개의 아이디 비트 및 2개의 코드 비트를 포함할 수 있다. 28개의 비트가 비트의 조합 순서를 위해 사용될 수 있다. 허위 정보 패턴 형식에 배치된 비트는 임의의 비트 값으로 특별한 의미를 가지고 있지 않다. 정보 패턴에서 비트 번호 13 및 비트 번호 3은 아이디 비트로 사용되고, 비트 번호 9는 코드 비트로 사용된다. (B)는 도 5a에서 (D)의 결과 값으로, 제1 암호화부(120)에서 배타적 논리합 연산을 수행한 결과에 그레이 코드(530)가 삽입된 결과를 나타낸다. 즉, (B)는 재조합 될 데이터를 나타낸다. 제2 암호화부(140)는 결정된 패턴 형식에 따라 제1 암호화된 데이터 및 그레이 코드를 재조합 할 수 있다. 즉, 제2 암호화부(140)는 (A)에서 결정된 패턴 형식에 따라 (B)의 데이터를 재조합 할 수 있다. (C)는 정보 패턴에 의해 (B)의 데이터가 재조합 된 결과를 나타낸다. (D)는 (C)의 결과에 (A)의 허위 정보 패턴이 추가된 결과를 나타낸다. 허위 정보 패턴은 정보 패턴에 더미로 추가되어 암호 해독을 어렵게 할 수 있다.
도 7은 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 방법의 흐름도이다.
710단계에서, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 암호화 하려는 데이터 중에서 소정 영역의 비트를 선택한다. 소정 영역이란 비트로 표현된 데이터의 일부 영역을 의미한다. 소정 영역은 사용자에 의해 임의로 설정될 수 있다. 또한, 소정 영역은 데이터의 암호화 속도를 고려하여 영역의 크기 별로 미리 설정될 수 있다.
720단계에서, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 상기 선택된 비트를 상기 암호화 하려는 데이터와 동일한 크기만큼 반복하여 연속된 비트열을 생성한다. 암호화 하려는 데이터와 동일한 크기의 비트열을 생성하는 것은 배타적 논리합 연산을 수행하기 위함이다.
730단계에서, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 상기 선택된 비트를 포함하는 비트열과 상기 암호화 하려는 데이터를 논리 연산하여 1차 암호화된 데이터를 생성한다. 여기서 논리 연산은 배타적 논리합 연산(XOR)을 포함할 수 있다.
740단계에서, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 상기 선택된 비트를 임의의 코드로 변환한다. 이때, 임의의 코드에는 그레이 코드(gray code)가 포함될 수 있다. 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 선택된 비트에 대하여 가장 왼쪽 비트는 그대로 가져오고, 나머지 비트는 왼쪽의 비트와 배타적 논리합 연산을 수행하여 그레이 코드로 변환할 수 있다.
750단계에서, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 상기 임의의 코드를 상기 1차 암호화된 데이터에 삽입한다. 이때, 임의의 코드에는 그레이 코드가 포함될 수 있다.
760단계에서, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 패턴 코드를 이용하여 패턴코드 표로부터 상기 패턴 형식을 결정한다. 패턴 코드는 사용자에 의해 결정될 수 있다. 또한, 패턴 코드는 랜덤하게 결정될 수 있다. 패턴코드 표에는 패턴 형식이 패턴 코드에 따라 구분되어 있다. 따라서, 패턴 코드가 결정되면, 패턴 코드에 따른 패턴 형식도 결정된다.
770단계에서, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 상기 1차 암호화된 데이터 및 상기 임의의 코드를 비트 조합 순서에 대한 패턴 형식에 따라 재조합 하여 2차 암호화된 데이터를 생성한다. 2차 암호화된 데이터는 정보 패턴에 따라 상기 1차 암호화된 데이터 및 상기 임의의 코드를 재조합하여 생성될 수 있다. 이때 정보 패턴은 패턴코드 표의 패턴 형식에 의해 결정될 수 있다.
또한, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치는 상기 2차 암호화된 데이터에 상기 암호화 하려는 데이터 외에 추가적인 정보를 부여할 수 있다. 여기서 추가적인 정보란 패턴코드 표가 일회용인지 여부, 암호화된 데이터의 복호화 가능한 횟수, 복호화가 가능한 기간 및 접근권한 등에 관한 정보를 포함할 수 있다.
또한, 본 발명의 일실시예에 따른 비트 조합 순서를 이용한 암호화 장치에 의해 암호화 된 데이터는 암호화의 반대 과정을 통해 복호화 될 수 있다. 즉, 패턴 형식을 키로 하여 패턴 코드 및 패턴 형식에 대한 정보를 알고 있으면 암호화된 데이터를 복호화 할 수 있다. 암호화된 데이터에 추가된 정보는 복호화 시도 횟수, 복호화 가능 기간 및 접근 권한 중 어느 하나에 관한 내용을 포함하고 있어서, 복호화 또는 암호를 해독하는 과정을 어렵게 할 수 있다.
본 발명의 실시 예에 따른 방법들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
110: 비트 선택부
120: 제1 암호화부
130: 변환부
140:제2 암호화부
150: 패턴코드 저장부
160: 추가정보 처리부

Claims (18)

  1. 암호화 하려는 데이터 중에서 소정 영역의 비트를 선택하는 비트 선택부;
    상기 선택된 비트를 포함하는 비트열과 상기 암호화 하려는 데이터를 논리 연산하여 1차 암호화된 데이터를 생성하는 제1 암호화부;
    상기 선택된 비트를 임의의 코드로 변환하는 변환부; 및
    상기 1차 암호화된 데이터 및 상기 임의의 코드를 비트 조합 순서에 대한 패턴 형식에 따라 재조합 하여 2차 암호화된 데이터를 생성하는 제2 암호화부
    를 포함하는 비트 조합 순서를 이용한 암호화 장치.
  2. 제1항에 있어서,
    상기 제1 암호화부는
    상기 선택된 비트를 상기 암호화 하려는 데이터와 동일한 크기만큼 반복하여 연속된 비트열을 생성하는 비트열 생성부
    를 포함하는 비트 조합 순서를 이용한 암호화 장치.
  3. 제1항에 있어서,
    상기 제1 암호화부는
    상기 선택된 비트를 포함하는 비트열과 상기 암호화 하려는 데이터에 대하여 배타적 논리합 연산을 수행하는 것을 특징으로 하는 비트 조합 순서를 이용한 암호화 장치.
  4. 제1항에 있어서,
    상기 변환부는
    상기 선택된 비트를 그레이 코드(gray code)로 변환하는 것을 특징으로 하는 비트 조합 순서를 이용한 암호화 장치.
  5. 제1항에 있어서,
    상기 제2 암호화부는
    상기 임의의 코드를 상기 1차 암호화된 데이터에 삽입하는 삽입부
    를 포함하는 비트 조합 순서를 이용한 암호화 장치.
  6. 제1항에 있어서,
    상기 제2 암호화부는
    상기 패턴 형식을 패턴 코드를 이용하여 패턴코드 표로부터 결정하는 패턴 형식 결정부를 포함하고,
    상기 1차 암호화된 데이터 및 상기 임의의 코드를 상기 결정된 패턴 형식에 따라 재조합 하는
    비트 조합 순서를 이용한 암호화 장치.
  7. 제6항에 있어서,
    상기 패턴코드 표를 저장하는 패턴코드 저장부
    를 더 포함하는 비트 조합 순서를 이용한 암호화 장치.
  8. 제1항에 있어서,
    상기 패턴 형식은
    상기 패턴 형식에 포함된 패턴 코드 비트에 의하여 구별되는 것을 특징으로 하는 비트 조합 순서를 이용한 암호화 장치.
  9. 제1항에 있어서,
    상기 제2 암호화부는
    패턴 코드에 따라 상기 1차 암호화된 데이터 및 상기 임의의 코드를 복수개의 패턴 형식으로 2차 암호화하는 것을 특징으로 하는 비트 조합 순서를 이용한 암호화 장치.
  10. 제9항에 있어서,
    상기 복수개의 패턴 형식은
    상기 2차 암호화된 데이터에 아이디(ID) 비트가 추가되어 구별되는 것을 특징으로 하는 비트 조합 순서를 이용한 암호화 장치.
  11. 제1항에 있어서,
    상기 2차 암호화된 데이터에 상기 암호화 하려는 데이터 외에 추가적인 정보를 부여하는 추가 정보 처리부
    를 더 포함하는 비트 조합 순서를 이용한 암호화 장치.
  12. 제1항에 있어서,
    상기 패턴은
    적어도 하나의 정보 패턴 또는 허위 정보 패턴
    을 포함하는 비트 조합 순서를 이용한 암호화 장치.
  13. 암호화 하려는 데이터 중에서 소정 영역의 비트를 선택하는 단계;
    상기 선택된 비트를 포함하는 비트열과 상기 암호화 하려는 데이터를 논리 연산하여 1차 암호화된 데이터를 생성하는 단계;
    상기 선택된 비트를 임의의 코드로 변환하는 단계; 및
    상기 1차 암호화된 데이터 및 상기 임의의 코드를 비트 조합 순서에 대한 패턴 형식에 따라 재조합 하여 2차 암호화된 데이터를 생성하는 단계
    를 포함하는 비트 조합 순서를 이용한 암호화 방법.
  14. 제13항에 있어서,
    상기 1차 암호화하는 단계는
    상기 선택된 비트를 상기 암호화 하려는 데이터와 동일한 크기만큼 반복하여 연속된 비트열을 생성하는 단계
    를 포함하는 비트 조합 순서를 이용한 암호화 방법.
  15. 제13항에 있어서,
    상기 1차 암호화하는 단계는
    상기 선택된 비트를 포함하는 비트열과 상기 암호화 하려는 데이터에 대하여 배타적 논리합 연산을 수행하는 것을 특징으로 하는 비트 조합 순서를 이용한 암호화 방법.
  16. 제13항에 있어서,
    상기 2차 암호화하는 단계는
    상기 임의의 코드를 상기 1차 암호화된 데이터에 삽입하는 단계
    를 포함하는 비트 조합 순서를 이용한 암호화 방법.
  17. 제13항에 있어서,
    상기 2차 암호화하는 단계는
    상기 패턴 형식을 패턴 코드를 이용하여 패턴코드 표로부터 결정하는 단계를 포함하고,
    상기 1차 암호화된 데이터 및 상기 임의의 코드를 상기 결정된 패턴 형식에 따라 재조합하는
    비트 조합 순서를 이용한 암호화 방법.
  18. 제13항에 있어서,
    상기 2차 암호화된 데이터에 상기 암호화 하려는 데이터 외에 추가적인 정보를 부여하는 단계
    를 더 포함하는 비트 조합 순서를 이용한 암호화 방법.
KR1020100085733A 2010-09-01 2010-09-01 비트 조합 순서를 이용한 암호화 방법 및 장치 KR101148560B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100085733A KR101148560B1 (ko) 2010-09-01 2010-09-01 비트 조합 순서를 이용한 암호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100085733A KR101148560B1 (ko) 2010-09-01 2010-09-01 비트 조합 순서를 이용한 암호화 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20120023311A true KR20120023311A (ko) 2012-03-13
KR101148560B1 KR101148560B1 (ko) 2012-05-23

Family

ID=46130823

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100085733A KR101148560B1 (ko) 2010-09-01 2010-09-01 비트 조합 순서를 이용한 암호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101148560B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180022506A (ko) * 2016-08-24 2018-03-06 유동근 프로그램 또는 파일 암호 생성방법
CN112379905A (zh) * 2020-11-20 2021-02-19 惠州Tcl移动通信有限公司 一种内核升级方法、装置、终端及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102403462B1 (ko) 2020-07-22 2022-05-27 경북대학교 산학협력단 랜덤 비트 변환 송신기, 수신기, 제어장치 및 제어방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6304657B1 (en) * 1999-05-26 2001-10-16 Matsushita Electric Industrial Co., Ltd. Data encryption apparatus using odd number of shift-rotations and method
KR20030078453A (ko) * 2002-03-29 2003-10-08 주식회사 엘지이아이 무선 랜에서의 데이터 암호화/복호화 방법 및 장치
JP4254201B2 (ja) * 2002-10-31 2009-04-15 ソニー株式会社 スクランブラ、送信装置および受信装置
KR20080100673A (ko) * 2007-05-14 2008-11-19 삼성전자주식회사 암호화 기반의 프로세서 보안 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180022506A (ko) * 2016-08-24 2018-03-06 유동근 프로그램 또는 파일 암호 생성방법
CN112379905A (zh) * 2020-11-20 2021-02-19 惠州Tcl移动通信有限公司 一种内核升级方法、装置、终端及存储介质

Also Published As

Publication number Publication date
KR101148560B1 (ko) 2012-05-23

Similar Documents

Publication Publication Date Title
CN101291325B (zh) 对消息加密的方法以及对消息解密的方法
Soofi et al. An enhanced Vigenere cipher for data security
US20140270165A1 (en) Cryptographic system based on reproducible random sequences
JP2000059355A (ja) 暗号化処理システム
CN105406969A (zh) 数据加密装置及方法
EP3382929B1 (en) Technique to generate symmetric encryption algorithms
Reyad et al. Key-based enhancement of data encryption standard for text security
Rajput et al. An improved cryptographic technique to encrypt text using double encryption
KR101148560B1 (ko) 비트 조합 순서를 이용한 암호화 방법 및 장치
Ahmad Steganography for inserting message on digital image using least significant bit and AES cryptographic algorithm
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
CN103501220A (zh) 加密方法和装置
Ghosh et al. A comprehensive analysis between popular symmetric encryption algorithms
KR101602803B1 (ko) 편광을 이용한 암호화 및 복호화방법
Erondu et al. An encryption and decryption model for data security using vigenere with advanced encryption standard
CN107078900B (zh) 基于可再现随机序列的密码系统
CN115632765A (zh) 加密方法、解密方法、装置、电子设备及存储介质
Kaur et al. Multiphase and multiple encryption
Sharma et al. A performance test on symmetric encryption algorithms-RC2 Vs rijndael
Pandey et al. Data security using various cryptography Techniques: A Recent Survey
Kumar et al. Handling secure healthcare data streaming using R2E algorithm
US10997317B2 (en) Method for safeguarding the confidentiality of the sender's identification of messages transmitted through promiscuous channels
Alrammahi et al. Development of Advanced Encryption Standard (AES) Cryptography Algorithm for Wi-Fi Security Protocol
Zenner Why IV setup for stream ciphers is difficult
KR101553148B1 (ko) 비트 확장 방식을 이용한 암호화 장치 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150417

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170327

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190807

Year of fee payment: 8