ScrambleDB WASM demo fix / ElGamal based Rerandomizable encryption #80
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR introduces a purely ElGamal-based rerandomizable encryption scheme for arbitrarily long ciphertexts and makes that the default over the HPKE based double encryption.
Unfortunately the purely ElGamal-based encryption scheme is very slow since it basically encodes a message byte for byte as P256 group elements and the performs encryption / randomization / decryption on those encoded message bytes indivually. This takes a lot of time, as does the encoding and decoding.
This should also fix the WASM demo, since we no longer depend on libcrux (for HPKE) by default. We no longer need emscripten to build the demo, running
wasm-pack build --target web --features wasm
seems to work. Still some issues apparently, since the demo is not displayed when served in the way the old version was served.