]> git.codecow.com Git - libnemo.git/commitdiff
Revert to biased carry.
authorChris Duncan <chris@zoso.dev>
Sun, 17 Aug 2025 09:42:28 +0000 (02:42 -0700)
committerChris Duncan <chris@zoso.dev>
Sun, 17 Aug 2025 09:42:28 +0000 (02:42 -0700)
src/lib/crypto/nano-nacl.ts

index 0649861df7e6c97ec1fc2ec8c33fc8218927eb59..80f43d8c88c35e565b4b728b77f4885bb064a152 100644 (file)
@@ -50,13 +50,13 @@ export class NanoNaCl {
        static car25519 (out: Float64Array): void {\r
                let v, c\r
                const s = 1 << 16\r
-               c = 0\r
+               c = 1\r
                for (let i = 0; i < 16; i++) {\r
-                       v = out[i] + c + s\r
+                       v = out[i] + c + s - 1\r
                        out[i] = v % s\r
-                       c = (v / s - 1) | 0\r
+                       c = (v / s) | 0\r
                }\r
-               out[0] += 38 * c\r
+               out[0] += 38 * (c - 1)\r
        }\r
 \r
        static inv25519 (out: Float64Array, i: Float64Array): void {\r