Skip to content

Releases: sp301415/tfhe-go

v0.4.0

06 Oct 12:53
e61720b
Compare
Choose a tag to compare
  • Merge poly.Evaluator and poly.FourierEvaluator
  • Performance improvements to ToFourierPoly
  • Faster exact multiplication between polynomials
  • New parameters for optimal performance
  • Create a new structure, tfhe.Decomposer

Full Changelog: v0.3.1...v0.4.0

v0.3.1

08 May 14:04
f3de588
Compare
Choose a tag to compare
  • Fix TFHE and Multi-Key TFHE parameters.
  • Remove ClearBit, ToLWECiphertext methods.

Full Changelog: v0.3.0...v0.3.1

v0.3.0

01 Apr 09:52
bb98b7a
Compare
Choose a tag to compare

TFHE-go v0.3.0 arrives with major new features, performance improvements, bug fixes and more!

  • Implement Multi-Key TFHE.
  • Implement public key encryption for some parameters.
  • Change representation of FourierPoly coefficients: now it is represented with 4 blocks of float, making AVX2 path faster.
  • Reduce FFT in Bootstrapping. Now Programmable Bootstrapping is 1.5~2.0x faster.
  • Optimize numerous methods and functions, including AVX2 implementations.
  • Rename methods and variables to be more concise and meaningful.

Full Changelog: v0.2.7...v0.3.0

v0.2.7

28 Dec 14:35
b50ae21
Compare
Choose a tag to compare
  • Implement EBS(Extended Bootstrapping) from [LY23]. This significantly improves bootstrapping performance and key size, especially for large parameters.
  • Fix polynomial multiplication for small degree polynomials.
  • Fix panic in SampleExtract.
  • Fix to use cyclic FFT, rather than negacyclic FFT.

Full Changelog: v0.2.6...v0.2.7

v0.2.6

14 Dec 15:06
a1b0e79
Compare
Choose a tag to compare
  • Add UnSafe methods to inverse FFT operations for slightly faster performance
  • Implement MonomialMulSub operations in AVX2

Full Changelog: v0.2.5...v0.2.6

v0.2.5

08 Dec 16:00
62bbfe6
Compare
Choose a tag to compare
  • Breaking Change: tfheb package is now integrated to tfhe. tfheb.XXX structures are now renamed to tfhe.BinaryXXX.
  • Add option to choose bootstrapping order in Parameters. This matches TFHE-rs implementation.
  • Revert LWESmallDimension to LWEDimension to reduce confusion.
  • Optimize default parameters so that it matches security level of TFHE-rs.
  • Optimize codepath for BlockSize 1, which matches the original bootstrapping of TFHE.

Full Changelog: v0.2.4...v0.2.5

v0.2.4

05 Dec 07:09
1899337
Compare
Choose a tag to compare
  • Breaking Change: Change the order of KeySwitch and BlindRotate. This allows for better parameters, and is consistent with TFHE-rs. LWEDimension is renamed to LWESmallDimension, and LWELargeDimension is now LWEDimension.
  • Breaking Change: Rename Hoisted methods to Decomposed.
  • Breaking Change: Remove defined types from num package.
  • Add custom binary serialization to all common entities. Now all plaintexts, ciphertexts and keys implement io.WriterTo/io.ReaderFrom, and encoding.BinaryMarshaler/encoding.BinaryUnmarshaler interfaces.
  • Optimize CSPRNGs. Now EvaluationKey generation is ~50% faster.

Full Changelog: v0.2.3...v0.2.4

v0.2.3

02 Dec 12:35
5cee441
Compare
Choose a tag to compare
  • Breaking Change: Rename DecompositionParameters to GadgetParameters for concise code
  • Add Clear() methods
  • Add binary marshalling/unmarshalling to parameters. Now all common entities (plaintexts, ciphertexts, keys) can be marshalled/unmarshalled into binary using encoding/gob.
  • Fix incorrect gaussian sampling

Full Changelog: v0.2.2...v0.2.3

v0.2.2

05 Nov 13:31
900152f
Compare
Choose a tag to compare
  • Add support for purego build tag

Full Changelog: v0.2.1...v0.2.2

v0.2.1

03 Nov 15:41
d83142f
Compare
Choose a tag to compare
  • Fix regression where bootstrapping was not zero allocation anymore

Full Changelog: v0.2.0...v0.2.1