MCPcopy Create free account
hub / github.com/Moddable-OpenSource/moddable / _verify

Method _verify

modules/crypt/etc/dsa.js:75–90  ·  view source on GitHub ↗
(H, r, s)

Source from the content-addressed store, hash-verified

73 }
74 };
75 _verify(H, r, s) {
76 // w = 1/s mod q
77 // u1 = (SHA_1(M) * w) mod q
78 // u2 = rw mod q
79 // v = (g^u1 * y^u2 mod p) mod q
80 var p = this.p;
81 var q = this.q;
82 var g = this.g;
83 var y = this.x; // as the public key
84 var w = q.mulinv(s);
85 var h = BigInt.fromArrayBuffer(H);
86 var u1 = q.mul(h, w);
87 var u2 = q.mul(r, w);
88 var v = q.mod(p.exp2(g, u1, y, u2));
89 return this.comp(v, r) == 0;
90 };
91 verify(H, sig, asn1) {
92 var r, s;
93 if (asn1) {

Callers 1

verifyMethod · 0.95

Calls 4

mulinvMethod · 0.80
fromArrayBufferMethod · 0.65
modMethod · 0.65
mulMethod · 0.45

Tested by

no test coverage detected