arnaucube
arnaucube/blindsig-client-server-examplePublic Self-hosted repository
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