KR100951034B1 - Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that - Google Patents

Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that Download PDF

Info

Publication number
KR100951034B1
KR100951034B1 KR1020080063202A KR20080063202A KR100951034B1 KR 100951034 B1 KR100951034 B1 KR 100951034B1 KR 1020080063202 A KR1020080063202 A KR 1020080063202A KR 20080063202 A KR20080063202 A KR 20080063202A KR 100951034 B1 KR100951034 B1 KR 100951034B1
Authority
KR
South Korea
Prior art keywords
searchable
ciphertext
public key
cipher text
data
Prior art date
Application number
KR1020080063202A
Other languages
Korean (ko)
Other versions
KR20100003093A (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 KR1020080063202A priority Critical patent/KR100951034B1/en
Publication of KR20100003093A publication Critical patent/KR20100003093A/en
Application granted granted Critical
Publication of KR100951034B1 publication Critical patent/KR100951034B1/en

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/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
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

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)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법에 관한 것으로, 송신 측에서는 키워드들에 대한 검색가능암호문들의 크기를 블룸 필터를 이용하여 줄임으로써, 서버로 전송하는 데이터 전송량을 줄일 수 있으며, 서버 측에서는 그 크기가 줄어든 검색가능암호문들 중에서 수신 측의 검색 키워드가 포함되는 검색가능암호문을 검색함으로써, 데이터 검색에 필요한 데이터 연산량을 줄일 수 있는, 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법을 제공하고자 한다.The present invention relates to a public key based searchable cipher text generation method for reducing cipher text size, and to a public key based data search method according to the present invention. The sender reduces the size of searchable cipher texts for keywords using a bloom filter. As a result, the amount of data transmitted to the server can be reduced. On the server side, a searchable ciphertext including the search keyword of the receiving side is searched among searchable ciphertexts whose size is reduced, thereby reducing the amount of data computation required for data retrieval. A public key based searchable cipher text generation method for reducing cipher text size and a public key based data retrieval method are provided.

이를 위하여, 본 발명은 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법에 있어서, 데이터로부터 키워드를 추출하고, 소정의 집합 중에서 어느 하나의 난수를 선택하는 난수 선택 단계; 상기 추출된 키워드 각각에 대한 제1 검색가능암호문을, 상기 선택된 난수와 수신 단말의 공개키를 이용하여 생성하는 제1 암호문 생성 단계; 상기 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 상기 추출된 키워드에 대응되는 이진 문자열로 변환하는 암호문 변환 단계; 및 상기 이진 문자열과 상기 선택된 난수를 이용하여 제2 검색가능암호문을 생성하는 제2 암호문 생성 단계를 포함한다.To this end, the present invention is a public key-based searchable cipher text generation method for reducing the size of the cipher text, a random number selection step of extracting a keyword from the data, and selecting any random number from a predetermined set; Generating a first searchable ciphertext for each of the extracted keywords by using the selected random number and a public key of a receiving terminal; A ciphertext conversion step of converting the generated first searchable ciphertext into a binary string corresponding to the extracted keyword by using a hash function; And a second cipher text generation step of generating a second searchable cipher text using the binary string and the selected random number.

검색가능암호문, 공개키, 비공개키, 트랩도어, 난수, 블룸 필터, 이진 문자열 Searchable ciphertext, public key, private key, trapdoor, random number, bloom filter, binary string

Description

암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법{METHOD OF PRODUCING SEARCHABLE KEYWORD ENCRYPTION BASED ON PUBLIC KEY FOR MINIMIZING DATA SIZE OF SEARCHABLE KEYWORD ENCRYPTION AND METHOD OF SEARCHING DATA BASED ON PUBLIC KEY THROUGH THAT}METHOD OF PRODUCING SEARCHABLE KEYWORD ENCRYPTION BASED ON PUBLIC KEY FOR MINIMIZING DATA SIZE OF SEARCHABLE KEYWORD ENCRYPTION AND METHOD OF SEARCHING DATA BASED ON PUBLIC KEY THROUGH THAT}

본 발명은 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법에 관한 것으로, 더욱 상세하게는 송신 측에서는 키워드들에 대한 검색가능암호문들의 크기를 블룸 필터를 이용하여 줄임으로써, 서버로 전송하는 데이터 전송량을 줄일 수 있으며, 서버 측에서는 그 크기가 줄어든 검색가능암호문들 중에서 수신 측의 검색 키워드가 포함되는 검색가능암호문을 검색함으로써, 데이터 검색에 필요한 데이터 연산량을 줄일 수 있는, 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법에 관한 것이다.The present invention relates to a public key based searchable cipher text generation method for reducing cipher text size, and to a public key based data search method according to the present invention. More specifically, the sender filters the size of searchable cipher texts for keywords on the sender side. By reducing the amount of data, the amount of data transmission to the server can be reduced. On the server side, the amount of data computation required for data retrieval can be reduced by searching for the searchable cipher text including the search keyword on the receiving side among the searchable cipher texts whose size is reduced. The present invention relates to a public key-based searchable ciphertext generation method and a public key-based data retrieval method.

인터넷의 급격한 보급과 컴퓨팅 기술의 발전으로 인하여, 자신의 개인 컴퓨터뿐만 아니라, 온라인 저장 서비스 등을 이용하여 개인의 정보를 보관하고 있는 사용자들이 많아지고 있다. 이때, 서비스 관리자는 온라인 저장 매체에 저장되어 있는 개인 정보들에 쉽게 접근할 수 있어야 한다. 또한, 서비스 관리자는 외부의 해킹과 같은 공격 등으로부터 개인 정보를 보호하기 위하여, 데이터를 암호화해서 온라인 저장 매체에 저장해야 한다. 그리고 온라인 저장 서비스에서의 효율적인 데이터의 관리를 위해서는 데이터에 대한 검색 기능도 제공되어야 한다. 즉, 사용자들이 암호화된 데이터의 기밀성을 해치지 않으면서도 원하는 데이터를 검색할 수 있는 방법이 필요한데, 이를 위하여 제안된 것이 검색가능암호문 시스템이다.Due to the rapid spread of the Internet and the development of computing technology, many users are storing personal information by using not only their own personal computers but also online storage services. At this time, the service manager should be able to easily access the personal information stored in the online storage medium. In addition, in order to protect personal information from attacks such as external hacking, the service manager must encrypt data and store it in an online storage medium. And for efficient data management in online storage service, search function for data should be provided. In other words, there is a need for a method that enables users to search for desired data without compromising the confidentiality of the encrypted data.

2000년에 "Dawn Xiaodong Song" 등에 의해서 대칭키 암호화 방식을 사용하여 단일 키워드에 대한 검색을 가능하게 하는 검색 가능 암호 시스템이 처음으로 제안되었다. 하지만, 이러한 대칭키 암호화 방식은 데이터를 암호화하여 전송하는 사람과 이후에 검색을 수행하는 사람이 동일한 경우에만 사용할 수 있다는 단점이 있다. 즉, 대칭키 암호화 방식은 개인이 단독으로 사용하는 온라인 저장 서비스와 같은 경우에만 사용할 수 있다.In 2000, a searchable cryptographic system was first proposed by Dawn Xiaodong Song et al., Which allows searching for a single keyword using symmetric key encryption. However, this symmetric key encryption method has a disadvantage in that it can be used only when the person who encrypts the data and transmits the same after the person who performs the search. That is, the symmetric key encryption method can be used only in the case of an online storage service used by an individual alone.

그리고 2004년에 "Dan Boneh" 등은 공개키 암호화 방식(Public Key Encryption)을 사용하여 단일 키워드에 대한 검색을 가능하게 하는 검색 가능 암호 시스템(PEKS: Public key Encryption with Keyword Search)을 처음으로 제안하였다. 이러한 공개키 암호화 방식에 기반한 검색 가능 암호 시스템은 데이터를 암호 화하는 사람과 이후에 검색하려는 사람이 다른 경우에도 사용할 수 있기 때문에, 대칭키 암호화 방식을 사용한 경우보다 응용 분야가 다양하다는 장점이 있다.In 2004, "Dan Boneh" and others first proposed a public key encryption with keyword search (PEKS), which allows for the search of a single keyword using public key encryption. . The searchable encryption system based on the public key encryption method can be used in a case where the person who encrypts the data and the person who wants to retrieve it later have the advantage that the application fields are more diverse than the case where the symmetric key encryption method is used.

하지만, 공개키 기반의 단일 키워드 검색 암호 기법에서는 데이터에 포함되어 있는 키워드의 개수가 증가함에 따라 검색가능암호문의 개수도 선형적으로 증가한다. 이를 온라인 저장 서비스에 적용할 경우, 송신자가 서버에 전송하는 데이터량도 키워드 개수에 따라 선형적으로 증가하게 된다는 문제점이 있다. 또한, 서버에서 저장되는 검색가능암호문의 크기도 선형적으로 증가하게 된다는 문제점이 있다. 또한, 서버에서 데이터 검색 과정에서 수행하는 연산량도 키워드 개수에 따라 선형적으로 증가하게 된다는 문제점이 있다.However, in the public key-based single keyword search encryption scheme, the number of searchable ciphertexts increases linearly as the number of keywords included in the data increases. When applied to the online storage service, there is a problem that the amount of data transmitted from the sender to the server also increases linearly with the number of keywords. In addition, there is a problem that the size of the searchable cipher text stored in the server also increases linearly. In addition, the amount of computation performed in the data retrieval process in the server also increases linearly with the number of keywords.

따라서 상기와 같은 종래 기술은 데이터에 포함되어 있는 키워드의 개수가 증가함에 따라, 전송 데이터량, 검색가능암호문의 크기 및 데이터 검색 연산량이 선형적으로 증가하게 된다는 문제점이 있으며, 이러한 문제점을 해결하고자 하는 것이 본 발명의 과제이다.Therefore, the prior art as described above has a problem in that as the number of keywords included in the data increases, the amount of transmission data, the size of the searchable cipher text, and the amount of data retrieval calculations increase linearly. It is a subject of the present invention.

따라서 본 발명은 송신 측에서는 키워드들에 대한 검색가능암호문들의 크기를 블룸 필터를 이용하여 줄임으로써, 서버로 전송하는 데이터 전송량을 줄일 수 있으며, 서버 측에서는 그 크기가 줄어든 검색가능암호문들 중에서 수신 측의 검색 키워드가 포함되는 검색가능암호문을 검색함으로써, 데이터 검색에 필요한 데이터 연산량을 줄일 수 있는, 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과, 그에 따른 공개키 기반의 데이터 검색 방법을 제공하는데 그 목적이 있다.Accordingly, the present invention can reduce the amount of data transmission to the server by reducing the size of the searchable cipher texts for keywords on the sender by using a bloom filter, and the search on the receiver side among the searchable ciphers whose size is reduced on the server side. By retrieving a searchable ciphertext containing a keyword, a public key-based searchable ciphertext generation method for reducing the ciphertext size and a public key-based data retrieval method, which can reduce the amount of data required for data retrieval. The purpose is.

본 발명의 목적들은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.The objects of the present invention are not limited to the above-mentioned objects, and other objects and advantages of the present invention which are not mentioned can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. Also, it will be readily appreciated that the objects and advantages of the present invention may be realized by the means and combinations thereof indicated in the claims.

본 발명은 상기 문제점을 해결하기 위하여, 송신 측에서는 키워드들에 대한 검색가능암호문들의 크기를 블룸 필터를 이용하여 줄이고, 서버 측에서는 그 크기가 줄어든 검색가능암호문들 중에서 수신 측의 검색 키워드가 포함되는 검색가능암호문을 검색하는 것을 특징으로 한다.In order to solve the problem, the present invention reduces the size of searchable cipher texts for keywords on a sender using a bloom filter, and includes a search keyword of a receiving side among searchable cipher texts whose size is reduced on a server side. It is characterized by searching the cipher text.

더욱 구체적으로, 본 발명의 방법은, 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법에 있어서, 데이터로부터 키워드를 추출하고, 소정의 집합 중에서 어느 하나의 난수를 선택하는 난수 선택 단계; 상기 추출된 키워드 각각에 대한 제1 검색가능암호문을, 상기 선택된 난수와 수신 단말의 공개키를 이용하여 생성하는 제1 암호문 생성 단계; 상기 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 상기 추출된 키워드에 대응되는 이진 문자열로 변환하는 암호문 변환 단계; 및 상기 이진 문자열과 상기 선택된 난수를 이용하여 제2 검색가능암호문을 생성하는 제2 암호문 생성 단계를 포함한다.More specifically, the method of the present invention includes a public key based searchable cipher text generation method for reducing cipher text, comprising: random number selection step of extracting a keyword from data and selecting any random number from a predetermined set; Generating a first searchable ciphertext for each of the extracted keywords by using the selected random number and a public key of a receiving terminal; A ciphertext conversion step of converting the generated first searchable ciphertext into a binary string corresponding to the extracted keyword by using a hash function; And a second cipher text generation step of generating a second searchable cipher text using the binary string and the selected random number.

또한, 상기 본 발명의 방법은, 상기 데이터를 암호화하는 데이터 암호화 단계; 및 상기 암호화된 데이터와 상기 생성된 제2 검색가능암호문을 해당 서버로 전송하는 전송 단계를 더 포함한다.In addition, the method of the present invention, a data encryption step of encrypting the data; And transmitting the encrypted data and the generated second searchable cipher text to a corresponding server.

한편, 본 발명의 다른 방법은, 데이터 검색 방법에 있어서, 송신 단말로부터 암호화된 데이터와, 제1 이진 문자열(제1 검색가능암호문을 해쉬 함수를 이용하여 키워드에 대응되게 변환한 문자열임)과 난수가 포함된 제2 검색가능암호문을 수신받는 데이터 및 암호문 수신 단계; 수신 단말로부터 검색 키워드에 대한 트랩도어를 수신받는 트랩도어 수신 단계; 및 상기 수신받은 제2 검색가능암호문 중에서 상기 검색 키워드가 포함된 제2 검색가능암호문을 상기 수신받은 트랩도어와 상기 제2 검색가능암호문에 포함된 난수를 이용하여 검색하는 데이터 검색 단계를 포함한다.On the other hand, another method of the present invention, in the data retrieval method, the data encrypted from the transmitting terminal, the first binary string (which is a character string converted from the first searchable cipher text corresponding to the keyword using a hash function) and random number Receiving a second searchable ciphertext including data and ciphertext receiving; A trapdoor receiving step of receiving a trapdoor for a search keyword from a receiving terminal; And a data retrieval step of searching for a second searchable cipher text including the search keyword among the received second searchable cipher texts using the received trapdoor and the random number included in the second searchable cipher text.

또한, 상기 본 발명의 다른 방법은, 상기 검색 키워드가 포함된 제2 검색가능암호문을 적어도 하나 검색함에 따라, 상기 검색된 제2 검색가능암호문에 대한 암호화된 데이터를 상기 수신 단말로 전송하는 데이터 전송 단계를 더 포함한다.The method may further include transmitting data encrypted with respect to the searched second searchable cipher text to the receiving terminal as at least one second searchable cipher text including the search keyword is searched. It further includes.

삭제delete

삭제delete

삭제delete

삭제delete

상기와 같은 본 발명은, 송신 측에서는 암호화된 데이터에 해당하는 키워드들에 대한 검색가능암호문들을 블룸 필터를 이용하여 결합함으로써, 서버에 전달하는 데이터 전송량을 줄이는 효과가 있다.As described above, the present invention combines searchable cipher texts for keywords corresponding to encrypted data using a bloom filter, thereby reducing the amount of data transmission to the server.

또한, 상기 본 발명은, 서버 측에서는 암호화된 데이터에 대해, 데이터 크기가 줄어든 검색가능암호문을 수신받음으로써, 서버에서 암호화된 데이터 이외에 저장해야 하는 검색가능암호문의 크기를 줄이는 효과가 있다.The present invention also has an effect of reducing the size of the searchable cipher text to be stored in addition to the encrypted data at the server by receiving a searchable cipher text whose data size is reduced for the encrypted data at the server side.

또한, 상기 본 발명은, 서버 측에서는 검색가능암호문에 대해 검색을 수행함으로써, 키워드 단위가 아닌 암호화된 데이터 단위로 검색을 수행할 수 있게 되어 검색 시 요구되는 연산량이 줄어드는 효과가 있다.In addition, the present invention, by performing a search for the searchable cipher text on the server side, it is possible to perform the search in the encrypted data unit rather than the keyword unit has the effect of reducing the amount of calculation required during the search.

상술한 목적, 특징 및 장점은 첨부된 도면을 참조하여 상세하게 후술되어 있는 상세한 설명을 통하여 보다 명확해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다.BRIEF DESCRIPTION OF THE DRAWINGS The above and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, It can be easily carried out. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

이하의 일실시예에서는 본 발명의 이해를 돕기 위하여, 이메일(Email)을 주고 받는 상황을 일례로 들어 본 발명에 따른 공개키 기반의 데이터 검색 방법을 살펴보기로 하나, 본 발명이 이에 한정되는 것이 아님을 미리 밝혀두며, 본 발명은 파일 공유 서버, ISP(Internet Service Provider) 서버 등을 이용하는 인터넷을 통해 데이터를 주고 받는 환경 등에도 적용될 수 있다.In the following embodiment, in order to help understanding of the present invention, a public key-based data retrieval method according to the present invention will be described by taking an example of sending and receiving an email as an example, but the present invention is limited thereto. The present invention may also be applied to an environment for exchanging data through the Internet using a file sharing server, an ISP (Internet Service Provider) server, or the like.

도 1에 도시된 바와 같이, 본 발명이 적용되는 이메일 시스템(100)은 키 생성 장치(110), 이메일 서버(120), 송신 단말(130), 및 수신 단말(140)을 포함한다.As shown in FIG. 1, the email system 100 to which the present invention is applied includes a key generating device 110, an email server 120, a transmitting terminal 130, and a receiving terminal 140.

키 생성 장치(110)는 이메일 시스템(100)에서 공개키 기반 단일 키워드 검색 암호 기법을 사용할 때, 필요한 공개키/비공개키 쌍을 생성하는 키 생성 알고리즘을 수행한다. 이때, 키 생성 장치(110)에서 생성된 수신 단말(140)의 공개키는 송신 단말(130)이 암호화된 데이터에 대한 검색가능암호문을 생성할 때와 이메일 서버(120)가 수신 단말로부터 트랩도어를 전송받아 데이터를 검색할 때 이용된다. 그리고 비공개키는 수신 단말이 검색 키워드에 해당하는 트랩도어를 생성할 때 이용된다.The key generation device 110 performs a key generation algorithm for generating a public / private key pair required when the public key-based single keyword search encryption scheme is used in the e-mail system 100. In this case, the public key of the reception terminal 140 generated by the key generation device 110 is used when the transmission terminal 130 generates a searchable cipher text for the encrypted data and when the e-mail server 120 generates a trapdoor from the reception terminal. It is used to retrieve data after receiving. The private key is used when the receiving terminal generates a trap door corresponding to the search keyword.

송신 단말(130)은 전송하고자 하는 이메일 데이터를 암호화하고, 암호화된 이메일 데이터의 키워드들에 대한 제2 검색가능암호문을 수신 단말(140)의 공개키(

Figure 112008047370474-pat00001
)를 이용하여 생성한다.The transmitting terminal 130 encrypts the email data to be transmitted, and transmits a second searchable ciphertext for the keywords of the encrypted email data to the public key of the receiving terminal 140.
Figure 112008047370474-pat00001
Create with).

구체적으로 살펴보면, 송신 단말(130)은 이메일 데이터로부터 키워드를 추출하고, 특정 정수의 집합 중에서 어느 하나의 난수를 선택한다. 그리고 송신 단말(130)은 키워드 각각에 대한 제1 검색가능암호문을, 그 선택된 난수와 수신 단말(140)의 공개키를 이용하여 생성한다. 이어서, 송신 단말(130)은 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 키워드에 대응되는 이진 문자열로 변환한다. 이후, 송신 단말(130)은 이진 문자열과 난수를 이용하여 제2 검색가능암호문을 생성한다.Specifically, the transmitting terminal 130 extracts a keyword from the email data and selects any random number from a set of specific integers. The transmitting terminal 130 generates a first searchable ciphertext for each keyword using the selected random number and the public key of the receiving terminal 140. Subsequently, the transmitting terminal 130 converts the generated first searchable cipher text into a binary string corresponding to the keyword by using a hash function. Thereafter, the transmitting terminal 130 generates the second searchable ciphertext using the binary string and the random number.

그리고 송신 단말(130)은 암호화된 이메일 데이터에 제2 검색가능암호문을 덧붙여 이메일 서버(120)로 전송한다. 이때, 송신 단말(130)이 전송하고자 하는 이메일 데이터를 암호화하는 것과 제2 검색가능암호문을 생성하는 것은 서로 독립적으로 수행된다. 따라서 송신 단말(130)은 일반적인 공개키 암호화 방식을 이용하여 이메일 데이터를 암호화하고, 수신 단말(140)의 공개키(

Figure 112008047370474-pat00002
)를 이용하여 그 이메일 데이터의 키워드들에 해당하는 제2 검색가능암호문을 생성하며, 그 둘을 덧붙여 이메일 서버(120)로 전송한다.The transmitting terminal 130 transmits the encrypted search data to the email server 120 by adding a second searchable cipher text. At this time, encrypting the e-mail data to be transmitted by the transmitting terminal 130 and generating the second searchable cipher text are performed independently of each other. Therefore, the transmitting terminal 130 encrypts the e-mail data using a general public key encryption method, and the public key (
Figure 112008047370474-pat00002
) Generates a second searchable ciphertext corresponding to the keywords of the email data, and adds the two to the email server 120.

수신 단말(140)은 이메일 서버(120)에서 자신이 전송받은 이메일 데이터들 중에서 특정 검색 키워드가 포함된 이메일 데이터를 검색하고자 할 때, 자신의 비공개키(

Figure 112008047370474-pat00003
)와 자신이 검색하려는 검색 키워드들을 이용하여 트랩도어를 생성한다. 그리고 수신 단말(140)은 생성된 트랩도어를 이메일 서버(120)로 전송한다.Receiving terminal 140, when the e-mail server 120 wants to search the e-mail data containing a specific search keyword among the e-mail data transmitted by the own, the private key (
Figure 112008047370474-pat00003
) And trap doors using the search keywords you want to search. The receiving terminal 140 transmits the generated trap door to the e-mail server 120.

이메일 서버(120)는 송신 단말(130)로부터 전송된 이메일 데이터들과 제2 검색가능암호문을 저장한다. 그리고 이메일 서버(120)는 수신 단말(140)로부터 전송된 트랩도어, 검색하려는 수신 단말(140)의 공개키(

Figure 112008047370474-pat00004
), 및 송신 단말(130)로부터 전송되어 저장된 제2 검색가능암호문을 이용하여, 트랩도어에 대한 키워드들을 모두 포함하는 검색가능암호문이 있는지 여부를 확인한다. 즉, 이메일 서버(120)는 다수의 이메일 데이터의 키워드들에 대한 제2 검색가능암호문들 중에서 검색하려는 검색 키워드가 포함된 제2 검색가능암호문을 트랩도어와 검색가능암호문에 포함된 난수를 이용하여 검색한다. 이때, 이메일 서버(120)는 수신 단말(140)이 검색하려는 검색 키워드들을 확인할 수 없으며, 단지 검색하는 이메일 데이터에 대한 검색가능암호문이 특정 검색 키워드에 관련되어 있는지 여부만을 확인할 수 있다. 그리고 이메일 서버(120)는 검색된 결과 또는 특정 이메일 데이터를 수신 단말(140)로 전송한다.The e-mail server 120 stores the e-mail data transmitted from the transmitting terminal 130 and the second searchable cipher text. In addition, the e-mail server 120 is a trapdoor transmitted from the receiving terminal 140, the public key of the receiving terminal 140 to search (
Figure 112008047370474-pat00004
And the second searchable ciphertext transmitted and stored from the transmitting terminal 130, it is checked whether there is a searchable ciphertext that includes all the keywords for the trapdoor. That is, the e-mail server 120 uses the random number included in the trap door and the searchable cipher text as the second searchable cipher text including the search keyword to be searched among the second searchable cipher texts for the keywords of the plurality of email data. Search. In this case, the e-mail server 120 may not check the search keywords to be searched by the receiving terminal 140, and may only check whether a searchable cipher text for the searched e-mail data is related to a specific search keyword. The email server 120 transmits the searched result or the specific email data to the receiving terminal 140.

한편, 송신 단말(130)은 암호화된 데이터가 포함하고 있는 각 유일 키워드들에 대한 제1 검색암호문을 생성하고 그 제1 검색암호문을 블룸 필터(Bloom Filter)를 이용하여 결합함으로써, 이메일 서버(120)로 전송할 데이터의 크기를 줄인다. 만약, 암호화하고자 하는 이메일 데이터가 "입금", "통장", "핸드폰", "서울", "금융"이라는 5개의 단어를 포함하고 있으면, 송신 단말(130)은 5개의 단어를 전송하는 암호화된 데이터의 유일 키워드로 정한다. 그리고 송신 단말(130)은 각 단어에 대한 제1 검색가능암호문을 생성한 후, 그 값들을 결합하여 제2 검색암호문을 생성한다. 이어서, 송신 단말(130)은 암호화된 데이터와 제2 검색가능암호문을 이메일 서버(120)로 전송한다.Meanwhile, the transmitting terminal 130 generates a first search password text for each unique keyword included in the encrypted data, and combines the first search password text using a bloom filter to form the email server 120. Reduce the size of the data to be sent. If the e-mail data to be encrypted includes five words of “deposit”, “bankbook”, “cell phone”, “seoul” and “finance”, the transmitting terminal 130 is encrypted to transmit five words. Set to the only keyword in the data. The transmitting terminal 130 generates a first searchable ciphertext for each word, and then combines the values to generate a second search ciphertext. Subsequently, the transmitting terminal 130 transmits the encrypted data and the second searchable cipher text to the e-mail server 120.

반면, 수신 단말(140)은 "입금"이라는 단어를 검색 키워드로 설정할 경우, 검색 키워드 "입금"에 대한 트랩도어를 생성하고 그 트랩도어를 이메일 서버(120)로 전송한다.On the other hand, when the receiving terminal 140 sets the word "deposit" as a search keyword, the receiving terminal 140 generates a trap door for the search keyword "deposit" and transmits the trap door to the e-mail server 120.

그러면, 이메일 서버(120)는 송신 단말(130)로부터 수신받은 암호화된 데이터와 그에 해당하는 제2 검색가능암호문을 저장한다. 이메일 서버(120)는 수신 단말(140)로부터 "입금"이라는 단어에 해당하는 트랩도어가 전송되면, 그에 해당하는 암호화된 데이터를 수신 단말(140)에 전송한다. 이때, 이메일 서버(120)는 수신 단말(140)로부터 수신받은 트랩도어에 해당하는 검색 키워드에 대한 정보를 알지 못한다. 또한, 이메일 서버(120)는 수신받은 트랩도어에 해당하는 검색 키워드와 제2 검색가능암호문을 생성하는 데 이용된 키워드들의 집합 사이의 포함 여부만을 확인할 수 있다.Then, the e-mail server 120 stores the encrypted data received from the transmitting terminal 130 and the corresponding second searchable cipher text. When the trap door corresponding to the word "deposit" is transmitted from the receiving terminal 140, the email server 120 transmits the encrypted data corresponding to the receiving terminal 140. At this time, the e-mail server 120 does not know the information on the search keyword corresponding to the trap door received from the receiving terminal 140. In addition, the e-mail server 120 may check only whether the search keyword corresponding to the received trapdoor and the set of keywords used to generate the second searchable cipher text are included.

이후, 본 발명을 더욱 상세하게 설명하기에 앞서, 배경이 되는 수학적 지식에 대해 개략적으로 설명하기로 한다.Hereinafter, prior to explaining the present invention in more detail, the mathematical knowledge as a background will be described in brief.

먼저, 임의의 군(

Figure 112008047370474-pat00005
)과 그 군(
Figure 112008047370474-pat00006
)의 원소(
Figure 112008047370474-pat00007
)가 존재할 때, 하기의 [수학식 1]을 만족하는 원소(
Figure 112008047370474-pat00008
)를 군(
Figure 112008047370474-pat00009
)의 생성자라 한다. First, any group (
Figure 112008047370474-pat00005
) And its group (
Figure 112008047370474-pat00006
Element of
Figure 112008047370474-pat00007
) Is present, the element satisfying Equation 1 below (
Figure 112008047370474-pat00008
)
Figure 112008047370474-pat00009
Is called the constructor.

Figure 112008047370474-pat00010
Figure 112008047370474-pat00010

여기서,

Figure 112010001966513-pat00011
는 정수의 집합을 나타내고,
Figure 112010001966513-pat00167
이 항등원이 되는 가장 작은 양의 정수(
Figure 112010001966513-pat00168
)를 군(
Figure 112010001966513-pat00014
)의 위수(Order)라 한다.here,
Figure 112010001966513-pat00011
Represents a set of integers,
Figure 112010001966513-pat00167
The smallest positive integer that will be this identity
Figure 112010001966513-pat00168
)
Figure 112010001966513-pat00014
Is called the Order.

이때, 임의의 큰 소수(

Figure 112008047370474-pat00015
)를 위수로 갖는 제1 및 제2 군(
Figure 112008047370474-pat00016
Figure 112008047370474-pat00017
) 사이에 성립하는 겹선형 사상(bilinear map)은 하기의 [수학식 2]로 표현되며, 하기의 세 가지 특성을 만족한다.Where any large prime number (
Figure 112008047370474-pat00015
) The first and second groups (
Figure 112008047370474-pat00016
and
Figure 112008047370474-pat00017
The bilinear map that is established between) is expressed by Equation 2 below, and satisfies the following three characteristics.

Figure 112008047370474-pat00018
Figure 112008047370474-pat00018

여기서,

Figure 112008047370474-pat00019
는 페어링(pairing) 연산을 나타낸다.here,
Figure 112008047370474-pat00019
Denotes a pairing operation.

첫째로, 겹선형(Bilinear) 성질에 대해, 제1 군(

Figure 112010001966513-pat00020
)의 모든 원소
Figure 112010001966513-pat00021
,
Figure 112010001966513-pat00022
와 a,b(a,b∈Z)에 대해 하기의 [수학식 3]을 만족하면 겹선형(Bilinear)하다고 말한다.Firstly, for bilinear properties, the first group (
Figure 112010001966513-pat00020
All elements of)
Figure 112010001966513-pat00021
,
Figure 112010001966513-pat00022
And a, b (a, b∈Z) are said to be bilinear if the following Equation 3 is satisfied.

Figure 112008047370474-pat00023
Figure 112008047370474-pat00023

여기서,

Figure 112008047370474-pat00024
,
Figure 112008047370474-pat00025
는 제1 군(
Figure 112008047370474-pat00026
)의 임의의 원소,
Figure 112008047370474-pat00027
,
Figure 112008047370474-pat00028
는 정수 집합(
Figure 112008047370474-pat00029
)에 속하는 원소를 나타낸다.here,
Figure 112008047370474-pat00024
,
Figure 112008047370474-pat00025
Is the first group (
Figure 112008047370474-pat00026
Any element of),
Figure 112008047370474-pat00027
,
Figure 112008047370474-pat00028
Is a set of integers (
Figure 112008047370474-pat00029
Represents an element belonging to).

둘째로, 비퇴화성(non-degenerate) 성질에 대해,

Figure 112008047370474-pat00030
,
Figure 112008047370474-pat00031
가 제1 군(
Figure 112008047370474-pat00032
)의 원소이면,
Figure 112008047370474-pat00033
이어야 한다. 여기서
Figure 112008047370474-pat00034
는 제2 군(
Figure 112008047370474-pat00035
)의 항등원이다.Secondly, for the non-degenerate nature,
Figure 112008047370474-pat00030
,
Figure 112008047370474-pat00031
First group (
Figure 112008047370474-pat00032
Element)
Figure 112008047370474-pat00033
Should be here
Figure 112008047370474-pat00034
Is the second group (
Figure 112008047370474-pat00035
Is the identity of).

셋째로, 계산가능성(computable) 성질에 대해, 제1 군(

Figure 112008047370474-pat00036
)의 임의의 원소(
Figure 112008047370474-pat00037
,
Figure 112008047370474-pat00038
)에 대해서
Figure 112008047370474-pat00039
를 효율적으로 계산할 수 있는 알고리즘이 존재한다.Third, with respect to the computable nature, the first group (
Figure 112008047370474-pat00036
Any element of)
Figure 112008047370474-pat00037
,
Figure 112008047370474-pat00038
)about
Figure 112008047370474-pat00039
There is an algorithm that can efficiently calculate.

한편, 겹선형 디피-헬만 문제(BDHP: Bilinear Diffie-Hellman Problem)는 제1 군(

Figure 112008047370474-pat00040
)의 원소인
Figure 112008047370474-pat00041
가 입력으로 주어지면, 제2 군(
Figure 112008047370474-pat00042
)의 원소인
Figure 112008047370474-pat00043
을 계산하는 문제이다. 본 발명의 안전성은 상기 겹선형 디피-헬만 문제(BDHP: Bilinear Diffie-Hellman Problem)를 다항 시간 안에 푸는 것이 어렵다는 가정에 기반한다.On the other hand, the bilinear Diffie-Hellman problem (BDHP) is the first group (
Figure 112008047370474-pat00040
Element of
Figure 112008047370474-pat00041
If is given as input, the second group (
Figure 112008047370474-pat00042
Element of
Figure 112008047370474-pat00043
It is a matter of calculating. The safety of the present invention is based on the assumption that it is difficult to solve the Bilinear Diffie-Hellman Problem (BDHP) in polynomial time.

이하, 전술한 내용을 기반으로 본 발명에 따른 블룸 필터를 이용한 공개키 기반의 데이터 검색 방법에 대하여 보다 상세하게 살펴보기로 한다.Hereinafter, a public key-based data retrieval method using a bloom filter according to the present invention will be described in detail.

도 2 는 본 발명에 적용되는 공개키 기반의 키 생성 방법에 대한 일실시예 흐름도이다.2 is a flowchart illustrating a public key-based key generation method applied to the present invention.

키 생성 장치(110)는 "

Figure 112008047370474-pat00044
"로 표현되는 보안 매개변수(k: Security Parameter)를 입력으로 받고, 입력받은 보안 매개변수에 따라 제1 군(
Figure 112008047370474-pat00045
)과 제2 군(
Figure 112008047370474-pat00046
)의 위수(
Figure 112008047370474-pat00047
)의 크기를 결정한다(202).The key generation device 110 is "
Figure 112008047370474-pat00044
Receives a security parameter (k: Security Parameter) expressed as "", and according to the received security parameter, the first group (
Figure 112008047370474-pat00045
) And the second group (
Figure 112008047370474-pat00046
)
Figure 112008047370474-pat00047
) Is determined (202).

그리고 키 생성 장치(110)는 시스템 매개변수로부터 공개키 기반의 검색가능암호문 생성 방법에 이용될 공개키 및 비공개키 쌍을 생성하기 위해서, 정수 집합(

Figure 112008047370474-pat00048
)에서 난수(
Figure 112008047370474-pat00049
)를 선택한다(204). 여기서,
Figure 112008047370474-pat00050
는 "1"부터 "p-1"까지의 정수들의 집합{1, 2, …, p-1}을 나타낸다.In addition, the key generating apparatus 110 generates a public key and a private key pair to be used in the public key-based searchable ciphertext generation method from system parameters.
Figure 112008047370474-pat00048
) Random numbers from
Figure 112008047370474-pat00049
(204). here,
Figure 112008047370474-pat00050
Is a set of integers from "1" to "p-1" {1, 2,... , p-1}.

이어서, 키 생성 장치(110)는 선택된 난수(

Figure 112008047370474-pat00051
)를 하기의 [수학식 4]에 적용하여 공개키 및 비공개키 쌍을 생성한다(206).Subsequently, the key generation device 110 selects the selected random number (
Figure 112008047370474-pat00051
) Is applied to Equation 4 below to generate a public and private key pair (206).

Figure 112008047370474-pat00052
Figure 112008047370474-pat00052

여기서,

Figure 112008047370474-pat00053
는 제1 군(
Figure 112008047370474-pat00054
)의 생성자이므로,
Figure 112008047370474-pat00055
도 제1 군(
Figure 112008047370474-pat00056
)의 원소가 되며,
Figure 112008047370474-pat00057
는 수신 단말(140)의 공개키,
Figure 112008047370474-pat00058
는 그에 해당하는 비공개키를 나타낸다. here,
Figure 112008047370474-pat00053
Is the first group (
Figure 112008047370474-pat00054
) Is a constructor
Figure 112008047370474-pat00055
First group (
Figure 112008047370474-pat00056
Becomes an element of)
Figure 112008047370474-pat00057
Is the public key of the receiving terminal 140,
Figure 112008047370474-pat00058
Indicates the corresponding private key.

상기의 [수학식 4]의 수신 단말(140)의 공개키 원소인

Figure 112008047370474-pat00059
로부터 선택된 난수(
Figure 112008047370474-pat00060
)를 알아내는 것은 수학적으로 어려운 문제이기 때문에, 수신 단말(140)의 공개키(
Figure 112008047370474-pat00061
)를 알고 있더라도 그 수신 단말의 비공개키를 알아내는 것은 어렵다.The public key element of the receiving terminal 140 of Equation 4
Figure 112008047370474-pat00059
Random number selected from
Figure 112008047370474-pat00060
) Is a difficult mathematical problem, so the public key (
Figure 112008047370474-pat00061
), It is difficult to find the private key of the receiving terminal.

도 3 은 본 발명에 따른 암호문 크기를 줄이기 위한 공개키 기반의 검색가능 암호문 생성 방법에 대한 일실시예 흐름도이다.3 is a flowchart illustrating a method for generating a searchable ciphertext based on a public key to reduce the ciphertext size according to the present invention.

먼저, 송신 단말(130)은 전송할 이메일 데이터에 대한 키워드들을 추출하고, 정수 집합(

Figure 112008047370474-pat00062
)에서 어느 하나의 난수(
Figure 112008047370474-pat00063
)를 선택한다(302). 그 선택된 난수(
Figure 112008047370474-pat00064
)는 각 키워드들에 대한 제1 검색가능암호문을 생성하는데 동일하게 사용된다. 송신 단말(130)에서 선택된 키워드 집합(
Figure 112008047370474-pat00065
) 은
Figure 112008047370474-pat00066
로 표현될 수 있다. 여기서,
Figure 112008047370474-pat00067
는 전송하려는 이메일 데이터가 포함하고 있는 각 키워드를 나타내며,
Figure 112008047370474-pat00068
은 이메일 데이터가 포함하는 최대 키워드의 개수를 나타낸다.First, the transmitting terminal 130 extracts keywords for email data to be transmitted, and sets an integer set (
Figure 112008047370474-pat00062
) In any one random number (
Figure 112008047370474-pat00063
(302). The selected random number (
Figure 112008047370474-pat00064
) Is equally used to generate a first searchable ciphertext for each keyword. The keyword set selected by the transmitting terminal 130 (
Figure 112008047370474-pat00065
) Is
Figure 112008047370474-pat00066
It can be expressed as. here,
Figure 112008047370474-pat00067
Represents each keyword in the email data you want to send.
Figure 112008047370474-pat00068
Represents the maximum number of keywords included in the email data.

그리고 송신 단말(130)은 이메일 데이터로부터 추출된 키워드들과, 선택된 난수(

Figure 112008047370474-pat00069
) 및 수신 단말(140)의 공개키(
Figure 112008047370474-pat00070
)를 하기의 [수학식 5]에 적용하여, 키워드 각각에 대한 제1 검색가능암호문(
Figure 112008047370474-pat00071
)을 생성한다(304).And the transmitting terminal 130 and the keywords extracted from the email data, and the selected random number (
Figure 112008047370474-pat00069
) And the public key of the receiving terminal 140
Figure 112008047370474-pat00070
) Is applied to Equation 5 below, and the first searchable cipher text for each keyword (
Figure 112008047370474-pat00071
(304).

Figure 112008047370474-pat00072
Figure 112008047370474-pat00072

여기서,

Figure 112008047370474-pat00073
은 임의의 크기를 갖는 이진 문자열을 입력으로 받아 제1 군(
Figure 112008047370474-pat00074
)의 임의의 원소를 출력하는 해쉬 함수,
Figure 112008047370474-pat00075
은 제2 군(
Figure 112008047370474-pat00076
)의 원소를 입력으로 받아
Figure 112008047370474-pat00077
의 크기를 갖는 이진 문자열을 출력하는 해쉬 함수를 나타낸다.here,
Figure 112008047370474-pat00073
Accepts an arbitrary size binary string as input,
Figure 112008047370474-pat00074
A hash function that prints arbitrary elements of
Figure 112008047370474-pat00075
Silver second group (
Figure 112008047370474-pat00076
Take as an input element
Figure 112008047370474-pat00077
Represents a hash function that outputs a binary string with the size of.

즉, 상기의 [수학식 5]를 살펴보면, 송신 단말(130)은 각 키워드(

Figure 112010001966513-pat00078
)에 대해 동일한 난수(
Figure 112010001966513-pat00079
)와 수신 단말(140)의 공개키(
Figure 112010001966513-pat00080
), 및 추출된 키워드에 대하여 해쉬 연산과 페어링 연산을 수행하여 키워드 각각에 대한
Figure 112010001966513-pat00081
개의 제1 검색가능암호문
Figure 112010001966513-pat00082
을 생성한다.That is, referring to [Equation 5] above, the transmitting terminal 130 is each keyword (
Figure 112010001966513-pat00078
Same random number for
Figure 112010001966513-pat00079
) And the public key of the receiving terminal 140
Figure 112010001966513-pat00080
) And a hash operation and a pairing operation on the extracted keywords.
Figure 112010001966513-pat00081
First searchable ciphertext
Figure 112010001966513-pat00082
.

본 발명에서는 키워드 개수에 따라 검색가능암호문의 크기가 선형적으로 증가하는 문제를 해결하기 위해, 송신 단말(130)이 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 키워드에 대응되는 이진 문자열로 변환한다(306). 일례로, 송신 단말(130)은 생성된

Figure 112010001966513-pat00083
개의 제1 검색가능암호문을 블룸 필터를 이용하여 키워드에 대응되는 이진 문자열로 변환한다.
Figure 112010001966513-pat00084
개의 제1 검색가능암호문을 블룸 필터로 변환하는 방법은 하기의 [수학식 6]과 같다.In the present invention, in order to solve the problem that the size of the searchable cipher text increases linearly according to the number of keywords, the first searchable cipher text generated by the transmitting terminal 130 is converted into a binary string corresponding to the keyword using a hash function. Convert (306). In one example, the transmitting terminal 130 is generated
Figure 112010001966513-pat00083
First searchable ciphertext is converted into a binary string corresponding to a keyword using a Bloom filter.
Figure 112010001966513-pat00084
The first searchable cipher text is converted into a Bloom filter by Equation 6 below.

Figure 112008047370474-pat00085
Figure 112008047370474-pat00085

여기서,

Figure 112008047370474-pat00086
Figure 112008047370474-pat00087
비트 크기의 이진 스트링으로 초기값은 '0'으로 설정되며, "
Figure 112008047370474-pat00088
"은 비트 단위의 논리합 연산자(bitwise or)를 나타낸다. 또한,
Figure 112008047370474-pat00089
Figure 112008047370474-pat00090
의 크기를 갖는 이진 문자열을
Figure 112008047370474-pat00091
비트 크기의 임의의 이진 문자열로 변환하는 해쉬 함수를 나타낸다. 여기서,
Figure 112008047370474-pat00092
Figure 112008047370474-pat00093
의 하위
Figure 112008047370474-pat00094
번째 비트를 '1'로 설정함을 의미한다.here,
Figure 112008047370474-pat00086
Is
Figure 112008047370474-pat00087
Bit-size binary string whose initial value is set to '0', "
Figure 112008047370474-pat00088
"Represents the bitwise or bitwise or operator.
Figure 112008047370474-pat00089
silver
Figure 112008047370474-pat00090
Binary string with the size of
Figure 112008047370474-pat00091
Represents a hash function that converts an arbitrary binary string of bit size. here,
Figure 112008047370474-pat00092
silver
Figure 112008047370474-pat00093
Children of
Figure 112008047370474-pat00094
Means that the first bit is set to '1'.

"306" 과정을 구체적으로 살펴보면, 송신 단말(130)은 제1 검색가능암호문

Figure 112008047370474-pat00095
을 각 해쉬 함수
Figure 112008047370474-pat00096
를 이용하여 m 비트 크기의 이진 문자열로 변환한다. 즉, 송신 단말(130)은 키워드의 개수 즉, 1 내지 n에 해당하는
Figure 112008047370474-pat00097
개의 제1 검색가능암호문(
Figure 112008047370474-pat00098
)을
Figure 112008047370474-pat00099
개의 해쉬 함수(
Figure 112008047370474-pat00100
)에 적용한다. 그리고 송신 단말(130)은
Figure 112008047370474-pat00101
개의 해쉬 함수(
Figure 112008047370474-pat00102
)에 적용한 결과에 따라 출력 값이 가리키는
Figure 112008047370474-pat00103
의 비트를 '1'로 설정한다.Looking specifically at the "306" process, the transmitting terminal 130 is the first searchable cipher text
Figure 112008047370474-pat00095
Each hash function
Figure 112008047370474-pat00096
Convert to a m-bit binary string using. That is, the transmitting terminal 130 corresponds to the number of keywords, that is, 1 to n.
Figure 112008047370474-pat00097
First searchable ciphertext (
Figure 112008047370474-pat00098
)of
Figure 112008047370474-pat00099
Hash functions (
Figure 112008047370474-pat00100
Applies to). And the transmitting terminal 130
Figure 112008047370474-pat00101
Hash functions (
Figure 112008047370474-pat00102
Output value points to the result of applying
Figure 112008047370474-pat00103
Set the bit of to '1'.

그리고 송신 단말(130)은 기 정해진 초기 이진 문자열(

Figure 112008047370474-pat00104
)과 변환된 이진 문자열을 논리합 연산하여 새로운 이진 문자열을 산출한다. 이어서, 송신 단말(130)은 키워드의 개수(n)만큼 새로운 이진 문자열 산출을 반복연산한다.And the transmitting terminal 130 is a predetermined initial binary string (
Figure 112008047370474-pat00104
) And the converted binary string to produce a new binary string. Subsequently, the transmitting terminal 130 iteratively calculates a new binary string calculation by the number n of keywords.

Figure 112008047370474-pat00105
Figure 112008047370474-pat00105

이후, 송신 단말(130)은 상기의 [수학식 7]과 같이, 이진 문자열(

Figure 112008047370474-pat00106
)과 난수를 이용하여 제2 검색가능암호문(
Figure 112008047370474-pat00107
)을 생성한다(308).Thereafter, the transmitting terminal 130, as shown in Equation 7 above, the binary string (
Figure 112008047370474-pat00106
) And the second searchable ciphertext (
Figure 112008047370474-pat00107
(308).

여기서, 블룸 필터(

Figure 112008047370474-pat00108
)의 크기(
Figure 112008047370474-pat00109
)는 상기 [수학식 6]을 통해서 산출된다. 상기의 [수학식 6]을 살펴보면, 블룸 필터(
Figure 112008047370474-pat00110
)의 크기(
Figure 112008047370474-pat00111
)는 이메일 데이터 가 포함할 수 있는 최대 키워드의 개수(
Figure 112008047370474-pat00112
)와 블룸 필터의 긍정 오류율(
Figure 112008047370474-pat00113
)에 따라서 달라진다. 또한, 긍정오류율(
Figure 112008047370474-pat00114
)은 이메일 서버의 전체 사용자 수(
Figure 112008047370474-pat00115
)에 의해 결정된다.Where the bloom filter (
Figure 112008047370474-pat00108
) Size
Figure 112008047370474-pat00109
) Is calculated through Equation 6 above. Looking at [Equation 6] above, the bloom filter (
Figure 112008047370474-pat00110
) Size
Figure 112008047370474-pat00111
) Is the maximum number of keywords your email data can contain (
Figure 112008047370474-pat00112
) And the positive error rate of the Bloom filter (
Figure 112008047370474-pat00113
Depends on). In addition, the false positive rate (
Figure 112008047370474-pat00114
) Is the total number of users on your email server (
Figure 112008047370474-pat00115
Is determined by

그리고 송신 단말(130)은 제2 검색가능암호문(

Figure 112008047370474-pat00116
)의 생성과는 독립적인 방법으로 데이터를 암호화한다(310).And the transmitting terminal 130 is a second searchable cipher text (
Figure 112008047370474-pat00116
The data is encrypted 310 in a manner independent of the

그리고 송신 단말(130)은 별도의 암호화 방식을 이용하여 암호화된 이메일 데이터와 그에 해당하는 제2 검색가능암호문(

Figure 112008047370474-pat00117
)을 이메일 서버(120)로 전송한다(312).In addition, the transmitting terminal 130 may encrypt the email data encrypted using a separate encryption method and a corresponding second searchable cipher text (
Figure 112008047370474-pat00117
) Is sent to the email server 120 (312).

한편, 본 발명에 따른 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법과 일반적인 공개키 기반의 검색가능암호문 생성 방법을 비교하면 다음과 같다. 본 발명에 따른 제2 검색가능암호문(

Figure 112010001966513-pat00118
)의 전체 크기는 키워드 개수(
Figure 112010001966513-pat00119
)에 따라 선형적으로 증가하지 않는다. 예를 들어, 제2 검색가능암호문(
Figure 112010001966513-pat00120
)과 일반적인 검색가능암호문(
Figure 112010001966513-pat00121
)에 대한 데이터 크기 비율은
Figure 112010001966513-pat00122
로 나타난다. 여기서,
Figure 112010001966513-pat00123
는 제2 검색가능암호문,
Figure 112010001966513-pat00124
는 공개키 기반의 검색가능암호문 생성 방법을 적용할 때 암호화된 데이터의 전체 검색가능암호문,
Figure 112010001966513-pat00125
는 블룸 필터(
Figure 112010001966513-pat00126
)의 크기,
Figure 112010001966513-pat00127
은 키워드의 개수,
Figure 112010001966513-pat00128
는 제1 군(
Figure 112010001966513-pat00129
)과 제2 군(
Figure 112010001966513-pat00130
)의 위수의 크기를 나타낸다.Meanwhile, a method of generating a searchable ciphertext based on a public key and a method of generating a searchable ciphertext based on a general public key to reduce the ciphertext size according to the present invention is as follows. Second searchable ciphertext according to the present invention (
Figure 112010001966513-pat00118
) Is the total size of the keyword count (
Figure 112010001966513-pat00119
) Does not increase linearly. For example, the second searchable ciphertext (
Figure 112010001966513-pat00120
) And general searchable ciphertext (
Figure 112010001966513-pat00121
) Is the data size ratio
Figure 112010001966513-pat00122
Appears. here,
Figure 112010001966513-pat00123
Is the second searchable ciphertext,
Figure 112010001966513-pat00124
When applying the public key-based searchable ciphertext generation method, the full searchable ciphertext of encrypted data,
Figure 112010001966513-pat00125
The bloom filter (
Figure 112010001966513-pat00126
),
Figure 112010001966513-pat00127
Is the number of keywords,
Figure 112010001966513-pat00128
Is the first group (
Figure 112010001966513-pat00129
) And the second group (
Figure 112010001966513-pat00130
) Represents the size of the stomach.

도 4 는 본 발명에 적용되는 공개키 기반의 트랩도어 생성 방법에 대한 일실시예 흐름도이다.4 is a flowchart illustrating an embodiment of a method for generating a trapdoor based on a public key applied to the present invention.

수신 단말(140)은 자신이 수신받은 이메일 데이터 중에서 특정 이메일 데이터를 검색하고자 하는 검색 키워드(

Figure 112008047370474-pat00131
)를 선택한다(402).Receiving terminal 140 is a search keyword to search for specific email data among the received email data (
Figure 112008047370474-pat00131
(402).

그리고 수신 단말(140)은 자신의 비공개키(

Figure 112008047370474-pat00132
)와 검색 키워드(
Figure 112008047370474-pat00133
)를 이용하여 하기의 [수학식 8]과 같이 트랩도어를 생성한다(404).And the receiving terminal 140 has its own private key (
Figure 112008047370474-pat00132
) And search keywords (
Figure 112008047370474-pat00133
) To generate a trap door as shown in Equation 8 below (404).

Figure 112008047370474-pat00134
Figure 112008047370474-pat00134

여기서,

Figure 112008047370474-pat00135
는 트랩도어,
Figure 112008047370474-pat00136
는 검색 키워드,
Figure 112008047370474-pat00137
는 수신 단말의 비공개키(
Figure 112008047370474-pat00138
)인 난수를 나타낸다.here,
Figure 112008047370474-pat00135
Is a trapdoor,
Figure 112008047370474-pat00136
Is a search keyword,
Figure 112008047370474-pat00137
Is the private key of the receiving terminal (
Figure 112008047370474-pat00138
Represents a random number.

이후, 수신 단말(140)은 생성된 트랩도어(

Figure 112008047370474-pat00139
)를 이메일 서버(120)로 전송한다(406). 여기서, 트랩도어(
Figure 112008047370474-pat00140
)는 해당 수신 단말(140)만 알고 있는 비공개키(
Figure 112008047370474-pat00141
)가 이용되어 생성된다. 따라서 수신 단말(140) 이외에 다른 단말은 정당한 트랩도어를 생성할 확률이 낮기 때문에, 정당한 트랩도어를 생성할 수 없는 것으로 가정한다.Thereafter, the receiving terminal 140 generates a generated trap door (
Figure 112008047370474-pat00139
E) to the e-mail server 120 (406). Here, trapdoor (
Figure 112008047370474-pat00140
) Is a private key (only known to the receiving terminal 140)
Figure 112008047370474-pat00141
) Is generated. Therefore, since the terminal other than the receiving terminal 140 has a low probability of generating a legitimate trap door, it is assumed that the legitimate trap door cannot be generated.

도 5 는 본 발명에 따른 공개키 기반의 데이터 검색 방법에 대한 일실시예 흐름도이다.5 is a flowchart illustrating a public key-based data retrieval method according to the present invention.

먼저, 이메일 서버(120)는 송신 단말(130)로부터 암호화된 데이터와, 제1 이진 문자열(제1 검색가능암호문을 해쉬 함수를 이용하여 키워드에 대응되게 변환한 문자열) 및 난수가 포함된 제2 검색가능암호문(

Figure 112010001966513-pat00142
)을 수신받는다(502).First, the e-mail server 120 includes a second data including data encrypted from the transmitting terminal 130, a first binary string (a string obtained by converting the first searchable cipher text corresponding to a keyword using a hash function), and a random number. Searchable Password Text (
Figure 112010001966513-pat00142
(502).

그리고 이메일 서버(120)는 수신 단말(140)로부터 검색 키워드에 대한 트랩도어(

Figure 112008047370474-pat00143
)를 수신받는다(504).In addition, the e-mail server 120 is a trapdoor for the search keyword from the receiving terminal 140 (
Figure 112008047370474-pat00143
(504).

이어서, 이메일 서버(120)는 수신받은 제2 검색가능암호문들 중에서 검색 키워드가 포함된 제2 검색가능암호문을 트랩도어와 수신 단말(140)의 공개키(

Figure 112008047370474-pat00144
)를 이용하여 검색한다(506). 여기서, 수신 단말(140)의 공개키(
Figure 112008047370474-pat00145
)는 제2 검색가능암호문에 포함되어 있다.Subsequently, the e-mail server 120 transmits the second searchable ciphertext including the search keyword among the received second searchable ciphertexts to the trapdoor and the public key of the receiving terminal 140.
Figure 112008047370474-pat00144
(506). Here, the public key of the receiving terminal 140 (
Figure 112008047370474-pat00145
) Is included in the second searchable ciphertext.

"506" 과정을 구체적으로 살펴보면, 이메일 서버(120)는 검색 키워드를 포함하는 제2 검색가능암호문을 검색하기 위하여, 수신받은 트랩도어(

Figure 112010001966513-pat00146
)와 난수를 이용하여 검색 키워드에 대응되는 제2 이진 문자열을 생성한다. 즉, 이메일 서버(120)는 수신받은 트랩도어와 난수에 대하여 페어링 연산과 해쉬 연산을 수행하여 단일 검색가능암호문을 생성하고, 그 생성된 단일 검색가능암호문을 각 해쉬 함수를 이용하여 제2 이진 문자열로 생성한다.Specifically, the e-mail server 120 searches for the second searchable ciphertext including the search keyword, and receives the received trapdoor (
Figure 112010001966513-pat00146
) And a random number to generate a second binary string corresponding to the search keyword. That is, the e-mail server 120 generates a single searchable ciphertext by performing a pairing operation and a hash operation on the received trapdoor and the random number, and generates the second searchable cipher text using the respective hash functions. To create.

예를 들면, 이메일 서버(120)는 각 암호화된 데이터에 대한 단일 블룸 필터(

Figure 112008047370474-pat00147
)를 생성한다. 각 암호화된 데이터에 대한 단일 블룸 필터(
Figure 112008047370474-pat00148
)는 하기의 [수학식 9]과 같다. 즉, 제2 이진 문자열은 검색 키워드에 대응되는 단일 블룸 필터이다.For example, email server 120 may have a single bloom filter for each encrypted data.
Figure 112008047370474-pat00147
) A single bloom filter for each encrypted data
Figure 112008047370474-pat00148
) Is as shown in Equation 9 below. That is, the second binary string is a single bloom filter corresponding to the search keyword.

Figure 112008047370474-pat00149
Figure 112008047370474-pat00149

여기서,

Figure 112008047370474-pat00150
는 단일 검색가능암호문,
Figure 112008047370474-pat00151
는 단일 블룸 필터를 나타낸다.here,
Figure 112008047370474-pat00150
Is a single searchable ciphertext,
Figure 112008047370474-pat00151
Denotes a single bloom filter.

상기의 [수학식 9]과 같이, 이메일 서버(120)는 각 암호화된 데이터에 대해 단일 검색가능암호문(

Figure 112008047370474-pat00152
)을 생성하고, 그를 이용하여 각 암호화된 데이터에 대한 단일 블룸 필터(
Figure 112008047370474-pat00153
)인 제2 이진 문자열을 생성한다.As shown in Equation 9 above, the e-mail server 120 generates a single searchable cipher text for each encrypted data.
Figure 112008047370474-pat00152
), And use it to generate a single bloom filter (
Figure 112008047370474-pat00153
Produces a second binary string of

이후, 이메일 서버(120)는 제2 이진 문자열과 제1 이진 문자열을 비트별로 각각 비교한다. 예를 들면, 이메일 서버(120)는 단일 블룸 필터(

Figure 112008047370474-pat00154
)에서 '1'이 되는 비트가 검색가능암호문(
Figure 112008047370474-pat00155
)에 포함된 블룸 필터(
Figure 112008047370474-pat00156
)에서도 '1'인지를 검사한다.Thereafter, the email server 120 compares the second binary string and the first binary string bit by bit. For example, email server 120 may have a single bloom filter (
Figure 112008047370474-pat00154
Bit becomes '1' in searchable ciphertext (
Figure 112008047370474-pat00155
In the bloom filter (
Figure 112008047370474-pat00156
) Is also checked for '1'.

이어서, 이메일 서버(120)는 제1 및 제2 이진 문자열의 비교 결과에 따라 검색가능암호문 중에서 트랩도어의 검색 키워드가 포함된 검색가능암호문을 검색한다. 즉, 이메일 서버(120)는 제2 이진 문자열에서 '1'인 비트가 제1 이진 문자열에서 '1'이면, 수신받은 검색가능암호문이 트랩도어의 검색 키워드를 포함하는 것으로 판단한다. 다시 말하면, 상기 [수학식 9]의 단일 블룸 필터(

Figure 112008047370474-pat00157
)와 검색가능암호문(
Figure 112008047370474-pat00158
)의 블룸 필터(
Figure 112008047370474-pat00159
)에서 검사한 모든 위치의 비트가 '1'이면, 이메일 서버(120)는 해당 검색가능암호문(
Figure 112008047370474-pat00160
)이 검색 키워드(
Figure 112008047370474-pat00161
)를 포함하고 있는 것으로 판단한다.Subsequently, the e-mail server 120 searches for the searchable ciphertext including the search keyword of the trapdoor among the searchable ciphertexts according to the comparison result of the first and second binary strings. That is, when the bit of '1' in the second binary string is '1' in the first binary string, the e-mail server 120 determines that the received searchable cipher text includes the search keyword of the trapdoor. In other words, the single bloom filter of Equation 9
Figure 112008047370474-pat00157
) And searchable ciphertext (
Figure 112008047370474-pat00158
Bloom filter ()
Figure 112008047370474-pat00159
If the bit of all the positions checked in the) is '1', the e-mail server 120 determines the corresponding searchable ciphertext (
Figure 112008047370474-pat00160
) Matches this search keyword (
Figure 112008047370474-pat00161
It is judged to include).

그리고 이메일 서버(120)는 검색된 검색가능암호문에 대한 암호화된 데이터를 수신 단말(140)로 전송한다(508).The e-mail server 120 transmits the encrypted data for the retrieved searchable ciphertext to the receiving terminal 140 (508).

한편, 일반적인 공개키 기반의 데이터 검색 방법은 암호화된 데이터의 검색가능암호문들이 검색 키워드를 포함하고 있는지 여부를 판단하기 위해, 암호화된 데이터의 키워드 개수만큼 페어링 연산을 수행해야 한다.On the other hand, in the general public key-based data retrieval method, in order to determine whether the searchable cipher texts of the encrypted data include the search keyword, the pairing operation should be performed as many as the number of keywords of the encrypted data.

반면에, 본 발명에 따른 공개키 기반의 데이터 검색 방법은 암호화된 데이터의 검색가능암호문들이 검색 키워드를 포함하고 있는지의 여부를 판단하기 위해, 한 번의 페어링 연산이 요구된다. 그렇기 때문에, 검색 효율성 측면에서, 본 발명은 일반적인 공개키 기반의 데이터 검색 방법보다 효율적이다. 또한, 본 발명은 암호화된 데이터가 포함하는 전체 검색가능암호문을 블룸 필터의 형태로 변환하였기 때문에, 이메일 서버(120)에서 저장해야 하는 데이터의 크기도 감소한다.On the other hand, in the public key-based data retrieval method according to the present invention, one pairing operation is required to determine whether searchable cipher texts of encrypted data include a search keyword. Therefore, in terms of retrieval efficiency, the present invention is more efficient than the general public key based data retrieval method. In addition, since the present invention converts the entire searchable cipher text included in the encrypted data into the form of a bloom filter, the size of data to be stored in the e-mail server 120 is also reduced.

한편, 전술한 바와 같은 본 발명의 방법은 컴퓨터 프로그램으로 작성이 가능하다. 그리고 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체(정보저장매체)에 저장되고, 컴퓨터에 의하여 판독되고 실행됨으로써 본 발명의 방법을 구현한다. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.On the other hand, the method of the present invention as described above can be written in a computer program. And the code and code segments constituting the program can be easily inferred by a computer programmer in the art. In addition, the written program is stored in a computer-readable recording medium (information storage medium), and read and executed by a computer to implement the method of the present invention. The recording medium may include any type of computer readable recording medium.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited by the drawings.

도 1 은 본 발명이 적용되는 이메일 시스템의 일실시예 구성도,1 is a configuration diagram of an embodiment of an email system to which the present invention is applied;

도 2 는 본 발명에 적용되는 공개키 기반의 키 생성 방법에 대한 일실시예 흐름도,2 is a flowchart illustrating an embodiment of a public key-based key generation method applied to the present invention;

도 3 은 본 발명에 따른 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법에 대한 일실시예 흐름도,3 is a flowchart illustrating a method for generating a searchable ciphertext based on a public key for reducing the ciphertext size according to the present invention;

도 4 는 본 발명에 적용되는 공개키 기반의 트랩도어 생성 방법에 대한 일실시예 흐름도,4 is a flowchart illustrating an embodiment of a method for generating a trapdoor based on a public key applied to the present invention;

도 5 는 본 발명에 따른 공개키 기반의 데이터 검색 방법에 대한 일실시예 흐름도이다.5 is a flowchart illustrating a public key-based data retrieval method according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

100: 이메일 시스템 110: 키 생성 장치100: email system 110: key generation device

120: 이메일 서버 130: 송신 단말120: email server 130: sending terminal

140: 수신 단말140: receiving terminal

Claims (18)

암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법에 있어서,In the public key based searchable ciphertext generation method for reducing ciphertext size, 데이터로부터 키워드를 추출하고, 소정의 집합 중에서 어느 하나의 난수를 선택하는 난수 선택 단계;A random number selecting step of extracting a keyword from the data and selecting any random number from a predetermined set; 상기 추출된 키워드 각각에 대한 제1 검색가능암호문을, 상기 선택된 난수와 수신 단말의 공개키를 이용하여 생성하는 제1 암호문 생성 단계;Generating a first searchable ciphertext for each of the extracted keywords by using the selected random number and a public key of a receiving terminal; 상기 생성된 제1 검색가능암호문을 해쉬 함수를 이용하여 상기 추출된 키워드에 대응되는 이진 문자열로 변환하는 암호문 변환 단계; 및A ciphertext conversion step of converting the generated first searchable ciphertext into a binary string corresponding to the extracted keyword by using a hash function; And 상기 이진 문자열과 상기 선택된 난수를 이용하여 제2 검색가능암호문을 생성하는 제2 암호문 생성 단계A second ciphertext generation step of generating a second searchable ciphertext using the binary string and the selected random number; 를 포함하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.Public key-based searchable cipher text generation method for reducing the cipher text size including. 제 1 항에 있어서,The method of claim 1, 상기 데이터를 암호화하는 데이터 암호화 단계; 및A data encryption step of encrypting the data; And 상기 암호화된 데이터와 상기 생성된 제2 검색가능암호문을 해당 서버로 전송하는 전송 단계Transmitting the encrypted data and the generated second searchable ciphertext to a corresponding server; 를 더 포함하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.Public key-based searchable cipher text generation method for reducing the cipher text size further comprising. 제 2 항에 있어서,The method of claim 2, 상기 데이터 암호화 단계와 상기 제2 암호문 생성 단계는,The data encryption step and the second cipher text generation step, 서로 독립적으로 수행되는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.Public key based searchable ciphertext generation method for reducing the ciphertext size, characterized in that performed independently of each other. 제 1 항 또는 제 2 항에 있어서,The method according to claim 1 or 2, 상기 제1 암호문 생성 단계는,The first cipher text generation step, 상기 선택된 난수, 상기 수신 단말의 공개키, 및 상기 추출된 키워드에 대하여 해쉬 연산 및 페어링 연산을 수행하여 상기 키워드 각각에 대한 제1 검색가능암호문을 생성하는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.A public key for reducing the ciphertext size, wherein the first searchable ciphertext is generated for each of the keywords by performing a hash operation and a pairing operation on the selected random number, the public key of the receiving terminal, and the extracted keyword. Based searchable ciphertext generation method. 제 4 항에 있어서,The method of claim 4, wherein 상기 암호문 변환 단계는,The cipher text conversion step, 상기 생성된 제1 검색가능암호문을 각 해쉬 함수를 이용하여 소정 비트 크기의 이진 문자열로 변환하고, 기 정해진 초기 이진 문자열과 상기 변환된 이진 문자열을 논리합 연산하여 새로운 이진 문자열을 산출하는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.And converting the generated first searchable cipher text into a binary string having a predetermined bit size using each hash function, and calculating a new binary string by performing an OR operation on a predetermined initial binary string and the converted binary string. Public key based searchable ciphertext generation method to reduce ciphertext size. 제 5 항에 있어서,The method of claim 5, 상기 암호문 변환 단계는,The cipher text conversion step, 상기 키워드의 개수만큼 상기 새로운 이진 문자열에 대한 산출을 반복연산하는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.Public key based searchable cipher text generation method for reducing the size of the cipher text, characterized in that iteratively calculating the new binary string by the number of keywords. 제 6 항에 있어서,The method of claim 6, 상기 암호문 변환 단계는,The cipher text conversion step, 상기 생성된 제1 검색가능암호문을 블룸 필터를 이용하여 상기 추출된 키워드에 대응되는 이진 문자열로 변환하는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.And converting the generated first searchable ciphertext into a binary string corresponding to the extracted keyword using a bloom filter. 제 7 항에 있어서,The method of claim 7, wherein 상기 블룸 필터는,The bloom filter, 상기 데이터가 포함할 수 있는 최대 키워드의 개수와 상기 블룸 필터의 긍정 오류율에 따라 다른 크기를 가지는 것을 특징으로 하는 암호문 크기를 줄이기 위한 공개키 기반의 검색가능암호문 생성 방법.Public key-based searchable cipher text generation method for reducing the cipher text size, characterized in that it has a different size according to the maximum number of keywords that the data can include and the positive error rate of the bloom filter. 데이터 검색 방법에 있어서,In the data retrieval method, 송신 단말로부터 암호화된 데이터와, 제1 이진 문자열(제1 검색가능암호문을 해쉬 함수를 이용하여 키워드에 대응되게 변환한 문자열임)과 난수가 포함된 제2 검색가능암호문을 수신받는 데이터 및 암호문 수신 단계;Receiving data and ciphertext received from a transmitting terminal, a second searchable ciphertext including encrypted data, a first binary string (a string obtained by converting the first searchable ciphertext to a keyword using a hash function) and a random number step; 수신 단말로부터 검색 키워드에 대한 트랩도어를 수신받는 트랩도어 수신 단계; 및A trapdoor receiving step of receiving a trapdoor for a search keyword from a receiving terminal; And 상기 수신받은 제2 검색가능암호문 중에서 상기 검색 키워드가 포함된 제2 검색가능암호문을 상기 수신받은 트랩도어와 상기 제2 검색가능암호문에 포함된 난수를 이용하여 검색하는 데이터 검색 단계A data retrieval step of searching for a second searchable ciphertext including the search keyword among the received second searchable ciphertexts by using the received trapdoor and a random number included in the second searchable ciphertext 를 포함하는 데이터 검색 방법.Data retrieval method comprising a. 제 9 항에 있어서,The method of claim 9, 상기 검색 키워드가 포함된 제2 검색가능암호문을 적어도 하나 검색함에 따라, 상기 검색된 제2 검색가능암호문에 대한 암호화된 데이터를 상기 수신 단말로 전송하는 데이터 전송 단계Transmitting at least one second searchable ciphertext including the search keyword, and transmitting encrypted data about the searched second searchable ciphertext to the receiving terminal. 를 더 포함하는 데이터 검색 방법.Data retrieval method comprising more. 제 9 항 또는 제 10 항에 있어서,11. The method according to claim 9 or 10, 상기 데이터 검색 단계는,The data search step, 상기 수신받은 트랩도어와 상기 난수를 이용하여 상기 검색 키워드에 대응되는 제2 이진 문자열을 생성하는 문자열 생성 단계; 및A string generation step of generating a second binary string corresponding to the search keyword by using the received trapdoor and the random number; And 상기 생성된 제2 이진 문자열과 상기 제1 이진 문자열을 비트별로 각각 비교하는 비트 비교 단계; 및A bit comparison step of comparing the generated second binary string and the first binary string for each bit; And 상기 제1 및 제2 이진 문자열의 비교 결과에 따라 상기 수신받은 제2 검색가능암호문 중에서 상기 수신받은 트랩도어의 검색 키워드가 포함된 제2 검색가능암호문을 검색하는 암호문 검색 단계A ciphertext retrieval step of retrieving a second searchable ciphertext including a search keyword of the received trapdoor among the received second searchable ciphertexts according to a result of comparing the first and second binary strings; 를 포함하는 데이터 검색 방법.Data retrieval method comprising a. 제 11 항에 있어서,The method of claim 11, 상기 문자열 생성 단계는,The string generation step, 상기 수신받은 트랩도어와 상기 난수에 대하여 페어링 연산과 해쉬 연산을 수행하여 단일 검색가능암호문을 생성하고, 상기 생성된 단일 검색가능암호문을 각 해쉬 함수를 이용하여 제2 이진 문자열로 생성하는 것을 특징으로 하는 데이터 검색 방법.Generating a single searchable ciphertext by performing a pairing operation and a hash operation on the received trapdoor and the random number, and generating the generated single searchable ciphertext as a second binary string using each hash function. How to retrieve data. 제 12 항에 있어서,13. The method of claim 12, 상기 암호문 검색 단계는,The cipher text search step, 상기 제2 이진 문자열에서 "1"인 비트가 상기 제1 이진 문자열에서 "1"이면, 상기 수신받은 제2 검색가능암호문이 상기 수신받은 트랩도어의 검색 키워드를 포함하는 것으로 판단하는 것을 특징으로 하는 데이터 검색 방법.If the bit "1" in the second binary string is "1" in the first binary string, it is determined that the received second searchable cipher text includes a search keyword of the received trapdoor. How to retrieve data. 제 13 항에 있어서,The method of claim 13, 상기 제2 이진 문자열은,The second binary string is, 상기 검색 키워드에 대응되는 단일 블룸 필터인 것을 특징으로 하는 데이터 검색 방법.And a single bloom filter corresponding to the search keyword. 삭제delete 삭제delete 삭제delete 삭제delete
KR1020080063202A 2008-06-30 2008-06-30 Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that KR100951034B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080063202A KR100951034B1 (en) 2008-06-30 2008-06-30 Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080063202A KR100951034B1 (en) 2008-06-30 2008-06-30 Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that

Publications (2)

Publication Number Publication Date
KR20100003093A KR20100003093A (en) 2010-01-07
KR100951034B1 true KR100951034B1 (en) 2010-04-05

Family

ID=41813046

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080063202A KR100951034B1 (en) 2008-06-30 2008-06-30 Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that

Country Status (1)

Country Link
KR (1) KR100951034B1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101232385B1 (en) * 2011-03-23 2013-02-13 순천향대학교 산학협력단 Searchable Symmetric Encryption Method and System
KR101380868B1 (en) * 2012-11-28 2014-04-02 한국전자통신연구원 Method for transmitting metering information from smart meter to advanced metering infrastructure server
US10832279B2 (en) * 2016-08-17 2020-11-10 International Business Machines Corporation Aggregation of unique user invocations in an online environment
KR102154897B1 (en) * 2018-09-18 2020-09-10 이화여자대학교 산학협력단 Method for supervising digital contents using block chain and fingerprinting, device and computer readable medium for performing the method

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080010095A (en) * 2006-07-26 2008-01-30 전북대학교산학협력단 Data structure and algorithm of destination ip address monitoring for detecting ddos attack

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080010095A (en) * 2006-07-26 2008-01-30 전북대학교산학협력단 Data structure and algorithm of destination ip address monitoring for detecting ddos attack

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
D. Boneh and B. Waters, "Conjunctive, subset, and range queries on encrypted data"(http://crypto.stanford.edu/~dabo/abstracts/search.html, 2007.03.)

Also Published As

Publication number Publication date
KR20100003093A (en) 2010-01-07

Similar Documents

Publication Publication Date Title
Pasupuleti et al. An efficient and secure privacy-preserving approach for outsourced data of resource constrained mobile devices in cloud computing
Raman et al. Distributed storage meets secret sharing on the blockchain
KR101190059B1 (en) Method for data encryption and method for conjunctive keyword search of encrypted data
US8904171B2 (en) Secure search and retrieval
KR100903599B1 (en) Searching method for encrypted data using inner product and terminal and server therefor
KR100903601B1 (en) Searching system for encrypted numeric data and searching method therefor
CN112270006A (en) Searchable encryption method for hiding search mode and access mode in e-commerce platform
CN112800445B (en) Boolean query method for forward and backward security and verifiability of ciphertext data
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
CN109740362B (en) Ciphertext index generation and retrieval method and system based on entropy coding
Chenam et al. A designated cloud server-based multi-user certificateless public key authenticated encryption with conjunctive keyword search against IKGA
JP2008513811A (en) Calculation conversion method and system
Tuo et al. An effective fuzzy keyword search scheme in cloud computing
Ma et al. CP‐ABE‐Based Secure and Verifiable Data Deletion in Cloud
CN114417073B (en) Neighbor node query method and device of encryption graph and electronic equipment
KR101217491B1 (en) A method for searching keyword based on public key
Jiang et al. An Efficient Symmetric Searchable Encryption Scheme for Cloud Storage.
Pise et al. Enhancing security of data in cloud storage using decentralized blockchain
KR100951034B1 (en) Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that
CN112560075B (en) Lightweight searchable encryption method and device based on elliptic curve
KR100945535B1 (en) Key generating method for preventing dictionary attack and method of producing searchable keyword encryption and searching data using that
KR101232385B1 (en) Searchable Symmetric Encryption Method and System
Jiang et al. A novel privacy preserving keyword search scheme over encrypted cloud data
Youn et al. Design of additive homomorphic encryption with multiple message spaces for secure and practical storage services over encrypted data
KR100959064B1 (en) Producing searchable keyword encryption and searching data for multi user

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130305

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140303

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150304

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160304

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190924

Year of fee payment: 10