KR20170103321A - 보안성이 강화된 순서보존 암호화 방법 및 장치 - Google Patents

보안성이 강화된 순서보존 암호화 방법 및 장치 Download PDF

Info

Publication number
KR20170103321A
KR20170103321A KR1020160025951A KR20160025951A KR20170103321A KR 20170103321 A KR20170103321 A KR 20170103321A KR 1020160025951 A KR1020160025951 A KR 1020160025951A KR 20160025951 A KR20160025951 A KR 20160025951A KR 20170103321 A KR20170103321 A KR 20170103321A
Authority
KR
South Korea
Prior art keywords
order
encryption
function
ord
information
Prior art date
Application number
KR1020160025951A
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 KR1020160025951A priority Critical patent/KR20170103321A/ko
Publication of KR20170103321A publication Critical patent/KR20170103321A/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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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

Landscapes

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

Abstract

보안성이 강화된 순서보존 암호화 방법 및 장치가 개시된다. 본 발명에 따른 순서보존 암호화 방법은 평문집합에 포함된 복수개의 평문들의 순서를 추출하는 순서함수를 정의하는 단계; 상기 순서함수를 이용하여 상기 복수개의 평문들 중 암호화할 어느 하나의 평문에 상응하는 순서정보를 생성하는 단계; 비밀키를 기반으로 상기 어느 하나의 평문을 대칭키 암호화하여 복호화 정보를 생성하는 단계; 및 상기 순서정보와 복호화 정보를 결합하여 암호문을 생성하는 단계를 포함한다.

Description

보안성이 강화된 순서보존 암호화 방법 및 장치 {ORDER PRESERVING ENCRYPTION METHOD AND APPARATUS WITH ENHANCED SECURITY}
본 발명은 순서보존 암호화 기술에 관한 것으로, 특히 데이터베이스에서 데이터 암호화 적용에 따른 데이터 활용성 저하를 최소화할 수 있으면서 이론적으로 가장 강한 안전성을 보장하는 보안성이 강화된 순서보존 암호화 방법 및 장치에 관한 것이다.
데이터 소유자가 직접 자신의 데이터를 저장 및 관리하던 환경에서는 외부 공격자에 의한 공격이 큰 위협이었다. 그러나 최근에 기업이나 일반 사용자들이 클라우드 스토리지와 같은 신뢰하기 힘든 외부 데이터 저장 공간을 이용하여 데이터를 활용하면서 데이터베이스 관리자에 의한 데이터 유출이 심각한 위협 대상으로 부각되고 있다. 이러한 내부 공격자에 의한 데이터 유출은 기존의 데이터베이스 보안 기술을 전적으로 무력화하고 있다. 따라서, 이러한 위협으로부터 데이터의 기밀성을 보장하기 위해서는 자료를 외부 데이터베이스에 저장하기 전에 사용자가 데이터를 암호화하는 방법이 필수적이다.
하지만, 일반적인 암호화 기법을 적용한 데이터 암호화는 암호화된 데이터에서 어떠한 정보도 유추할 수 없게 만들기 때문에, 데이터베이스가 제공하는 다양한 데이터 활용 기술을 사용할 수 없다는 제약이 발생한다.
이 때, 순서보존 암호화 기술은 암호화 과정에서 평문의 순서정보가 그대로 보존되는 암호화 기술로, 모든 평문 m1, m2 (m1>m2)와 비밀키 k에 대해서 Ek(m1) > Ek(m2)를 만족한다. 즉, 검색, 정렬, max, min 등과 같이 데이터베이스에서의 다양한 연산들이 데이터의 순서정보를 바탕으로 제공되고 있기 때문에, 순서보존 암호화 기법을 적용한 경우에도 데이터베이스에 의한 다양한 데이터 활용이 가능하다. 또한, 다른 암호화 데이터 처리 기술과 비교하였을 때, 순서보존 암호화 기술은 데이터에 대한 복호화 또는 추가적인 정보 추출 과정 없이 데이터 활용이 가능하다는 장점을 지닌다.
순서보존 암호화 기술은 이러한 외부 데이터베이스 환경에서 데이터의 기밀성과 동시에 높은 데이터 활용성을 제공하기 위해서 고안된 암호화 기술로, 초기에는 암호학적인 안전성에 대한 고려 없이 간단한 구조의 순서보존 암호화 기술들이 제안되었다. 이 후 2004년, Agrawal 등에 의해서 최초로 암호학적인 안전성이 체계적으로 제시되었다. Agrawal 등은 순서보존 암호화 기법의 안전성을 평문의 분포와 암호문 분포 사이의 상관관계로 정의했으며, 임의의 평문집합에 대해서 사용자가 원하는 분포를 가지는 암호문 집합으로 암호화할 수 있는 순서보존 암호화 기법을 설계하였다. 하지만, Agrawal의 기법의 경우, 주어진 평문의 분포에 의해 암호화 및 복호화를 위한 비밀키가 결정되기 때문에 키가 미리 정해진 이후에 주어지는 평문에 대해서는 사용자가 원하는 수준의 안전성을 기대하기 힘들다.
Boldyreva 등은 2009년, 순서보존 암호화 기법에 대한 새로운 안전성을 제시하고 이를 만족하는 새로운 순서보존 암호화 기법을 제시하였다. Boldyreva 등은 주어진 평문 및 암호문 집합에서 정의되는 임의의 순서보존함수와의 구별 불가능성으로 순서보존 암호화 기법의 안전성을 제시하였다. 즉, 평문 및 암호문 집합이 고정된 경우에, 순서보존 암호화 기법은 주어진 비밀키를 평문 및 암호문 사이의 하나의 순서보존 함수로 맵핑하는 방법으로 정의된다. 이 때, 공격자는 주어진 순서보존함수가 비밀키와 맵핑된 함수인지 아니면 임의로 주어진 함수인지를 구별할 수 없기 때문에, 이러한 순서보존 암호화 기법이 안전한 것으로 정의하였다. 하지만, 이러한 안전성을 만족하는 효율적인 순서보존 암호화 함수를 설계하는 것은 쉽지 않은 문제이며, 또한 이러한 안전성이 공격자가 암호문에서 평문의 정보를 추출할 수 없다는 것을 현실적으로 보장하는지에 대해 고려할 사항들이 남아 있는 상태이다.
한국 공개 특허 제10-2012-0070874호, 2012년 7월 2일 공개(명칭: 순서 보존 암호화 및 복호화 장치와 그 방법)
본 발명의 목적은 기존의 안전성 정의와는 차별되는 순서보존 암호화 함수가 제공될 수 있는 이론적으로 가장 강력한 안전성의 순서보존 암호화 기술을 제공하는 것이다.
또한, 본 발명의 목적은 데이터 기밀성과 데이터 활용성을 동시에 제공할 수 있도록 암호문에 대한 순서정보와 복호화 정보로 구성되는 새로운 순서보존 암호화 기술을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 보안성이 강화된 순서보존 암호화 방법은, 평문집합에 포함된 복수개의 평문들의 순서를 추출하는 순서함수를 정의하는 단계; 상기 순서함수를 이용하여 상기 복수개의 평문들 중 암호화할 어느 하나의 평문에 상응하는 순서정보를 생성하는 단계; 비밀키를 기반으로 상기 어느 하나의 평문을 대칭키 암호화하여 복호화 정보를 생성하는 단계; 및 상기 순서정보와 복호화 정보를 결합하여 암호문을 생성하는 단계를 포함한다.
본 발명에 따르면, 데이터 기밀성과 데이터 활용성을 동시에 제공할 수 있도록 암호문에 대한 순서정보와 복호화 정보로 구성되는 새로운 순서보존 암호화 기술을 제공할 수 있다.
또한, 본 발명은 기존의 알려진 순서보존 암호화 기법과는 차별화되는 순서보존 암호화 함수가 제공할 수 있는 이론적으로 가장 강력한 안전성을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 방법을 나타낸 동작 흐름도이다.
도 2는 본 발명에 따른 암호화 과정의 개념을 나타낸 도면이다.
도 3은 본 발명의 일실시예에 따른 암호화 함수의 구성을 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 복호화 과정을 나타낸 동작 흐름도이다.
도 5는 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 장치를 나타낸 블록도이다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
순서보존 암호화 기술은 데이터에 대한 암호화에 따른 기밀성 제공과 동시에 암호화된 데이터를 복호화하지 않고도 활용할 수 있는 데이터 활용성을 제공할 수 있지만, 일반적인 암호화 기술에 비해 보안성이 낮다는 단점을 가지고 있다. 순서보존 암호화 기술은 암호화된 데이터에 대한 순서정보를 제공하기 위한 기술의 기본특성에서 일반적인 암호화 기술이 제공하는 안전성을 제공할 수 없다는 것이 알려져 있는 상태이다. 따라서, 순서보존 암호화 기술을 위한 특화된 안전성 정의가 요구되고 있으며, 이를 위해서 다양한 안전성 정의가 시도되고 있으나 아직까지 완벽한 안전성 개념이 제시되고 있지 못하고 있는 실정이다.
따라서, 본 발명에서는 순서보존 암호화 기술이 제공할 수 있는 이론적으로 가장 안전한 보안성에 기반한 새로운 순서보존 암호화 기술을 제시하고자 한다.
이를 위해, 본 발명에서 제시하는 순서보존 암호문은 두 개의 구성 요소로 구성될 수 있다. 이 때, 암호문을 구성하는 하나의 구성 요소는 암호문에 대한 순서정보를 제공하는 부분이며, 다른 하나의 구성 요소는 암호문으로부터 평문 데이터를 복호화하기 위해 필요한 복호화 정보를 제공하는 부분일 수 있다.
이에 대한 상세한 설명은 아래 도 1 내지 도 5를 참조하여 설명하도록 한다.
도 1은 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 방법을 나타낸 동작 흐름도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 방법은 평문집합에 포함된 복수개의 평문들의 순서를 추출하는 순서함수를 정의한다(S110).
이 때, 순서함수는 평문집합과 평문집합을 구성하는 원소, 즉 평문을 입력으로 할 수 있고, 입력된 평문이 평문집합에서 가지는 순서정보를 출력할 수 있다.
또한, 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 방법은 순서함수를 이용하여 복수개의 평문들 중 암호화할 어느 하나의 평문에 상응하는 순서정보를 생성한다(S120).
예를 들어, 평문집합이 S = {m1, m2, ..., mn}에 상응한다면, 순서함수 Ord는 [수학식 1]과 같이 정의될 수 있다.
[수학식 1]
Ord(S, m) = |{ x | x ∈ S, x < m}|
즉, S = {1, 5, 7, 8, 14, 16, 28, 29}에 대해서는, Ord(S, 1) = 0, Ord(S, 5) = 1, Ord(S, 7) = 2, ..., Ord(S, 29) = 7로 Ord(S, m)은 0에서 n-1 사이의 정수를 출력할 수 있다.
또한, 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 방법은 비밀키를 기반으로 어느 하나의 평문을 대칭키 암호화하여 복호화 정보를 생성한다(S130).
이 때, 암호화를 수행하는 암호화 함수는 평문집합을 입력 받아 암호문 집합을 출력할 수 있다. 예를 들어, 암호화 함수 Enc는 평문집합이 S = {m1, m2, ..., mn}를 입력 받아 암호문 집합 C = {c1, c2, ..., cn}을 출력할 수 있다. 이 때, c1 = Enck(mi)로 정의될 수 있으며, k는 암호화 및 복호화를 위한 비밀키에 상응할 수 있다.
이 때, 순서함수를 이용하여 암호화 함수를 정의하면 [수학식 2]와 같이 정의할 수 있다.
[수학식 2]
Enck(S, m) = Ord(S, m) || Ek(m)
이 때, Ek(m)은 본 발명에서 사용한 일반적인 대칭키 암호 시스템에서의 암호화 결과를 의미할 수 있다.
이 때, [수학식 2]에 정의된 암호화 함수 Enc는 평문집합의 순서를 보존할 수 있다.
즉, 평문집합 S의 두 원소 m1, m2와 임의의 비밀키 k에 대해서는, Enck(S, m1) = Ord(S, m1) || Ek(m1), Enck(S, m2) = Ord(S, m2) || Ek(m2)로 정의될 수 있다.
또한, 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 방법은 순서정보와 복호화 정보를 결합하여 암호문을 생성한다(S140).
이 때, 암호문의 순서는 최상위 비트의 크기로 결정이 되기 때문에, 상기 예시에 나타낸, Enck(S, m1) = Ord(S, m1) || Ek(m1), Enck(S, m2) = Ord(S, m2) || Ek(m2)에서 Ord(S, m1) < Ord(S, m2) 이거나 Ord(S, m1) > Ord(S, m2)라고 가정한다면 하위 비트열에 해당하는 Ek(m1)과 Ek(m2)의 크기와는 상관없이 암호문의 순서를 결정할 수 있다. 만약, Ord(S, m1) = Ord(S, m2)인 경우에는 m1 = m2 이므로, 두 암호문은 동일한 값에 상응할 수 있다.
또한, 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 방법은 복호화 함수를 이용하여 암호문에 대응되는 평문을 출력할 수 있다. 예를 들어, 복호화 함수에 상응하는 Dec는 암호화에 사용되었던 비밀키와 암호문을 입력으로 하여 그에 대응되는 평문을 출력할 수 있다.
[수학식 3]
Deck(C1||C2) = Dk(C2)
이 때, k는 비밀키, C1과 C2는 암호문, Dk(m)는 일반적인 대칭키 암호 시스템의 복호화 함수를 의미할 수 있다.
이와 같은 보안성이 강화된 순서보존 암호화 방법을 통해 기존의 안전성 정의와는 차별되는 순서보존 암호화 함수가 제공될 수 있는 이론적으로 가장 강력한 안전성의 순서보존 암호화 기술을 제공할 수 있다.
또한, 데이터 기밀성과 데이터 활용성을 동시에 제공할 수 있도록 암호문에 대한 순서정보와 복호화 정보로 구성되는 새로운 순서보존 암호화 기술을 제공할 수 있다.
도 2는 본 발명에 따른 암호화 과정의 개념을 나타낸 도면이다.
도 2를 참조하면, 본 발명에 따른 암호화 과정은 m1부터 mn까지 n개의 평문을 포함하는 평문집합(210)에서 평문(211) m에 해당하는 순서정보(241)를 생성할 수 있다. 이 때, 순서 함수(220) Ord에 평문집합(210)과 평문(211) m을 입력 값으로 입력하여 순서정보(241)를 획득할 수 있다.
이 후, 비밀키(230) k를 이용하여 평문(211) m을 암호화할 수 있다.
이 때, 평문(211) m을 대칭키 암호화하여 암호문(240)에 포함될 복호화 정보(242)를 생성할 수 있다.
이 때, 암호문(240)을 생성하기 위한 암호화 함수는 평문집합(210)을 입력 받아 암호문 집합을 출력할 수 있다.
이 때, 암호문(240)은 평문들의 순서정보(241)를 포함하여야 하기 때문에 암호화 함수는 순서함수(220) Ord를 이용하여 정의될 수 있다.
예를 들어, 암호화 함수 Enc는 Enck(S, m) = Ord(S, m) || Ek(m) 와 상응하게 표현될 수 있다. 이 때, Ek(m)은 본 발명에서 사용한 일반적인 대칭키 암호 시스템에서의 암호화 결과를 의미할 수 있다.
따라서, 이와 같은 암호화 함수 Enc는 평문집합(210)에서의 평문들의 순서를 보존할 수 있다.
도 3은 본 발명의 일실시예에 따른 암호화 함수의 구성을 나타낸 도면이다.
도 3을 참조하면, 본 발명의 일실시예에 따르면, 먼저 평문집합(310)을 기반으로 순서함수(320)를 정의하고, 순서함수(320)와 비밀키(330)를 이용하여 암호화 함수(340)를 정의할 수 있다.
예를 들어, 평문집합(310)이 S = {m1, m2, ..., mn}에 상응한다고 가정하면, 순서함수(320) Ord는 평문집합(310)과 평문들을 입력으로 하여 아래와 같이 정의될 수 있다.
Ord(S, m) = |{ x | x ∈ S, x < m} |
즉, 평문집합(310) S가 S = {1, 5, 7, 8, 14, 16, 28, 29}에 상응한다면, 순서함수(32)는 Ord(S, 1) = 0, Ord(S, 5) = 1, Ord(S, 7) = 2, ..., Ord(S, 29) = 7에 상응하는 값을 출력할 수 있다. 또한, Ord(S, m)은 0에서 n-1 사이의 정수를 출력할 수 있다.
이와 같이 순서함수(320)가 정의되면, 비밀키(330) k와 순서함수(320) Ord를 이용하여 아래와 같이 암호화 함수(340) Enc도 정의할 수 있다.
Enck(S, m) = Ord(S, m) || Ek(m)
즉. 암호화 함수(340) Enc에 의해 생성되는 암호문들은 평문집합(310)에 포함된 평문들의 순서정보를 포함할 수 있기 때문에, 외부 데이터베이스 등에서 활용할 수 있으며 그 기밀성 또한 보장할 수 있다.
도 4는 본 발명의 일실시예에 따른 복호화 과정을 나타낸 동작 흐름도이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 복호화 과정은 복수개의 암호문들을 수신한다(S410).
이 때, 암호문들은 각각 평문들이 암호화되기 전에 평문집합에서의 순서에 상응하는 순서정보와 비밀키 기반의 대칭키 암호화에 의한 복호화 정보를 포함할 수 있다.
이 후, 암호문들 각각에 포함된 순서정보를 기반으로 복수개의 암호문들을 정렬한다(S420). 이와 같이 암호문들은 복호화 정보와 별도로 순서정보를 포함하고 있기 때문에, 별도의 복호화 과정을 수행하지 않아도 순서정보를 기반으로 평문집합에서의 순서에 상응하게 정렬하는 것이 가능하다.
이 후, 복호화 함수에 비밀키와 정렬된 복수개의 암호문들을 입력한다(S430).
이 후, 순서정보에 상응하게 평문 값들을 출력한다(S440).
예를 들어, 복호화 함수가 Dec에 상응한다고 가정하면, 복호화 함수 Dec에 암호화 과정에서 사용된 비밀키 k와 암호문들을 입력하여 복호화를 수행할 수 있다. 이 때, 복호화 함수 Dec는 아래와 같을 수 있다.
Deck(C1||C2) = Dk(C2)
이 때, k는 비밀키, C1과 C2는 암호문, Dk(m)는 일반적인 대칭키 암호 시스템의 복호화 함수를 의미할 수 있다.
도 5는 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 장치를 나타낸 블록도이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 장치는 순서함수 정의부(510), 암호화부(520) 및 복호화부(530)를 포함한다.
순서함수 정의부(510)는 평문집합에 포함된 복수개의 평문들의 순서를 추출하는 순서함수를 정의한다.
이 때, 순서함수는 평문집합과 평문집합을 구성하는 원소, 즉 평문을 입력으로 할 수 있고, 입력된 평문이 평문집합에서 가지는 순서정보를 출력할 수 있다.
예를 들어, 평문집합이 S = {m1, m2, ..., mn}에 상응한다면, 순서함수 Ord는 [수학식 1]과 같이 정의될 수 있다.
[수학식 1]
Ord(S, m) = |{ x | x ∈ S, x < m} |
즉, S = {1, 5, 7, 8, 14, 16, 28, 29}에 대해서는, Ord(S, 1) = 0, Ord(S, 5) = 1, Ord(S, 7) = 2, ..., Ord(S, 29) = 7로 Ord(S, m)은 0에서 n-1 사이의 정수를 출력할 수 있다.
암호화부(520)는 순서함수를 이용하여 복수개의 평문들 중 암호화할 어느 하나의 평문에 상응하는 순서정보를 생성하고, 비밀키를 기반으로 어느 하나의 평문을 대칭키 암호화하여 복호화 정보를 생성한 뒤 순서정보와 복호화 정보를 결합하여 암호문을 생성한다.
이 때, 암호화를 수행하는 암호화 함수는 평문집합을 입력 받아 암호문 집합을 출력할 수 있다. 예를 들어, 암호화 함수 Enc는 평문집합이 S = {m1, m2, ..., mn}를 입력 받아 암호문 집합 C = {c1, c2, ..., cn}을 출력할 수 있다. 이 때, ci = Ord(S, mi) || Enck(mi)로 정의될 수 있으며, k는 암호화 및 복호화를 위한 비밀키에 상응할 수 있다.
이 때, 순서함수를 이용하여 암호화 함수를 정의하면 [수학식 2]와 같이 정의할 수 있다.
[수학식 2]
Enck(S, m) = Ord(S, m) || Ek(m)
이 때, Ek(m)은 본 발명에서 사용한 일반적인 대칭키 암호 시스템에서의 암호화 결과를 의미할 수 있다.
이 때, [수학식 2]에 정의된 암호화 함수 Enc는 평문집합의 순서를 보존할 수 있다.
즉, 평문집합 S의 두 원소 m1, m2와 임의의 비밀키 k에 대해서는, Enck(S, m) = Ord(S, m1) || Ek(m1), Enck(S, m2) = Ord(S, m2) || Ek(m2)로 정의될 수 있다.
이 때, 암호문의 순서는 최상위 비트의 크기로 결정이 되기 때문에, 상기 예시에 나타낸, Enck(S, m) = Ord(S, m1) || Ek(m1), Enck(S, m2) = Ord(S, m2) || Ek(m2)에서 Ord(S, m1) < Ord(S, m2) 이거나 Ord(S, m1) > Ord(S, m2)라고 가정한다면 하위 비트열에 해당하는 Ek(m1)과 Ek(m2)의 크기와는 상관없이 암호문의 순서를 결정할 수 있다. 만약, Ord(S, m1) = Ord(S, m2)인 경우에는 m1 = m2 이므로, 두 암호문은 동일한 값에 상응할 수 있다.
복호화부(530)는 상기 비밀키를 기반으로 한 복호화 함수를 이용하여 암호문에 대응되는 평문을 출력한다.
예를 들어, 복호화 함수에 상응하는 Dec는 암호화에 사용되었던 비밀키와 암호문을 입력으로 하여 그에 대응되는 평문을 출력할 수 있다.
[수학식 3]
Deck(C1||C2) = Dk(C2)
이 때, k는 비밀키, C1과 C2는 암호문, Dk(m)는 일반적인 대칭키 암호 시스템의 복호화 함수를 의미할 수 있다.
또한, 도 5에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 보안성이 강화된 순서보존 암호화 장치는 상술한 바와 같이 본 발명의 실시예에 따른 암호화 과정에서 발생되는 다양한 정보를 저장하는 저장부를 포함할 수도 있다.
실시예에 따라, 저장부는 순서보존 암호화 장치와 독립적으로 구성되어 암호화를 위한 기능을 지원할 수 있다. 이 때, 저장부는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수도 있다.
이와 같은 보안성이 강화된 순서보존 암호화 장치를 이용함으로써 기존의 안전성 정의와는 차별되는 순서보존 암호화 함수가 제공될 수 있는 이론적으로 가장 강력한 안전성의 순서보존 암호화 기술을 제공할 수 있다.
또한, 데이터 기밀성과 데이터 활용성을 동시에 제공할 수 있도록 암호문에 대한 순서정보와 복호화 정보로 구성되는 새로운 순서보존 암호화 기술을 제공할 수 있다.
도 6은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 6을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템에서 구현될 수 있다. 도 6에 도시된 바와 같이, 컴퓨터 시스템(600)은 버스(620)를 통하여 서로 통신하는 하나 이상의 프로세서(610), 메모리(630), 사용자 입력 장치(640), 사용자 출력 장치(650) 및 스토리지(660)를 포함할 수 있다. 또한, 컴퓨터 시스템(600)은 네트워크(680)에 연결되는 네트워크 인터페이스(670)를 더 포함할 수 있다. 프로세서(610)는 중앙 처리 장치 또는 메모리(630)나 스토리지(660)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(630) 및 스토리지(660)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(631)이나 RAM(632)을 포함할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터로 구현된 방법이나 컴퓨터에서 실행 가능한 명령어들이 기록된 비일시적인 컴퓨터에서 읽을 수 있는 매체로 구현될 수 있다. 컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 측면에 따른 방법을 수행할 수 있다.
이상에서와 같이 본 발명에 따른 보안성이 강화된 순서보존 암호화 방법 및 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
210, 310: 평문집합 211: 평문
220, 320: 순서함수 230, 330: 비밀키
240: 암호문 241: 순서정보
242: 복호화 정보 340: 암호화 함수
510: 순서함수 정의부 520: 암호화부
530: 복호화부 600: 컴퓨터 시스템
610: 프로세서 620: 버스
630: 메모리 631: 롬
632: 램 640: 사용자 입력 장치
650: 사용자 출력 장치 660: 스토리지
670: 네트워크 인터페이스 680: 네트워크

Claims (1)

  1. 평문집합에 포함된 복수개의 평문들의 순서를 추출하는 순서함수를 정의하는 단계;
    상기 순서함수를 이용하여 상기 복수개의 평문들 중 암호화할 어느 하나의 평문에 상응하는 순서정보를 생성하는 단계;
    비밀키를 기반으로 상기 어느 하나의 평문을 대칭키 암호화하여 복호화 정보를 생성하는 단계; 및
    상기 순서정보와 복호화 정보를 결합하여 암호문을 생성하는 단계
    를 포함하는 것을 특징으로 하는 보안성이 강화된 순서보존 암호화 방법.
KR1020160025951A 2016-03-03 2016-03-03 보안성이 강화된 순서보존 암호화 방법 및 장치 KR20170103321A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160025951A KR20170103321A (ko) 2016-03-03 2016-03-03 보안성이 강화된 순서보존 암호화 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160025951A KR20170103321A (ko) 2016-03-03 2016-03-03 보안성이 강화된 순서보존 암호화 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20170103321A true KR20170103321A (ko) 2017-09-13

Family

ID=59967710

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160025951A KR20170103321A (ko) 2016-03-03 2016-03-03 보안성이 강화된 순서보존 암호화 방법 및 장치

Country Status (1)

Country Link
KR (1) KR20170103321A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200039979A (ko) 2018-10-08 2020-04-17 세종대학교산학협력단 순서 노출 암호화를 위한 장치 및 방법
KR20200089832A (ko) 2019-01-18 2020-07-28 세종대학교산학협력단 신뢰기관이 없는 다중 클라이언트 환경의 순서 노출 암호화를 위한 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200039979A (ko) 2018-10-08 2020-04-17 세종대학교산학협력단 순서 노출 암호화를 위한 장치 및 방법
KR20200089832A (ko) 2019-01-18 2020-07-28 세종대학교산학협력단 신뢰기관이 없는 다중 클라이언트 환경의 순서 노출 암호화를 위한 장치 및 방법

Similar Documents

Publication Publication Date Title
US8155311B2 (en) Method and apparatus for encrypting message for maintaining message integrity, and method and apparatus for decrypting message for maintaining message integrity
CN110650010B (zh) 一种非对称密钥中的私钥生成和使用方法、装置和设备
JP6345237B2 (ja) 平文データを暗号化するための方法および装置
KR101847492B1 (ko) 데이터 암호화 장치 및 방법, 데이터 복호화 장치 및 방법
KR102219476B1 (ko) 데이터를 암호화하는 방법 및 그를 위한 장치
US9602273B2 (en) Implementing key scheduling for white-box DES implementation
US8681975B2 (en) Encryption method and apparatus using composition of ciphers
EP3174238A1 (en) Protecting white-box feistel network implementation against fault attack
KR102397579B1 (ko) 부채널 분석 방지를 위한 화이트박스 암호 방법 및 장치
US9819486B2 (en) S-box in cryptographic implementation
EP3125462A1 (en) Balanced encoding of intermediate values within a white-box implementation
JP6575532B2 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
EP2922235B1 (en) Security module for secure function execution on untrusted platform
CN105406969A (zh) 数据加密装置及方法
CN110169010B (zh) 同态运算装置、加密系统和计算机能读取的存储介质
KR20170097509A (ko) 화이트 박스 암호화 기반의 연산 방법 및 그 방법을 수행하는 보안 단말
Ahmad et al. Distributed text-to-image encryption algorithm
KR101914453B1 (ko) 암호화 장치 및 방법
JP5992651B2 (ja) 暗号化方法、プログラム、および、システム
KR20170103321A (ko) 보안성이 강화된 순서보존 암호화 방법 및 장치
KR101790948B1 (ko) Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
Pandey et al. Data security using various cryptography Techniques: A Recent Survey
WO2015173905A1 (ja) 暗号装置及び記憶システム及び復号装置及び暗号方法及び復号方法及び暗号プログラム及び復号プログラム
Surameery Modified advanced encryption standard for boost image encryption
KR20150139304A (ko) 마스터 키를 보호하기 위한 암호화 장치 및 그 방법