[][src]Module ibe::kiltz_vahlis_one

Identity Based Encryption Kiltz-Vahlis IBE1 scheme on the BLS12-381 pairing-friendly elliptic curve.

Uses SHA3-512 for hashing to identities.

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.

Structs

CipherText

Encrypted message. Can only be decrypted with an user secret key.

Identity

Byte representation of an identity.

PublicKey

Public key parameters generated by the PKG used to encrypt messages.

SecretKey

Secret key parameter generated by the PKG used to extract user secret keys.

SymmetricKey

A point on the paired curve that can be encrypted and decrypted.

UserSecretKey

Points on the paired curves that form the user secret key.

Functions

decrypt

Decrypt ciphertext to a SymmetricKey using a user secret key.

encrypt

Generate a symmetric key and corresponding CipherText for that key.

extract_usk

Extract an user secret key for a given identity.

setup

Generate a keypair used by the Private Key Generator (PKG).