scicrypt 0.1.0

Lightweight cryptographic building blocks for proof of concept implementations in applied cryptography
Documentation

Scicrypt: Cryptographic building blocks

WARNING: WHILE THIS LIBRARY MAKES SOME EFFORT FOR SECURE IMPLEMENTATIONS, IT SHOULD NOT BE USED FOR ANY PRACTICAL APPLICATIONS. THE CODE IS NOT AUDITED. WE MAKE NO GUARANTEES ABOUT THE CODE'S CORRECTNESS NOR SECURITY.

Lightweight cryptographic building blocks for proof of concept implementations in applied cryptography.

While many libraries implementing cryptographic building blocks exist, many fall in one of two categories:

  • Fast but rigid [like many written in C++]
  • Slow but flexible [like many written in python]

This library attempts to find a balance between speed and flexibility, to ease the process of implementing proof of concepts of cryptographic protocols, such as those in the field of multi- party computation (MPC).

Current features

Currently, the library implements the following partially homomorphic cryptosystems and the associated homomorphic operations:

  • ElGamal over Curve25519 (Ristretto-encoded)
  • ElGamal over safe prime groups
  • Paillier
  • RSA

Upcoming features

These are the upcoming minor versions and the functionality they will add.

Version 0.2.0

Threshold homomorphic cryptosystems update

Version 0.1.0

Homomorphic cryptosystems update