A pure javascript implementation of python-paillier.
Currently relies on jsbn and crypto.
- Generate paillier keypairs
- Raw encryption of integers
- Raw encryption of small integers (less than 2^16)
- Deal with encrypting large numbers (see shortcut)
- Raw decryption of ciphertext strings into integers
- Encoded Number
- Full test coverage
- Port of python-paillier's raw encryption tests
- Port of python-paillier's encoded number tests
- Port of python-paillier's encrypted number tests
- Port of python-paillier's keyring tests
- in-browser tests (crypto-browserify may come in handy)
The homomorphic properties of the paillier crypto system are:
Encrypted numbers can be multiplied by a non encrypted scalar. Encrypted numbers can be added together. Encrypted numbers can be added to non encrypted scalars.