Skip to content
/ ibe Public

Identity Based Encryption schemes on the BLS12-381 pairing-friendly elliptic curve

Notifications You must be signed in to change notification settings

Wassasin/ibe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IBE

Identity Based Encryption schemes on the BLS12-381 pairing-friendly elliptic curve in Rust.

Implements the following schemes:

  • Waters
  • Waters-Naccache
  • Kiltz-Vahlis IBE1

You should probably use the Kiltz-Vahlis IBE1 scheme, as it provides the best security properties.

Technical notes

  • This implementation has not (yet) been reviewed or audited. Use at your own risk.
  • Uses SHA3-512 for hashing to identities.
  • Compiles succesfully on Rust Stable.
  • Does not use the Rust standard library (no-std).
  • The structure of the byte serialisation of the various datastructures is not guaranteed to remain constant between releases of this library.
  • All operations in this library are implemented to run in constant time.

TODO's

  • The underlying libraries might benefit from running on Rust nightly, which prevents compiler optimizations that could jeopardize constant time operations, but enabling this will require using subtle/nightly.

About

Identity Based Encryption schemes on the BLS12-381 pairing-friendly elliptic curve

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages