Post on 18-Jan-2016
transcript
Computer System Design Lab 1
Inverted Index Based Multi-Keyword Public-key Searchable Encryption with Strong Privacy
Guarantee
Bing Wang* Wei Song*† Wenjing Lou* Y. Thomas Hou* *Virginia Polytechnic Institute and State University, Blacksburg, VA,
USA †Wuhan University, Wuhan, Hubei, China
Computer System Design Lab 2
Motivation
Computer System Design Lab 3
Motivation• Previous Inverted index work
Curtmola et al
• Limitations(1) the keyword privacy is
compromised once a keyword is searched.
(2) existing inverted index based search- able schemes do not support
conjunctive multi-keyword search
Computer System Design Lab 4
Our work• Propose a practical inverted index based
public- key searchable encryption scheme.
• Design a probabilistic trapdoor generation algorithm to break the trapdoor linkability.
Computer System Design Lab 5
Inverted Index • Note: Suppose we want to search the
texts "i love you," "god is love," "love is blind," and "blind justice.” If we index by (text, character within the text), the index with location in text is:
blind (3,8);(4,0) god (2,0) i (1,0) is (2,4);(3,5) justice (4,6) love (1,2);(2,7);(3,0) you (1,7)
Computer System Design Lab 6
System model
Computer System Design Lab 7
Scheme Details • Setup• IndexGen• TrapdoorGen• Query
Computer System Design Lab 8
Setup
The data owner first chooses two k-bit prime numbers p, q.
Then the data owner follows the key generation process to generate the key pair for the Paillier
algorithm and publishes the public key(pk) to the cloud server.
.
Computer System Design Lab 9
IndexGen
1) Each keyword wi has its corresponding inverted list Iwi
2) The data owner encrypts the coefficients of each polynomial.
3) Data owner constructs a dictionary matrix MD based on the tag of keywords.
Outsource to cloud sever
Computer System Design Lab 10
TrapdoorGen
1) The data owner first generates a polynomial for the entire dictionary PD
2) When the data owner receive a query request Q from user and then constructs a PQ(x)
Computer System Design Lab 11
Query
After receiving the trapdoor, the cloud server first calculates V. Then all the values are organized as a vector: After that, the cloud server calculates PR(x)
and returns it back to the user.
Computer System Design Lab 12
SIMULATION • Environment Setting
Python to implement Windows 8.1 PC with Intel Core i3 and
4 Gigabyte memory. • Dataset
Part of the Enron dataset
Computer System Design Lab 13
SIMULATION
Computer System Design Lab 14
SIMULATION
Computer System Design Lab 15
SIMULATION
Computer System Design Lab 16
Conclusion• Proposed a novel construction of a public-
key searchable encryption scheme based on inverted index.
• Our probabilistic trapdoor generation algorithm prevents the cloud server from linking the trapdoors.
• Supports multi-keywords conjunctive search.
Computer System Design Lab 17
Thanks!