Skip to content
/ PEKS Public
forked from atulmahind/PEKS

Implementation of Public Key Encryption with Keyword Search

Notifications You must be signed in to change notification settings

cao-ben/PEKS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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


 sudo apt install m4 %注意小写m,装不上,先sudo apt update一下
 sudo apt install flex
 sudo apt install bison %几个依赖包
$ ./configure --prefix=$HOME/.local
$ make
$ make install

if ./configure --prefix=$HOME/.local is not work, we can modefiy C file head, such as #include "/usr/local/include/pbc/pbc.h" in Default Installation path /usr/local/lib Makefile uses this path. In case of change in destination directory, update the Makefile accordingly.

Uploading image.png… Display on PBC installation ready

Build

$ make if make is not work, second way is “gcc main.c peks.c -o peks -lpbc -lssl -lcrypto -lgmp -lm”

Run

$ ./peks <word1> <word2>

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.

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.

This was modified in 2022.9.30 by Ben

About

Implementation of Public Key Encryption with Keyword Search

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.1%
  • Makefile 2.9%