Worcester Polytechnic Institute

Source Codes

Please follow vernamlab on GitHub. We will publish our source codes there. Stay tuned!

cuHE: A Homomorphic Encryption Accelerator Library

CUDA Homomorphic Encryption Library (cuHE) is a GPU-accelerated library for homomorphic encryption (HE) schemes and homomorphic algorithms defined over polynomial rings. cuHE yields an astonishing performance while providing a simple interface that greatly enhances programmer productivity. It features both algebraic techniques for homomorphic evalution of circuits and highly optimized code for single-GPU or multi-GPU machines. Develop high-performance applications rapidly with cuHE! The source code is available on GitHub, see link.

PRINCE – A Low-latency Block Cipher for Pervasive Computing Applications Full version

PRINCE is a lightweight block cipher that has been optimized for low latency and a small hardware footprint. This work presents an 8-bit oriented microcontroller implementation of PRINCE. The implementation is optimized to achieve good throughput at moderate code size. Optimizations include the processing of two nibbles in parallel. This parallel processing increases throughput, but requires a restructuring of the state for efficient computation of the MixColumns, as well as an increased code size for the two double S-boxes. Due to the structure of PRINCE, the decryption comes at a negligible code overhead. The source code for our implemented cipher can be found here. The assembly code for T-Table implementation of PRINCE can be found here.

LTV based Homomorphic AES

Our somewhat homomorphic (leveled) AES implementation based be can be downloaded from here:
hom_aes.tar.gz

The construction along with optimizations are described in this
paper
To compile the code you need NTL and GMP preinstalled.

We are in the process of cleaning up the code to release a standalong SWHE library soon.