]> git.codecow.com Git - libnemo.git/commitdiff
Reorder nacl functions.
authorChris Duncan <chris@zoso.dev>
Mon, 4 Aug 2025 21:58:34 +0000 (14:58 -0700)
committerChris Duncan <chris@zoso.dev>
Mon, 4 Aug 2025 21:58:34 +0000 (14:58 -0700)
src/lib/nano-nacl.ts

index c0c283c1bccbcc0918b0700658b0f3873dd31460..21f8c95e7d604d311ac6fadb1458e2063db418f3 100644 (file)
@@ -42,6 +42,18 @@ export class NanoNaCl {
                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
+               for (let a = 250; a >= 0; a--) {\r
+                       this.Square(c, c)\r
+                       if (a !== 1) {\r
+                               this.Multiply(c, c, i)\r
+                       }\r
+               }\r
+               o.set(c, 0)\r
+       }\r
+\r
        static car25519 (o: Float64Array): void {\r
                let v, c = 1\r
                for (let i = 0; i < 16; i++) {\r
@@ -52,14 +64,24 @@ export class NanoNaCl {
                o[0] += 38 * (c - 1)\r
        }\r
 \r
-       static sel25519 (p: Float64Array, q: Float64Array, b: number): void {\r
-               let t\r
-               const c = ~(b - 1)\r
-               for (let i = 0; i < 16; i++) {\r
-                       t = c & (p[i] ^ q[i])\r
-                       p[i] ^= t\r
-                       q[i] ^= t\r
+       static inv25519 (o: Float64Array, i: Float64Array): void {\r
+               const c: Float64Array = new Float64Array(16)\r
+               c.set(i.subarray(0, 16), 0)\r
+               for (let a = 253; a >= 0; a--) {\r
+                       this.Square(c, c)\r
+                       if (a !== 2 && a !== 4) {\r
+                               this.Multiply(c, c, i)\r
+                       }\r
                }\r
+               o.set(c, 0)\r
+       }\r
+\r
+       static neq25519 (a: Float64Array, b: Float64Array): number {\r
+               const c = new Uint8Array(32)\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
        }\r
 \r
        static pack25519 (o: Uint8Array, n: Float64Array): void {\r
@@ -87,20 +109,22 @@ export class NanoNaCl {
                }\r
        }\r
 \r
-       static neq25519 (a: Float64Array, b: Float64Array): number {\r
-               const c = new Uint8Array(32)\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
-       }\r
-\r
        static par25519 (a: Float64Array): number {\r
                const d = new Uint8Array(32)\r
                this.pack25519(d, a)\r
                return d[0] & 1\r
        }\r
 \r
+       static sel25519 (p: Float64Array, q: Float64Array, b: number): void {\r
+               let t\r
+               const c = ~(b - 1)\r
+               for (let i = 0; i < 16; i++) {\r
+                       t = c & (p[i] ^ q[i])\r
+                       p[i] ^= t\r
+                       q[i] ^= t\r
+               }\r
+       }\r
+\r
        static unpack25519 (o: Float64Array, n: Uint8Array): void {\r
                for (let i = 0; i < 16; i++) {\r
                        o[i] = n[2 * i] + (n[2 * i + 1] << 8)\r
@@ -202,30 +226,6 @@ export class NanoNaCl {
                o.set(t.slice(0, 16), 0)\r
        }\r
 \r
-       static inv25519 (o: Float64Array, i: Float64Array): void {\r
-               const c: Float64Array = new Float64Array(16)\r
-               c.set(i.subarray(0, 16), 0)\r
-               for (let a = 253; a >= 0; a--) {\r
-                       this.Square(c, c)\r
-                       if (a !== 2 && a !== 4) {\r
-                               this.Multiply(c, c, i)\r
-                       }\r
-               }\r
-               o.set(c, 0)\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
-               for (let a = 250; a >= 0; a--) {\r
-                       this.Square(c, c)\r
-                       if (a !== 1) {\r
-                               this.Multiply(c, c, i)\r
-                       }\r
-               }\r
-               o.set(c, 0)\r
-       }\r
-\r
        static add (p: Float64Array[], q: Float64Array[]): void {\r
                const a: Float64Array = new Float64Array(16)\r
                const b: Float64Array = new Float64Array(16)\r