Undergraduate dissertation
static | ||
templates | ||
whitepaper | ||
.gitignore | ||
.prettierrc.toml | ||
app.py | ||
LICENSE | ||
README.md | ||
requirements.txt | ||
risk.pdf |
Riskless
Undergraduate dissertation
Running the demo
pip install -r requirements.txt
python3 app.py
- Navigate browser to
http://localhost:5000
Running the benchmarks
- Press F12
- Type the name of the benchmark to run:
RSABench
PaillierBench
ZeroProofBench
ZeroProofVerifierBench
ZeroProofSizeBench
Protocol4Bench
Protocol4VerifierBench
Protocol4SizeBench
- Wait for results to output in milliseconds
Changing the key size
The key size is determined by the variable KEY_SIZE
in random_primes.js
. This
variable dictates the size of each prime used in the modulus, so the total key size
is twice this value. Recommend selecting one of 512, 1024, or 2048. In fact, I recommend
selecting 512 if you want the program to run in less than 3-5 business days.
Key generation will still take some time. The browser may tell you the tab is not
responding, but just wait and it'll be fine eventually. If not, short-circuit the
generate_safe_prime
function in random_primes.js
to just return a normal prime
(there is a comment on the conditional that needs to be removed).
Playing the game
- Open the game in two separate tabs
- Press "Ready" on both tabs once they are fully loaded
Implementation bugs
- When attacking, the units are not subtracted from the attacking region correctly.
- Some proofs are not verified
- Proof of the ciphertext used when claiming.
- Proof of the ciphertext used when capturing.