Paillier.jl is a Julia package implementing the basics of the Paillier partially homomorphic cryptosystem.
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.
Warning - Here be dragons.
This is rough! Don't use for anything serious yet! Not reviewed by a cryptographer.
Constant time functions have not been used, so this could be susceptible to timing side channel attacks.
We don't obfuscate the results of encrypted math operations by default. This is an
optimization copied from
python-paillier, however after any homomorphic operation -
before sharing an
EncryptedArray you must call
to secure the ciphertext. Ideally this will occur behind the scenes at serialization
time, but this library does not help with serialization (yet).