Two-level homomorphic encryption for Node.js by WebAssembly
npm install she-wasm
sec.decWithZkpDec(c, aux) returns [m, zkp] that zkp proves dec(c) = m for CipherTextGT c, and aux.verify(c, zkp, m) returns the correctness where aux = pub.getAuxiliaryForZkpDecGT().
sec.decWithZkpDec(c, pub) returns [m, zkp] that zkp proves dec(c) = m for CipherTextG1 c, and pub.verify(c, zkp, m) returns the correctness.
node test
`
How to use
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 :
Doc
* _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)
How to build
Install Emscripten.
`
git submodule update --init --resurcive
cd src
make
``