KR20120070874A - 순서 보존 암호화 및 복호화 장치와 그 방법 - Google Patents

순서 보존 암호화 및 복호화 장치와 그 방법 Download PDF

Info

Publication number
KR20120070874A
KR20120070874A KR1020100132384A KR20100132384A KR20120070874A KR 20120070874 A KR20120070874 A KR 20120070874A KR 1020100132384 A KR1020100132384 A KR 1020100132384A KR 20100132384 A KR20100132384 A KR 20100132384A KR 20120070874 A KR20120070874 A KR 20120070874A
Authority
KR
South Korea
Prior art keywords
plain text
reference point
ciphertext
bit
plaintext
Prior art date
Application number
KR1020100132384A
Other languages
English (en)
Other versions
KR101727312B1 (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 KR1020100132384A priority Critical patent/KR101727312B1/ko
Priority to US13/333,974 priority patent/US8817978B2/en
Publication of KR20120070874A publication Critical patent/KR20120070874A/ko
Application granted granted Critical
Publication of KR101727312B1 publication Critical patent/KR101727312B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • 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
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 유사 난수 발생기를 활용하여 기준점을 생성하고, 기준점을 이용하여 암호문을 생성함으로써, 서버에 저장량과 계산량의 부담을 주지 않는 순서 보존 암호화를 가능할 수 있도록 한다는 것이다.
이를 위하여 본 발명의 실시 예에 따른 순서 보존 암호화 장치는 평문 전체 공간과 암호문 전체 공간을 제공하며, 암호화에 필요한 비밀키와 기준점 생성을 위한 유사 난수 발생기를 설정할 수 있는 인터페이스를 제공하는 초기화부와, 비밀키를 설정된 유사 난수 발생기에 적용하여 평문에 대한 기준점을 생성하는 기준점 생성부와, 생성된 기준점과 평문간의 비교를 통해 암호문의 비트를 생성하는 암호문 생성부와, 암호문에 따라 평문 전체 공간의 크기 및 평문의 크기를 조정하는 평문 조정부를 포함할 수 있다.

Description

순서 보존 암호화 및 복호화 장치와 그 방법{ORDER PRESERVING ENCRYPTION AND DECRYPTION APPARTUS AND METHOD}
본 발명은 순서 보존 암호화 기법에 관한 것으로, 더욱 상세하게는 유사 난수 생성기를 사용하여 기준점(pivot)을 결정하고, 결정된 기준점을 활용하여 효율적인 암호화가 가능하며, 암호화된 암호문을 복호화하는 순서 보존 암호화 및 복호화 장치와 그 방법에 관한 것이다.
정보화 사회가 고도화되면서 개인 및 기업 등에서 처리하는 데이터의 양이 늘어나며, 이러한 데이터를 효율적으로 관리하기 위해 필요한 자원 또한 크게 늘어났다. 하지만, 정보 사회의 모든 구성원이 이러한 정보 관리에 필요한 비용을 부담하기에는 무리가 있으며, 이에 외부 데이터베이스 서비스를 활용하여 정보를 저장하는 사례가 점차 늘고 있다.
그러나, 외부 데이터베이스를 활용하는 방법은 외부 데이터베이스를 통한 민감한 개인 정보의 유출 사례 또한 늘고 있어 이에 대한 해결책을 제시하는 것이 매우 중요한 문제로 부각되고 있다.
현재 가장 주목받는 해결책은 모든 데이터를 암호화하여 데이터베이스에 저장하는 것이다. 오랫동안 정보보호의 기반이 되어온 암호화 시스템은 암호화된 암호문의 안전성을 보장된다. 일반적으로 데이터베이스는 데이터를 저장하는 것 이외에 데이터를 검색하고 활용하는 데에 많은 응용 환경을 제공하지만, 암호화된 데이터는 데이터베이스 서버가 암호화된 데이터에서부터 어떠한 정보도 얻을 수 없도록 하기 때문에 이러한 응용 서비스가 원천적으로 봉쇄된다는 단점을 지니고 있다. 이러한 단점을 해결하기 위해서 암호화된 데이터베이스에서 효율적으로 자료를 검색하는 가장 기본적인 문제부터 시작하여 암호화된 데이터를 복호화하지 않고 원하는 연산을 수행하는 것까지 많은 분아에 걸쳐 다양한 연구가 활발히 진행 중이다.
이러한 연구 중 순서 보존 암호화 기법 또한 큰 주목을 받고 있는데, 그 이유는 데이터베이스에서 제공하는 다양한 응용 분야가 기본적으로 데이터의 순서 정보에 기반을 두고 있기 때문이다. 효율적인 검색, 대소비교, 범위 검색 등이 순서 정보에 의해서 기본적으로 제공되는 응용 분야이다. 하지만, 평문의 정보를 충분히 안전하게 숨기면서 동시에 평문의 순서 정보를 공개하는 것은 일면 모순적인 것으로 효율적이고 안전한 순서 보존 암호화 기법을 구성하는 것은 매우 어려운 문제로 현재까지 뚜렷한 해결책이 제시되어있지 않다.
몇 가지 예를 들어 살펴보면, 일반적인 암호화 기법의 경우 평문의 공간과 암호문의 공간을 동일하게 구성하기 마련이지만, 순서 보존 암호화의 경우 동일한 공간에서 평문과 암호문을 선택할 경우 순서를 보존하기 위해서는 상등함수 밖에는 존재하지 않기 때문에 암호화를 구성하는 것이 불가능해지고, 이러한 이유로 순서 보존 암호화 기법에서는 암호문 공간이 평문 공간에 비해서 매우 큰 특징을 보인다.
또 다른 예로, 일반적인 암호화 기법의 안전성을 분석하는 데에 주로 사용되는 방식으로 CPA(chosen plaintext attack)와 CCA(chosen ciphertext attack)등의 공격 방식을 가정하는 데에 비해서 순서 보존 암호화의 경우 이러한 공격 방식을 사용하여 공격자가 현실적인 복호화를 수행할 수 있기 때문에 이러한 공격은 금지된다. 마찬가지 이유로 공개키 방식의 순서 보존 암호화 기법을 구성하는 것은 불가능한 것으로 알려져 있다.
순서 보존 암호화 기법은 현재까지 풀지 못한 숙제라고 할 수 있으며, 초기의 연구들은 주어진 평문을 상대적으로 크기가 큰 암호문 공간으로 난수화하는 방식이 주로 연구되었다.
순서 보존 암호화에 대한 체계적인 연구는 2004년 Agrawal 등에 의해서 최초로 이루어졌다. Agrawal등은 평문의 분포를 사용자만이 알고 있는 정보로 가정하고, 이 평문의 분포를 암호화에 이용하여 주어진 평문의 분포가 암호화 이후에 드러나지 않도록 암호화 함수를 구성하였다. 그들은 또한 체계적인 안전성도 제안하였는데, 그들은 공격자가 주어진 암호문 집합으로부터 암호화 이전의 평문 집합이 가지는 분포를 유추할 수 없는 경우, 안전한 순서 보존 암호화 기법으로 정의하였다.
하지만, 이러한 방식의 구성은 사용자가 암호화 작업을 시작하기 이전에 자신이 암호화할 (또는 미래에 갱신될) 모든 데이터에 대한 정보를 알고 있다는 가정하에서 안전성이 보장되기 때문에 현실적인 암호화 함수와는 약간 동떨어져 있다고 할 수 있다.
이후 2009년 Boldyreva등은 증명 가능 안전성을 순서 보존 함수에 적용하기 위한 연구를 수행하였다. 이들은 전통적인 암호화 함수에 대한 증명가능 안전성 접근 방법에서 벗어나 유사 난수 생성 함수의 안전성 정의를 사용하여 순서 보존 암호화 기법에 대한 새로운 증명 가능 안전성 정의를 제안하였다. 유사 난수 함수의 안전성은 유사 난수 함수로 생성된 유사 난수열을 실제 난수열과 구별할 수 없는 것으로 정의된다. 이와 유사하게, Boldyreva등은 임의의 순서 보존 암호화 함수가 임의의 순서 보존 함수와 구별할 수 없는 것으로 정의하였다.
하지만, 이러한 접근 방법은 암호화 함수가 가져야 하는 기본적인 안전성을 만족하지 못하는 것으로 여겨진다. 즉, 암호화 함수가 기본적으로 지녀야하는 안전성은 공격자가 암호문으로부터 평문의 정보를 유추할 수 없도록 보장하는 것이다.
하지만, Boldyreva등이 제안한 방식에서는 순서 보존 암호화 함수가 가능한 모든 순서 보존 함수의 집합에서 임의로 선택되는 방식을 사용했기 때문에 전체적인 분포가 모든 순서 보존 함수의 집합이 가지는 분포와 동일하다. 즉, 공격자는 각각의 암호문이 복호화될 수 있는 평문 후보에 대한 분포를 가능한 모든 순서 보존 함수의 집합에서 계산이 가능한데, 이 분포를 살펴보면, 대부분의 암호문이 특정 평문과 대응할 확률이 매우 크게 나타나는 것을 알 수 있다. 또한 이러한 현상은 평문과 암호문의 수가 클수록 커지며 또한, 약간의 오차를 인정하는 경우 훨씬 심각한 문제를 발생시킨다.
이러한 순서 보존 암호화 기법은 암호화된 데이터베이스에서 큰 활용분야를 지니는 등의 많은 관심을 끄는 암호 기반 기술이지만, 아직까지 확실한 해결 방안이 제시되고 있지는 않고 있다.
상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 본 발명의 목적은 유사 난수 발생기를 활용하여 기준점을 생성하고, 기준점을 이용하여 암호문을 생성함으로써, 서버에 저장량과 계산량의 부담을 주지 않는 순서 보존 암호화 및 복호화 장치와 그 방법을 제공하는데 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 본 발명이 속하는 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 일 측면에 따르면, 본 발명의 실시 예에 따른 순서 보존 암호화 장치는 평문 전체 공간과 암호문 전체 공간을 제공하며, 암호화에 필요한 비밀키와 기준점 생성을 위한 유사 난수 발생기를 설정할 수 있는 인터페이스를 제공하는 초기화부와, 상기 비밀키를 상기 설정된 유사 난수 발생기에 적용하여 평문에 대한 기준점을 생성하는 기준점 생성부와, 상기 생성된 기준점과 상기 평문간의 비교를 통해 암호문의 비트를 생성하는 암호문 생성부와, 상기 암호문에 따라 상기 평문 전체 공간의 크기 및 상기 평문의 크기를 조정하는 평문 조정부를 포함할 수 있다.
본 발명의 실시 예에 따른 순서 보존 암호화 장치에서 상기 암호문 생성부는, 상기 생성된 기준점이 상기 평문보다 작은 경우 암호문 비트를 "0"으로, 상기 생성된 기준점이 상기 평문보다 크거나 같은 경우 암호문 비트를 "1"로 결정하여 암호문을 생성하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 순서 보존 암호화 장치에서 상기 평문 조정부는, 상기 암호문 비트가 "0"인 경우 상기 평문 전체 공간의 처음부분 상기 생성된 기준점의 위치까지를 평문 전체 공간으로 조정하고, 상기 암호문 비트가 "1"인 경우 상기 생성된 기준점의 위치부터 상기 평문 전체 공간의 끝 부분까지를 평문 전체 공간으로 조정하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 순서 보존 암호화 장치에서 상기 평문 조정부는, 상기 암호문 비트가 "0"인 경우 평문의 크기를 "a' = a * 2m / p1 a'는 조정된 평문, a는 평문, m은 평문 전체 공간을 나타내기 위한 변수"로 조정하고, 상기 암호문 비트가 "1"인 경우 평문의 크기를 "a' = (a - p1) * 2m / (2m - p1) a'는 조정된 평문, a는 평문, m은 평문 전체 공간을 나타내기 위한 변수, p1은 기준점"로 조정하는 것을 특징으로 한다.
본 발명의 다른 측면에 따르면, 본 발명의 실시 예에 따른 순서 보존 암호화 방법은 평문 전체 공간과 암호문 전체 공간을 설정하고, 암호화에 필요한 비밀키와 기준점 생성을 위한 유사 난수 발생기를 설정하는 단계와, 상기 비밀키를 상기 설정된 유사 난수 발생기에 적용하여 평문에 대한 기준점을 생성하는 단계와, 상기 평문이 상기 생성된 기준점간의 비교를 통해 암호문의 비트를 결정하는 단계와, 상기 결정된 암호문의 비트에 따라 상기 평문 공간의 크기를 조정함과 더불어 상기 평문의 크기를 조정하는 단계와, 상기 조정된 평문과 상기 평문 전체 공간의 크기를 상기 기준점을 생성하는 단계에 적용하여 이후 단계를 수행하되, 상기 기준점을 생성하는 단계부터 상기 평문의 크기를 조정하는 단계를 n번 반복하여 최종 암호문을 생성하는 단계를 포함한다.
본 발명의 실시 예에 따른 순서 보존 암호화 방법에서 상기 암호문의 비트를 결정하는 단계는, 상기 생성된 기준점이 상기 평문보다 작은 경우 암호문 비트를 "0"으로, 상기 생성된 기준점이 상기 평문보다 크거나 같은 경우 암호문 비트를 "1"로 결정하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 순서 보존 암호화 방법에서 상기 평문의 크기를 조정하는 단계는, 상기 암호문 비트가 "0"인 경우 상기 평문 전체 공간의 처음부분 상기 생성된 기준점의 위치까지를 평문 전체 공간으로 조정하는 단계와, 상기 암호문 비트가 "1"인 경우 상기 생성된 기준점의 위치부터 상기 평문 전체 공간의 끝 부분까지를 평문 전체 공간으로 조정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 본 발명의 실시 예에 따른 순서 보존 복호화 장치는 순서 보존 암호화 장치에 의해 암호화된 암호문를 복호화하기 위한 장치로서, 상기 순서 보존 암호화 장치에서 사용한 비밀키를 유사 난수 발생기에 적용하여 복호화 기준점을 생성하는 복호화 기준점 생성부와, 상기 복호화 기준점과 상기 암호문 내 비트를 이용하여 복호화 평문 전체 크기와 예상 평문을 설정하는 복호화 초기화부와, 상기 암호문의 비트 값에 따라 상기 예상 평문의 조정을 통해 상기 암호문를 복호화하며, 상기 암호문의 다음 비트를 복호화하기 위한 기준점 생성을 상기 복호화 기준점 생성부에 요청하여 제공받은 후 이를 이용하여 상기 복호화 평문 전체 크기를 재조정하는 복호화부를 포함한다.
본 발명의 실시 예에 따른 순서 보존 복호화 장치에서 상기 복호화부는, 상기 암호문의 비트가 "0"인 경우 상기 복호화 평문을 "a * pi-1/2m(i는 2 ≤ i ≤n, pi-1은 복호화 기준점, a는 예상 평문)"로 갱신하고, 상기 암호문의 비트가 "1"인 경우 상기 복호화 평문을 "a = a * (2m - pi-1)/2m(i는 2 ≤ i ≤n, pi-1은 복호화 기준점, a는 예상 평문)"로 갱신하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 순서 보존 복호화 장치에서 상기 복호화부는 상기 복호화 평문 전체 크기를 수학식 " m + (a*pi)* bi (i는 2 ≤ i ≤n, m은 평문 전체 크기, i는 2 ≤ i ≤n, pi은 암호문의 i번째 비트를 복호화하기 위한 기준점, a는 예상 평문, bi는 i번째 암호문 비트)"로 계산하는 것을 특징으로 한다.
본 발명의 또 다른 측면에 따르면, 본 발명의 실시 예에 따른 순서 보존 복호화 방법은 순서 보존 암호화 장치에 의해 암호화된 암호문를 복호화하기 위한 방법으로서, 상기 순서 보존 암호화 장치에서 사용한 비밀키를 유사 난수 발생기에 적용하여 복호화 기준점을 생성하는 단계와, 상기 복호화 기준점과 평문 공간을 초기화함과 더불어 예상 평문을 설정하는 단계와, 상기 복호화 기준점과 상기 암호문 내 비트를 이용하여 예상 평문을 복호화하는 단계와, 상기 복호화한 암호문의 비트가 마지막 비트가 아닌 경우 상기 암호문의 다음 비트에 적용될 기준점을 생성하는 단계와, 상기 다음에 적용될 기준점을 이용하여 상기 복호화 평문 전체 크기를 재조정한 후 상기 복호화 단계로 진행하여 이후 단계를 수행하는 단계를 포함한다.
본 발명의 실시 예에 따른 순서 보존 복호화 방법에서 상기 복호화하는 단계는, 상기 암호문의 비트가 "0"인 경우 상기 예상 평문을 "a * pi-1/2m(i는 2 ≤ i ≤n, pi-1은 복호화 기준점, a는 예상 평문)"로 갱신하여 복호화하는 단계와, 상기 암호문의 비트가 "1"인 경우 상기 복호화 평문을 "a = a * (2m - pi-1)/2m(i는 2 ≤ i ≤n, pi-1은 복호화 기준점, a는 예상 평문)"로 갱신하여 복호화하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 실시 예에 따른 순서 보존 복호화 방법에서 상기 복호화 평문 전체 크기는, 수학식 " m + (a*pi)* bi (i는 2 ≤ i ≤n, m은 평문 전체 크기, i는 2 ≤ i ≤n, pi은 암호문의 i번째 비트를 복호화하기 위한 기준점, a는 예상 평문, bi는 i번째 암호문 비트)"에 의해 재조정되는 것을 특징으로 한다.
본 발명은 임의로 주어지는 평문에 대한 순서 보존 암호화를 수행할 수 있는 효과가 있을 뿐만 아니라 유사 난수 생성기를 반복 사용하여 암호화 및 복호화를 가능하도록 한다.
도 1은 본 발명의 실시 예에 따른 순서 보존 암호화 장치를 도시한 블록도,
도 2는 본 발명의 실시 예에 따른 순서 보존 암호화 장치를 이용하여 평문을 암호화하는 과정을 도시한 흐름도,
도 3은 본 발명의 실시 예에 따른 암호화 과정에 따른 평문 공간과 기준점의 위치 변화를 설정하기 위한 도면,
도 4는 본 발명의 실시 예에 따른 순서 보존 복호화 장치를 도시한 블록도,
도 5는 본 발명의 실시 예에 따른 순서 보존 복호화 장치를 이용하여 암호문을 복호화하는 과정을 도시한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 순서 보존 암호화 장치를 도시한 블록도로서, 초기화부(110), 기준점 생성부(120), 암호문 생성부(130) 및 평문 조정부(140) 등을 포함할 수 있다.
초기화부(110)는 평문 공간(M)과 암호문 공간(N)을 제공하며, 암호화에 필요한 비밀키(K)와 기준점 생성에 사용될 유사 난수 생성기를 결정할 수 있는 인터페이스를 제공할 수 있다. 여기에서, 평문 공간(M)과 암호문 공간(N)은 "M = [1, 2m], N = [1, 2n](m,n은 자연수)"으로 정의될 수 있다.
기준점 생성부(120)는 하나의 평문에 대해 초기화부(110)에서 결정된 비밀키(K)를 초기화부(110)에서 결정된 유사 난수 생성기를 적용하여 아래의 수학식 1과 같은 기준점(p1)을 생성하는데, 예를 들어 평문 a가 주어진 경우 평문 a에 대한 기준점(Pi)을 생성할 수 있다. 이때, 생성된 기준점(Pi)은 1 ≤ p1 ≤ 2m 을 만족한다.
[수학식 1]
p1 = PRNG( K || 1 )
상기의 수학식 1에서 "PRNG"는 유사 난수 생성기를 의미한다.
암호문 생성부(130)는 평문a와 기준점(p1)간의 비교를 통해 암호문을 결정하는데, 예를 들어 평문a가 기준점(p1)보다 작은 경우 암호문의 비트를 "1"로 결정하고, 그렇지 않을 경우 암호문의 비트를 "0"으로 결정할 수 있다.
평문 조정부(140)는 암호문 생성부(130)에서 결정된 암호문에 의거하여 평문 공간을 조정하는데, 즉 암호문의 비트가 "1"로 결정된 경우 [p1, 2m]의 공간을 평문 전체 공간 [1, 2m]로 조정하고, 암호문의 비트가 "0"으로 결정된 경우 [1, p1]의 구간을 평문 전체 공간 [1, 2m]로 조정할 수 있다.
한편, 평문 조정부(140)는 평문 공간을 조정함과 더불어 조정된 평문 공간에 의거하여 평문a을 조정할 수 있는데, 즉 암호문의 비트가 "0"인 경우 아래의 수학식 2에 의거하여 평문a을 조정할 수 있다.
[수학식 1]
a' = a * 2m / p1
평문 조정부(140)는 암호문의 비트가 "1"인 경우 아래의 수학식3과 같이 평문a을 조정할 수 있다.
[수학식 2]
a' = (a - p1) * 2m / (2m - p1)
상기의 수학식 1,2에서 a'는 조정된 평문이며, a는 평문이며, m은 평문 전체 공간을 나타내기 위한 변수이며, p1은 기준점이다
평문 조정부(140)에 의해 조정된 평문a'는 기준점 생성부(120) 및 암호문 생성부(130)의 기준점 생성 및 암호문 생성에 이용될 수 있다.
상기와 같은 구성을 갖는 순서 보존 암호화 장치(100)가 평문을 암호화하는 과정에 대해 도 2를 참조하여 설명한다.
도 2는 본 발명의 실시 예에 따른 순서 보존 암호화 장치를 이용하여 평문을 암호화하는 과정을 도시한 흐름도이다.
도 2에 도시된 바와 같이, 먼저 순서 보존 암호화 장치(100)는 초기화부(110)의 구동을 통해 사전 준비 단계(S210)를 수행할 수 있다.
사전 준비 단계는 평문 공간 M(M = [1, 2m])과 암호문 공간 N(N = [1, 2n])을 설정하고, 암호화에 필요한 비밀키(K)와 기준점 생성에 사용할 유사 난수 생성기를 결정할 수 있다.
그런 다음, 순서 보존 암호화 장치(100)는 암호화 단계를 수행하는데, 암호화 단계는 기준점 생성 단계, 기준점을 이용한 암호화 단계 및 평문 조정 단계로 구성될 수 있다.
먼저, 하나의 평문a에 대해 비밀키(K)를 사전 준비 단계에서 결정된 유사 난수 생성기에 적용하여 기준점(p1)을 생성(S212)한다.
그런 다음, 기준점(p1)을 이용하여 평문a을 암호화하는데, 즉 평문a와 기준점(p1)을 비교하여 평문a가 기준점(p1)보다 작은지를 판단(S214)한 후 S214의 판단 결과 평문a가 기준점(p1)보다 작은 경우 암호문 비트를 "0"으로 결정(S216)하고, 그렇지 않을 경우 암호문 비트를 "1"로 결정(S218)한다.
이후, 순서 보존 암호화 장치(100)는 평문 조정부(140)를 통해 결정된 암호문의 비트에 따라 평문을 조정(S220)할 수 있는데, 즉 암호문의 비트가 "0"인 경우 "[1, p1]의 구간을 평문 전체 공간으로 조정함과 더불어 평문의 크기를 상기의 수학식 2를 통해 조정하며, 암호문의 비트가 "1"인 경우 [p1, 2m]의 구간을 평문 전체 구간으로 조장함과 더불어 평문의 크기를 상기의 수학식 1을 통해 조정할 수 있다.
상기의 S212?S220의 단계를 총 n번 수행하여 매 단계마다 수행한 암호문 비트(bi, 1 ≤ i ≤n)를 출력할 수 있으며, 각 i(1 ≤ i ≤n) 번 단계에서의 기준점(pi)은 아래의 수학식 3과 같다.
[수학식 3]
pi = PRNG( K || i || b1 || b2 || ... ||bi-1)
이에 따라, 최종 암호문은 b1 || b2 || ... ||bn 일 수 있다.
상기의 S212?S220의 단계를 총 n번 수행하여 매 단계마다 수행한 암호문 비트(bi, 1 ≤ i ≤n)를 출력하는 과정에 대해 도 3을 참조하여 설명한다.
도 3에 도시된 바와 같이, 평문a를 포함하는 평문 구간([1, 2m])을 갖는 데이터가 있을 경우 평문a에 대해 기준점(p1)을 생성하고, 기준점(p1)이 평문a가 기준점(p1)보다 작기 때문에 암호문 비트를 "0"으로 결정한 후 평문 구간([1, 2m])을 조정함과 더불어 평문 구간의 조정에 따라 평문a가 조정될 수 있다.
그런 다음, 조정된 평문a에 대한 기준점(p2)을 생성하고, 생성된 기준점(p2)이 조정된 평문a가 생성된 기준점(p2)보다 크기 때문에 암호문 비트를 "1"로 결정한 후 평문 구간과 조정된 평문a를 재조정하게 된다.
이러한 과정을 반복적으로 수행하여 조정된 평문a와 n번째 기준점(pn)간의 비교를 통해 암호문 비트를 결정함으로써, 평문a에 대한 최종 암호문(ciphertext)을 생성할 수 있다.
상기와 같은 과정을 통해 생성된 암호문을 복호화하는 순서 보존 복호화 장치 및 방법에 대해 도 4 내지 도 5을 참조하여 설명한다.
도 4는 본 발명의 실시 예에 따른 순서 보존 암호화 장치에 의해 생성된 암호문을 복호화시키기 위한 장치의 블록도로서, 복호화 초기화부(420), 복호화 기준점 생성부(410), 복호화부(430) 등을 포함할 수 있다.
순서 보존 복호화 장치(400)의 각 구성에 대한 설명과 순서 보존 복호화 장치(400)가 암호문을 복호화하는 과정에 대해 도 5을 참조하여 설명한다.
도 5는 본 발명의 실시 예에 따른 순서 보존 복호화 장치가 암호문을 복호화하여 평문을 생성하는 과정을 도시한 흐름도이다.
복호화 기준점 생성부(410)는 순서 보존 암호화 장치(100)의 기준점 생성부(120)와 동일한 방식으로 비밀키(K)를 유사 난수 발생기에 적용하여 복호화 기준점(p1)을 생성(S500)한다. 이때, 생성된 복호화 기준점(p1)은 암호문의 첫 번째 비트를 복호화하기 위한 것이다.
복호화 초기화부(420)는 평문 공간과 복호화 평문x를 초기화하기 위한 것으로, 평문 공간 M을 "[1, 2a], a는 "p1 * b1"로 초기화하며, 예상 평문x를 " 2a "으로 초기화(S502)될 수 있다.
그런 다음, 복호화부(430)는 암호문의 첫 번째 비트가 "0"인지 "1"인지를 판단(S504)하며, S504의 판단 결과 값에 암호문의 비트가 "0"인 경우 복호화 평문x을 아래의 수학식4와 같이 갱신(S506)하고, 암호문 비트가 "1"인 경우 복호화 평문x을 아래와 같은 수학식 5와 같이 갱신(S508)할 수 있다.
[수학식 4]
x = x * pi-1/2a(i는 2 ≤ i ≤n)
[수학식 5]
x = x * (2a - pi-1)/2a(i는 2 ≤ i ≤n)
이후, 순서 보존 복호화 장치(400)는 복호화부(430)를 통해 복호화된 암호문의 비트가 마지막 비트인지를 판단(S510)하고, S510의 판단 결과 마지막 비트가 아닌 경우 복호화 기준점 생성부(410)에 기준점 생성을 요청하며, 이에 따라 복호화 기준점 생성부(410)는 암호문의 다음 비트, 즉 두 번째 비트에 적용될 복호화 기준점(p2)을 생성(S512)하여 복호화부(430)에 제공한다. 복호화부(430)는 두 번째 비트에 이용될 기준점(p2)을 이용하여 평문 공간을 재조정(S514)하는데, 즉 a의 값을 아래의 수학식 6을 이용하여 갱신함으로써, 복호화 평문 전체 크기인 평문 공간을 재조정할 수 있다.
[수학식 6]
a = a + (x*pi)* bi (i는 2 ≤ i ≤n)
한편, S510의 판단 결과, 암호문의 마지막 비트인 경우 순서 보존 복호화 장치(400)는 복호화부(430)를 통해 갱신된 평문x을 출력(S516)한다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 예를 들어 당업자는 각 구성요소의 재질, 크기 등을 적용 분야에 따라 변경하거나, 개시된 실시형태들을 조합 또는 치환하여 본 발명의 실시예에 명확하게 개시되지 않은 형태로 실시할 수 있으나, 이 역시 본 발명의 범위를 벗어나지 않는 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것으로 한정적인 것으로 이해해서는 안 되며, 이러한 변형된 실시예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.
100 : 순서 보존 암호화 장치
110 : 초기화부
120 : 기준점 생성부
130 : 암호문 생성부
140 : 평문 조정부
400 : 순서 보존 복호화 장치
410 : 복호화 기준점 생성부
420 : 복호화 초기화부
430 : 복호화부

Claims (14)

  1. 평문 전체 공간과 암호문 전체 공간을 제공하며, 암호화에 필요한 비밀키와 기준점 생성을 위한 유사 난수 발생기를 설정할 수 있는 인터페이스를 제공하는 초기화부와,
    상기 비밀키를 상기 설정된 유사 난수 발생기에 적용하여 평문에 대한 기준점을 생성하는 기준점 생성부와,
    상기 생성된 기준점과 상기 평문간의 비교를 통해 암호문의 비트를 생성하는 암호문 생성부와,
    상기 암호문에 따라 상기 평문 전체 공간의 크기 및 상기 평문의 크기를 조정하는 평문 조정부를 포함하는
    순서 보존 암호화 장치.
  2. 제 1 항에 있어서,
    상기 암호문 생성부는, 상기 생성된 기준점이 상기 평문보다 작은 경우 암호문 비트를 "0"으로, 상기 생성된 기준점이 상기 평문보다 크거나 같은 경우 암호문 비트를 "1"로 결정하여 암호문을 생성하는 것을 특징으로 하는
    순서 보존 암호화 장치.
  3. 제 2 항에 있어서,
    상기 평문 조정부는,
    상기 암호문 비트가 "0"인 경우 상기 평문 전체 공간의 처음부분 상기 생성된 기준점의 위치까지를 평문 전체 공간으로 조정하고, 상기 암호문 비트가 "1"인 경우 상기 생성된 기준점의 위치부터 상기 평문 전체 공간의 끝 부분까지를 평문 전체 공간으로 조정하는 것을 특징으로 하는
    순서 보존 암호화 장치.
  4. 제 3 항에 있어서,
    상기 평문 조정부는,
    상기 암호문 비트가 "0"인 경우 평문의 크기를 "a' = a * 2m / p1 a'는 조정된 평문, a는 평문, m은 평문 전체 공간을 나타내기 위한 변수"로 조정하고, 상기 암호문 비트가 "1"인 경우 평문의 크기를 "a' = (a - p1) * 2m / (2m - p1) a'는 조정된 평문, a는 평문, m은 평문 전체 공간을 나타내기 위한 변수, p1은 기준점"로 조정하는 것을 특징으로 하는
    순서 보존 암호화 장치.
  5. 평문 전체 공간과 암호문 전체 공간을 설정하고, 암호화에 필요한 비밀키와 기준점 생성을 위한 유사 난수 발생기를 설정하는 단계와,
    상기 비밀키를 상기 설정된 유사 난수 발생기에 적용하여 평문에 대한 기준점을 생성하는 단계와,
    상기 평문이 상기 생성된 기준점간의 비교를 통해 암호문의 비트를 결정하는 단계와,
    상기 결정된 암호문의 비트에 따라 상기 평문 공간의 크기를 조정함과 더불어 상기 평문의 크기를 조정하는 단계와,
    상기 조정된 평문과 상기 평문 전체 공간의 크기를 상기 기준점을 생성하는 단계에 적용하여 이후 단계를 수행하되, 상기 기준점을 생성하는 단계부터 상기 평문의 크기를 조정하는 단계를 n번 반복하여 최종 암호문을 생성하는 단계를 포함하는
    순서 보존 암호화 방법.
  6. 제 5 항에 있어서,
    상기 암호문의 비트를 결정하는 단계는,
    상기 생성된 기준점이 상기 평문보다 작은 경우 암호문 비트를 "0"으로, 상기 생성된 기준점이 상기 평문보다 크거나 같은 경우 암호문 비트를 "1"로 결정하는 것을 특징으로 하는
    순서 보존 암호화 방법.
  7. 제 6 항에 있어서,
    상기 평문의 크기를 조정하는 단계는,
    상기 암호문 비트가 "0"인 경우 상기 평문 전체 공간의 처음부분 상기 생성된 기준점의 위치까지를 평문 전체 공간으로 조정하는 단계와,
    상기 암호문 비트가 "1"인 경우 상기 생성된 기준점의 위치부터 상기 평문 전체 공간의 끝 부분까지를 평문 전체 공간으로 조정하는 단계를 포함하는 것을 특징으로 하는
    순서 보존 암호화 방법.
  8. 제 7 항에 있어서,
    상기 평문의 크기를 조정하는 단계는,
    상기 암호문 비트가 "0"인 경우 평문의 크기를 "a' = a * 2m / p1 a'는 조정된 평문, a는 평문, m은 평문 전체 공간을 나타내기 위한 변수""로 조정하는 단계와,
    상기 암호문 비트가 "1"인 경우 평문의 크기를 "a' = (a - p1) * 2m / (2m - p1) a'는 조정된 평문, a는 평문, m은 평문 전체 공간을 나타내기 위한 변수, p1은 기준점"로 조정하는 단계를 포함하는 것을 특징으로 하는
    순서 보존 암호화 방법.
  9. 순서 보존 암호화 장치에 의해 암호화된 암호문를 복호화하기 위한 장치로서,
    상기 순서 보존 암호화 장치에서 사용한 비밀키를 유사 난수 발생기에 적용하여 복호화 기준점을 생성하는 복호화 기준점 생성부와,
    상기 복호화 기준점과 상기 암호문 내 비트를 이용하여 복호화 평문 전체 크기와 예상 평문을 설정하는 복호화 초기화부와,
    상기 암호문의 비트 값에 따라 상기 예상 평문의 조정을 통해 상기 암호문를 복호화하며, 상기 암호문의 다음 비트를 복호화하기 위한 기준점 생성을 상기 복호화 기준점 생성부에 요청하여 제공받은 후 이를 이용하여 상기 복호화 평문 전체 크기를 재조정하는 복호화부를 포함하는
    순서 보존 복호화 장치.
  10. 제 9 항에 있어서,
    상기 복호화부는,
    상기 암호문의 비트가 "0"인 경우 상기 복호화 평문을 "a * pi-1/2m(i는 2 ≤ i ≤n, pi-1은 복호화 기준점, a는 예상 평문)"로 갱신하고, 상기 암호문의 비트가 "1"인 경우 상기 복호화 평문을 "a = a * (2m - pi-1)/2m(i는 2 ≤ i ≤n, pi-1은 복호화 기준점, a는 예상 평문)"로 갱신하는 것을 특징으로 하는
    순서 보존 복호화 장치.
  11. 제 9 항에 있어서,
    상기 복호화부는,
    상기 복호화 평문 전체 크기를 수학식 " m + (a*pi)* bi (i는 2 ≤ i ≤n, m은 평문 전체 크기, i는 2 ≤ i ≤n, pi은 암호문의 i번째 비트를 복호화하기 위한 기준점, a는 예상 평문, bi는 i번째 암호문 비트)"로 계산하는 것을 특징으로 하는
    순서 보존 복호화 장치.
  12. 순서 보존 암호화 장치에 의해 암호화된 암호문를 복호화하기 위한 방법으로서,
    상기 순서 보존 암호화 장치에서 사용한 비밀키를 유사 난수 발생기에 적용하여 복호화 기준점을 생성하는 단계와,
    상기 복호화 기준점과 평문 공간을 초기화함과 더불어 예상 평문을 설정하는 단계와,
    상기 복호화 기준점과 상기 암호문 내 비트를 이용하여 예상 평문을 복호화하는 단계와,
    상기 복호화한 암호문의 비트가 마지막 비트가 아닌 경우 상기 암호문의 다음 비트에 적용될 기준점을 생성하는 단계와,
    상기 다음에 적용될 기준점을 이용하여 상기 복호화 평문 전체 크기를 재조정한 후 상기 복호화 단계로 진행하여 이후 단계를 수행하는 단계를 포함하는
    순서 보존 복호화 방법.
  13. 제 12 항에 있어서,
    상기 복호화하는 단계는,
    상기 암호문의 비트가 "0"인 경우 상기 예상 평문을 "a * pi-1/2m(i는 2 ≤ i ≤n, pi-1은 복호화 기준점, a는 예상 평문)"로 갱신하여 복호화하는 단계와,
    상기 암호문의 비트가 "1"인 경우 상기 복호화 평문을 "a = a * (2m - pi -1)/2m(i는 2 ≤ i ≤n, pi -1은 복호화 기준점, a는 예상 평문)"로 갱신하여 복호화하는 단계를 포함하는 것을 특징으로 하는
    순서 보존 복호화 방법.
  14. 제 12 항에 있어서,
    상기 복호화 평문 전체 크기는,
    수학식 " m + (a*pi)* bi (i는 2 ≤ i ≤n, m은 평문 전체 크기, i는 2 ≤ i ≤n, pi은 암호문의 i번째 비트를 복호화하기 위한 기준점, a는 예상 평문, bi는 i번째 암호문 비트)"에 의해 재조정되는 것을 특징으로 하는
    순서 보존 복호화 방법.
KR1020100132384A 2010-12-22 2010-12-22 순서 보존 암호화 및 복호화 장치와 그 방법 KR101727312B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100132384A KR101727312B1 (ko) 2010-12-22 2010-12-22 순서 보존 암호화 및 복호화 장치와 그 방법
US13/333,974 US8817978B2 (en) 2010-12-22 2011-12-21 Order-preserving encryption and decryption apparatus and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100132384A KR101727312B1 (ko) 2010-12-22 2010-12-22 순서 보존 암호화 및 복호화 장치와 그 방법

Publications (2)

Publication Number Publication Date
KR20120070874A true KR20120070874A (ko) 2012-07-02
KR101727312B1 KR101727312B1 (ko) 2017-04-14

Family

ID=46316827

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100132384A KR101727312B1 (ko) 2010-12-22 2010-12-22 순서 보존 암호화 및 복호화 장치와 그 방법

Country Status (2)

Country Link
US (1) US8817978B2 (ko)
KR (1) KR101727312B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101469857B1 (ko) * 2013-08-01 2014-12-08 고려대학교 산학협력단 암호문 생성 장치 및 방법
KR101499064B1 (ko) * 2013-07-23 2015-03-05 주식회사 바넷정보기술 정형 및 비정형 데이터를 포함하는 빅데이터에서의 개인정보 익명화 관리 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103503363A (zh) * 2011-05-18 2014-01-08 日本电气株式会社 顺序保持加密系统、设备、方法和程序
JP6477461B2 (ja) * 2013-02-28 2019-03-06 日本電気株式会社 順序保存暗号化システム、装置、方法およびプログラム
KR20150122494A (ko) 2014-04-23 2015-11-02 삼성전자주식회사 암호화 장치, 암호화 방법, 복호화 방법 및 컴퓨터 판독가능 기록매체
KR102219476B1 (ko) 2014-05-14 2021-02-24 삼성전자주식회사 데이터를 암호화하는 방법 및 그를 위한 장치
US9800558B2 (en) 2015-10-01 2017-10-24 Sap Se Frequency-hiding order-preserving encryption
US9830470B2 (en) 2015-10-09 2017-11-28 Sap Se Encrypting data for analytical web applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050147246A1 (en) * 2004-01-05 2005-07-07 Rakesh Agrawal System and method for fast querying of encrypted databases
KR20090079028A (ko) * 2008-01-16 2009-07-21 재단법인서울대학교산학협력재단 암호화 방법, 클라이언트의 데이터 처리 방법

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7426752B2 (en) 2004-01-05 2008-09-16 International Business Machines Corporation System and method for order-preserving encryption for numeric data
US7694134B2 (en) * 2005-11-11 2010-04-06 Computer Associates Think, Inc. System and method for encrypting data without regard to application
US7818586B2 (en) * 2005-11-11 2010-10-19 Computer Associates Think, Inc. System and method for data encryption keys and indicators
KR100924796B1 (ko) 2007-11-29 2009-11-03 한국전자통신연구원 베타 전개를 이용한 순서 보존 수치 데이타 암호화 시스템및 방법
US8539240B2 (en) * 2008-01-28 2013-09-17 Seagate Technology Llc Rights object authentication in anchor point-based digital rights management
US20120121080A1 (en) * 2010-11-11 2012-05-17 Sap Ag Commutative order-preserving encryption

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050147246A1 (en) * 2004-01-05 2005-07-07 Rakesh Agrawal System and method for fast querying of encrypted databases
KR20090079028A (ko) * 2008-01-16 2009-07-21 재단법인서울대학교산학협력재단 암호화 방법, 클라이언트의 데이터 처리 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101499064B1 (ko) * 2013-07-23 2015-03-05 주식회사 바넷정보기술 정형 및 비정형 데이터를 포함하는 빅데이터에서의 개인정보 익명화 관리 시스템
KR101469857B1 (ko) * 2013-08-01 2014-12-08 고려대학교 산학협력단 암호문 생성 장치 및 방법

Also Published As

Publication number Publication date
KR101727312B1 (ko) 2017-04-14
US20120163586A1 (en) 2012-06-28
US8817978B2 (en) 2014-08-26

Similar Documents

Publication Publication Date Title
KR101727312B1 (ko) 순서 보존 암호화 및 복호화 장치와 그 방법
KR101847492B1 (ko) 데이터 암호화 장치 및 방법, 데이터 복호화 장치 및 방법
US7995750B2 (en) Privacy-preserving concatenation of strings
KR101600016B1 (ko) 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치
JP6732141B2 (ja) 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム
Rathod et al. Design and implementation of image encryption algorithm by using block based symmetric transformation algorithm (hyper image encryption algorithm)
RU2666281C2 (ru) Электронное устройство блочного шифрования, подходящее для обфускации
Gupta et al. Multiphase encryption: A new concept in modern cryptography
WO2015163822A1 (en) Method and system for generating / decrypting ciphertext, and method and system for searching ciphertexts in a database
WO2016088453A1 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
JP2015002409A (ja) 暗号化鍵更新システム及びその方法
KR101914453B1 (ko) 암호화 장치 및 방법
KR20150122494A (ko) 암호화 장치, 암호화 방법, 복호화 방법 및 컴퓨터 판독가능 기록매체
Nehakhatri-Valmik et al. Blowfish algorithm
WO2015166701A1 (ja) 暗号化方法、プログラム、および、システム
EP3298720B1 (en) Computing with encrypted values
CN105281893A (zh) 用于引入白箱实现对串集合的依赖性的方法
Singh et al. Secure Data Transmission
KR20170103321A (ko) 보안성이 강화된 순서보존 암호화 방법 및 장치
Charru et al. Improved Cryptography Algorithm to Enhanced Data Security
Saxena et al. A new way to enhance efficiency & security by using symmetric cryptography
KR20150139304A (ko) 마스터 키를 보호하기 위한 암호화 장치 및 그 방법
JP2015050708A (ja) 動的暗号化鍵生成システム
JP5293612B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法およびプログラム
WO2018011825A1 (en) Encryption and decryption of messages

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