hibe

package
v2.3.3 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 2023 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Decrypt

func Decrypt(key *PrivateKey, ciphertext *Ciphertext) *bn256.GT

func DecryptHibeMsg

func DecryptHibeMsg(localId string, hibeParams *Params, prvKey *PrivateKey,
	hibeMsgMap map[string]string, symKeyType crypto.KeyType) ([]byte, error)

DecryptHibeMsg is used to decrypt the HIBE message constructed by EncryptHibeMsg localId: hibe Id hibeParams: HIBE parameters of the HIBE system to which ID belongs prvKey: the localId's hibe private Key hibeMsgMap: HIBE message encrypt by EncryptHibeMsg symKeyType: symmetric key type (aes or sm4), used to symmetric encrypt the plain text first

func EncryptHibeMsg

func EncryptHibeMsg(plaintext []byte, receiverIds []string, paramsList []*Params,
	symKeyType crypto.KeyType) (map[string]string, error)

EncryptHibeMsg is used to encrypt plainText by receiverIds and their paramsList plaintext: plain text bytes receiverIds: message receivers' id list, using "/" to separate hierarchy identity in each id string paramsList: HIBE parameters list of the message receiver, len(paramsList) should be equal to len(receiverIds),

paramsList[i] are the HIBE parameters of receiverIds[i]

symKeyType: symmetric key type (aes or sm4), used to symmetric encrypt the plain text first

func IdStr2HibeId

func IdStr2HibeId(id string) ([]string, []*big.Int)

IdStr2HibeId construct HibeId according to id

func Setup

func Setup(random io.Reader, l int) (*Params, MasterKey, error)

func ValidateId

func ValidateId(id string) error

ValidateId is used to validate id format

Types

type Ciphertext

type Ciphertext = hibe.Ciphertext

func Encrypt

func Encrypt(random io.Reader, params *Params, id []*big.Int, message *bn256.GT) (*Ciphertext, error)

type G1

type G1 = bn256.G1

type MasterKey

type MasterKey = hibe.MasterKey

type Params

type Params = hibe.Params

type PrivateKey

type PrivateKey = hibe.PrivateKey

func KeyGenFromMaster

func KeyGenFromMaster(random io.Reader, params *Params, master MasterKey, id []*big.Int) (*PrivateKey, error)

func KeyGenFromParent

func KeyGenFromParent(random io.Reader, params *Params, parent *PrivateKey, id []*big.Int) (*PrivateKey, error)

Directories

Path Synopsis
hibe
Package hibe implements the cryptosystem described in the paper "Hierarchical Identity Based Encyprtion with Constant Size Ciphertext" by Boneh, Boyen, and Goh.
Package hibe implements the cryptosystem described in the paper "Hierarchical Identity Based Encyprtion with Constant Size Ciphertext" by Boneh, Boyen, and Goh.
hibe/bn256
Package bn256 implements a particular bilinear group at the 128-bit security level.
Package bn256 implements a particular bilinear group at the 128-bit security level.
hibe
Package hibe implements the cryptosystem described in the paper "Hierarchical Identity Based Encyprtion with Constant Size Ciphertext" by Boneh, Boyen, and Goh.
Package hibe implements the cryptosystem described in the paper "Hierarchical Identity Based Encyprtion with Constant Size Ciphertext" by Boneh, Boyen, and Goh.
hibe/bn256
Package bn256 implements a particular bilinear group.
Package bn256 implements a particular bilinear group.

Jump to

Keyboard shortcuts

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