KR101584220B1 - 암호화 데이터 정렬 유지를 위한 인코딩 방법 - Google Patents

암호화 데이터 정렬 유지를 위한 인코딩 방법 Download PDF

Info

Publication number
KR101584220B1
KR101584220B1 KR1020140066277A KR20140066277A KR101584220B1 KR 101584220 B1 KR101584220 B1 KR 101584220B1 KR 1020140066277 A KR1020140066277 A KR 1020140066277A KR 20140066277 A KR20140066277 A KR 20140066277A KR 101584220 B1 KR101584220 B1 KR 101584220B1
Authority
KR
South Korea
Prior art keywords
order
byte
encoding
encryption
mapping table
Prior art date
Application number
KR1020140066277A
Other languages
English (en)
Other versions
KR20150137786A (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 KR1020140066277A priority Critical patent/KR101584220B1/ko
Publication of KR20150137786A publication Critical patent/KR20150137786A/ko
Application granted granted Critical
Publication of KR101584220B1 publication Critical patent/KR101584220B1/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
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation

Landscapes

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

Abstract

본 발명은, 컴퓨터가 수행하는 카운터 모드 블록 암호화에 의해 암호화된 암호화 데이터를 평문 데이터 정렬 순서로 유지할 수 있게 하는 인코딩을 수행하는 방법으로서, (1) 아스키코드 32번 내지 126번 중 2n 개(n≤6)의 코드를 랜덤하게 추출하여 추출된 아스키코드의 번호 순서대로 정렬하고, 순서대로 0에서 (2n- 1)번까지 번호를 부여하여 매핑테이블을 생성하는 제1 단계와, (2) 카운터 모드 블록 암호화에 의해 생성된 암호문 블록의 i번째 바이트와 평문의 i번째 바이트를 순서 유지 연산하는 제2 단계와, (3) 상기 제2 단계에서 산출된 결과를 n비트씩 분절하는 제3 단계와, (4) 상기 제3 단계에서 분절되어 생성된 각각의 분절단위의 산출 숫자 각각에 대응하는 매핑테이블상의 코드를 이용하여 인코딩하는 제4 단계를 포함한다.

Description

암호화 데이터 정렬 유지를 위한 인코딩 방법{Encoding Method for Maintaining Sorting Order of Encrypted Data}
본 발명은 평문 데이터를 암호화하였을 때에도 평문 데이터의 정렬 순서를 유지할 수 있도록 하는 인코딩 방법에 관한 것이며, 좀 더 자세하게는 카운터 모드 블록 암호화에 의해 암호화된 데이터를 평문 데이터 정렬 순서로 유지할 수 있게 하는 인코딩 방법에 대한 것이다.
대칭 암호알고리즘 중 카운터 모드(CTR 모드)가 있다. 다른 대칭 암호알고리즘인 CFB와 OFB처럼 암호화 연산만 사용하는 암호화 방법이다. 그러한 카운터 모드 암호화 방법의 일례가 2010년 8월 3일에 등록공고된 한국특허 제0973785호에 개시되어 있는데, 이러한 카운터 모드 블록 암호화 방법에 의하면, 평문 데이터를 암호화하여 데이터베이스에 저장할 때에 평문 데이터의 정렬 순서대로 암호화 데이터가 정렬되지 않는 문제점이 있다.
종래 기술에서는 평문 데이터 중 앞자리 일부분을 평문 상태로 두고 나머지만 카운터 모드 암호화를 하여 암호화된 후에도 정렬 순서를 유지할 수 있게 하지만, 이렇게 되면 평문 데이터의 앞 일부 데이터가 노출된다는 단점과, 암호화된 부분은 정렬되지 않는 단점이 있다.
본 발명은, 카운터 모드 암호화에 의해서 평문이 암호문으로 암호화된 후에도 평문의 정렬 순서를 유지할 수 있는 인코딩 방법을 제공하는 것을 목적으로 한다.
본 발명은, 컴퓨터가 수행하는 카운터 모드 블록 암호화에 의해 암호화된 암호화 데이터를 평문 데이터 정렬 순서로 유지할 수 있게 하는 인코딩을 수행하는 방법으로서, (1) 아스키코드 32번 내지 126번 중 2n 개(n≤6)의 코드를 랜덤하게 추출하여 추출된 아스키코드를 아스키 코드상 번호 순서대로 정렬하고, 순서대로 0에서 (2n- 1)번까지 번호를 부여하여 매핑테이블을 생성하는 제1 단계와, (2) 카운터 모드 블록 암호화에 의해 생성된 암호문 블록의 i번째 바이트와 평문의 i번째 바이트를 순서 유지 연산하는 제2 단계와, (3) 상기 제2 단계에서 산출된 결과를 n비트씩 분절하는 제3 단계와, (4) 상기 제3 단계에서 분절되어 생성된 각각의 분절단위의 산출 숫자 각각에 대응하는 매핑테이블상의 아스키코드를 이용하여 인코딩하는 제4 단계를 포함한다.
상기 순서 유지 연산은 덧셈 또는 곱셉에 기초한 연산인 것이 바람직하다.
본 발명에 의하면, 평문 전체를 카운터 모드 암호화한 후에도 평문에서의 정렬 순서를 그대로 유지할 수 있는 효과가 제공된다.
도 1은 카운터 모드 블록 암호화 과정을 도시한 도면.
도 2는 카운터 모드 블록 복호화 과정을 도시한 도면.
도 3은 본 발명에 의한 인코딩 과정을 도시한 도면.
도 4는 본 발명에 의한 순서유지연산 및 매핑 테이블을 도시한 도면.
이하에서는 첨부 도면을 참조하여 본 발명의 양호한 실시예에 대해서 설명한다.
도 1에는 카운터 모드 암호화 방법을 설명하기 위한 도면이, 도 2에는 카운터 모드(CTR) 암호화에 의해 생성된 암호문을 복호화하여 평문을 생성하는 과정을 설명하기 위한 도면이 도시되어 있다. 본 발명에 의한 카운터 모드 블록 암호과 과정에서의 인코딩 방법은 컴퓨터 장치에 의해서 수행되며, 인코딩된 데이터는 DBMS 데이터로서 데이터 저장 장치에 저장된다.
카운터 모드에 의한 암호화 방법에서는 도 1에 도시된 바와 같이 논스값(nonce)에 카운터 값을 증가시켜 가면서 암호화 블록의 입력값으로 사용하며, 그 결과값을 평문 블록과 XOR하여 암호문을 생성한다. 암호문을 복호화할 때에는 도 2에 도시된 바와 같이 논스값(nonce)에 카운터 값을 증가시켜 가면서 암호화 블록의 입력값으로 사용하고, 그 결과값을 암호문 블록과 XOR하여 평문을 생성한다. 이와 같은 카운터 모드에 의한 암호화/복호화 과정은 종래 기술로서 본 발명의 구성요소로 포함되지는 않는다.
본 발명에 의한 인코딩 과정은 도 3 및 도 4에 도시되어 있다. 본 발명에 의한 인코딩에서는 도 3에 도시된 바와 같이 암호문 블록과 평문을 입력값으로 사용하는 순서유지연산을 먼저 수행한다. 본 명세서에서 "암호문 블록"은 논스값에 증가하는 카운터 값이 결합된 입력값이 블록 암호화 과정을 거쳐서 암호화된 값을 의미하며, 평문이 카운터 모드 암호화 방법에 의해서 암호화된 결과물인 암호문과는 구분되는 개념이다.
도 4에는 암호문 블록과 평문을 입력값으로 하여 수행되는 순서유지연산 및 매핑 테이블의 일례가 도시되어 있다. 카운터 모드에 의한 블록 암호화 과정을 거치게 되면 암호문 블록은 항상 16 바이트가 된다. 각각의 바이트 블록은 C(1) ~ C(16)으로 표시된다. 암호문 블록은 항상 평문 길이 대비 16 바이트의 배수가 된다.
먼저 정렬 유지 매핑 테이블에 대해서 설명한다.
아스키코드 중에서 문자를 가리키는 32번부터 126번에 포함되는 코드 중에서 2n (n≤6)의 코드를 랜덤하게 추출하고, 추출된 아스키코드의 번호 순서대로 정렬한다. 그리고 정렬된 아스키코드에 대해서 순서대로 0부터 (2n-1)번까지 번호를 부여하여 매핑 테이블을 완성한다. 도 4에는 n이 6인 것을 가정하여 생성된 매핑 테이블의 일례가 도시되어 있다. 이와 같이 매핑 테이블을 구성하면, 매핑 테이블의 생성 조합의 개수가 95!/(64! × (95-64)!) = 9.9 × 1025 개의 테이블 조합이 가능하며 데이터베이스에 데이터가 저장되는 테이블 또는 컬럼 별로 다른 매핑 테이블을 적용하여 동일 데이터에 대해서도 다른 값이 나올 수 있기 때문에 보안성이 증대된다.
평문 역시 16 바이트의 데이터로 가정하여 P(1) ~ P(16)으로 표시한다. 평문은 16 바이트 미만이거나 16 바이트를 넘는 데이터가 될 수도 있다.
암호문 블록의 i번째 바이트와 평문의 i번째 바이트는 순서 유지 연산이 수행되어 Y(i) 값을 산출하는데 본 명세서에서 순서 유지 연산이라 함은, 평문의 i번째 바이트의 정렬 순서가 평문의 i번째 바이트와 암호문 블록의 i번째 바이트의 연산에 의하더라도 변하지 않는 연산을 의미한다. i번째 바이트들을 더하거나 곱하는 연산을 예로 들 수 있는데, 단순 덧셈 또는 곱셈 뿐만 아니라 위와 같은 정의의 순서 유지 연산이라면 어느 것이든 포함된다. 본 명세서에서 "또는"은 그 앞과 뒤 어느 하나만을 가리키는 것으로 제한해석되지 아니하고, 그 앞과 뒤의 조합도 포함하는 것으로 정의된다.
암호문 블록의 첫 번째 바이트 C(1)와 평문의 첫 번째 바이트 P(1)을 순서 유지 연산하여 나온 결과 Y(1)이 "1010110011011001"이라면 도 4에 도시된 바와 같이 6비트씩 분절하여 <1010>, <110011>, <011001>로 나누고 각각의 분절 단위의 산출 숫자 즉 10, 51, 25에 해당하는 매핑테이블의 문자의 조합을 이용하여 "9cM"으로 인코딩한다. 이렇게 되면, 암호문에서도 평문 바이트의 정렬 순서가 그대로 유지될 수 있다. 분절은 앞에서부터 해도 무방하다.
좀더 구체적으로 주민등록번호의 정렬을 예로 들어 설명한다.
제1 주민등록번호: 123456-1234567
제2 주민등록번호: 213456-1234567
이 평문 데이터로 존재하는 경우, 오름차순으로 정렬하면 제1 주민등록번호 다음에 제2 주민등록번호가 정렬된다.
제1 주민등록번호의 각 바이트를 P1(1) ~ P1(13)으로 표시하고 제2 주민등록번호의 각 바이트를 P2(1) ~ P2(13)으로 표시한다.
순서 유지 연산을 덧셈으로 가정하고, 각각의 첫 번째 바이트에 대해서 순서 유지 연산을 하면,
Y1(1) = P1(1) + C(1)
Y2(1) = P2(1) + C(1)
이 되며, 순서유지연산이 수행되었으므로,
P1(1) < P2(1)인 이상, Y1(1) < Y2(1)이다. 따라서, Y(i)에서도 평문의 정렬순서가 그대로 유지될 수 있다.
이와 같이 본 발명에 의하면, 평문 전체를 카운터 모드 암호화한 후에도 평문에서의 정렬 순서를 그대로 유지할 수 있는 효과가 제공된다.
이상 첨부 도면을 참고하여 본 발명에 대해서 설명하였지만 본 발명의 권리범위는 후술하는 특허청구범위에 의해 결정되며 전술한 실시예 및/또는 도면에 제한되는 것으로 해석되어서는 아니된다. 그리고 특허청구범위에 기재된 발명의, 당업자에게 자명한 개량, 변경 및 수정도 본 발명의 권리범위에 포함된다는 점이 명백하게 이해되어야 한다.

Claims (2)

  1. 컴퓨터가 수행하는 카운터 모드 블록 암호화에 의해 암호화된 암호화 데이터를 평문 데이터 정렬 순서로 유지할 수 있게 하는 인코딩을 수행하는 방법에 있어서,
    아스키코드 32번 내지 126번 중 2n 개(n≤6)의 코드를 랜덤하게 추출하여 추출된 아스키코드를 아스키코드 번호 순서대로 정렬하고, 순서대로 0에서 (2n- 1)번까지 번호를 부여하여 매핑테이블을 생성하는 제1 단계와,
    카운터 모드 블록 암호화에 의해 생성된 암호문 블록의 i번째 바이트와 평문의 i번째 바이트를 순서 유지 연산하는 제2 단계와,
    상기 제2 단계에서 산출된 결과를 n비트씩 분절하는 제3 단계와,
    상기 제3 단계에서 분절되어 생성된 각각의 분절단위의 산출 숫자 각각에 대응하는 매핑테이블상의 아스키코드를 이용하여 인코딩하는 제4 단계를 포함하는,
    암호화 데이터 정렬 유지를 위한 인코딩 방법.
  2. 청구항 1에 있어서,
    상기 순서 유지 연산은 덧셈 또는 곱셉에 기초한 연산인,
    암호화 데이터 정렬 유지를 위한 인코딩 방법.
KR1020140066277A 2014-05-30 2014-05-30 암호화 데이터 정렬 유지를 위한 인코딩 방법 KR101584220B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140066277A KR101584220B1 (ko) 2014-05-30 2014-05-30 암호화 데이터 정렬 유지를 위한 인코딩 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140066277A KR101584220B1 (ko) 2014-05-30 2014-05-30 암호화 데이터 정렬 유지를 위한 인코딩 방법

Publications (2)

Publication Number Publication Date
KR20150137786A KR20150137786A (ko) 2015-12-09
KR101584220B1 true KR101584220B1 (ko) 2016-01-11

Family

ID=54873677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140066277A KR101584220B1 (ko) 2014-05-30 2014-05-30 암호화 데이터 정렬 유지를 위한 인코딩 방법

Country Status (1)

Country Link
KR (1) KR101584220B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112395623B (zh) * 2019-08-19 2023-09-29 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和电子设备
CN112422491A (zh) * 2020-05-08 2021-02-26 上海幻电信息科技有限公司 数字编码的加密解密方法、服务器和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6560338B1 (en) * 1998-08-28 2003-05-06 Qualcomm Incorporated Limiting delays associated with the generation of encryption stream ciphers
KR101369748B1 (ko) * 2006-12-04 2014-03-06 삼성전자주식회사 데이터 암호화 방법 및 그 장치
US8050404B2 (en) * 2008-12-29 2011-11-01 Nortel Networks Limited Bandwidth efficient method and system for obscuring the existence of encryption in a communications channel

Also Published As

Publication number Publication date
KR20150137786A (ko) 2015-12-09

Similar Documents

Publication Publication Date Title
KR101516574B1 (ko) 형태보존 암호화를 위한 가변길이 블록암호 장치 및 방법
Sharma et al. Data security using compression and cryptography techniques
AU2016386405B2 (en) Fast format-preserving encryption for variable length data
KR102219476B1 (ko) 데이터를 암호화하는 방법 및 그를 위한 장치
KR101393806B1 (ko) 다단계 물리적 복제 불가 함수 시스템
Soofi et al. An enhanced Vigenere cipher for data security
KR101623503B1 (ko) Lea 블록암호의 화이트박스 암호 구현 장치 및 방법
RU2008125109A (ru) Многоканальное высокоскоростное шифрование и дешифрование
Shinge et al. An encryption algorithm based on ASCII value of data
JP2013213930A (ja) 暗号化装置、復号化装置、及びプログラム
Kaur et al. 3D (4 X 4 X 4)-Playfair Cipher
Rajput et al. An improved cryptographic technique to encrypt text using double encryption
JP7226829B2 (ja) データ処理装置、方法及びコンピュータプログラム
KR101584220B1 (ko) 암호화 데이터 정렬 유지를 위한 인코딩 방법
CN103824197A (zh) 防伪码生成装置
KR101445339B1 (ko) 기밀성과 무결성을 제공하는 통합 암호화 장치 및 그 방법
Rizal et al. Modified key using multi-cycle key in vigenere cipher
Anupriya et al. Encryption using XOR based extended key for information security–a novel approach
Disina et al. Enhanced caeser cipher to exclude repetition and withstand frequency cryptanalysis
Al-Sabaawi Cryptanalysis of Block Cipher: Method Implementation
Hammood Breaking a playfair cipher using memetic algorithm
US9246681B2 (en) Use of 32-bit random numbers to produce cipher key stream for 8-bit data stream
Chaitra et al. Comparative Study of cryptographic encryption algorithms
Soni et al. Analysis of modified substitution encryption techniques
KR101940553B1 (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: 20200102

Year of fee payment: 5