KR102219476B1 - 데이터를 암호화하는 방법 및 그를 위한 장치 - Google Patents

데이터를 암호화하는 방법 및 그를 위한 장치 Download PDF

Info

Publication number
KR102219476B1
KR102219476B1 KR1020140057838A KR20140057838A KR102219476B1 KR 102219476 B1 KR102219476 B1 KR 102219476B1 KR 1020140057838 A KR1020140057838 A KR 1020140057838A KR 20140057838 A KR20140057838 A KR 20140057838A KR 102219476 B1 KR102219476 B1 KR 102219476B1
Authority
KR
South Korea
Prior art keywords
secret key
parameter
database
plaintext
encryption
Prior art date
Application number
KR1020140057838A
Other languages
English (en)
Other versions
KR20150130788A (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 KR1020140057838A priority Critical patent/KR102219476B1/ko
Priority to US14/687,465 priority patent/US10177906B2/en
Publication of KR20150130788A publication Critical patent/KR20150130788A/ko
Application granted granted Critical
Publication of KR102219476B1 publication Critical patent/KR102219476B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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
    • 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
    • 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
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

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

Abstract

본 발명의 일 실시예에 따른 암호화 장치의 암호화 방법은, 평문을 암호화하기 위한 비밀키 또는 파라미터를 생성하는 과정과, 상기 비밀키 또는 상기 파라미터를 이용하여 상기 평문을 암호문으로 변환하는 과정과, 상기 암호문을 데이터베이스에 전송하는 과정을 포함할 수 있다. 또한 다른 실시예도 가능하다.

Description

데이터를 암호화하는 방법 및 그를 위한 장치{A METHOD FOR PERFORMING ENCRYPTION OF DATA AND AN APPARATUS THEREFOR}
본 발명은 원본 데이터를 암호화하는 암호화 방법 및 그를 위한 암호화 장치에 관한 것이다.
데이터베이스에 데이터를 암호화하여 저장하는 경우, 암호화된 데이터는 원본 데이터들과 전혀 다른 순서로 정렬된다. 이는 암호화가 원본 데이터를 예측할 수 없는 임의의 값으로 변환하는 과정이기 때문이다. 상기와 같은 이유로 데이터베이스에 저장되는 데이터를 암호화할 경우 별도의 복호화 과정 없이는 범위 질의(range query)와 같은 검색이 불가능하다.
범위 질의와 같은 검색을 가능하게 하는 방법으로서 순서 보존 암호 기법이 있다. 상기 순서 보존 암호 기법은 암호화된 데이터 각각에 대하여 원본 데이터 상의 순서 정보를 제공하는 방식이다. 예를 들어, 원본 데이터 A, B, C가 있고, A<B<C의 순서로 각기 다른 크기의 값이라고 가정한다. 또한 순서 보존 암호 기범을 이용하여 암호화한 A의 암호문이 A’, B의 암호문이 B’, C의 암호문의 C’라고 가정하면, 상기 A’, B’, C’의 크기는 A’<B’<C’로서 원본 데이터의 크기에 따른 순서와 동일하다.
그러나 상기와 같은 순서 보존 암호 기법은, 원본 데이터의 길이를 m 비트(bit), 암호문의 길이를 n 비트이고, m<n이라고 가정하면, 최대 n번의 연산을 반복적으로 수행해야 암호문을 복호화할 수 있어서 연산이 매우 복잡하다는 단점이 있다.
본 발명의 목적은 원본 데이터의 크기에 따른 순서를 유지하는 동시에 용이하게 암호화 또는 복호화를 할 수 있는 암호화 방법 및 그를 위한 암호화 장치를 제공함에 있다.
본 발명의 일 실시예에 따른 암호화 장치의 암호화 방법은, 평문을 암호화하기 위한 비밀키 또는 파라미터를 생성하는 과정과, 상기 비밀키 또는 상기 파라미터를 이용하여 상기 평문을 암호문으로 변환하는 과정과, 상기 암호문을 데이터베이스에 전송하는 과정을 포함할 수 있다.
본 발명의 일 실시예에 따른 암호화 장치는, 평문을 암호화하기 위한 비밀키 또는 파라미터를 생성하는 키 생성부와, 상기 비밀키 또는 상기 파라미터를 이용하여 상기 평문을 암호문으로 변환하고, 상기 암호문을 데이터베이스에 전달하는 암호화부를 포함할 수 있다.
본 발명에 따르면, 원본 데이터의 크기에 따른 순서를 유지하는 동시에 용이하게 암호화 또는 복호화를 할 수 있는 암호화 방법 및 그를 위한 암호화 장치를 제공할 수 있다.
도 1은 다양한 실시예에 따른 암호화 장치를 나타낸 도면이다.
도 2는 본 발명의 다양한 실시예에 따른 암호화 장치의 암호화 방법을 나타낸 순서도이다.
도 3은 본 발명의 다양한 실시예에 따른 암호화 장치의 암호화 방법을 나타낸 순서도이다.
도 4a 및 도 4b는 본 발명의 다양한 실시예에 따른 암호화 장치의 복호화 방법을 나타낸 순서도이다.
도 5는 본 발명의 다양한 실시예에 따른 암호화 장치의 동작 방법을 나타낸 순서도이다.
이하, 본 발명의 다양한 실시예가 첨부된 도면과 연관되어 기재된다. 본 발명의 다양한 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들이 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명의 다양한 실시예를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 다양한 실시예의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용되었다.
본 발명의 다양한 실시예에서 사용될 수 있는“포함한다” 또는 “포함할 수 있다” 등의 표현은 개시(disclosure)된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다. 또한 본 발명의 다양한 실시예에서, “포함하다” 또는 “가지다” 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명의 다양한 실시예에서 “또는” 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, “A 또는 B”는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.
본 발명의 다양한 실시예에서 사용된 “제 1”, “제2”, “첫째” 또는 “둘째” 등의 표현들은 다양한 실시예들의 다양한 구성요소들을 수식할 수 있지만, 해당 구성요소들을 한정하지 않는다. 예를 들어, 상기 표현들은 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 상기 표현들은 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 수 있다. 예를 들어, 제1 사용자 기기와 제2 사용자 기기는 모두 사용자 기기이며, 서로 다른 사용자 기기를 나타낸다. 예를 들어, 본 발명의 다양한 실시예의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 “직접 연결되어” 있다거나 “직접 접속되어” 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 새로운 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.
본 발명의 다양한 실시예에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명의 다양한 실시예를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 다양한 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 다양한 실시예에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 다양한 실시예에 따른 암호화 장치에 대해서 살펴본다.
도 1은 다양한 실시예에 따른 암호화 장치를 나타낸 도면이다.
도 1을 참조하면, 암호화 장치(100)는 키 생성부(110), 암호화부(120), 복호화부(130)를 포함할 수 있고, 제어부(140) 또는 데이터베이스(200)를 더 포함할 수 있다.
키 생성부(110)는 암호화부(120) 또는 복호화부(130)에서 사용될 파라미터 또는 비밀키를 생성할 수 있다.
암호화부(120)는 암호화 장치(100)로 입력된 데이터, 예를 들어 원본 데이터 즉 평문(plaintext)을 암호화함으로써 암호문(ciphertext)을 생성할 수 있다. 상기 암호화부(120)는 키 생성부(110)에 의하여 생성된 비밀키 또는 파라미터를 이용하여 평문을 변환함으로써 상기 암호문을 생성할 수 있다. 암호화부(120)에 의하여 생성된 상기 암호문들의 크기에 따른 순서는 평문들의 크기에 따른 순서와 동일할 수 있다. 예를 들어, 평문들이 A, B, C이고 상기 평문들의 크기가 A<B<C라고 가정하면, 암호화부(120)에 의하여 생성된 암호문들 A’, B’, C’의 크기는 A’<B’<C’일 수 있다.
복호화부(130)는 키 생성부(110)에 의하여 생성된 파라미터, 비밀키를 이용하여 암호문을 복호화하여 평문을 복원할 수 있다.
제어부(140)는 암호화 장치(100)의 전반적인 동작을 제어할 수 있다. 제어부(140)는 파라미터 또는 비밀키를 생성하도록 키 생성부(110)를 제어할 수 있다. 제어부(140)는 암호화 장치(100)로 입력되는 평문 또는 데이터베이스(200)에 저장된 평문을 암호화하도록 암호화부(120)를 제어할 수 있다. 제어부(140)는 암호화 장치(100)로 입력되는 암호문 또는 데이터베이스(200)에 저장된 암호문을 복호화하여 평문으로 변환시키도록 복호화부(130)를 제어할 수 있다.
데이터베이스(200)에는 암호화부(120)에 의하여 생성된 암호문을 저장될 수 있고, 암호화 장치(100)로 입력된 평문 또는 복호화부(130)에 의하여 암호문이 복호화된 평문이 저장될 수 있다. 상기 데이터베이스(200)는 암호화 장치(100)로부터의 범위 질의(range query)에 해당하는 암호문들을 추출할 수 있다. 이를 위하여 데이터베이스(200)에는 암호문들이 크기 순으로 정렬되어 저장될 수 있다. 예를 들어, 암호문이 1~100의 자연수들이라고 가정하면 데이터베이스(200)에는 상기 1~100의 자연수들을 크기 순서대로 정렬된 상태로 저장되어 있을 수 있다.
다른 실시예에 따라 데이터베이스(200)는 암호화 장치(100)와 별개의 장치로 구현될 수도 있다. 데이터베이스(200)가 암호화 장치(100)와 별개의 장치로서 구현되는 경우, 상기 데이터베이스(200)에는 키 생성부(110)에 의하여 생성된 파라미터 및 비밀키를 저장하지 않을 수 있다. 그에 따라 데이터베이스(200)는 암호문들의 복호화를 수행하지 않을 수 있다.
도 2는 본 발명의 다양한 실시예에 따른 암호화 장치의 암호화 방법을 나타낸 순서도이다. 도 2에서 암호화 장치(100)에 입력되는 원본 데이터, 즉 평문들은 ‘x∈{0, 1, , M-1}’이고, 상기 평문들이 암호화된 암호문은 ‘C∈{0, 1, …, N=1}’로 가정한다. 또한 MN인 것으로 가정한다.
도 2를 참조하면, 먼저 암호화 장치(200)에는 평문 x가 입력될 수 있다(S202). 원문 x가 입력되면, 키 생성부(110)는 상기 평문 x를 암호화하기 위한 파라미터 또는 비밀키를 생성할 수 있다(S204). 일 실시예에 따라 단계 S204에서 키 생성부(110)는 평문 x의 비트(bit) 사이즈 d를 이용하여 파라미터와 비밀키를 생성할 수 있다. 예를 들어 원본 데이터 x∈{0, 1, …, M-1}이면, 키 생성부(110)는 파라미터인 ‘p ‘param =N’과, 비밀키인 ‘key={α, β, γ, K}’를 출력할 수 있다. 이때 param(=N)은 암호문 중 가장 큰 수보다 1이 더 큰 수로서 암호문의 출력 범위를 나타낼 수 있다.
단계 S204에서 키 생성부(110)는 평문 x의 비트 사이즈 d를 이용하여 비밀키들 α, β, γ, K 각각을 결정할 수 있다. 일 실시예에 따라 평문들 각각의 크기별 순서를 유지하기 위하여 키 생성부(110)는 상기 비밀키들 중 γ은 0과 α 사이의 수 중 랜덤한 어떤 수(0<γ<α)이고, β
Figure 112014045338877-pat00001
과 1 사이의 랜덤한 어떤 수(
Figure 112014045338877-pat00002
<β<1)일 수 있다. 비밀키들 중 β와 γ가 결정되면, 키 생성부(110)는 아래와 같이 파라미터 N 및 비밀키 벡터 α를 계산할 수 있다. 상기와 같이 비밀키들을 설정함으로써, 암호화 장치(100)는 평문(x) 각각의 크기 순서 정보를 포함하는 형태로 암호문을 생성할 수 있다.
예를 들어, 평문 x가 1, 2, 3, 4로서, 크기순 순서는 ‘4>3>2>1’라고 가정한다. 암호화 장치(100)는 1에 대응하는 암호문 12, 2에 대응하는 암호문 34, 3에 대응하는 암호문 56 및 4에 대응하는 암호문 78을 생성할 수 있다. 그에 따라 암호문들의 크기순 순서는 평문과 마찬가지로 ‘78>56>34>12’가 될 수 있으며, 데이터베이스(200)는 78, 56, 34, 12의 내림차순으로 암호문을 저장하거나 또는 12 34, 56, 78의 오름차순으로 암호문을 저장할 수 있다.
Figure 112014045338877-pat00003
Figure 112014045338877-pat00004
이때, τ는 암호화 장치(100)의 두 출력값들(암호문들) 사이의 간격이 최소가 되는 값으로서, 기본값으로서 ‘τ=2’가 설정될 수 있다. 또한 암호키 K는 의사 난수 함수(pseudo random function)에 따른 의사 난수(pseudo random number)로서 결정될 수 있다.
상기와 같이 단계 204에서 파라미터(param=N)와 비밀키(key={α, β, γ, K})가 결정되면, 암호화부(120)는 원문을 암호화할 수 있다(S206). 단계 S206에서 암호화부(120)는 파라미터(param=N) 및 비밀키(key={α, β, γ, K})를 이용하여 원문 x({0, 1, …, M-1})를 암호문 C({0, 1, …, N-1})로 변환할 수 있다.
일 실시예에 따라 평문 x, 비밀키 벡터 a i 는 아래와 같다고 가정한다.
x := (x d -1 , x d -2 , …, x 0 )
ai := ( a 0 , a 1 , …, a d )………………(0≤i≤d)
이때, i=0이면, 비밀키 벡터 a 0 는 아래와 같다.
a 0 = F 0 (K, 0)………………(αN≤F 0 (K, 0)≤βN)
또한 i의 범위가 1≤i≤d-1이면, a i 는 다음과 같다.
a i = F i (K, x i ’)……(α Nr i Fi (K, x i ’)≤β Nr i , x i ’ = ( x d -1 , …, x d -i ,0))
또한 i = d이면, a d 는 아래와 같다.
a d = F d (K, x)………………(0≤ F d (K, x)≤β Nr d )
상기와 같은 수식들을 기초로 아래와 같이 암호문 C를 계산할 수 있다.
[수학식 1]
Figure 112014045338877-pat00005
상기 수학식 1에서 xd 비트 2진수이고, xd-i(1≤i≤d)은 비트들 각각의 위치에서의 비트 값일 수 있다. xd-1 은 최상위 비트(leftmost significant bit)의 값일 수 있다. 또한 Fi (0≤i≤d)는 랜덤 함수(random function)로서, 암호 해쉬 함수(cryptographic hash function)(예를 들어, SHA-128) 또는 의사 난수 함수(pseudo random function)(예를 들어, HMAC-SHA-128)의 형태로 구현될 수 있다. 아래 도 3은 암호화 과정을 나타낸 순서도이다.
상기와 같이 암호문 C가 계산되면, 암호화 장치(100)는 상기 암호문 C를 출력하여 데이터베이스(200)에 저장할 수 있다(S208). 다른 실시예에 따라 데이터베이스(200)가 암호화 장치(100)와 별개의 장치로 구현된 경우 암호화 장치(100)는 상기 데이터베이스(200)로 암호문 C를 전송할 수 있다.
도 3은 본 발명의 다양한 실시예에 따른 암호화 장치의 암호화 방법을 나타낸 순서도이다.
도 3을 참조하면, 먼저 암호화 장치(100)의 암호화부(120)는 0≤i≤d일 때의 a i 를 계산할 수 있다(S302). 이후 암호화부(120)는 상기 수학식 1에 따라 암호문(C)를 계산할 수 있다(S304). 암호문(C)이 계산되면, 암호화부(120)는 상기 암호문(C)을 출력할 수 있다(S306).
도 4a 및 도 4b는 본 발명의 다양한 실시예에 따른 암호화 장치의 복호화 방법을 나타낸 순서도이다.
암호화 장치(100)는 파라미터(param) 또는 비밀키인 ‘key={α, β, γ, K}’를 이용하여 암호문을 복호화함으로써 평문을 복원할 수 있다. 이하에서는 암호문 C를 평문 x로 복원하는 일 예에 대하여 설명하기로 한다. 도 4a 및 도 4b에서 암호화 장치(100)는 복잡도 ‘d+1’를 이용하여 암호문 C를 평문 x로 복원하는 것으로 가정한다.
도 4a를 참조하면, 암호문 C가 입력되면(S402), 암호화 장치(100)의 복호화부(130)는 비밀키 벡터 a 0 를 계산할 수 있다(S404). 단계 S404에서 계산되는 비밀키 벡터 a 0 는 아래와 같다.
Figure 112014045338877-pat00006
복호화부(130)는 상기 비밀키 벡터 a 0 를 암호문 C와 비교할 수 있다(S406). 단계 S406에서 복호화부(130)는 비밀키 벡터 a 0 와 암호문 C의 비교 결과로서 평문 x d -1 의 값을 설정할 수 있다. Ca 0 이면, 평문 xd -1을 0으로 설정할 수 있다. 또한 C≥ a 0 이면 평문 x d -1 을 1로 설정할 수 있다.
이후 복호화부(130)는 비밀키 벡터의 합 a를 a 0 로 초기화하고(a=a 0), i=2에서 i=d까지 i를 1씩 증가시키면서 아래의 수학식 2에 따라 비밀키 벡터값들 a i - 1 를 계산하고(S408), 상기 비밀키 벡터들의 합 aa i - 1 를 하기 수학식 2에 따라 더하여 a를 계산할 수 있다. (S410).
[수학식 2]
a i -1 = Fi (K, x’)………………( x' = ( x d -1 , …, x d -i+1 , …, 0))
a = a + (2 x d -i+1 - 1) a i -1
도 4a에서는 평문 x의 최상위 비트 x d -1 의 값만을 구하는 방법에 대하여 설명하였다. 상기 최상위 비트 x d -1 이외의 다른 비트들 ( x d -2 , …, x 0 )의 복구는 도 4b를 참조하여 설명하기로 한다.
도 4b를 참조하면, 제어부(140)는 i를 2부터 1씩 증가시키면서 id 이하인지 여부를 판단할 수 있다(S412). 단계 S412의 판단 결과, id 이하인 경우(S412: 예), 복호화부(130)는 단계 S408 또는 단계 S410에서와 마찬가지로 a i -1 또는 a를 계산할 수 있다(S414). 이어서 복호화부(130)는 비밀키 a를 암호문 C와 비교하여, 평문 x d -i 의 값을 복구할 수 있다(S416). 단계 S416에서 복호화부(130)는 Ca이면, 평문 x d -1 을 0으로 설정하고, Ca이면 평문 x d -1 을 1로서 설정할 수 있다. 복호화부(130)는 i를 1 증가시키고(S418), 제어부(140)는 다시 상기 id 이하인지 여부를 판단할 수 있다(S412)
상기 i가 d를 초과하면(S412: 예), 복호화부(130)는 아래 수학식 3을 이용하여 a d 또는 a를 계산할 수 있다(S420).
[수학식 3]
a = a + (2x 0 - 1) a d ………………( a d = F d (K, x))
이후 제어부(140)는 비밀키 a가 암호문 C와 같은지 여부를 판단할 수 있다(S422). 단계 S422의 판단 결과 비밀키 a가 암호문 C와 같으면(S422: 예), 복호화부(130)는 상기의 수학식 3에서의 x를 평문 x로서 출력할 수 있다(S424).
반면에 단계 S422의 판단 결과 비밀키 a가 암호문 C와 다르면(S422: 아니오), 제어부(140)는 에러 메시지를 출력할 수 있다(S426). 상기와 같이 에러 메시지를 출력함으로써 본 발명에 따른 암호화 장치는 평문을 복구되지 않았음을 사용자에게 알릴 수 있다.
도 5는 본 발명의 다양한 실시예에 따른 암호화 장치의 동작 방법을 나타낸 순서도이다. 도 5에서 데이터베이스(200)는 암호화 장치(100)와는 별개의 장치인 것으로 가정한다.
도 5를 참조하면, 데이터베이스(200)는 암호화 장치(100)로부터 범위 질의(range query)를 수신할 수 있다(S502). 이때 암호화 장치(100)는 평문에 해당하는 범위 질의를 데이터베이스(200)에 전송할 수 있다. 예를 들어, 데이터베이스(200)에 1~100의 자연수들 각각에 대응하는 암호문들이 저장되어 있는 것으로 가정한다. 즉 데이터베이스(200)에는 평문 1~100 각각에 대응하는 암호문들이 저장되어 있을 수 있다. 또한 단계 S502에서 암호화 장치(100)는 평문 1~10에 대응하는 암호문들을 데이터베이스(200)에 요청할 수 있다.
데이터베이스(200)는 해당 범위의 암호문을 추출하고(S504), 상기 추출된 암호문을 암호화 장치(100)로 전송할 수 있다(S506). 암호화 장치(100)는 데이터베이스(200)로부터 수신한 암호문을 복호화하여 평문으로 복원할 수 있다(S508). 예를 들어, 단계 S504에서 데이터베이스(200)는 평문 1~10에 대응하는 암호문으로서 12, 22, 34, 42, 57, 63, 73, 84, 99, 104을 추출할 수 있다.
암호화 장치(100)는 1 및 10에 대응하는 암호문들을 데이터베이스(200)에 전달함으로써 1~10 각각에 대응하는 암호문들을 데이터베이스(200)에 요청하는 범위 질의(range query)를 전송할 수 있다. 상기 데이터베이스(200)는 상기 1에 대응하는 암호문 및 10에 대응하는 암호문을 포함하여 그 사이의 암호문을 암호화 장치(100)로 반환할 수 있다. 이로써 데이터베이스(200)는 암호화 장치(100)의 범위 질의에 대한 응답을 암호화 장치(100)에 전송할 수 있다. 또한 상기와 같이 범위 질의에 대한 응답을 암호화 장치(100)로 전송할 수 있는 것은, 평문 1~100 각각에 대응하는 암호문들이 데이터베이스(200)에 크기순으로 정렬될 수 있기 때문이다. 즉 데이터베이스(200)에 저장된 암호문들의 크기는, ‘1에 대응하는 암호문 < 2에 대응하는 암호문 < 3에 대응하는 암호문 < 4에 대응하는 암호문 < … < 100에 대응하는 암호문’의 순으로 각기 다른 값일 수 있다. 따라서 데이터베이스(200)는 평문 1~100에 대응하는 암호문들 각각을 복호화하지 않고도 1~10에 대응하는 암호문들을 추출할 수 있게 된다.
또한 일 실시예에 따라 평문 1~100에 대응하는 암호문들은 모두 암호화 장치(100)에 의하여 암호화되어 데이터베이스(200)에 저장된 것일 수 있다. 이때 데이터베이스(200)는 상기 평문 1~100을 암호화하기 위하여 사용된 파라미터 및 비밀키를 알지 못할 수도 있다.
상기와 같은 본원 명세서에서 기술된 발명은 순서를 가진 데이터들을 암호화하여 데이터베이스에 저장할 때 사용이 가능하며, 본 발명을 통해 암호화되어 저장된 데이터들은 복호화 과정 없이 범위 검색(range query)이 가능하다. 본 발명은 데이터를 암호화하여 저장하고, 범위 질의가 요구되는 상황에서 암호화된 데이터의 복호화 과정 없이 사용이 가능하다. 예를 들어, 본 발명은 공개형 데이터베이스인 MySQL과 같은 관계형 데이터베이스(relational database)에 적용될 수 있다. 본 발명을 적용하는 경우, 데이터베이스는, 암호화된 데이터의 범위 검색을 수행하기 위하여 복호화 과정을 수행하지 않아도 된다. 상기와 같이 복호화 과정을 수행하지 않아도 되므로 상기 데이터베이스의 검색 속도는 평문을 저장하고 있는 데이터이베이스 시스템과 동일할 수 있다. 또한 복호화 과정을 생략해도 되므로, 데이터베이스에서 검색을 수행하는 시스템 관리자(미도시)(예를 들어, DBMS, Database Management System)는 상기 암호화 또는 복호화에 사용되는 비밀키를 알 수 없다. 그에 따라 시스템 관리자는 암호화된 데이터에 대한 정보(예를 들어, 평문)를 알 수 없게 되어 보안성을 향상시킬 수 있다.
예를 들어 일반 사용자가 데이터베이스에 개인정보(예를 들어, 연봉, 일정, 나이, 수치화된 신체 정보 등)를 저장하는 경우를 가정하기로 한다. 상기 데이터베이스에는 실질적으로 상기 개인정보가 암호화된 암호문만이 저장될 수 있으며, 상기 암호문을 복호화하기 위한 비밀키 또는 파라미터는 상기 사용자만 가질 수 있다. 그에 따라 상기 데이터베이스가 해킹되거나 시스템 관리자에 의하여 상기 데이터베이스에 저장된 데이터가 노출된다고 하더라도 암호문만이 노출되는 것이므로 상기 사용자의 개인정보가 노출되는 것은 아니다. 상기와 같이 본 발명에 따르면 개인 정보가 노출되는 것을 막을 수 있고, 데이터베이스가 데이터의 기밀성을 제공하는 동시에 범위 검색을 가능하도록 한다.
본 명세서와 도면에 개시된 본 발명의 실시예들은 본 발명의 실시예에 따른 기술 내용을 쉽게 설명하고 본 발명의 실시예의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 실시예의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 다양한 실시예의 범위는 여기에 개시된 실시예들 이외에도 본 발명의 다양한 실시예의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 다양한 실시예의 범위에 포함되는 것으로 해석되어야 한다.
100: 암호화 장치 110: 키 생성부
120: 암호화부 130: 복호화부
140: 제어부 200: 데이터베이스

Claims (14)

  1. 암호화 장치의 암호화 방법에 있어서,
    평문 x를 암호화하기 위한 비밀키 {α, βγK} 또는 파라미터 N을 생성하는 과정과,
    상기 비밀키 {α, βγK} 또는 상기 파라미터 N을 이용하여 상기 평문을 암호문으로 변환하는 과정과,
    상기 암호문을 데이터베이스에 전송하는 과정을 포함하며,
    상기 비밀키 {α, βγK} 중 상기 γ은 0과 α사이의 랜덤한 수(0<γ<α)이고, β는 1/2 과 1 사이의 랜덤한 수(1/2<β<1)이고, 상기 K는 의사 난수 함수(pseudo random function)에 따른 의사 난수(pseudo random number)이며, 상기 α 및 상기 파라미터 N은 아래의 수학식 4를 이용하여 계산할 수 있음을 특징으로 하는 암호화 방법.
    [수학식 4]
    Figure 112020120513222-pat00023

    Figure 112020120513222-pat00024

    이때 τ는 상기 암호화 장치로부터 출력되는 두 출력값들 사이의 간격이 최소가 되는 값이다.
  2. 제1항에 있어서, 상기 평문을 암호화하기 위한 비밀키 또는 파라미터를 생성하는 과정은,
    상기 평문의 비트 사이즈 d를 이용하여 상기 파라미터 N과 상기 비밀키 {α, β, γ, K}를 결정하는 과정을 포함함을 특징으로 하는 암호화 방법.
  3. 삭제
  4. 제1항에 있어서, 상기 비밀키 또는 상기 파라미터를 이용하여 상기 평문을 암호문으로 변환하는 과정은,
    상기 파라미터 N, 상기 비밀키 {α, β, γ, K}, 아래와 같은 평문 x를 기초로 아래와 같은 비밀키 벡터 ai 를 결정하는 과정과,
    상기 비밀키 벡터 ai 를 이용하여 상기 평문 x를 아래와 같은 암호문 C로 변환하는 과정을 포함함을 특징으로 하는 암호화 방법.
    x := (xd-1, xd-2, …, x0)
    ai := (a0, a1, …, ad)………………(0≤i≤d)
    Figure 112020120513222-pat00011

    이때, xd 비트 2진수이고, xd-i (0≤i≤d)은 상기 d 비트 2진수에서의 비트들 각각의 값이다.
  5. 제4항에 있어서,
    i가 0이면 비밀키 벡터 a 0 는 아래와 같고,
    a 0 = F 0 (K, 0)………………(αN≤F 0 (K, 0)≤βN)
    1≤i≤d-1이면 비밀키 벡터 a i 는 아래와 같으며,
    a i = F i (K, x i ’)……(α Nr i F i (K, x i ’)≤β Nr i , x i ’ = ( x d -1 , …, x d -i ,0))
    상기 id이면, 비밀키 벡터 a d 는 아래와 같음을 특징으로 하는 암호화 방법.
    a d = F d (K, x)………………(0≤ F d (K, x)≤β Nr d )
  6. 암호화 장치에 있어서,
    평문을 암호화하기 위한 비밀키 또는 파라미터를 생성하는 키 생성부와,
    상기 비밀키 또는 상기 파라미터를 이용하여 상기 평문을 암호문으로 변환하고, 상기 암호문을 데이터베이스에 전달하는 암호화부를 포함하며,
    상기 비밀키 {α, βγK} 중 상기 γ은 0과 α사이의 랜덤한 수(0<γ<α)이고, β는 1/2 과 1 사이의 랜덤한 수(1/2<β<1)이고, 상기 K는 의사 난수 함수(pseudo random function)에 따른 의사 난수(pseudo random number)이며, 상기 α 및 상기 파라미터 N은 아래의 수학식 4를 이용하여 계산할 수 있음을 특징으로 하는 암호화 장치.
    [수학식 4]
    Figure 112020120513222-pat00025

    Figure 112020120513222-pat00026
  7. 제6항에 있어서, 상기 키 생성부는,
    상기 평문의 비트 사이즈 d를 이용하여 상기 파라미터 N과 상기 비밀키 {α, β, γ, K}를 결정함을 특징으로 하는 암호화 장치.
  8. 제7항에 있어서, 상기 키 생성부는,
    상기 비밀키 {α, β, γ, K} 중 상기 γ은 0과 α사이의 랜덤한 어떤 수(0<γα)이고, β
    Figure 112014045338877-pat00012
    과 1 사이의 랜덤한 어떤 수(
    Figure 112014045338877-pat00013
    β<1)이며, 상기 K는 의사 난수 함수(pseudo random function)에 따른 의사 난수(pseudo random number)이며, 상기 α, N은 아래의 수학식 5를 이용하여 계산함을 특징으로 하는 암호화 장치.
    [수학식 5]
    Figure 112014045338877-pat00014

    Figure 112014045338877-pat00015

    이때 τ는 상기 암호화 장치로부터 출력되는 두 출력값들 사이의 간격이 최소가 되는 값이다.
  9. 제6항에 있어서, 상기 암호화부는,
    상기 파라미터 N, 상기 비밀키 {α, β, γ, K}, 아래와 같은 평문 x를 기초로 아래와 같은 비밀키 벡터 ai 를 결정하는 과정과,
    상기 비밀키 벡터 ai 를 이용하여 상기 평문 x를 아래와 같은 암호문 C로 변환함을 특징으로 하는 암호화 장치.
    x := (xd-1, xd-2, …, x0)
    ai := (a0, a1, …, ad)………………(0≤i≤d)
    Figure 112020120513222-pat00016

    이때, xd 비트 2진수이고, xd-i (0≤i≤d)은 상기 d 비트 2진수에서의 비트들 각각의 값이다.
  10. 제9항에 있어서,
    i가 0이면 비밀키 벡터 a 0 는 아래와 같고,
    a 0 = F 0 (K, 0)………………(αN≤F 0 (K, 0)≤βN)
    1≤i≤d-1이면 비밀키 벡터 a i 는 아래와 같으며,
    a i = F i (K, x i ’)……(α Nr i F i (K, x i ’)≤β Nr i , x i ’ = ( x d -1 , …, x d -i ,0))
    상기 id이면, 비밀키 벡터 a d 는 아래와 같음을 특징으로 하는 암호화 장치.
    a d = F d (K, x)………………(0≤ F d (K, x)≤β Nr d )
  11. 제1항에 있어서,
    상기 데이터베이스에 범위 질의(range query)를 전달하는 과정과,
    상기 데이터베이스로부터, 상기 범위 질의에 해당하는 암호문을 수신하는 과정을 더 포함함을 특징으로 하는 암호화 방법.
  12. 제11항에 있어서,
    상기 암호문을 상기 파라미터 또는 비밀키를 이용하여 평문으로 복구하는 과정을 더 포함함을 특징으로 하는 암호화 방법.
  13. 제6항에 있어서, 상기 암호화 장치는,
    상기 데이터베이스에 범위 질의(range query)를 전달하고, 상기 데이터베이스로부터, 상기 범위 질의에 해당하는 암호문을 수신함을 특징으로 하는 암호화 장치.
  14. 제13항에 있어서,
    상기 암호문을 상기 파라미터 또는 비밀키를 이용하여 평문으로 복구하는 복호화부를 더 포함함을 특징으로 하는 암호화 장치.
KR1020140057838A 2014-05-14 2014-05-14 데이터를 암호화하는 방법 및 그를 위한 장치 KR102219476B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140057838A KR102219476B1 (ko) 2014-05-14 2014-05-14 데이터를 암호화하는 방법 및 그를 위한 장치
US14/687,465 US10177906B2 (en) 2014-05-14 2015-04-15 Method and apparatus for encrypting data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140057838A KR102219476B1 (ko) 2014-05-14 2014-05-14 데이터를 암호화하는 방법 및 그를 위한 장치

Publications (2)

Publication Number Publication Date
KR20150130788A KR20150130788A (ko) 2015-11-24
KR102219476B1 true KR102219476B1 (ko) 2021-02-24

Family

ID=54845026

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140057838A KR102219476B1 (ko) 2014-05-14 2014-05-14 데이터를 암호화하는 방법 및 그를 위한 장치

Country Status (2)

Country Link
US (1) US10177906B2 (ko)
KR (1) KR102219476B1 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030618B1 (en) 2016-09-30 2021-06-08 Winkk, Inc. Authentication and personal data sharing for partner services using out-of-band optical mark recognition
US10411891B2 (en) * 2017-06-28 2019-09-10 Nxp B.V. Distance-revealing encryption
US11146397B2 (en) * 2017-10-31 2021-10-12 Micro Focus Llc Encoding abelian variety-based ciphertext with metadata
WO2020018454A1 (en) 2018-07-16 2020-01-23 Islamov Rustam Cryptography operations for secure post-quantum communications
US11936787B2 (en) 2019-12-10 2024-03-19 Winkk, Inc. User identification proofing using a combination of user responses to system turing tests using biometric methods
US11574045B2 (en) 2019-12-10 2023-02-07 Winkk, Inc. Automated ID proofing using a random multitude of real-time behavioral biometric samplings
US11588794B2 (en) 2019-12-10 2023-02-21 Winkk, Inc. Method and apparatus for secure application framework and platform
US11928193B2 (en) 2019-12-10 2024-03-12 Winkk, Inc. Multi-factor authentication using behavior and machine learning
US11652815B2 (en) 2019-12-10 2023-05-16 Winkk, Inc. Security platform architecture
US11553337B2 (en) 2019-12-10 2023-01-10 Winkk, Inc. Method and apparatus for encryption key exchange with enhanced security through opti-encryption channel
US11328042B2 (en) 2019-12-10 2022-05-10 Winkk, Inc. Automated transparent login without saved credentials or passwords
US11657140B2 (en) 2019-12-10 2023-05-23 Winkk, Inc. Device handoff identification proofing using behavioral analytics
US11563582B2 (en) 2019-12-10 2023-01-24 Winkk, Inc. Method and apparatus for optical encryption communication using a multitude of hardware configurations
US11843943B2 (en) 2021-06-04 2023-12-12 Winkk, Inc. Dynamic key exchange for moving target
US20220394464A1 (en) * 2021-06-04 2022-12-08 Winkk, Inc Key exchange with small encrypted payload
US11824999B2 (en) 2021-08-13 2023-11-21 Winkk, Inc. Chosen-plaintext secure cryptosystem and authentication
CN116701493B (zh) * 2023-08-07 2023-10-31 中电信量子科技有限公司 支持模糊查询的数据库操作方法及用户端

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140089678A1 (en) * 2011-05-18 2014-03-27 Nec Corporation Order-preserving encryption system, device, method, and program

Family Cites Families (8)

* 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
KR20070064121A (ko) * 2005-12-16 2007-06-20 고려대학교 산학협력단 효율적으로 이중 복호화 기능을 제공하면서 사용자의프라이버시를 보호할 수 있는 공개키 암호화 방법
KR100995123B1 (ko) * 2008-01-16 2010-11-18 재단법인서울대학교산학협력재단 암호화 방법, 클라이언트의 데이터 처리 방법
US20120121080A1 (en) 2010-11-11 2012-05-17 Sap Ag Commutative order-preserving encryption
KR101727312B1 (ko) 2010-12-22 2017-04-14 한국전자통신연구원 순서 보존 암호화 및 복호화 장치와 그 방법
KR101115490B1 (ko) 2011-11-07 2012-05-08 펜타시큐리티시스템 주식회사 평문의 확률적 분포특성을 고려한 순위 보존 암호화 방법
US9037860B1 (en) * 2013-11-22 2015-05-19 Sap Se Average-complexity ideal-security order-preserving encryption
US9213764B2 (en) * 2013-11-22 2015-12-15 Sap Se Encrypted in-memory column-store

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140089678A1 (en) * 2011-05-18 2014-03-27 Nec Corporation Order-preserving encryption system, device, method, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Key-Controlled Order-Preserving Encryption(2010. 6. 6. 최종수정). 1부.*

Also Published As

Publication number Publication date
US20170063528A1 (en) 2017-03-02
US10177906B2 (en) 2019-01-08
KR20150130788A (ko) 2015-11-24

Similar Documents

Publication Publication Date Title
KR102219476B1 (ko) 데이터를 암호화하는 방법 및 그를 위한 장치
US9237014B2 (en) Partial CipherText updates using variable-length segments delineated by pattern matching and encrypted by fixed-length blocks
US8694467B2 (en) Random number based data integrity verification method and system for distributed cloud storage
JP6144992B2 (ja) 検索可能暗号処理システム及び方法
KR101600016B1 (ko) 동형 암호화 알고리즘을 이용한 암호화 방법 및 이를 수행하는 컴퓨팅 장치
JP6732141B2 (ja) 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム
KR101829267B1 (ko) 암호문의 크기가 감소되는 동형 암호화 방법
JP5835326B2 (ja) 暗号化装置、暗号文比較システム、暗号文比較方法、および暗号文比較プログラム
JP6035459B2 (ja) 暗号化装置、復号化装置、及びプログラム
JP5593458B2 (ja) 文字列がオートマトンに受理されるか否かを認証するシステム
EP3167569B1 (en) Method and system for providing a secure update of code on a memory-constrained device
JP6575532B2 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
Purnama An analysis of encryption and decryption application by using one time pad algorithm
KR101727312B1 (ko) 순서 보존 암호화 및 복호화 장치와 그 방법
Ganeshkumar et al. Generating a digital signature based on new cryptographic scheme for user authentication and security
JP7226829B2 (ja) データ処理装置、方法及びコンピュータプログラム
CN103942500A (zh) 基于噪声的哈希密文再加密方法及再加密后的解密方法
KR20150122494A (ko) 암호화 장치, 암호화 방법, 복호화 방법 및 컴퓨터 판독가능 기록매체
CN111052108A (zh) 数据处理装置、数据处理方法和数据处理程序
JP5411034B2 (ja) データベース暗号化システム及び方法
US11343071B2 (en) Extended ciphertexts
KR20170103321A (ko) 보안성이 강화된 순서보존 암호화 방법 및 장치
WO2020044485A1 (ja) メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム
KR101315683B1 (ko) 데이터 사이즈 및 형태 변경이 없는 암호화 인코딩 및 복호화 인코딩 방법
JP6202969B2 (ja) 情報処理装置、暗号化方法

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