KR20200039979A - Apparatus and method for order-revealing encryption - Google Patents
Apparatus and method for order-revealing encryption Download PDFInfo
- Publication number
- KR20200039979A KR20200039979A KR1020180119632A KR20180119632A KR20200039979A KR 20200039979 A KR20200039979 A KR 20200039979A KR 1020180119632 A KR1020180119632 A KR 1020180119632A KR 20180119632 A KR20180119632 A KR 20180119632A KR 20200039979 A KR20200039979 A KR 20200039979A
- Authority
- KR
- South Korea
- Prior art keywords
- ciphertext
- equation
- plaintext data
- secret key
- bit
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
Abstract
Description
본 발명의 실시예들은 암호화 기술과 관련된다.Embodiments of the invention relate to encryption technology.
순서 노출 암호화(Order-Revealing Encryption; ORE) 기술은 암호화된 상태에서 평문의 대소 비교를 가능하게 하는 기술이다. 기존의 ORE 기법은 모두 하나의 사용자로부터 생성된 즉, 하나의 비밀키로 암호화된 암호문 간의 비교만을 지원하였으나, 본 출원인의 한국특허출원 제10-2018-0058145호는 다중 클라이언트 환경에서 다수의 사용자로부터 생성된 즉, 서로 다른 비밀키로 암호화된 암호문 간의 비교를 통해 평문의 대소를 수행하기 위한 기법(이하, MC-ORE)을 제시하였다.Order-Revealing Encryption (ORE) technology is a technology that enables large and small comparisons of plain text in an encrypted state. The existing ORE technique only supports comparison between ciphertexts generated from one user, that is, encrypted with one secret key, but Korean Patent Application No. 10-2018-0058145 of the present applicant is generated from multiple users in a multi-client environment. In other words, a technique (hereinafter referred to as MC-ORE) for performing the case of plain text through comparison between ciphertexts encrypted with different secret keys was proposed.
MC-ORE 기법은 메시지를 비트 단위로 암호화하고, 최상위 비트부터 순차적으로 비트 단위의 비교를 수행한다. 따라서, 암호문 비교를 통해 대소 결과 이외에 처음으로 차이가 발생하는 비트 위치(most significant differing bit, MSDB)에 대한 정보가 추가적으로 노출되며, 하나의 암호문으로 동일 사용자의 다른 암호문과의 비교와 서로 다른 사용자의 암호문과의 비교를 모두 수행하므로, 두 비교 결과 모두 MSDB 정보를 노출시킨다는 문제점이 있다.The MC-ORE technique encrypts the message bit by bit and performs bitwise comparison from the most significant bit sequentially. Therefore, through ciphertext comparison, information on the location of the most significant differing bit (MSDB) for the first time in addition to the case result is additionally exposed, and one ciphertext compares with other ciphertexts of the same user and different users Since all comparisons with ciphertexts are performed, there is a problem that both comparison results expose MSDB information.
본 발명의 실시예들은 다중 클라이언트 환경에서 복호화 과정 없이 서로 다른 비밀키로 암호화된 암호문 간의 비교를 가능하게 하는 순서 노출 암호화를 위한 장치 및 방법을 제공하기 위한 것이다.Embodiments of the present invention are to provide an apparatus and method for ordered exposure encryption that enables comparison between encrypted texts encrypted with different secret keys without a decryption process in a multi-client environment.
본 발명의 일 실시예에 따른 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되며, 사용자에 대한 사용자 비밀키를 획득하는 단계; 상기 사용자 비밀키를 이용하여 평문 데이터를 비트 단위로 암호화하여 제1 암호문을 생성하는 단계; 및 임의의 정수를 이용하여 상기 제1 암호문을 공개키 암호화 기반으로 암호화하여 제2 암호문을 생성하는 단계를 포함한다.The method according to an embodiment of the present invention is performed in a computing device having one or more processors and memory storing one or more programs executed by the one or more processors, and obtaining a user secret key for the user To do; Generating a first ciphertext by encrypting the plaintext data in bit units using the user secret key; And generating the second ciphertext by encrypting the first ciphertext based on public key encryption using an arbitrary integer.
상기 제1 암호문을 생성하는 단계는, 상기 평문 데이터의 각 비트 값에 대한 프리픽스(prefix) 비트 열 및 상기 사용자 비밀키를 이용하여 상기 평문 데이터를 비트 단위로 암호화할 수 있다.In the generating of the first ciphertext, the plaintext data may be encrypted bit by bit using a prefix bit string for each bit value of the plaintext data and the user secret key.
상기 제1 암호문은, 아래의 수학식 1 내지 3The first ciphertext, the
[수학식 1] [Equation 1]
[수학식 2][Equation 2]
[수학식 3][Equation 3]
(이때, 는 상기 1 암호문, m은 인 상기 제1 평문 데이터, 는 상기 제1 평문 데이터의 i 번째 비트 값, 는 상기 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 사용자 비밀키, H는 를 만족하는 해시 함수, 는 위수가 소수 p인 덧셈 군)을 이용하여 생성될 수 있다.(At this time, Is 1 ciphertext, m is The first plaintext data, I is the i-th bit value of the first plain text data, Is a prefix bit column for the i-th bit value, Is the user secret key, H is Hash function that satisfies, Can be generated using the addition group with prime p).
상기 제2 암호문은, 아래의 수학식 4 내지 6The second ciphertext, the equations 4 to 6 below
[수학식 4][Equation 4]
[수학식 5][Equation 5]
[수학식 6][Equation 6]
(이때, 는 상기 제2 암호문, g는 상기 덧셈 군 G의 생성원(generator), t는 를 만족하는 상기 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)을 이용하여 생성될 수 있다.(At this time, Is the second ciphertext, g is the generator of the addition group G, t is Any of the above integers, The Public parameter that satisfies, The It can be generated using any integer).
본 발명의 일 실시예에 따른 장치는, 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 사용자에 대한 사용자 비밀키를 획득하는 단계; 상기 사용자 비밀키를 이용하여 평문 데이터를 비트 단위로 암호화하여 제1 암호문을 생성하는 단계; 및 임의의 정수를 이용하여 상기 제1 암호문을 공개키 암호화 기반으로 암호화하여 제2 암호문을 생성하는 단계를 실행하기 위한 명령어들을 포함한다.An apparatus according to an embodiment of the present invention, one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the program comprising: obtaining a user secret key for the user; Generating a first ciphertext by encrypting the plaintext data in bit units using the user secret key; And instructions for executing the step of generating a second ciphertext by encrypting the first ciphertext based on public key encryption using an arbitrary integer.
상기 제1 암호문을 생성하는 단계는, 상기 평문 데이터의 각 비트 값에 대한 프리픽스(prefix) 비트 열 및 상기 사용자 비밀키를 이용하여 상기 평문 데이터를 비트 단위로 암호화할 수 있다.In the generating of the first ciphertext, the plaintext data may be encrypted bit by bit using a prefix bit string for each bit value of the plaintext data and the user secret key.
상기 제1 암호문은, 아래의 수학식 1 내지 3The first ciphertext, the
[수학식 1] [Equation 1]
[수학식 2][Equation 2]
[수학식 3][Equation 3]
(이때, 는 상기 1 암호문, m은 인 상기 제1 평문 데이터, 는 상기 제1 평문 데이터의 i 번째 비트 값, 는 상기 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 사용자 비밀키, H는 를 만족하는 해시 함수, 는 위수가 소수 p인 덧셈 군)을 이용하여 생성될 수 있다.(At this time, Is 1 ciphertext, m is The first plaintext data, I is the i-th bit value of the first plain text data, Is a prefix bit column for the i-th bit value, Is the user secret key, H is Hash function that satisfies, Can be generated using the addition group with prime p).
상기 제2 암호문은, 아래의 수학식 4 내지 6 The second ciphertext, the equations 4 to 6 below
[수학식 4][Equation 4]
[수학식 5][Equation 5]
[수학식 6][Equation 6]
(이때, 는 상기 제2 암호문, g는 상기 덧셈 군 G의 생성원(generator), t는 를 만족하는 상기 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)을 이용하여 생성될 수 있다.(At this time, Is the second ciphertext, g is the generator of the addition group G, t is Any of the above integers, The Public parameter that satisfies, The It can be generated using any integer).
본 발명의 일 실시예에 따른 방법은, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서, 제1 사용자 비밀키를 이용하여 제1 평문 데이터를 비트 단위로 암호화한 제1 암호문을 제1 임의의 정수를 이용하여 공개키 암호화 기반으로 암호화한 제2 암호문, 및 제2 사용자 비밀키를 이용하여 제2 평문 데이터를 비트 단위로 암호화한 제3 암호문을 제2 임의의 정수를 이용하여 상기 공개키 암호화 기반으로 암호화한 제4 암호문을 획득하는 단계; 상기 제1 사용자 비밀키 및 상기 제2 사용자 비밀키를 이용하여 생성된 비교키를 획득하는 단계; 및 상기 비교키를 이용하여 제2 암호문 및 상기 제4 암호문을 암호화된 상태에서 비교하여, 상기 제1 평문 데이터와 상기 제2 평문 데이터 사이의 대소를 판단하는 단계를 포함한다.A method according to an embodiment of the present invention is a method performed in a computing device having one or more processors and memory storing one or more programs executed by the one or more processors, wherein the first user secret key is Bits of the second ciphertext using the first user's secret key, and second ciphertext of the first ciphertext using the first random integer to encrypt the first ciphertext using the first random integer. Obtaining a fourth ciphertext encrypted based on the public key encryption using a second arbitrary integer as a third ciphertext encrypted in units; Obtaining a comparison key generated using the first user secret key and the second user secret key; And comparing the second ciphertext and the fourth ciphertext in an encrypted state using the comparison key, and determining a size between the first plaintext data and the second plaintext data.
상기 제1 암호문은, 상기 제1 평문 데이터의 각 비트 값에 대한 프리픽스(prefix) 비트 열 및 상기 제1 사용자 비밀키를 이용하여 상기 제1 평문 데이터를 비트 단위로 암호화하여 생성되고, 상기 제3 암호문은, 상기 제2 평문 데이터의 각 비트 값에 대한 프리픽스 비트 열 및 상기 제2 사용자 비밀키를 이용하여 상기 제2 평문 데이터를 비트 단위로 암호화하여 생성될 수 있다.The first ciphertext is generated by encrypting the first plaintext data in bit units using a prefix bit string and a first user secret key for each bit value of the first plaintext data, and the third The ciphertext may be generated by encrypting the second plaintext data in bit units using a prefix bit string for each bit value of the second plaintext data and the second user secret key.
상기 제1 암호문은, 아래의 수학식 1 내지 3The first ciphertext, the
[수학식 1][Equation 1]
[수학식 2][Equation 2]
[수학식 3][Equation 3]
(이때, 는 상기 1 암호문, m은 인 상기 제1 평문 데이터, 는 상기 제1 평문 데이터의 i 번째 비트 값, 는 상기 제1 평문 데이터의 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 제1 사용자 비밀키, H는 를 만족하는 해시 함수, 는 위수가 소수 p인 덧셈 군)을 이용하여 생성되고, 상기 제3 암호문은, 아래의 수학식 4 내지 6(At this time, Is 1 ciphertext, m is The first plaintext data, I is the i-th bit value of the first plain text data, Is a prefix bit column for the i-th bit value of the first plain text data, Is the first user secret key, H is Hash function that satisfies, Is generated using the addition group having the prime number p), and the third ciphertext is the following equations 4 to 6
[수학식 4][Equation 4]
[수학식 5][Equation 5]
[수학식 6][Equation 6]
(이때, 는 상기 제3 암호문, m'은 인 상기 제2 평문 데이터, 는 상기 제2 평문 데이터의 i 번째 비트 값, 는 상기 제2 평문 데이터의 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 제2 사용자 비밀키)을 이용하여 생성될 수 있다.(At this time, Is the third ciphertext, m 'is The second plaintext data, Is the i-th bit value of the second plain text data, Is a prefix bit column for the i-th bit value of the second plain text data, May be generated using the second user secret key).
상기 제2 암호문은, 아래의 수학식 7 내지 9The second ciphertext, the equations 7 to 9 below
[수학식 7][Equation 7]
[수학식 8][Equation 8]
[수학식 9][Equation 9]
(이때, 는 상기 제2 암호문, g는 상기 덧셈 군 의 생성원(generator), t는 를 만족하는 상기 제1 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)를 이용하여 생성되고, 상기 제4 암호문은, 아래의 수학식 10 내지 12(At this time, Is the second ciphertext, g is the addition group The generator of, t is The first arbitrary integer satisfying, The Public parameter that satisfies, The Is generated by using an arbitrary integer that satisfies, and the fourth ciphertext is
[수학식 10][Equation 10]
[수학식 11][Equation 11]
[수학식 12][Equation 12]
(이때, 는 상기 제4 암호문, t'는 를 만족하는 상기 제2 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)를 이용하여 생성될 수 있다.(At this time, Is the fourth ciphertext, t 'is The second arbitrary integer satisfying, The Public parameter that satisfies, The It can be generated using any integer).
상기 비교키는, 아래의 수학식 13 내지 17The comparison key, the equations 13 to 17 below
[수학식 13][Equation 13]
[수학식 14][Equation 14]
[수학식 15][Equation 15]
[수학식 16][Equation 16]
[수학식 17][Equation 17]
(이때, 는 상기 비교키, 는 위수가 소수 p인 덧셈 군 의 생성원, r은 를 만족하는 임의의 정수)을 이용하여 생성될 수 있다.(At this time, Is the comparison key, Is an addition group with prime p The origin of, r is It can be generated using any integer).
상기 판단하는 단계는, 와 (이때, e는 를 만족하는 겹선형(bilinear) 함수, 는 위수가 소수 p인 곱셈 군)가 일치하지 않는 i의 최소 값 i*가 존재하는지 여부를 판단하는 단계; 및 상기 최소 값 i*이 존재하고, 와 가 일치하는 경우, 상기 제1 평문 데이터가 상기 제2 평문 데이터보다 작은 것으로 판단하고, 와 가 일치하지 않거나 상기 최소 값 i*이 존재하지 않는 경우, 상기 제1 평문 데이터가 상기 제2 평문 데이터보다 같거나 큰 것으로 판단하고 단계를 포함할 수 있다. The determining step, Wow (At this time, e is Bilinear function that satisfies, Determining whether there is a minimum value i * of i in which the odds p does not match; And the minimum value i * is present, Wow When is matched, it is determined that the first plaintext data is smaller than the second plaintext data, Wow If does not match or the minimum value i * does not exist, it may include determining that the first plaintext data is equal to or greater than the second plaintext data.
본 발명의 일 실시예에 따른 장치는, 하나 이상의 프로세서; 메모리; 및 하나 이상의 프로그램을 포함하는 장치로서, 상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며, 상기 프로그램은, 제1 사용자 비밀키를 이용하여 제1 평문 데이터를 비트 단위로 암호화한 제1 암호문을 제1 임의의 정수를 이용하여 공개키 암호화 기반으로 암호화한 제2 암호문, 및 제2 사용자 비밀키를 이용하여 제2 평문 데이터를 비트 단위로 암호화한 제3 암호문을 제2 임의의 정수를 이용하여 상기 공개키 암호화 기반으로 암호화한 제4 암호문을 획득하는 단계; 상기 제1 사용자 비밀키 및 상기 제2 사용자 비밀키를 이용하여 생성된 비교키를 획득하는 단계; 및 상기 비교키를 이용하여 제2 암호문 및 상기 제4 암호문을 암호화된 상태에서 비교하여, 상기 제1 평문 데이터와 상기 제2 평문 데이터 사이의 대소를 판단하는 단계를 실행하기 위한 명령어들을 포함한다.An apparatus according to an embodiment of the present invention, one or more processors; Memory; And one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, wherein the programs, using the first user secret key, bit-wise the first plaintext data. The second ciphertext, which is encrypted based on public key encryption using the first arbitrary integer, and the third ciphertext, which encrypts the second plaintext data in bit units using the second user secret key, are provided. 2 obtaining a fourth ciphertext encrypted based on the public key encryption using an arbitrary integer; Obtaining a comparison key generated using the first user secret key and the second user secret key; And comparing the second ciphertext and the fourth ciphertext in an encrypted state using the comparison key, and determining a size between the first plaintext data and the second plaintext data.
상기 제1 암호문은, 상기 제1 평문 데이터의 각 비트 값에 대한 프리픽스(prefix) 비트 열 및 상기 제1 사용자 비밀키를 이용하여 상기 제1 평문 데이터를 비트 단위로 암호화하여 생성되고, 상기 제3 암호문은, 상기 제2 평문 데이터의 각 비트 값에 대한 프리픽스 비트 열 및 상기 제2 사용자 비밀키를 이용하여 상기 제2 평문 데이터를 비트 단위로 암호화하여 생성될 수 있다.The first ciphertext is generated by encrypting the first plaintext data in bit units using a prefix bit string and a first user secret key for each bit value of the first plaintext data, and the third The ciphertext may be generated by encrypting the second plaintext data in bit units using a prefix bit string for each bit value of the second plaintext data and the second user secret key.
상기 제1 암호문은, 아래의 수학식 1 내지 3The first ciphertext, the
[수학식 1][Equation 1]
[수학식 2][Equation 2]
[수학식 3][Equation 3]
(이때, 는 상기 1 암호문, m은 인 상기 제1 평문 데이터, 는 상기 제1 평문 데이터의 i 번째 비트 값, 는 상기 제1 평문 데이터의 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 제1 사용자 비밀키, H는 를 만족하는 해시 함수, 는 위수가 소수 p인 덧셈 군)을 이용하여 생성되고, 상기 제3 암호문은, 아래의 수학식 4 내지 6(At this time, Is 1 ciphertext, m is The first plaintext data, I is the i-th bit value of the first plain text data, Is a prefix bit column for the i-th bit value of the first plain text data, Is the first user secret key, H is Hash function that satisfies, Is generated using the addition group having the prime number p), and the third ciphertext is the following equations 4 to 6
[수학식 4][Equation 4]
[수학식 5][Equation 5]
[수학식 6][Equation 6]
(이때, 는 상기 제3 암호문, m'은 인 상기 제2 평문 데이터, 는 상기 제2 평문 데이터의 i 번째 비트 값, 는 상기 제2 평문 데이터의 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 제2 사용자 비밀키)을 이용하여 생성될 수 있다.(At this time, Is the third ciphertext, m 'is The second plaintext data, Is the i-th bit value of the second plain text data, Is a prefix bit column for the i-th bit value of the second plain text data, May be generated using the second user secret key).
상기 제2 암호문은, 아래의 수학식 7 내지 9The second ciphertext, the equations 7 to 9 below
[수학식 7][Equation 7]
[수학식 8][Equation 8]
[수학식 9][Equation 9]
(이때, 는 상기 제2 암호문, g는 상기 덧셈 군 의 생성원(generator), t는 를 만족하는 상기 제1 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)를 이용하여 생성되고, 상기 제4 암호문은, 아래의 수학식 10 내지 12(At this time, Is the second ciphertext, g is the addition group The generator of, t is The first arbitrary integer satisfying, The Public parameter that satisfies, The Is generated by using an arbitrary integer that satisfies, and the fourth ciphertext is
[수학식 10][Equation 10]
[수학식 11][Equation 11]
[수학식 12][Equation 12]
(이때, 는 상기 제4 암호문, t'는 를 만족하는 상기 제2 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)를 이용하여 생성될 수 있다.(At this time, Is the fourth ciphertext, t 'is The second arbitrary integer satisfying, The Public parameter that satisfies, The It can be generated using any integer).
상기 비교키는, 아래의 수학식 13 내지 17The comparison key, the equations 13 to 17 below
[수학식 13][Equation 13]
[수학식 14][Equation 14]
[수학식 15][Equation 15]
[수학식 16][Equation 16]
[수학식 17][Equation 17]
(이때, 는 상기 비교키, 는 위수가 소수 p인 덧셈 군 의 생성원, r은 를 만족하는 임의의 정수)을 이용하여 생성될 수 있다.(At this time, Is the comparison key, Is an addition group with prime p The origin of, r is It can be generated using any integer).
상기 판단하는 단계는, 와 (이때, e는 를 만족하는 겹선형(bilinear) 함수, 는 위수가 소수 p인 곱셈 군)가 일치하지 않는 i의 최소 값 i*가 존재하는지 여부를 판단하는 단계; 및 상기 최소 값 i*이 존재하고, 와 가 일치하는 경우, 상기 제1 평문 데이터가 상기 제2 평문 데이터보다 작은 것으로 판단하고, 와 가 일치하지 않거나 상기 최소 값 i*이 존재하지 않는 경우, 상기 제1 평문 데이터가 상기 제2 평문 데이터보다 같거나 큰 것으로 판단하고 단계를 포함할 수 있다.The determining step, Wow (At this time, e is Bilinear function that satisfies, Determining whether there is a minimum value i * of i in which the odds p does not match; And the minimum value i * is present, Wow When is matched, it is determined that the first plaintext data is smaller than the second plaintext data, Wow If does not match or the minimum value i * does not exist, it may include determining that the first plaintext data is equal to or greater than the second plaintext data.
본 발명의 실시예들에 따르면, 사용자 비밀키를 이용하여 평문 데이터를 암호화한 암호문을 공개키 암호 기술을 이용하여 추가적으로 암호화함으로써, 동일 사용자에 의해 생성된 암호문 사이의 비교가 불가능하도록 함과 동시에 비교키가 제공되기 전까지 다른 사용자에 의해 생성된 암호문 사이의 비교가 불가능하도록 할 수 있으며, 이에 따라 비교키가 제공되기 전까지 암호문에서 어떠한 정보도 노출되지 않는다. According to embodiments of the present invention, by simultaneously encrypting a ciphertext that encrypts plaintext data using a user secret key using a public key cryptography technique, it is impossible to compare between ciphertexts generated by the same user and simultaneously compares the ciphertext. It is possible to prevent comparison between ciphertexts generated by other users until the key is provided, and accordingly, no information is exposed in the ciphertext until the comparison key is provided.
또한, 본 발명의 실시예들에 따르면, 동일한 사용자의 암호문 사이의 비교를 위해 기존의 ORE 기법들 중에서 추가 노출 정보량이 MSDB보다 적은 기법을 사용하고, 다른 사용자의 암호문 사이의 비교를 위해 본 발명의 실시예에 따라 생성된 암호문을 이용하는 경우, 비교키가 제공되기 전까지는 추가 노출 정보량이 기존 ORE 기법의 추가 노출 정보량과 동일하기 때문에 MSDB 보다 적은 양의 정보가 노출되고, 비교키가 제공되더라도 최대 기존의 MC-ORE 기법만큼 추가 정보가 노출되도록 할 수 있다.In addition, according to embodiments of the present invention, for comparison between ciphertexts of the same user, a technique in which additional exposure information is less than MSDB among existing ORE techniques is used, and the present invention is used for comparison between ciphertexts of different users. In the case of using the generated ciphertext according to the embodiment, less information is exposed than the MSDB because the additional exposure information amount is the same as the additional exposure information of the existing ORE technique until the comparison key is provided, and even if the comparison key is provided, the maximum existing Additional information can be exposed as much as the MC-ORE technique.
도 1은 본 발명의 일 실시예에 따른 순서 노출 암호화 시스템의 구성도
도 2는 본 발명의 일 실시예에 따른 순서 노출 암호화 방법을 설명하기 위한 순서도
도 3은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도1 is a block diagram of a sequence exposure encryption system according to an embodiment of the present invention
2 is a flow chart for explaining a sequence exposure encryption method according to an embodiment of the present invention
3 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in example embodiments.
이하, 도면을 참조하여 본 발명의 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. The following detailed description is provided to aid in a comprehensive understanding of the methods, devices and / or systems described herein. However, this is only an example and the present invention is not limited thereto.
본 발명의 실시예들을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 본 발명의 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 본 설명에서, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments of the present invention, when it is determined that a detailed description of known technology related to the present invention may unnecessarily obscure the subject matter of the present invention, the detailed description will be omitted. In addition, terms to be described later are terms defined in consideration of functions in the present invention, which may vary according to a user's or operator's intention or practice. Therefore, the definition should be made based on the contents throughout this specification. The terminology used in the detailed description is only for describing embodiments of the present invention and should not be limiting. Unless expressly used otherwise, a singular form includes a plural form. In this description, expressions such as “comprising” or “equipment” are intended to indicate certain characteristics, numbers, steps, actions, elements, parts or combinations thereof, and one or more other than described. It should not be interpreted to exclude the presence or possibility of other characteristics, numbers, steps, actions, elements, or parts or combinations thereof.
도 1은 본 발명의 일 실시예에 따른 순서 노출 암호화 시스템의 구성도이다. 1 is a configuration diagram of a sequence exposure encryption system according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 순서 노출 암호화 시스템(100)은 키 정보 제공 장치(110) 및 복수의 클라이언트 장치(120, 130, 140)를 포함한다. Referring to FIG. 1, the sequence
도 1에서는 설명의 편의를 위해 클라이언트 장치(110, 120, 130)가 3개인 것으로 예시하고 있으나, 실시예에 따라 클라이언트 장치의 개수는 변경될 수 있다. In FIG. 1, for convenience of description, three
키 정보 제공 장치(110)는 신뢰할 수 있는 기관에 의해 운영되는 장치로서 복수의 사용자에게 평문 데이터 암호화를 위한 사용자 비밀키 및 복수의 사용자 중 서로 다른 사용자에 의해 생성된 암호문 사이의 비교를 위한 비교키를 발급한다.The key
클라이언트 장치(120, 130, 140)는 암호문 생성 및 암호문 비교를 위해 각 사용자에 의해 이용되는 장치이다. 이하에서는 설명의 편의를 위해 각 클라이언트 장치(120, 130, 140)가 상이한 사용자에 의해 이용되는 것으로 가정하여 설명하나, 실시예에 따라, 하나의 클라이언트 장치(120, 130, 140)가 2 이상의 사용자에 의해 이용될 수도 있다. The
한편, 각 클라이언트 장치(120, 130, 140)는 키 정보 제공 장치(110)로부터 각 클라이언트 장치(120, 130, 140)를 이용하는 사용자에 대한 사용자 비밀키를 발급받을 수 있다. 사용자 비밀키를 발급받은 각 클라이언트 장치(120, 130, 140)는 발급받은 사용자 비밀키를 이용하여 사용자의 평문 데이터를 비트 단위로 암호화한 후, 각 클라이언트 장치(120, 130, 140)에 의해 선택된 임의의 정수를 이용하여 추가 암호화함으로써 암호문을 생성할 수 있다.On the other hand, each client device (120, 130, 140) may be issued a user secret key for the user using each client device (120, 130, 140) from the key information providing device (110). Each client device (120, 130, 140) that has been issued a user secret key encrypts the user's plaintext data in bits using the issued user secret key, and is then selected by each client device (120, 130, 140). The ciphertext can be generated by additional encryption using an arbitrary integer.
구체적으로, 각 클라이언트 장치(120, 130, 140)는 평문 데이터의 비트 열 중 각 비트 값에 대한 프리픽스(prefix) 비트 열 및 사용자 비밀키를 이용하여 평문 데이터를 비트 단위로 암호화할 수 있다. 이후, 각 클라이언트 장치(120, 130, 140)는 사용자 비밀키를 이용하여 암호화된 암호문을 임의의 정수를 이용하여 공개키 암호화 기반으로 추가 암호화할 수 있다.Specifically, each client device (120, 130, 140) may encrypt the plain text data in bit units by using a prefix bit string and a user secret key for each bit value among bit streams of the plain text data. Thereafter, each of the
한편, 상이한 사용자에 의해 생성된 암호문 사이의 비교를 위해 각 클라이언트 장치(120, 130, 140)는 키 정보 제공 장치(110)로부터 비교키를 발급받을 수 있다. 이후, 각 클라이언트 장치(120, 130, 140)는 상이한 사용자에 의해 생성된 암호문을 발급받은 비교키를 이용하여 암호화된 상태로 비교함으로써 각 암호문에 대한 평문 데이터 사이의 대소를 판단할 수 있다.Meanwhile, for comparison between ciphertexts generated by different users, each
데이터베이스(150)는 각 클라이언트 장치(120, 130, 140)에 의해 생성된 암호문을 저장하고, 각 클라이언트 장치(120, 130, 140)의 요청에 따라 기 저장된 암호문을 각 클라이언트 장치(120, 130, 140)로 제공할 수 있다.The
한편, 도 1에 도시된 순서 노출 암호화 시스템(100)에서 수행되는 순서 노출 암호화 기법의 구체적인 과정은 아래와 같이 구성될 수 있다.Meanwhile, a specific process of the sequence exposure encryption method performed in the sequence
셋업(setup)Setup
키 정보 제공 장치(110)는 보안 상수(Security Parameter) 1λ 및 시스템에 참여할 수 있는 사용자 수(N)을 입력받고, 공개 파라미터 및 각 사용자에 대한 마스터 비밀키를 생성할 수 있다. The key
구체적으로, 키 정보 제공 장치(110)는 각각 위수가 소수 p인 덧셈 군 및 , 위수가 소수 p인 곱셈 군 , 를 만족하는 겹선형(bilinear) 함수 e, 를 만족하는 의 생성원(generator) , 를 만족하는 의 생성원 를 생성할 수 있다.Specifically, the key
이후, 키 정보 제공 장치(110)는 모든 사용자에 대해 (이때, j는 j∈[N]를 만족하는 사용자 인덱스, )를 만족하는 임의의 정수 및 를 만족하는 임의의 정수 를 선택하여, 및 를 생성할 수 있다. Then, the key
이후, 키 정보 제공 장치(110)는 각 사용자에 대한 마스터 비밀키 와 공개 파라미터 를 출력할 수 있다. 이때, H는 임의의 비트 열을 덧셈 군 G로 맵핑시키는 해시 함수(hash function)로서 를 만족한다. Then, the key
한편, 키 정보 제공 장치(110)는 공개 파라미터 PP는 공개하고, 마스터 비밀키 MK는 안전하게 저장할 수 있다.On the other hand, the key
비밀키 발급Secret key issuance
키 정보 제공 장치(110)는 각 사용자에 의해 이용되는 클라이언트 장치(120, 130, 140)로 각 사용자의 사용자 비밀키 를 안전하게 발급한다.The key
암호화encryption
키 정보 제공 장치(110)로부터 사용자 비밀키 를 발급받은 각 클라이언트 장치(120, 130, 140)는 사용자 비밀키 및 각 클라이언트 장치(120, 130, 140)에 의해 선택된 임의의 정수를 이용하여 평문 데이터를 암호화할 수 있다.User secret key from key
구체적으로, 각 클라이언트 장치(120, 130, 140)는 평문 데이터의 비트 열 중 각 비트 값에 대한 프리픽스 비트 열 및 사용자 비밀키 를 이용하여 평문 데이터를 비트 단위로 암호화할 수 있다. 보다 구체적으로, 각 클라이언트 장치(120, 130, 140)는 평문 데이터 에 대해 i(이때, i∈[n])번째 비트마다 및 를 계산하여, 암호문 을 생성할 수 있다. 이때, prefix(m, i-1)은 m의 i번째 비트 값(xi)에 대한 프리픽스 비트 열(즉, prefix(m, i-1) = x1x2…xi-1)을 나타낸다. 또한, 는 두 비트 열 사이의 연결(concatenation)을 의미한다.Specifically, each client device (120, 130, 140) is a prefix bit string and a user secret key for each bit value among bit streams of plain text data The plaintext data can be encrypted in bits by using. More specifically, each client device (120, 130, 140) is plain text data For every i (where i, [n]) bits And Calculate the ciphertext You can create At this time, prefix (m, i-1) represents a prefix bit string (i.e., prefix (m, i-1) = x 1 x 2 ... x i-1 ) for the i- th bit value (x i ) of m. . In addition, Means a concatenation between two bit strings.
이후, 각 클라이언트 장치(120, 130, 140)는 를 만족하는 임의의 정수 t를 선택한 후, 선택된 임의의 정수 t를 이용하여 암호문 를 공개키 암호화 기반으로 암호화할 수 있다. 구체적으로, 각 클라이언트 장치(120, 130, 140)는 (이때, )에 대해 와 를 계산하여 암호문 를 생성할 수 있다. Then, each client device (120, 130, 140) After selecting an arbitrary integer t that satisfies the Can be encrypted based on public key encryption. Specifically, each client device (120, 130, 140) (At this time, )About Wow Calculate the ciphertext Can generate
비교키 생성Comparison key generation
키 정보 제공 장치(110)는 를 만족하는 임의의 정수 r을 선택한 후, 사용자 인덱스가 l (즉, j=l )인 제1 사용자의 사용자 비밀키 및 사용자 인덱스가 k (즉, j=k)인 제2 사용자의 사용자 비밀키 를 이용하여 비교키 를 생성할 수 있다.Key
이때, 는 아래의 수학식 1 및 2에 의해 생성될 수 있다.At this time, Can be generated by
[수학식 1][Equation 1]
[수학식 2][Equation 2]
또한, 는 아래의 수학식 3 및 4에 의해 생성될 수 있다.In addition, Can be generated by Equations 3 and 4 below.
[수학식 3][Equation 3]
[수학식 4][Equation 4]
한편, 비교키가 생성된 경우, 키 정보 제공 장치(110)는 생성된 비교키 를 허가된 사용자에 의해 이용되는 클라이언트 장치(120, 130, 140)로 안전하게 발급할 수 있다. On the other hand, when the comparison key is generated, the key
암호문 비교Ciphertext comparison
비교키 를 발급받은 클라이언트 장치(120, 130, 140)는 비교키 를 이용하여 제1 사용자의 암호문 과 제2 사용자의 암호문 을 암호화된 상태로 비교함으로써, 각 암호문에 대한 평문 데이터의 대소를 판단할 수 있다.Comparison key The client device (120, 130, 140) issuing the comparison key Using the first user's ciphertext And second user's ciphertext By comparing in an encrypted state, it is possible to determine the size of plaintext data for each ciphertext.
구체적으로, 클라이언트 장치(120, 130, 140)는 각 암호문의 최상위 비트(즉, i=1)부터 와 를 비교하여, 인 i의 최소 값 i*가 존재하는지 여부를 판단할 수 있다.Specifically, the client device (120, 130, 140) from the most significant bit of each ciphertext (i.e., i = 1) Wow By comparing, It may be determined whether or not the minimum value i * of phosphorus i exists.
만약, i*가 존재하는 경우, 클라이언트 장치(120, 130, 140)는 와 가 일치하는지 여부를 판단할 수 있다. If i * is present, the
이때, 와 가 일치하는 경우, 클라이언트 장치(120, 130, 140)는 암호문 에 대한 평문 데이터 m이 암호문 에 대한 평문 데이터 m'보다 작은 것으로 판단할 수 있다.At this time, Wow If is matched, the client device (120, 130, 140) is the ciphertext The plaintext data for m is the ciphertext It can be judged to be smaller than the plain text data m 'for.
반면, 와 가 일치하지 않거나 i*가 존재하지 않는 경우, 클라이언트 장치(120, 130, 140)는 m이 m'보다 크거나 같은 것으로 판단할 수 있다.On the other hand, Wow When does not match or i * does not exist, the
도 2는 본 발명의 일 실시예에 따른 순서 노출 암호화 방법을 설명하기 위한 순서도이다. 2 is a flowchart illustrating a sequence exposure encryption method according to an embodiment of the present invention.
도 2에 도시된 방법은 예를 들어, 도 1에 도시된 순서 노출 암호화 시스템(100)에 의하여 수행될 수 있다. The method illustrated in FIG. 2 may be performed, for example, by the sequence
도 2를 참조하면, 우선 키 정보 생성 장치(110)는 상술한 셋업(set up) 과정을 통해 순서 노출 암호화를 위한 공개 파라미터 및 각 사용자에 대한 마스터 비밀키를 생성한다(201).Referring to FIG. 2, first, the key
이후, 키 정보 제공 장치(110)는 제1 클라이언트 장치(120)로 사용자 인덱스가 l인 제1 사용자의 사용자 비밀키 를 발급한다(202).Thereafter, the key
비밀키 를 발급받은 제1 클라이언트 장치(120)는 제1 사용자에 의해 생성된 제1 평문 데이터에 대한 암호문 을 생성한 후(203), 생성된 암호문 을 데이터베이스(150)에 저장한다(204). 이때, 암호문 은 상술한 암호화 과정을 통해 생성될 수 있다.Secret key The
이후, 키 정보 제공 장치(110)는 제2 클라이언트 장치(130)로 사용자 인덱스가 k인 제2 사용자의 사용자 비밀키 를 발급한다(205).Thereafter, the key
비밀키 를 발급받은 제2 클라이언트 장치(130)는 제2 사용자에 의해 생성된 제2 평문 데이터에 대한 암호문 을 생성한 후(206), 생성된 암호문 을 데이터베이스(150)에 저장한다(207). 이때, 암호문 은 상술한 암호화 과정을 통해 생성될 수 있다.Secret key The
이후, 제3 클라이언트 장치(140)는 데이터베이스(150)에 저장된 암호문 및 를 획득하고(208), 키 정보 제공 장치(110)로 암호문 및 의 비교를 위한 비교키 의 발급을 요청한다(209).Thereafter, the
이후, 키 정보 제공 장치(110)는 비교키 를 생성한 후(210), 생성된 비교키 를 제3 클라이언트 장치(140)로 발급한다(211). 이때, 비교키 는 상술한 비교키 생성 과정을 통해 생성될 수 있다.Then, the key
이후, 제3 클라이언트 장치(140)는 비교키 를 이용하여 암호문 및 를 암호화된 상태로 비교함으로써, 제1 평문 데이터와 제2 평문 데이터 사이의 대소를 판단한다(212). 이때, 대소 판단은 상술한 암호문 비교 과정을 통해 수행될 수 있다.Then, the
한편, 도 2에 도시된 순서도에서는 상기 방법을 복수 개의 단계로 나누어 기재하였으나, 적어도 일부의 단계들은 순서를 바꾸어 수행되거나, 다른 단계와 결합되어 함께 수행되거나, 생략되거나, 세부 단계들로 나뉘어 수행되거나, 또는 도시되지 않은 하나 이상의 단계가 부가되어 수행될 수 있다.Meanwhile, in the flowchart illustrated in FIG. 2, the method is described by dividing the method into a plurality of steps, but at least some of the steps are performed by changing the order, combined with other steps, omitted, or divided into detailed steps. Alternatively, one or more steps not shown may be performed.
도 3은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술되지 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.3 is a block diagram illustrating and illustrating a computing environment including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.
도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 순서 노출 암호화 시스템(100)에 포함되는 하나 이상의 컴포넌트(예를 들어, 키 정보 제공 장치(110), 제1 클라이언트 장치(120), 제2 클라이언트 장치(130), 제3 클라이언트 장치(140))일 수 있다.The illustrated
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.Computer
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.The
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.The present invention has been described in detail through exemplary embodiments above, but those skilled in the art to which the present invention pertains are capable of various modifications within the limits of the embodiments described above without departing from the scope of the present invention. Will understand. Therefore, the scope of rights of the present invention should not be limited to the described embodiments, and should be determined not only by the claims to be described later, but also by the claims and equivalents.
10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 순서 노출 암호화 시스템
110: 키 정보 제공 장치
120: 제1 클라이언트 장치
130: 제2 클라이언트 장치
140: 제3 클라이언트 장치
150: 데이터베이스10: computing environment
12: computing device
14: processor
16: computer readable storage media
18: Communication bus
20: Program
22: I / O interface
24: I / O device
26: network communication interface
100: sequence exposure encryption system
110: key information providing device
120: first client device
130: second client device
140: third client device
150: database
Claims (20)
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
사용자에 대한 사용자 비밀키를 획득하는 단계;
상기 사용자 비밀키를 이용하여 평문 데이터를 비트 단위로 암호화하여 제1 암호문을 생성하는 단계; 및
임의의 정수를 이용하여 상기 제1 암호문을 공개키 암호화 기반으로 암호화하여 제2 암호문을 생성하는 단계를 포함하는, 방법.
One or more processors, and
A method performed in a computing device having a memory for storing one or more programs executed by the one or more processors,
Obtaining a user secret key for the user;
Generating a first ciphertext by encrypting the plaintext data in bit units using the user secret key; And
And generating a second ciphertext by encrypting the first ciphertext based on public key encryption using an arbitrary integer.
상기 제1 암호문을 생성하는 단계는, 상기 평문 데이터의 각 비트 값에 대한 프리픽스(prefix) 비트 열 및 상기 사용자 비밀키를 이용하여 상기 평문 데이터를 비트 단위로 암호화하는, 방법.
The method according to claim 1,
The generating of the first ciphertext may include encrypting the plaintext data in bit units using a prefix bit string for each bit value of the plaintext data and the user secret key.
상기 제1 암호문은, 아래의 수학식 1 내지 3
[수학식 1]
[수학식 2]
[수학식 3]
(이때, 는 상기 1 암호문, m은 인 상기 제1 평문 데이터, 는 상기 제1 평문 데이터의 i 번째 비트 값, 는 상기 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 사용자 비밀키, H는 를 만족하는 해시 함수, 는 위수가 소수 p인 덧셈 군)
을 이용하여 생성되는, 방법.
The method according to claim 2,
The first ciphertext, the equations 1 to 3 below
[Equation 1]
[Equation 2]
[Equation 3]
(At this time, Is 1 ciphertext, m is The first plaintext data, I is the i-th bit value of the first plain text data, Is a prefix bit column for the i-th bit value, Is the user secret key, H is Hash function that satisfies, Is an addition group with prime p)
Method, which is generated using.
상기 제2 암호문은, 아래의 수학식 4 내지 6
[수학식 4]
[수학식 5]
[수학식 6]
(이때, 는 상기 제2 암호문, g는 상기 덧셈 군 G의 생성원(generator), t는 를 만족하는 상기 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)
을 이용하여 생성되는, 방법.
The method according to claim 3,
The second ciphertext, the equations 4 to 6 below
[Equation 4]
[Equation 5]
[Equation 6]
(At this time, Is the second ciphertext, g is the generator of the addition group G, t is Any of the above integers, The Public parameter that satisfies, The Any integer satisfying)
Method, which is generated using.
메모리; 및
하나 이상의 프로그램을 포함하는 장치로서,
상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,
상기 프로그램은,
사용자에 대한 사용자 비밀키를 획득하는 단계;
상기 사용자 비밀키를 이용하여 평문 데이터를 비트 단위로 암호화하여 제1 암호문을 생성하는 단계; 및
임의의 정수를 이용하여 상기 제1 암호문을 공개키 암호화 기반으로 암호화하여 제2 암호문을 생성하는 단계를 실행하기 위한 명령어들을 포함하는, 장치.
One or more processors;
Memory; And
A device comprising one or more programs,
The one or more programs are stored in the memory and configured to be executed by the one or more processors,
The program,
Obtaining a user secret key for the user;
Generating a first ciphertext by encrypting the plaintext data in bit units using the user secret key; And
And instructions for executing a step of generating a second ciphertext by encrypting the first ciphertext based on public key encryption using an arbitrary integer.
상기 제1 암호문을 생성하는 단계는, 상기 평문 데이터의 각 비트 값에 대한 프리픽스(prefix) 비트 열 및 상기 사용자 비밀키를 이용하여 상기 평문 데이터를 비트 단위로 암호화하는, 장치.
The method according to claim 5,
The generating of the first ciphertext comprises encrypting the plaintext data in bit units using a prefix bit string for each bit value of the plaintext data and the user secret key.
상기 제1 암호문은, 아래의 수학식 1 내지 3
[수학식 1]
[수학식 2]
[수학식 3]
(이때, 는 상기 1 암호문, m은 인 상기 제1 평문 데이터, 는 상기 제1 평문 데이터의 i 번째 비트 값, 는 상기 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 사용자 비밀키, H는 를 만족하는 해시 함수, 는 위수가 소수 p인 덧셈 군)
을 이용하여 생성되는, 장치.
The method according to claim 6,
The first ciphertext, the equations 1 to 3 below
[Equation 1]
[Equation 2]
[Equation 3]
(At this time, Is 1 ciphertext, m is The first plaintext data, I is the i-th bit value of the first plain text data, Is a prefix bit column for the i-th bit value, Is the user secret key, H is Hash function that satisfies, Is an addition group with prime p)
Generated using the device.
상기 제2 암호문은, 아래의 수학식 4 내지 6
[수학식 4]
[수학식 5]
[수학식 6]
(이때, 는 상기 제2 암호문, g는 상기 덧셈 군 G의 생성원(generator), t는 를 만족하는 상기 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)
을 이용하여 생성되는, 장치.
The method according to claim 7,
The second ciphertext, the equations 4 to 6 below
[Equation 4]
[Equation 5]
[Equation 6]
(At this time, Is the second ciphertext, g is the generator of the addition group G, t is Any of the above integers, The Public parameter that satisfies, The Any integer satisfying)
Generated using the device.
상기 하나 이상의 프로세서들에 의해 실행되는 하나 이상의 프로그램들을 저장하는 메모리를 구비한 컴퓨팅 장치에서 수행되는 방법으로서,
제1 사용자 비밀키를 이용하여 제1 평문 데이터를 비트 단위로 암호화한 제1 암호문을 제1 임의의 정수를 이용하여 공개키 암호화 기반으로 암호화한 제2 암호문, 및 제2 사용자 비밀키를 이용하여 제2 평문 데이터를 비트 단위로 암호화한 제3 암호문을 제2 임의의 정수를 이용하여 상기 공개키 암호화 기반으로 암호화한 제4 암호문을 획득하는 단계;
상기 제1 사용자 비밀키 및 상기 제2 사용자 비밀키를 이용하여 생성된 비교키를 획득하는 단계; 및
상기 비교키를 이용하여 제2 암호문 및 상기 제4 암호문을 암호화된 상태에서 비교하여, 상기 제1 평문 데이터와 상기 제2 평문 데이터 사이의 대소를 판단하는 단계를 포함하는, 방법.
One or more processors, and
A method performed in a computing device having a memory for storing one or more programs executed by the one or more processors,
The first ciphertext that encrypts the first plaintext data in bit units using the first user secret key, uses the second ciphertext that is encrypted based on public key encryption using the first arbitrary integer, and uses the second user secret key. Acquiring a fourth ciphertext that is encrypted based on the public key encryption using a second arbitrary integer as a third ciphertext that encrypts second plaintext data in bit units;
Obtaining a comparison key generated using the first user secret key and the second user secret key; And
And comparing the second ciphertext and the fourth ciphertext in an encrypted state using the comparison key, and determining a size between the first plaintext data and the second plaintext data.
상기 제1 암호문은, 상기 제1 평문 데이터의 각 비트 값에 대한 프리픽스(prefix) 비트 열 및 상기 제1 사용자 비밀키를 이용하여 상기 제1 평문 데이터를 비트 단위로 암호화하여 생성되고,
상기 제3 암호문은, 상기 제2 평문 데이터의 각 비트 값에 대한 프리픽스 비트 열 및 상기 제2 사용자 비밀키를 이용하여 상기 제2 평문 데이터를 비트 단위로 암호화하여 생성되는, 방법.
The method according to claim 9,
The first ciphertext is generated by encrypting the first plaintext data in bit units using a prefix bit string for each bit value of the first plaintext data and the first user secret key,
The third ciphertext is generated by encrypting the second plaintext data in bit units using a prefix bit string for each bit value of the second plaintext data and the second user secret key.
상기 제1 암호문은, 아래의 수학식 1 내지 3
[수학식 1]
[수학식 2]
[수학식 3]
(이때, 는 상기 1 암호문, m은 인 상기 제1 평문 데이터, 는 상기 제1 평문 데이터의 i 번째 비트 값, 는 상기 제1 평문 데이터의 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 제1 사용자 비밀키, H는 를 만족하는 해시 함수, 는 위수가 소수 p인 덧셈 군)
을 이용하여 생성되고,
상기 제3 암호문은, 아래의 수학식 4 내지 6
[수학식 4]
[수학식 5]
[수학식 6]
(이때, 는 상기 제3 암호문, m'은 인 상기 제2 평문 데이터, 는 상기 제2 평문 데이터의 i 번째 비트 값, 는 상기 제2 평문 데이터의 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 제2 사용자 비밀키)
을 이용하여 생성되는, 방법.
The method according to claim 10,
The first ciphertext, the equations 1 to 3 below
[Equation 1]
[Equation 2]
[Equation 3]
(At this time, Is 1 ciphertext, m is The first plaintext data, I is the i-th bit value of the first plain text data, Is a prefix bit column for the i-th bit value of the first plain text data, Is the first user secret key, H is Hash function that satisfies, Is an addition group with prime p)
Is created using
The third ciphertext, the equations 4 to 6 below
[Equation 4]
[Equation 5]
[Equation 6]
(At this time, Is the third ciphertext, m 'is The second plaintext data, Is the i-th bit value of the second plain text data, Is a prefix bit column for the i-th bit value of the second plain text data, Is the second user secret key)
Method, which is generated using.
상기 제2 암호문은, 아래의 수학식 7 내지 9
[수학식 7]
[수학식 8]
[수학식 9]
(이때, 는 상기 제2 암호문, g는 상기 덧셈 군 의 생성원(generator), t는 를 만족하는 상기 제1 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)
를 이용하여 생성되고,
상기 제4 암호문은, 아래의 수학식 10 내지 12
[수학식 10]
[수학식 11]
[수학식 12]
(이때, 는 상기 제4 암호문, t'는 를 만족하는 상기 제2 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)
를 이용하여 생성되는, 방법.
The method according to claim 11,
The second ciphertext, the equations 7 to 9 below
[Equation 7]
[Equation 8]
[Equation 9]
(At this time, Is the second ciphertext, g is the addition group The generator of, t is The first arbitrary integer satisfying, The Public parameter that satisfies, The Any integer satisfying)
Is created using
The fourth ciphertext, the equations 10 to 12 below
[Equation 10]
[Equation 11]
[Equation 12]
(At this time, Is the fourth ciphertext, t 'is The second arbitrary integer satisfying, The Public parameter that satisfies, The Any integer satisfying)
Generated using the method.
상기 비교키는, 아래의 수학식 13 내지 17
[수학식 13]
[수학식 14]
[수학식 15]
[수학식 16]
[수학식 17]
(이때, 는 상기 비교키, 는 위수가 소수 p인 덧셈 군 의 생성원, r은 를 만족하는 임의의 정수)
을 이용하여 생성되는, 방법.
The method according to claim 12,
The comparison key, the equations 13 to 17 below
[Equation 13]
[Equation 14]
[Equation 15]
[Equation 16]
[Equation 17]
(At this time, Is the comparison key, Is an addition group with prime p The origin of, r is Any integer satisfying)
Method, which is generated using.
상기 판단하는 단계는,
와 (이때, e는 를 만족하는 겹선형(bilinear) 함수, 는 위수가 소수 p인 곱셈 군)가 일치하지 않는 i의 최소 값 i*가 존재하는지 여부를 판단하는 단계; 및
상기 최소 값 i*이 존재하고, 와 가 일치하는 경우, 상기 제1 평문 데이터가 상기 제2 평문 데이터보다 작은 것으로 판단하고, 와 가 일치하지 않거나 상기 최소 값 i*이 존재하지 않는 경우, 상기 제1 평문 데이터가 상기 제2 평문 데이터보다 같거나 큰 것으로 판단하고 단계를 포함하는, 방법.
The method according to claim 13,
The determining step,
Wow (At this time, e is Bilinear function that satisfies, Determining whether there is a minimum value i * of i in which the odds p does not match; And
The minimum value i * is present, Wow When is matched, it is determined that the first plaintext data is smaller than the second plaintext data, Wow And determining that the first plaintext data is equal to or greater than the second plaintext data if is not matched or the minimum value i * does not exist.
메모리; 및
하나 이상의 프로그램을 포함하는 장치로서,
상기 하나 이상의 프로그램은 상기 메모리에 저장되고 상기 하나 이상의 프로세서에 의해 실행되도록 구성되며,
상기 프로그램은,
제1 사용자 비밀키를 이용하여 제1 평문 데이터를 비트 단위로 암호화한 제1 암호문을 제1 임의의 정수를 이용하여 공개키 암호화 기반으로 암호화한 제2 암호문, 및 제2 사용자 비밀키를 이용하여 제2 평문 데이터를 비트 단위로 암호화한 제3 암호문을 제2 임의의 정수를 이용하여 상기 공개키 암호화 기반으로 암호화한 제4 암호문을 획득하는 단계;
상기 제1 사용자 비밀키 및 상기 제2 사용자 비밀키를 이용하여 생성된 비교키를 획득하는 단계; 및
상기 비교키를 이용하여 제2 암호문 및 상기 제4 암호문을 암호화된 상태에서 비교하여, 상기 제1 평문 데이터와 상기 제2 평문 데이터 사이의 대소를 판단하는 단계를 실행하기 위한 명령어들을 포함하는, 장치.
One or more processors;
Memory; And
A device comprising one or more programs,
The one or more programs are stored in the memory and configured to be executed by the one or more processors,
The program,
The first ciphertext that encrypts the first plaintext data in bit units using the first user secret key, uses the second ciphertext that is encrypted based on public key encryption using the first arbitrary integer, and uses the second user secret key. Acquiring a fourth ciphertext that is encrypted based on the public key encryption using a second arbitrary integer as a third ciphertext that encrypts second plaintext data in bit units;
Obtaining a comparison key generated using the first user secret key and the second user secret key; And
And comparing the second ciphertext and the fourth ciphertext in an encrypted state using the comparison key, and comprising instructions for executing a step of determining a case between the first plaintext data and the second plaintext data. .
상기 제1 암호문은, 상기 제1 평문 데이터의 각 비트 값에 대한 프리픽스(prefix) 비트 열 및 상기 제1 사용자 비밀키를 이용하여 상기 제1 평문 데이터를 비트 단위로 암호화하여 생성되고,
상기 제3 암호문은, 상기 제2 평문 데이터의 각 비트 값에 대한 프리픽스 비트 열 및 상기 제2 사용자 비밀키를 이용하여 상기 제2 평문 데이터를 비트 단위로 암호화하여 생성되는, 장치.
The method according to claim 15,
The first ciphertext is generated by encrypting the first plaintext data in bit units using a prefix bit string for each bit value of the first plaintext data and the first user secret key,
The third ciphertext is generated by encrypting the second plaintext data in bit units using a prefix bit string for each bit value of the second plaintext data and the second user secret key.
상기 제1 암호문은, 아래의 수학식 1 내지 3
[수학식 1]
[수학식 2]
[수학식 3]
(이때, 는 상기 1 암호문, m은 인 상기 제1 평문 데이터, 는 상기 제1 평문 데이터의 i 번째 비트 값, 는 상기 제1 평문 데이터의 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 제1 사용자 비밀키, H는 를 만족하는 해시 함수, 는 위수가 소수 p인 덧셈 군)
을 이용하여 생성되고,
상기 제3 암호문은, 아래의 수학식 4 내지 6
[수학식 4]
[수학식 5]
[수학식 6]
(이때, 는 상기 제3 암호문, m'은 인 상기 제2 평문 데이터, 는 상기 제2 평문 데이터의 i 번째 비트 값, 는 상기 제2 평문 데이터의 i 번째 비트 값에 대한 프리픽스 비트 열, 는 상기 제2 사용자 비밀키)
을 이용하여 생성되는, 장치.
The method according to claim 16,
The first ciphertext, the equations 1 to 3 below
[Equation 1]
[Equation 2]
[Equation 3]
(At this time, Is 1 ciphertext, m is The first plaintext data, I is the i-th bit value of the first plain text data, Is a prefix bit column for the i-th bit value of the first plain text data, Is the first user secret key, H is Hash function that satisfies, Is an addition group with prime p)
Is created using
The third ciphertext, the equations 4 to 6 below
[Equation 4]
[Equation 5]
[Equation 6]
(At this time, Is the third ciphertext, m 'is The second plaintext data, Is the i-th bit value of the second plain text data, Is a prefix bit column for the i-th bit value of the second plain text data, Is the second user secret key)
Generated using the device.
상기 제2 암호문은, 아래의 수학식 7 내지 9
[수학식 7]
[수학식 8]
[수학식 9]
(이때, 는 상기 제2 암호문, g는 상기 덧셈 군 의 생성원(generator), t는 를 만족하는 상기 제1 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)
를 이용하여 생성되고,
상기 제4 암호문은, 아래의 수학식 10 내지 12
[수학식 10]
[수학식 11]
[수학식 12]
(이때, 는 상기 제4 암호문, t'는 를 만족하는 상기 제2 임의의 정수, 는 를 만족하는 공개 파라미터, 는 를 만족하는 임의의 정수)
를 이용하여 생성되는, 장치.
The method according to claim 17,
The second ciphertext, the equations 7 to 9 below
[Equation 7]
[Equation 8]
[Equation 9]
(At this time, Is the second ciphertext, g is the addition group The generator of, t is The first arbitrary integer satisfying, The Public parameter that satisfies, The Any integer satisfying)
Is created using
The fourth ciphertext, the equations 10 to 12 below
[Equation 10]
[Equation 11]
[Equation 12]
(At this time, Is the fourth ciphertext, t 'is The second arbitrary integer satisfying, The Public parameter that satisfies, The Any integer satisfying)
Generated using a device.
상기 비교키는, 아래의 수학식 13 내지 17
[수학식 13]
[수학식 14]
[수학식 15]
[수학식 16]
[수학식 17]
(이때, 는 상기 비교키, 는 위수가 소수 p인 덧셈 군 의 생성원, r은 를 만족하는 임의의 정수)
을 이용하여 생성되는, 장치.
The method according to claim 18,
The comparison key, the equations 13 to 17 below
[Equation 13]
[Equation 14]
[Equation 15]
[Equation 16]
[Equation 17]
(At this time, Is the comparison key, Is an addition group with prime p The origin of, r is Any integer satisfying)
Generated using the device.
상기 판단하는 단계는,
와 (이때, e는 를 만족하는 겹선형(bilinear) 함수, 는 위수가 소수 p인 곱셈 군)가 일치하지 않는 i의 최소 값 i*가 존재하는지 여부를 판단하는 단계; 및
상기 최소 값 i*이 존재하고, 와 가 일치하는 경우, 상기 제1 평문 데이터가 상기 제2 평문 데이터보다 작은 것으로 판단하고, 와 가 일치하지 않거나 상기 최소 값 i*이 존재하지 않는 경우, 상기 제1 평문 데이터가 상기 제2 평문 데이터보다 같거나 큰 것으로 판단하고 단계를 포함하는, 장치. The method according to claim 19,
The determining step,
Wow (At this time, e is Bilinear function that satisfies, Determining whether there is a minimum value i * of i in which the odds p does not match; And
The minimum value i * is present, Wow When is matched, it is determined that the first plaintext data is smaller than the second plaintext data, Wow And determining that the first plaintext data is equal to or greater than the second plaintext data if is not matched or the minimum value i * does not exist.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180119632A KR102132685B1 (en) | 2018-10-08 | 2018-10-08 | Apparatus and method for order-revealing encryption |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180119632A KR102132685B1 (en) | 2018-10-08 | 2018-10-08 | Apparatus and method for order-revealing encryption |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200039979A true KR20200039979A (en) | 2020-04-17 |
KR102132685B1 KR102132685B1 (en) | 2020-07-10 |
Family
ID=70460726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180119632A KR102132685B1 (en) | 2018-10-08 | 2018-10-08 | Apparatus and method for order-revealing encryption |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102132685B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112152799A (en) * | 2020-08-31 | 2020-12-29 | 中国人民解放军战略支援部队信息工程大学 | Secret source normalization mechanism for multimode executive encryption application |
CN114221766A (en) * | 2022-02-18 | 2022-03-22 | 阿里云计算有限公司 | Data encryption method, data decryption method and data encryption device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008176193A (en) * | 2007-01-22 | 2008-07-31 | Nippon Telegr & Teleph Corp <Ntt> | Calculation method and device for secrecy function, and program |
JP2012141554A (en) * | 2011-01-06 | 2012-07-26 | Nec Corp | Prefix match storage type encryption device and decryption device, and methods thereof |
US20140133651A1 (en) * | 2011-07-05 | 2014-05-15 | Nec Corporation | Encryption device, cipher-text comparison system, cipher-text comparison method, and cipher-text comparison program |
KR20170103321A (en) | 2016-03-03 | 2017-09-13 | 한국전자통신연구원 | Order preserving encryption method and apparatus with enhanced security |
-
2018
- 2018-10-08 KR KR1020180119632A patent/KR102132685B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008176193A (en) * | 2007-01-22 | 2008-07-31 | Nippon Telegr & Teleph Corp <Ntt> | Calculation method and device for secrecy function, and program |
JP2012141554A (en) * | 2011-01-06 | 2012-07-26 | Nec Corp | Prefix match storage type encryption device and decryption device, and methods thereof |
US20140133651A1 (en) * | 2011-07-05 | 2014-05-15 | Nec Corporation | Encryption device, cipher-text comparison system, cipher-text comparison method, and cipher-text comparison program |
KR20170103321A (en) | 2016-03-03 | 2017-09-13 | 한국전자통신연구원 | Order preserving encryption method and apparatus with enhanced security |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112152799A (en) * | 2020-08-31 | 2020-12-29 | 中国人民解放军战略支援部队信息工程大学 | Secret source normalization mechanism for multimode executive encryption application |
CN112152799B (en) * | 2020-08-31 | 2022-11-18 | 中国人民解放军战略支援部队信息工程大学 | Secret source normalization mechanism for multimode executive encryption application |
CN114221766A (en) * | 2022-02-18 | 2022-03-22 | 阿里云计算有限公司 | Data encryption method, data decryption method and data encryption device |
Also Published As
Publication number | Publication date |
---|---|
KR102132685B1 (en) | 2020-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5957095B2 (en) | Tamper detection device, tamper detection method, and program | |
KR102143525B1 (en) | Method for function encryption supporting set intersection operation and apparatus using the same | |
KR102550812B1 (en) | Method for comparing ciphertext using homomorphic encryption and apparatus for executing thereof | |
WO2019114122A1 (en) | Encryption method for login information, device, electronic device, and medium | |
JPWO2019130528A1 (en) | Conversion key generation device, ciphertext conversion device, secret information processing system, conversion key generation method, conversion key generation program, ciphertext conversion method, and ciphertext conversion program | |
US8817978B2 (en) | Order-preserving encryption and decryption apparatus and method thereof | |
KR102132685B1 (en) | Apparatus and method for order-revealing encryption | |
JP5972181B2 (en) | Tamper detection device, tamper detection method, and program | |
JP6401875B2 (en) | Data processing system | |
KR102284877B1 (en) | Efficient functional encryption for set intersection | |
KR102281265B1 (en) | Functional encryption for set intersection with time-constrained function keys | |
KR102192594B1 (en) | Apparatus and method for order-revealing encryption in multi-client environment without trusted authority | |
KR20180039922A (en) | Function encryption system and method for outputting inner product values | |
Anwarbasha et al. | An efficient and secure protocol for checking remote data integrity in multi-cloud environment | |
KR102126295B1 (en) | Method for comparing chiphertext based and apparatus for executing the method | |
KR102526114B1 (en) | Apparatus and method for encryption and decryption | |
KR102593179B1 (en) | Efficient decentralized functional encryption for set intersection | |
KR20200131688A (en) | Apparatus and method for generating secret key, apparatus and method for genrating evaluation key | |
KR102123440B1 (en) | Encryption method for supporting range query in multi-client environment and apparatus using the same | |
KR20200041134A (en) | System and method for providng redactable signature with recovery functionality | |
JP2019198052A (en) | Key generation system | |
KR102123435B1 (en) | Encryption method for supporting equality query in multi-client environment and apparatus using the same | |
KR102625088B1 (en) | Apparatus and method for sharing data | |
KR102629617B1 (en) | Real-time iot data sharing system to support attribute-based access control and method of operation thereof | |
KR102005946B1 (en) | System and method for providng anonymous identity-based signature using homomorphic encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |