commit | 3169560eca65ed4943f37c3813504d9a71d073db | [log] [tgz] |
---|---|---|
author | Asim Shankar <ashankar@google.com> | Wed Sep 16 11:27:08 2015 -0700 |
committer | Asim Shankar <ashankar@google.com> | Wed Sep 16 11:27:08 2015 -0700 |
tree | 098a9d0a51f511d1b7bf48a216b0cb0f3e9d23ad | |
parent | 77a37cedbb50f856598ef5d7a411102141da1cc5 [diff] |
ibe: Implementation of the Boneh-Boyen identity-based-encryption scheme. (Joint work with David Wu & Ankur Taly). This patch adds a package that defines interfaces for identity-based-encryption (IBE) and provides an implementation of those interfaces using the Boneh-Boyen (BB1) scheme described in "Efficient Selective Identity-Based Encryption Without Random Oracles" by Dan Boneh & Xavier Boyen (http://crypto.stanford.edu/~dabo/papers/bbibe.pdf). Specifically, the operations defined in Section 4.3 of that paper. This code was originally implemented by David Wu, with some restructuring and benchmarks added by the author of this patch. Benchmark results on my 2015 MacBook Pro with a 3.1GHz Intel Core i7: BenchmarkExtractBB1-4 100 20243772 ns/op (20ms) BenchmarkEncryptBB-4 100 23291797 ns/op (23ms) BenchmarkDecryptBB-4 30 38485444 ns/op (38ms) Initial experimentation by David Wu suggests that using a more efficient (C-based) implementation of the Naehric-Niederhagen-Schwabe pairing library can improve performance by a factor of 10x. Incorporating that and other missing features (like Marshaling/Unmarshaling functions to help persist the PrivateKey and Params) is left for a future commit. the Boneh-Boyen Change-Id: I2ee4a55cfcd742d963ff3e79f717c188892b247c
This repository contains general purpose libraries used by the Vanadium project. TEST