This library supports two kinds of lifted ElGamal encryption,
- which can add two ciphertexts many times, and
- can multiply two ciphertexts once.
For two vectors x = (x1, ..., xn) and y = (y1, ..., yn), EncG1(x1) * EncG2(y1) + ... + EncG1(xn) * EncG2(yn) = EncGT(x1 * y1 + ... + xn * yn).
see mcl
- 2023/Sep/06 The performance of enc/dec is a little improved.
- 2023/Aug/17 The performance of dec is a little improved.
- 2022/Jul/20 v1.0.0
- 2020/Dec/27 change file layout
- 2020/Dec/18
sec.decWithZkpDec(c, aux)
returns[m, zkp]
thatzkp
provesdec(c) = m
for CipherTextGT c, andaux.verify(c, zkp, m)
returns the correctness whereaux = pub.getAuxiliaryForZkpDecGT()
. - 2020/Nov/06
sec.decWithZkpDec(c, pub)
returns[m, zkp]
thatzkp
provesdec(c) = m
for CipherTextG1 c, andpub.verify(c, zkp, m)
returns the correctness.
node test
The version v0.7.0
breaks backward compatibility of the entry point.
- Node.js :
const she = require('she-wasm')
- React :
const she = require('she-wasm/browser')
- HTML :
<script src="https://herumi.github.io/she-wasm/browser/she.js"></script>
- Efficient Two-level Homomorphic Encryption in Prime-order Bilinear Groups and A Fast Implementation in WebAssembly, N. Attrapadung, G. Hanaoka, S. Mitsunari, Y. Sakai, K. Shimizu, and T. Teruya. ASIACCS 2018
- slide for ASIA CCS 2018 in English
- slide for SCIS 2018 in Japanese
- she-api
- she-api(Japanese)
Install Emscripten.
git submodule update --init --resurcive
cd src
make
modified new BSD License http://opensource.org/licenses/BSD-3-Clause
MITSUNARI Shigeo(herumi@nifty.com)