ibe

package
v1.1.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 4, 2022 License: MPL-2.0 Imports: 6 Imported by: 5

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Decrypt

func Decrypt(s pairing.Suite, private kyber.Point, c *Ciphertext) ([]byte, error)

func H2Tag

func H2Tag() []byte

H2Tag is the domain separation tag for the H2 hash function

func H3Tag

func H3Tag() []byte

H3Tag is the domain separation tag for the H3 hash function

func H4Tag

func H4Tag() []byte

H4Tag is the domain separation tag for the H4 hash function

Types

type Ciphertext

type Ciphertext struct {
	// Random point rP
	U kyber.Point
	// Sigma attached to ID: sigma XOR H(rG_id)
	V []byte
	// ciphertext of the message M XOR H(sigma)
	W []byte
}

func Encrypt

func Encrypt(s pairing.Suite, master kyber.Point, ID, msg []byte) (*Ciphertext, error)

Encrypt implements the cca identity based encryption scheme from https://crypto.stanford.edu/~dabo/pubs/papers/bfibe.pdf for more information about the scheme. - master is the master key on G1 - ID is the ID towards which we encrypt the message - msg is the actual message - seed is the random seed to generate the random element (sigma) of the encryption The suite must produce points which implements the `HashablePoint` interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL