commit | a629f70fb14cfe62d7616fb6bef7836675b15f92 | [log] [tgz] |
---|---|---|
author | Asim Shankar <ashankar@google.com> | Thu Dec 10 15:35:40 2015 -0500 |
committer | Asim Shankar <ashankar@google.com> | Thu Dec 10 15:35:40 2015 -0500 |
tree | f154c7580b574b1237e5c5f819da70241fed7a59 | |
parent | f3debbd70c6ee3e5ca85bd4ebae8a4bcceede99f [diff] |
ibe: Avoid copies of bn256.{G1,G2,GT} objects While the golang.org/x/crypto/bn256 implementation is amenable to these object copies, other implementations such as github.com/asimshankar/bn256 are not. The motivation for this change was so that we experiment with switching to the pairing implementation backed by https://www.cryptojedi.org/crypto/#dclxvi Without this patch, switching to github.com/asimshankar/bn256 causes SIGSEGVs as copying the Go-objects might mess up the state in C. For the curious: This change by itself shows no change in the benchmarks, but switching to https://www.cryptojedi.org/crypto/#dclxvi shows a considerable improvement on my amd64 machine: BenchmarkExtractBB1-6 33ms 1ms (16x speedup) BenchmarkEncryptBB-6 41ms 5ms (7x speedup) BenchmarkDecryptBB-6 96ms 5ms (16x speedup) Change-Id: I3409e2df62980c974f3917ef30e8422bfc4a8b37
This repository contains general purpose libraries used by the Vanadium project. TEST