arnaucube
arnaucube/circomlibPublic Self-hosted repository
feat: makes mimcsponge contract act like the circuit version
Kobi Gurkan kobigurk@gmail.com
Mon, 08 Jul 2019 10:52:23 +0300
commit

1483abaa2fe928620f19de4724f326267f9feafa

parent

324b8bf8cc4a80357354752deb6c2ae5be22e5f5

2 files changed, 9 insertions(+), 5 deletions(-)

jump to
M package-lock.json → package-lock.json

@@ -8632,7 +8632,7 @@ }

}, "os-tmpdir": { "version": "1.0.2", - "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" }, "p-cancelable": {

@@ -9248,7 +9248,7 @@ }

}, "sprintf-js": { "version": "1.0.3", - "resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, "sshpk": {
M src/mimcsponge_gencontract.js → src/mimcsponge_gencontract.js

@@ -50,7 +50,11 @@ C.mulmod(); // d=t^5 xR q xL k q

C.addmod(); // e=t^5+xR xL k q (for next round: xL xR k q) for (let i=0; i<n-1; i++) { - ci = Web3Utils.keccak256(ci); + if (i < n-2) { + ci = Web3Utils.keccak256(ci); + } else { + ci = "0x00"; + } C.swap(1); // xR xL k q C.dup(3); // q xR xL k q C.dup(3); // k q xR xL k q

@@ -74,9 +78,9 @@ C.swap(2); // xR d q xL k q

C.addmod(); // e=t^5+xR xL k q (for next round: xL xR k q) } - C.push("0x00"); - C.mstore(); // Save it to pos 0; C.push("0x20"); + C.mstore(); // Save it to pos 0; + C.push("0x00"); C.mstore(); // Save it to pos 1; C.push("0x40"); C.push("0x00");