(H, r, s)
| 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) { |
no test coverage detected