TenSEAL

A library for doing homomorphic encryption operations on tensors

APACHE-2.0 License

Downloads
30.6K
Stars
739
Committers
21

Bot releases are hidden (Show)

TenSEAL - TenSEAL 0.3.0a3 Release Notes

Published by bcebere over 3 years ago

Changelog:

  • PlainTensor serialization support
TenSEAL - TenSEAL 0.3.0a2 Release Notes

Published by bcebere over 3 years ago

Changelog:

TenSEAL - TenSEAL 0.3.0a1 Release Notes

Published by youben11 almost 4 years ago

We introduce new Python wrappers for all low level objects (#185). Previously, the python API interacted directly with the binded low level objects. However, we now have a Python class wrapping every low level objects.
The API is still the same.

TenSEAL - TenSEAL 0.3.0a0 Release Notes

Published by youben11 almost 4 years ago

This version mainly introduce a new tensor type, the CKKSTensor, which can encrypts N-dimensional tensors, with the ability to use one axis as the batch_axis, which will be stored along ciphertext slots.

New features

  • CKKSTensor (#156, #168, #169, #170, #171, #173)
  • PlainTensor (#167, #170)

Bug fixes

  • Race condition on multiworkers (#151)
  • Fix Centos scripts (#149)

Other

  • We now link protobuf statically, so the running system doesn't need the library to be installed (#177)
  • We now use SEAL 3.6 (#158)
  • Refactoring and library improvements (#153, #167)
TenSEAL - TenSEAL 0.2.0a1 Release Notes

Published by youben11 about 4 years ago

Fix package build on release #147

TenSEAL - TenSEAL 0.2.0a0 Release Notes

Published by youben11 about 4 years ago

The convolution operation introduced in this alpha release have an experimental API that should be updated in upcoming releases.

New features

  • Serialization of TenSEALContext and tensor types (#101, #109)
  • Threadpool support and parallel vector-matrix multiplication (#115, #124)
  • Check if a key is found in a TenSEALContext (#132)
  • Convolution using im2col technique (#117, #134, #138)
  • Encrypted matrix multiplication with plain vector (#137, #138)
  • Vector packing (#141)

Bug fixes

  • make_public_context should keep the existing keys (#110)
  • Better handling of transparent ct exceptions (#119)
  • Check for empty vector upon encryption (#126)
  • Fix CKKS and BFV vectors constructors (#133)

Other

  • Tutorial 1 - Training and Evaluation of Logistic Regression on Encrypted Data (#85)
  • Update docker images, docs and tags (#104, #111, #114)
  • Upgrade SEAL to 3.5.6 (#105)
  • Bazel build (#116)
  • Automatic tests on [Linux, MacOS, Windows] x [py36, py37, py38] (#128)
  • Code optimization (#142)
  • Fix release workflow (#143)
TenSEAL - TenSEAL 0.1.0 Release Notes

Published by youben11 over 4 years ago

  • Scalar operations for CKKSVector (#86)
  • Operations on vectors of different size (1 vs n) (#92)
  • Negate and right arithmetic operators for CKKSVector (#93, #94)
  • Encrypted vector exponentiation and polynomial evaluation with optimum circuit (#99, #100)

With all this recent changes, TenSEAL is now able to perform training of a logistic regression model, checkout the tutorial section for more information.

TenSEAL - TenSEAL 0.1.0a1 Release Notes

Published by youben11 over 4 years ago

  • Fixing package build for MacOS (#87 ) and Windows (#89)
TenSEAL - TenSEAL 0.1.0a0 Release Notes

Published by youben11 over 4 years ago

This is the first official release of TenSEAL, so we will mainly focus on what this first version have been building so far

  • Encryption/Decryption of vectors of real numbers or integers using either CKKS or BFV respectively
  • Element-wise addition, substraction and multiplication of encrypted-encrypted vectors and encrypted-plain vectors
  • Dot product and vector-matrix multiplication
  • Complete SEAL API under tenseal.sealapi
  • Support for Linux, Windows and MacOS
  • Support for Python 3.6, 3.7 and 3.8
  • Docker images with TenSEAL for Python 3.6, 3.7 and 3.8
  • Tutorial for Getting Started
  • Automation of build, release and tests of both Python and C++ code.

Thanks to all the contributors of the TenSEAL library, more specifically to @philomath213 and @bcebere for their time and efforts spent to be able able to make this first release.

Package Rankings
Top 5.92% on Proxy.golang.org
Top 2.61% on Pypi.org
Badges
Extracted from project README
Tests Linux Package MacOS Package Windows Package Downloads Version OpenCollective Slack
Related Projects