v0.2.0
New features
Added an encoding system that supports julia's floating point types:
julia> keysize = 2048
julia> publickey, privatekey = generate_paillier_keypair(keysize)
julia> encoding = Encoding(Float32, publickey)
julia> a = Float32(π)
julia> b = 100
julia> enc1 = encode_and_encrypt(a, encoding)
julia> decrypt_and_decode(privatekey, enc1)
3.1415927f0
julia> enc1.exponent
-6
julia> enc2 = encode_and_encrypt(b, encoding)
julia> enc3 = decrypt_and_decode(privatekey, enc1 + enc2)
julia> enc3
103.141594f0
julia> decrypt_and_decode(privatekey, enc1 - 20.0)
-16.858408f0
The raw cryptosystem has had some modifications too.
- Keys are now represented on the command line nicer.
- Almost everything has been documented.
Known issues/TODO
- Still need to add support for multiplication of encoded numbers.
- The EncryptedArrays still all work but don't help with encoded numbers yet.