https://github.com/atulmahind/PEKS
Implementation of Public Key Encryption with Keyword Search
https://github.com/atulmahind/PEKS
keyword-search peks searchable-encryption
Last synced: 23 days ago
JSON representation
Implementation of Public Key Encryption with Keyword Search
- Host: GitHub
- URL: https://github.com/atulmahind/PEKS
- Owner: atulmahind
- Created: 2016-04-02T22:52:28.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2016-04-03T10:15:05.000Z (over 10 years ago)
- Last Synced: 2023-10-25T22:48:06.486Z (over 2 years ago)
- Topics: keyword-search, peks, searchable-encryption
- Language: C
- Size: 3.91 KB
- Stars: 28
- Watchers: 1
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PEKS
This is the implementation of public-key searchable encryption using bilinear maps described in
Public Key Encryption with Keyword Search. It is a simple, command-line application developed in C.
## Implementation Details
#### Dependencies
* GMP Library:
```$ sudo apt-get install libgmp3-dev```
* OpenSSL:
```$ sudo apt-get install libssl-dev```
* [PBC Library](https://crypto.stanford.edu/pbc)
```
$ ./configure --prefix=$HOME/.local
$ make
$ make install
```
Makefile uses this path. In case of change in destination directory, update the Makefile accordingly.
#### Build
```$ make```
#### Run
```$ ./peks ```
#### Usage
```
$ ./peks hello hello
Equal
$ ./peks Hello hello
Not equal
$ ./peks Supercalifragilisticexpialidocious Supercalifragilisticexpialidocious
Equal
$ ./peks Lopadotemachoselachogaleokranioleipsanodrimhypotrimmatosilphioparaomelitokatakechymenokichlepikossyphophattoperisteralektryonoptekephalliokigklopeleiolagoiosiraiobaphetraganopterygon Lopadotemachoselachogaleokranioleipsanodrimhypotrimmatosilphioparaomelitokatakechymenokichlepikossyphophattoperisteralektryonoptekephalliokigklopeleiolagoiosiraiobaphetraganopterygon
Equal
$ ./peks Lopadotemachoselachogaleokranioleipsanodrimhypotrimmatosilphioparaomelitokatakechymenokichlepikossyphophattoperisteralektryonoptekephalliokigklopeleiolagoiosiraiobaphetraganopterygon Lopadotemachoselachogaleokranioleipsanodrimhypotrimmatosilphioparaomelitokatakechymenokichlepikossyphophattoperisteraletryonoptekephalliokigklopeleiolagoiosiraiobaphetraganopterygon
Not equal
```
*This work was a part of the master thesis from TU Dresden under the supervision of Dr. Josef Spillner and Martin Beck.
## [Public Key Encryption with Keyword Search](http://eprint.iacr.org/2003/195.pdf)
by Dan Boneh, Giovanni Di Crescenzo, Rafail Ostrovsky and Giuseppe Persiano.
The authors describe a way of appending information to a message that has
been encrypted with a standard public key cipher, which allows a server
that doesn’t have the private key necessary to decrypt the entire message
to still be able to search for a certain set of keywords. For a keyword, a
PEKS value can be generated which will allow the server to perform a search
using a trapdoor.