More Related Content
More from Napier University (20)
BLS Signatures
- 2. Public and private keys with ECC
Private key:
3000435645222292238384993377803994445231
5749064290473682127167271568896730865
Public key:
((510349466858130011708174351023534141234
70700731734176493660185826748147116266,6
4210743524728530290185905551942812616400
571488225773882109119010482573127691),
(154347787600214066669276686400572148050
94329177828734336347158339868964471406,1
6458834280993920926797344108664633448008
87723192890577720280731380716208522))
- 13. Tripartite Key Share import bn256
a,_ = bn256.g2_random()
b,_ = bn256.g2_random()
c,_ = bn256.g2_random()
print "a:",a print "b:",b print "c:",c
pa = bn256.g1_scalar_base_mult(a)
qa = bn256.g2_scalar_base_mult(a)
print "Pa (generated from G1):",pa
print "Qa: (generated from G2)",qa
pb = bn256.g1_scalar_base_mult(b)
qb = bn256.g2_scalar_base_mult(b)
pc = bn256.g1_scalar_base_amult(c)
qc = bn256.g2_scalar_base_mult(c)
k1= bn256.optimal_ate( qc,pb)
v1 =k1.exp(a)
print "Key1:",
v1.x k2= bn256.optimal_ate( qa,pc)
v2 =k2.exp(b)
#print "Key2:",v2.x
k3= bn256.optimal_ate( qb,pa)
v3 =k3.exp(c)
#print "Key3:",v3.x
if (v1==v2 == v3):
- 14. Tripartite Key Share a:
606360743810913691978275367595286157330984168617581986083
66189372866965005041
b:
112470929226171079981303075008501844092160735162102556422
19825916479131083134
c:
242884733589679234288833987702141844686310533263025067207
36367961192472481050
pa (generated from G1):
(86105122028063057751813726031967023093967819126418021244
60940919865940423719,
370343612508781080007527750365119374781311320881562655896
18251393353249913293)
qa: (generated from G2)
((5976954856244468135363683841384682617853280824656397988
8615064998271775750431,3219378630704500599430065426421728
4966051268717356168670774189430830488090370),
(37811650259301145322109276722276205627276211121476528136
991019224758641910695,48576140729896170279426296298748686
639125993076539153704602345157165462229))