BBS04签名(含库函数)

库函数

详情请见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签名介绍

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_37719047/article/details/85602802
bbs