库函数
详情请见github链接,喜欢的朋友们还请在github上面给我打小星星喔
Exmple
func main(){
params:=pbc.GenerateA(160,512)
pairing:=params.NewPairing()
g1:=pairing.NewG1().Rand()
g2:=pairing.NewG2().Rand()
priv:=GenerateGroup(g1,g2 ,pairing)
//genarate new member
member:=priv.NewMember()
//generate new cert
cert:=priv.Cert(member.u_)
fmt.Println(cert.A.String())
member1:=priv.NewMember()
cert1:=priv.Cert(member1.u_)
fmt.Println(cert1.A.String())
//verify cert
member.Verify_cert(cert)
member1.Verify_cert(cert1)
//generate mima
c1:=pairing.NewG1().Rand()
c2:=pairing.NewG1().Rand()
c3:=pairing.NewG1().Mul(c1,c2)
//generate signature
sig:=member.Sign(cert,c1,c2,c3)
sig1:=member1.Sign(cert1,c1,c2,c3)
//verify signature
priv.Group.Verify_sign(sig,member.h_)
priv.Group.Verify_sign(sig1,member1.h_)
priv.open(sig)
priv.open(sig1)
}
函数
func (member *MemberKey) Verify_cert(cert *Cert)bool
func GenerateGroup(g_1,g_2 *pbc.Element,pairing_ *pbc.Pairing) (*PrivateKey)
func (g *Group) precompute()
func (priv *PrivateKey) NewMember() (*MemberKey)
func (priv *PrivateKey)Cert(u3 *pbc.Element)(*Cert)
func (priv *PrivateKey)open(sig *Sig)*pbc.Element
func (g *Group) Verify_sign(sig *Sig,h3 *pbc.Element) bool
func (mem *MemberKey) Sign(cert *Cert,c1,c2,c3 *pbc.Element) (*Sig)
BBS04签名介绍