// signer public parameters let rx, ry, qx, qy; // user parameters let m, mBlinded, uA, uB, uFx, uFy, sigS, sigFx, sigFy; function newRequest() { m = document.getElementById("msg").value; axios.get('/request') .then(function (res) { console.log("/request res:", res.data); rx = res.data.signerR.x; ry = res.data.signerR.y; qx = res.data.signerQ.x; qy = res.data.signerQ.y; document.getElementById("signerRx").innerHTML = "signerR.x: " + rx; document.getElementById("signerRy").innerHTML = "signerR.y: " + ry; document.getElementById("signerQx").innerHTML = "signerQ.x: " + qx; document.getElementById("signerQy").innerHTML = "signerQ.y: " + qy; console.log("blind msg"); let blindRes = wasmBlind(m, rx, ry); console.log("blindRes:", blindRes); mBlinded = blindRes.mBlinded; uA = blindRes.uA; uB = blindRes.uB; uFx = blindRes.uFx; uFy = blindRes.uFy; }) .catch(function (error) { console.error(error); alert(error); }); } function askBlindSign() { console.log("askBlindSign"); let data = { m: mBlinded, r: {x:rx, y:ry} }; axios.post('/blindsign', data) .then(function (res) { console.log("/blindSign res:", res.data); document.getElementById("sBlind").innerHTML = "sBlind: " + res.data.sBlind; let unblindRes = wasmUnblind(res.data.sBlind, m, uA, uB, uFx, uFy); console.log("unblind", unblindRes); sigS = unblindRes.s; sigFx = unblindRes.fx; sigFy = unblindRes.fy; document.getElementById("sigS").innerHTML = "s: " + sigS; document.getElementById("sigFx").innerHTML = "f.x: " + sigFx; document.getElementById("sigFy").innerHTML = "f.y: " + sigFy; }) .catch(function (error) { console.error(error); alert(error); }); } function verify() { let verified = wasmVerify(m, sigS, sigFx, sigFy, qx, qy); console.log("verify", verified); document.getElementById("verified").innerHTML = "signature verification, verified: " + verified; }