Package paillierp

Provides the structures and methods to encrypt data with the Paillier encryption scheme with thresholding.

See:
          Description

Class Summary
AbstractPaillier An abstract class of the simple Paillier cryptosystem.
ByteUtils A set of static utilities for manipulating Bytes.
Paillier A simple implementation of the generalized Paillier encryption scheme CS1.
PaillierThreshold A simple implementation of the threshold Paillier encryption scheme CS1.
PartialDecryption A partial decryption in the Threshold Paillier encryption scheme with necessary data to proceed with the full decryption.
 

Package paillierp Description

Provides the structures and methods to encrypt data with the Paillier encryption scheme with thresholding. This package a simplified implementation of what is specified in the paper A Generalization of Paillier's Public-Key System with Applications to Electronic Voting by Damgård et al. Within this paper, the authors generalize the Paillier encryption scheme to permit computations modulo ns+1, allowing block length for encryption to be chosen freely. In addition to this undertaking, Damgård et al. also constructed a threshold variant of the scheme.

This package provides the following features of the paper

Of particular note, this implementation is simple as s is fixed to be 1. This allows for simplicity at this stage of the design. Further, we hope to have added methods which would make the actual use of this package to be easy and flexible.

Future features would include support for encrypting arbitrary length strings/byte arrays to avoid padding issues.

Primary Papers

Related Papers