kilic/bls12-381

Interface for Pub, Secret and Sign usage

eabz opened this issue · 3 comments

eabz commented

Hello @kilic I have been following this library long time ago and want to use it directly to create and sign using keypairs.
On older versions you had a package named blssig but seems it is removed now.

Do you have plans to implement it soon, or how should I implement it?

kilic commented

Hi @eabz, thanks!. I want to keep this repository as an elliptic curve library and export comprehensive API for many kinds of applications.

It'd be great to have BLS signature scheme library in a separate repository. I don't have plan to implement it in near term. However I'd be happy to help if you start implementing it.

eabz commented

Ok, i'll be implementing it.
Since I am not really familiar with the cryptographic implementation, I will really need help. Is there another way to contact you besides here?

eabz commented

@kilic here is the library: https://github.com/eabz/blssig

There is still a couple of things that need to be fixed and I'll probably need some guide upon doing proper testing.

Also, I noted that verifications are really slow (Compared with prysm benchmarks):

goos: darwin
goarch: amd64
pkg: github.com/eabz/blssig
BenchmarkSignature_Verify
BenchmarkSignature_Verify-8            	     418	   2826745 ns/op
BenchmarkSignature_AggregateVerify
BenchmarkSignature_AggregateVerify-8   	       5	 204786832 ns/op	 7102940 B/op	   34006 allocs/op
BenchmarkSecretKey_Marshal
BenchmarkSecretKey_Marshal-8           	10327432	       116 ns/op
PASS