Skip to content

v0.2.0

Compare
Choose a tag to compare
@hardbyte hardbyte released this 06 Jan 06:53
· 62 commits to master since this release
6114988

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.