blindsig-client-server-example/client/index-wasm.js
client/index-wasm.jsRaw
1// signer public parameters
2let rx, ry, qx, qy;
3// user parameters
4let m, mBlinded, uA, uB, uFx, uFy, sigS, sigFx, sigFy;
5
6function newRequest() {
7 m = document.getElementById("msg").value;
8
9 axios.get('/request')
10 .then(function (res) {
11 console.log("/request res:", res.data);
12 rx = res.data.signerR.x;
13 ry = res.data.signerR.y;
14 qx = res.data.signerQ.x;
15 qy = res.data.signerQ.y;
16 document.getElementById("signerRx").innerHTML = "signerR.x: " + rx;
17 document.getElementById("signerRy").innerHTML = "signerR.y: " + ry;
18
19 document.getElementById("signerQx").innerHTML = "signerQ.x: " + qx;
20 document.getElementById("signerQy").innerHTML = "signerQ.y: " + qy;
21
22 console.log("blind msg");
23 let blindRes = wasmBlind(m, rx, ry);
24 console.log("blindRes:", blindRes);
25 mBlinded = blindRes.mBlinded;
26 uA = blindRes.uA;
27 uB = blindRes.uB;
28 uFx = blindRes.uFx;
29 uFy = blindRes.uFy;
30 })
31 .catch(function (error) {
32 console.error(error);
33 alert(error);
34 });
35}
36
37function askBlindSign() {
38 console.log("askBlindSign");
39 let data = {
40 m: mBlinded,
41 r: {x:rx, y:ry}
42 };
43 axios.post('/blindsign', data)
44 .then(function (res) {
45 console.log("/blindSign res:", res.data);
46 document.getElementById("sBlind").innerHTML = "sBlind: " + res.data.sBlind;
47
48 let unblindRes = wasmUnblind(res.data.sBlind, m, uA, uB, uFx, uFy);
49 console.log("unblind", unblindRes);
50 sigS = unblindRes.s;
51 sigFx = unblindRes.fx;
52 sigFy = unblindRes.fy;
53 document.getElementById("sigS").innerHTML = "s: " + sigS;
54 document.getElementById("sigFx").innerHTML = "f.x: " + sigFx;
55 document.getElementById("sigFy").innerHTML = "f.y: " + sigFy;
56 })
57 .catch(function (error) {
58 console.error(error);
59 alert(error);
60 });
61}
62
63function verify() {
64 let verified = wasmVerify(m, sigS, sigFx, sigFy, qx, qy);
65 console.log("verify", verified);
66 document.getElementById("verified").innerHTML = "signature verification, verified: " + verified;
67}
68