This commit is contained in:
jude
2023-04-29 16:35:17 +01:00
parent cceb6dee90
commit 0fed48b79d
5 changed files with 65 additions and 15 deletions

View File

@ -368,6 +368,61 @@
console.log(`Bench done. Time per verification: ${performance.measure("rv-duration", "rv-start", "rv-end").duration / ROUNDS}`)
}
function FortifyProofBench() {
console.log("Warming up")
const ct = {
A: paillier.pubKey.encrypt(0n),
B: paillier.pubKey.encrypt(3n),
C: paillier.pubKey.encrypt(-3n),
D: paillier.pubKey.encrypt(0n),
E: paillier.pubKey.encrypt(0n)
}
const ROUNDS = 20;
for (let i = 0; i < 5; i++) {
proveFortify(ct)
}
console.log("Benching")
performance.mark("fp-start")
for (let i = 0; i < ROUNDS; i++) {
proveFortify(ct)
}
performance.mark("fp-end")
console.log(`Bench done. Time per proof: ${performance.measure("fp-duration", "fp-start", "fp-end").duration / ROUNDS}`)
}
function FortifyVerifierBench() {
console.log("Warming up")
const ROUNDS = 20;
const ct = {
A: paillier.pubKey.encrypt(0n),
B: paillier.pubKey.encrypt(3n),
C: paillier.pubKey.encrypt(-3n),
D: paillier.pubKey.encrypt(0n),
E: paillier.pubKey.encrypt(0n)
}
let proof = proveFortify(ct)
for (let i = 0; i < 5; i++) {
verifyFortify(proof, paillier.pubKey)
}
console.log("Benching")
performance.mark("rv-start")
for (let i = 0; i < ROUNDS; i++) {
verifyFortify(proof, paillier.pubKey)
}
performance.mark("rv-end")
console.log(`Bench done. Time per verification: ${performance.measure("rv-duration", "rv-start", "rv-end").duration / ROUNDS}`)
}
// https://gist.github.com/kawanet/352a2ed1d1656816b2bc
function string_to_buffer(src) {
return (new Uint16Array([].map.call(src, function(c) {