Chris Duncan [Sat, 7 Mar 2026 07:37:59 +0000 (23:37 -0800)]
Refactor from tweetnacl 16x16 radix limbs to libsodium 10x25.5-bit radix limb implementation to gain massive speed boost with precomputed base point table.
Chris Duncan [Wed, 4 Mar 2026 22:40:44 +0000 (14:40 -0800)]
Final preradix-25 refactor.
Reorder verify parameters to align with libsodium. Refactor point classes. Add field element functions, group element functions, and scalar functions to support radix 25 migration. Replace tweetnacl modL function with libsodium scalar functions. Clean up variable names and documentation comments.
Chris Duncan [Tue, 3 Mar 2026 07:53:32 +0000 (23:53 -0800)]
Set up for migration to 10x25 radix implementation.
Split Blake2b hashing, field element arithmetic, and group element functions into separate files and import to main. Add precomputed base point products and other constants from libsodium. Rename public key derivation internal function for consistency.
Chris Duncan [Fri, 27 Feb 2026 08:03:35 +0000 (00:03 -0800)]
Pointers, vectors, and doubling.
Use pointers for field element constants and simplify scalarbase copy setup. Implement point doubling function. Vectorize selection logic and use built-in for swapping bits. Tweak error handling, maybe fix liftString at some point. Use immediate offsets instead of pointer arithmetic where possible. Pass pointers directly to scalarmult, add, and cswap.
Chris Duncan [Wed, 25 Feb 2026 22:31:34 +0000 (14:31 -0800)]
Overhaul module to use static buffers to prevent memory leaks, 32-bit limbs to accelerate multiplication with SIMD vectors, copy I/O directly to and from buffers, simplify entry point functions in host code, and fix calculation bugs.