PEKS
Implementation of Public Key Encryption with Keyword Search
Install / Use
/learn @atulmahind/PEKSREADME
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 -
$ ./configure --prefix=$HOME/.local $ make $ make installMakefile uses this path. In case of change in destination directory, update the Makefile accordingly.
Build
$ make
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.
Public Key Encryption with Keyword Search
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.
Related Skills
node-connect
352.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.9kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
