Documentation ¶
Index ¶
- func Decrypt(key *PrivateKey, ciphertext *Ciphertext) *bn256.GT
- func DecryptHibeMsg(localId string, hibeParams *Params, prvKey *PrivateKey, ...) ([]byte, error)
- func EncryptHibeMsg(plaintext []byte, receiverIds []string, paramsList []*Params, ...) (map[string]string, error)
- func IdStr2HibeId(id string) ([]string, []*big.Int)
- func Setup(random io.Reader, l int) (*Params, MasterKey, error)
- func ValidateId(id string) error
- type Ciphertext
- type G1
- type MasterKey
- type Params
- type PrivateKey
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 ¶
IdStr2HibeId construct HibeId according to id
Types ¶
type Ciphertext ¶
type Ciphertext = hibe.Ciphertext
type PrivateKey ¶
type PrivateKey = hibe.PrivateKey
func KeyGenFromMaster ¶
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. |