bridge

package
v0.0.0-...-523a819 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewRandOrPanic

func NewRandOrPanic() *amcl.RAND

newrandorpanic返回新的amcl prg或panic

Types

type Big

type Big struct {
	E *FP256BN.BIG
}

大封装AMCL大整数

func (*Big) Bytes

func (b *Big) Bytes() ([]byte, error)

type CredRequest

type CredRequest struct {
	NewRand func() *amcl.RAND
}

CredRequest封装IDemix算法以生成(签名)凭据请求 并验证。回想一下,凭证请求是由用户生成的, 在凭证创建时由颁发者进行验证。

func (*CredRequest) Sign

func (cr *CredRequest) Sign(sk handlers.Big, ipk handlers.IssuerPublicKey, nonce []byte) (res []byte, err error)

签名生成IDemix凭证请求。它接受输入用户密钥和 颁发者公钥。

func (*CredRequest) Verify

func (*CredRequest) Verify(credentialRequest []byte, ipk handlers.IssuerPublicKey, nonce []byte) (err error)

验证通过的凭证请求是否相对于通过的 颁发者公钥。

type Credential

type Credential struct {
	NewRand func() *amcl.RAND
}

凭证封装IDemix算法以生成(签名)凭证 并验证。回想一下,颁发者根据凭证请求生成凭证, 并由请求者进行验证。

func (*Credential) Sign

func (c *Credential) Sign(key handlers.IssuerSecretKey, credentialRequest []byte, attributes []bccsp.IdemixAttribute) (res []byte, err error)

符号生成IDemix凭证。它接受输入颁发者密钥, 串行化的凭证请求和属性值列表。 请注意,属性不应包含其类型为IdemiMixHiddenAttribute的属性 因为凭证需要携带所有属性值。

func (*Credential) Verify

func (*Credential) Verify(sk handlers.Big, ipk handlers.IssuerPublicKey, credential []byte, attributes []bccsp.IdemixAttribute) (err error)

验证检查IDemix凭据是否加密正确。它需要 在输入用户密钥(sk)、颁发者公钥(ipk)、串行凭证(凭证)时, 以及属性列表。属性列表是可选的,如果指定了该列表,请验证 检查凭证是否具有指定的属性。

type Ecp

type Ecp struct {
	E *FP256BN.ECP
}

ECP封装AMCL椭圆曲线点

func (*Ecp) Bytes

func (o *Ecp) Bytes() ([]byte, error)

type Issuer

type Issuer struct {
	NewRand func() *amcl.RAND
}

颁发者封装IDemix算法以生成颁发者密钥对

func (*Issuer) NewKey

func (i *Issuer) NewKey(attributeNames []string) (res handlers.IssuerSecretKey, err error)

new key生成新的颁发者密钥对

func (*Issuer) NewPublicKeyFromBytes

func (*Issuer) NewPublicKeyFromBytes(raw []byte, attributes []string) (res handlers.IssuerPublicKey, err error)

type IssuerPublicKey

type IssuerPublicKey struct {
	PK *cryptolib.IssuerPublicKey
}

IssuerPublickey封装IDemix颁发者公钥。

func (*IssuerPublicKey) Bytes

func (o *IssuerPublicKey) Bytes() ([]byte, error)

func (*IssuerPublicKey) Hash

func (o *IssuerPublicKey) Hash() []byte

type IssuerSecretKey

type IssuerSecretKey struct {
	SK *cryptolib.IssuerKey
}

IssuerPublickey封装IDemix颁发者密钥。

func (*IssuerSecretKey) Bytes

func (o *IssuerSecretKey) Bytes() ([]byte, error)

func (*IssuerSecretKey) Public

type NymSignatureScheme

type NymSignatureScheme struct {
	NewRand func() *amcl.RAND
}

nymsignaturescheme封装IDemix算法,使用IDemix进行签名和验证 假名。

func (*NymSignatureScheme) Sign

func (n *NymSignatureScheme) Sign(sk handlers.Big, Nym handlers.Ecp, RNym handlers.Big, ipk handlers.IssuerPublicKey, digest []byte) (res []byte, err error)

签名在传递的摘要上生成签名。它接受输入,用户密钥(sk)。 假名公钥(NYM)和密钥(RNYM)以及颁发者公钥(IPK)。

func (*NymSignatureScheme) Verify

func (*NymSignatureScheme) Verify(ipk handlers.IssuerPublicKey, Nym handlers.Ecp, signature, digest []byte) (err error)

验证是否检查传递的签名对于传递的摘要、颁发者公钥有效, 和假名公钥。

type Revocation

type Revocation struct {
}

吊销封装了用于吊销的IDemix算法

func (*Revocation) NewKey

func (*Revocation) NewKey() (*ecdsa.PrivateKey, error)

new key生成新的吊销密钥对。

func (*Revocation) Sign

func (*Revocation) Sign(key *ecdsa.PrivateKey, unrevokedHandles [][]byte, epoch int, alg bccsp.RevocationAlgorithm) (res []byte, err error)

符号生成一个新的CRI,与传递的无吊销句柄、epoch和吊销算法有关。

func (*Revocation) Verify

func (*Revocation) Verify(pk *ecdsa.PublicKey, criRaw []byte, epoch int, alg bccsp.RevocationAlgorithm) (err error)

验证是否检查传递的序列化CRI(CRIRAW)对于传递的吊销公钥有效, epoch和撤销算法。

type SignatureScheme

type SignatureScheme struct {
	NewRand func() *amcl.RAND
}

SignatureScheme封装IDemix算法以使用IDemix凭据进行签名和验证。

func (*SignatureScheme) Sign

func (s *SignatureScheme) Sign(cred []byte, sk handlers.Big, Nym handlers.Ecp, RNym handlers.Big, ipk handlers.IssuerPublicKey, attributes []bccsp.IdemixAttribute,
	msg []byte, rhIndex int, criRaw []byte) (res []byte, err error)

sign生成与传递的串行凭据(cred)相关的IDemix签名, 用户密钥(sk)、假名公钥(nym)和密钥(rnym)、颁发者公钥(ipk)。 以及要披露的属性。

func (*SignatureScheme) Verify

func (*SignatureScheme) Verify(ipk handlers.IssuerPublicKey, signature, digest []byte, attributes []bccsp.IdemixAttribute, rhIndex int, revocationPublicKey *ecdsa.PublicKey, epoch int) (err error)

验证检查IDemix签名对于传递的颁发者公钥、摘要、属性是否有效, 吊销索引(Rhindex)、吊销公钥和epoch。

type User

type User struct {
	NewRand func() *amcl.RAND
}

用户封装IDemix算法以生成用户密钥和假名。

func (*User) MakeNym

func (u *User) MakeNym(sk handlers.Big, ipk handlers.IssuerPublicKey) (r1 handlers.Ecp, r2 handlers.Big, err error)

makenym从传递的用户密钥(sk)和颁发者公钥(ipk)生成一个新的假名密钥对。

func (*User) NewKey

func (u *User) NewKey() (res handlers.Big, err error)

newkey生成IDemix用户密钥

func (*User) NewKeyFromBytes

func (*User) NewKeyFromBytes(raw []byte) (res handlers.Big, err error)

func (*User) NewPublicNymFromBytes

func (*User) NewPublicNymFromBytes(raw []byte) (r handlers.Ecp, err error)

Jump to

Keyboard shortcuts

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