static I: Float64Array = new Float64Array([0xa0b0, 0x4a0e, 0x1b27, 0xc4ee, 0xe478, 0xad2f, 0x1806, 0x2f43, 0xd7a7, 0x3dfb, 0x0099, 0x2b4d, 0xdf0b, 0x4fc1, 0x2480, 0x2b83])\r
static XY: Float64Array = new Float64Array([0xdd90, 0xa5b7, 0x8ab3, 0x6dde, 0x52f5, 0x7751, 0x9f80, 0x20f0, 0xe37d, 0x64ab, 0x4e8e, 0x66ea, 0x7665, 0xd78b, 0x5f0f, 0xe787])\r
\r
- static vn (x: Uint8Array, xi: number, y: Uint8Array, yi: number, n: number): number {\r
+ static #vn (x: Uint8Array, xi: number, y: Uint8Array, yi: number, n: number): number {\r
let d = 0\r
for (let i = 0; i < n; i++) {\r
d |= x[xi + i] ^ y[yi + i]\r
return (1 & ((d - 1) >>> 8)) - 1\r
}\r
\r
- static crypto_verify_32 (x: Uint8Array, xi: number, y: Uint8Array, yi: number): number {\r
- return this.vn(x, xi, y, yi, 32)\r
- }\r
-\r
static pow2523 (o: Float64Array, i: Float64Array): void {\r
const c: Float64Array = new Float64Array(16)\r
c.set(i.subarray(0, 16), 0)\r
const d = new Uint8Array(32)\r
this.pack25519(c, a)\r
this.pack25519(d, b)\r
- return this.crypto_verify_32(c, 0, d, 0)\r
+ return this.#vn(c, 0, d, 0, 32)\r
}\r
\r
static pack25519 (o: Uint8Array, n: Float64Array): void {\r
this.pack(t, p)\r
\r
n -= 64\r
- if (this.crypto_verify_32(sm, 0, t, 0)) {\r
+ if (this.#vn(sm, 0, t, 0, 32)) {\r
m.fill(0, 0, n)\r
return -1\r
}\r