Reference implementation of Bodo Möller's "A Public-Key Encryption Scheme with Pseudo- Random Ciphertexts"
C C++
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.gitignore
Makefile
README.md
curves.c
curves.h
kat-c.cc
kat-o.c
katdata-ref.c
katdata.h
katgen.cc
mref-c.cc
mref-c.h
mref-o.c
mref-o.h

README.md

This is a reference implementation of the key encapsulation mechanism from Bodo Möller's paper "A Public-Key Encryption Scheme with Pseudo- Random Ciphertexts" (ESORICS 2004). To the best of my knowledge this cryptosystem has never been implemented before. I have implemented only the key encapsulation mechanism, not the full hybrid cryptosystem. There are other slight deviations from the paper; see comments in the header files.

There are actually two reference implementations, based on different libraries. The -c files use Crypto++ and the -o files use OpenSSL. make check tests them against each other.

CC0: To the extent possible under law, I, Zachary Weinberg, do hereby waive all copyright and related or neighboring rights to this reference implementation.