]> git.codecow.com Git - nano25519.git/log
nano25519.git
4 weeks agoFix unit test ranges.
Chris Duncan [Thu, 3 Sep 2026 05:44:01 +0000 (22:44 -0700)]
Fix unit test ranges.

4 weeks agoExpand unit tests for equalbytes.
Chris Duncan [Thu, 3 Sep 2026 05:17:45 +0000 (22:17 -0700)]
Expand unit tests for equalbytes.

4 weeks agoRename verify algorithms.
Chris Duncan [Thu, 3 Sep 2026 05:13:31 +0000 (22:13 -0700)]
Rename verify algorithms.

4 weeks agoMigrate build tests to their own file.
Chris Duncan [Tue, 1 Sep 2026 06:11:12 +0000 (23:11 -0700)]
Migrate build tests to their own file.

4 weeks agoImport initial memory instead of exporting so that build tests can run and throw...
Chris Duncan [Tue, 1 Sep 2026 06:02:16 +0000 (23:02 -0700)]
Import initial memory instead of exporting so that build tests can run and throw helpful messages instead of just crashing exported memory.

4 weeks agoFix terminology.
Chris Duncan [Tue, 1 Sep 2026 05:53:28 +0000 (22:53 -0700)]
Fix terminology.

5 weeks agoRetract unsupported verify_blocks correctness claim in agent file.
Chris Duncan [Sun, 30 Aug 2026 02:02:30 +0000 (19:02 -0700)]
Retract unsupported verify_blocks correctness claim in agent file.

5 weeks agoUpdate agent file.
Chris Duncan [Sat, 29 Aug 2026 22:11:28 +0000 (15:11 -0700)]
Update agent file.

5 weeks agoFix error string type.
Chris Duncan [Sat, 29 Aug 2026 21:53:03 +0000 (14:53 -0700)]
Fix error string type.

5 weeks agoEncode errors for passing among WASM functions and out to host.
Chris Duncan [Sat, 29 Aug 2026 21:43:54 +0000 (14:43 -0700)]
Encode errors for passing among WASM functions and out to host.

5 weeks agoAvoid logging long message string vectors too.
Chris Duncan [Sat, 29 Aug 2026 21:30:36 +0000 (14:30 -0700)]
Avoid logging long message string vectors too.

5 weeks agoAvoid logging entire long message when testing.
Chris Duncan [Sat, 29 Aug 2026 21:28:07 +0000 (14:28 -0700)]
Avoid logging entire long message when testing.

5 weeks agoReturn exit code from crypto_sign to allow buffer cleanup.
Chris Duncan [Sat, 29 Aug 2026 21:24:56 +0000 (14:24 -0700)]
Return exit code from crypto_sign to allow buffer cleanup.

5 weeks agoMove mutex lock out of try block so it does not clear buffers from underneath the...
Chris Duncan [Sat, 29 Aug 2026 09:17:20 +0000 (02:17 -0700)]
Move mutex lock out of try block so it does not clear buffers from underneath the currently executing function.

5 weeks agoThrow if memory grows instead of just rewrapping it.
Chris Duncan [Sat, 29 Aug 2026 08:53:51 +0000 (01:53 -0700)]
Throw if memory grows instead of just rewrapping it.

5 weeks agoImplement mutex pattern to prevent async wrappers or similar from breaking shared...
Chris Duncan [Sat, 29 Aug 2026 08:46:09 +0000 (01:46 -0700)]
Implement mutex pattern to prevent async wrappers or similar from breaking shared buffer layout.

5 weeks agoUpdate doc comment.
Chris Duncan [Sat, 29 Aug 2026 07:29:04 +0000 (00:29 -0700)]
Update doc comment.

5 weeks agoPass ge object instead of pointer for A.
Chris Duncan [Sat, 29 Aug 2026 07:25:22 +0000 (00:25 -0700)]
Pass ge object instead of pointer for A.

5 weeks agoFill verify buffer to fail closed at instantiation.
Chris Duncan [Sat, 29 Aug 2026 07:04:43 +0000 (00:04 -0700)]
Fill verify buffer to fail closed at instantiation.

5 weeks agoFix documentation of constants.
Chris Duncan [Sat, 29 Aug 2026 06:47:19 +0000 (23:47 -0700)]
Fix documentation of constants.

5 weeks agoFix bulk block count passed to WASM.
Chris Duncan [Sat, 29 Aug 2026 06:37:01 +0000 (23:37 -0700)]
Fix bulk block count passed to WASM.

5 weeks agoFix buffer slicing when normalizing.
Chris Duncan [Sat, 29 Aug 2026 06:33:32 +0000 (23:33 -0700)]
Fix buffer slicing when normalizing.

5 weeks agoReturn pointer to A and pass it into relaxed verify.
Chris Duncan [Sat, 29 Aug 2026 05:53:43 +0000 (22:53 -0700)]
Return pointer to A and pass it into relaxed verify.

5 weeks agoDocument return value.
Chris Duncan [Sat, 29 Aug 2026 05:30:03 +0000 (22:30 -0700)]
Document return value.

5 weeks agoSet verify output to fail closed on host-side clearing.
Chris Duncan [Sat, 29 Aug 2026 04:56:18 +0000 (21:56 -0700)]
Set verify output to fail closed on host-side clearing.

5 weeks agoReset buffer view after calling WASM function.
Chris Duncan [Sat, 29 Aug 2026 04:54:00 +0000 (21:54 -0700)]
Reset buffer view after calling WASM function.

5 weeks agoFix unit test for equalbytes.
Chris Duncan [Sat, 29 Aug 2026 04:51:34 +0000 (21:51 -0700)]
Fix unit test for equalbytes.

5 weeks agoFix truncated data type.
Chris Duncan [Sat, 29 Aug 2026 04:51:16 +0000 (21:51 -0700)]
Fix truncated data type.

5 weeks agoUpdate agent file.
Chris Duncan [Fri, 28 Aug 2026 21:56:45 +0000 (14:56 -0700)]
Update agent file.

5 weeks agoBump max bulk block verification per speed test results.
Chris Duncan [Fri, 28 Aug 2026 19:52:59 +0000 (12:52 -0700)]
Bump max bulk block verification per speed test results.

5 weeks agoUpdate speed test page to force test size of 1 which still processes MAX_VERIFY_BLOCK...
Chris Duncan [Fri, 28 Aug 2026 19:50:21 +0000 (12:50 -0700)]
Update speed test page to force test size of 1 which still processes MAX_VERIFY_BLOCKS messages.

5 weeks agoUpdate speed test page to use byte arguments by default.
Chris Duncan [Fri, 28 Aug 2026 19:19:05 +0000 (12:19 -0700)]
Update speed test page to use byte arguments by default.

5 weeks agoUpdate agent file.
Chris Duncan [Fri, 28 Aug 2026 18:45:12 +0000 (11:45 -0700)]
Update agent file.

5 weeks agoExport constants for consumer use. Increase minimum message buffer allocation to...
Chris Duncan [Fri, 28 Aug 2026 17:54:58 +0000 (10:54 -0700)]
Export constants for consumer use. Increase minimum message buffer allocation to a full page of 64 KiB. Increase initial memory accordingly.

5 weeks agoUpdate agent file.
Chris Duncan [Fri, 28 Aug 2026 13:00:53 +0000 (06:00 -0700)]
Update agent file.

5 weeks agoFix staged byte comparison.
Chris Duncan [Fri, 28 Aug 2026 01:55:19 +0000 (18:55 -0700)]
Fix staged byte comparison.

5 weeks agoFix byte comparison.
Chris Duncan [Fri, 28 Aug 2026 01:44:27 +0000 (18:44 -0700)]
Fix byte comparison.

5 weeks agoFix test result.
Chris Duncan [Fri, 28 Aug 2026 01:24:44 +0000 (18:24 -0700)]
Fix test result.

5 weeks agoUpdate problem vector test.
Chris Duncan [Fri, 28 Aug 2026 00:26:30 +0000 (17:26 -0700)]
Update problem vector test.

5 weeks agoFix relaxed verify.
Chris Duncan [Fri, 28 Aug 2026 00:21:40 +0000 (17:21 -0700)]
Fix relaxed verify.

5 weeks agoStage cofactorless strict verification for later when test vectors are available.
Chris Duncan [Thu, 27 Aug 2026 23:53:29 +0000 (16:53 -0700)]
Stage cofactorless strict verification for later when test vectors are available.

5 weeks agoRelax verify for donna.
Chris Duncan [Thu, 27 Aug 2026 23:50:57 +0000 (16:50 -0700)]
Relax verify for donna.

5 weeks agoFix shadowed loop counter.
Chris Duncan [Thu, 27 Aug 2026 17:06:12 +0000 (10:06 -0700)]
Fix shadowed loop counter.

5 weeks agoFix max sign/verify message bytelength.
Chris Duncan [Thu, 27 Aug 2026 17:02:06 +0000 (10:02 -0700)]
Fix max sign/verify message bytelength.

5 weeks agoRefactor I/O buffers to separate per primitive. Reduce bulk block verification size...
Chris Duncan [Thu, 27 Aug 2026 16:04:41 +0000 (09:04 -0700)]
Refactor I/O buffers to separate per primitive. Reduce bulk block verification size, see src/assembly/index.ts > verify_blocks for more info.

5 weeks agoTest bulk speed improvement with random inputs instead of repeated.
Chris Duncan [Thu, 27 Aug 2026 14:44:15 +0000 (07:44 -0700)]
Test bulk speed improvement with random inputs instead of repeated.

5 weeks agoReverse hash and signature order to match libsodium convention for combined mode.
Chris Duncan [Thu, 27 Aug 2026 14:25:14 +0000 (07:25 -0700)]
Reverse hash and signature order to match libsodium convention for combined mode.

5 weeks agoAdjust names and sort order.
Chris Duncan [Thu, 27 Aug 2026 14:15:28 +0000 (07:15 -0700)]
Adjust names and sort order.

5 weeks agoMerge local buffers since execution is all synchronous.
Chris Duncan [Thu, 27 Aug 2026 13:53:50 +0000 (06:53 -0700)]
Merge local buffers since execution is all synchronous.

5 weeks agoClear output buffer and locals prior to execution.
Chris Duncan [Thu, 27 Aug 2026 13:47:47 +0000 (06:47 -0700)]
Clear output buffer and locals prior to execution.

5 weeks agoDelete unused local buffer.
Chris Duncan [Thu, 27 Aug 2026 07:21:31 +0000 (00:21 -0700)]
Delete unused local buffer.

5 weeks agoCompute output buffer size instead of defining.
Chris Duncan [Thu, 27 Aug 2026 07:05:15 +0000 (00:05 -0700)]
Compute output buffer size instead of defining.

5 weeks agoFix exit code treated as Boolean.
Chris Duncan [Thu, 27 Aug 2026 07:01:08 +0000 (00:01 -0700)]
Fix exit code treated as Boolean.

5 weeks agoFix missing cast.
Chris Duncan [Thu, 27 Aug 2026 06:53:44 +0000 (23:53 -0700)]
Fix missing cast.

5 weeks agoFix object that is not a pointer.
Chris Duncan [Thu, 27 Aug 2026 06:52:10 +0000 (23:52 -0700)]
Fix object that is not a pointer.

5 weeks agoWrite verification results directly to output buffer.
Chris Duncan [Thu, 27 Aug 2026 06:48:54 +0000 (23:48 -0700)]
Write verification results directly to output buffer.

5 weeks agoFix missing parenthesis.
Chris Duncan [Thu, 27 Aug 2026 06:44:06 +0000 (23:44 -0700)]
Fix missing parenthesis.

5 weeks agoSkip bulk block verification entirely if public key is invalid.
Chris Duncan [Thu, 27 Aug 2026 06:42:27 +0000 (23:42 -0700)]
Skip bulk block verification entirely if public key is invalid.

5 weeks agoMax out message buffer by allowing 341 blocks instead of 256.
Chris Duncan [Thu, 27 Aug 2026 04:56:13 +0000 (21:56 -0700)]
Max out message buffer by allowing 341 blocks instead of 256.

5 weeks agoExtract verification speed test so that blocks can be constructed prior to timing.
Chris Duncan [Thu, 27 Aug 2026 04:53:41 +0000 (21:53 -0700)]
Extract verification speed test so that blocks can be constructed prior to timing.

5 weeks agoPass max blocks dynamically.
Chris Duncan [Thu, 27 Aug 2026 04:52:28 +0000 (21:52 -0700)]
Pass max blocks dynamically.

5 weeks agoAdd option to check bulk verification on speed test page.
Chris Duncan [Thu, 27 Aug 2026 04:24:39 +0000 (21:24 -0700)]
Add option to check bulk verification on speed test page.

5 weeks agoSplit up error messaging for bulk block verification and add unit tests.
Chris Duncan [Thu, 27 Aug 2026 04:13:31 +0000 (21:13 -0700)]
Split up error messaging for bulk block verification and add unit tests.

5 weeks agoFix prematurely cleared local buffer.
Chris Duncan [Thu, 27 Aug 2026 03:54:28 +0000 (20:54 -0700)]
Fix prematurely cleared local buffer.

5 weeks agoSimplify array access.
Chris Duncan [Thu, 27 Aug 2026 03:38:04 +0000 (20:38 -0700)]
Simplify array access.

5 weeks agoPad fe constants to align with all other FieldElement instances of length 12.
Chris Duncan [Thu, 27 Aug 2026 03:24:57 +0000 (20:24 -0700)]
Pad fe constants to align with all other FieldElement instances of length 12.

5 weeks agoUpdate documentation for clarity.
Chris Duncan [Thu, 27 Aug 2026 03:10:51 +0000 (20:10 -0700)]
Update documentation for clarity.

5 weeks agoRename API parameter to further distinguish it verify_blocks from strict verify.
Chris Duncan [Thu, 27 Aug 2026 02:00:17 +0000 (19:00 -0700)]
Rename API parameter to further distinguish it verify_blocks from strict verify.

5 weeks agoExtract public key validation in verify to enable bulk ops.
Chris Duncan [Thu, 27 Aug 2026 01:55:29 +0000 (18:55 -0700)]
Extract public key validation in verify to enable bulk ops.

5 weeks agoRefactor signing to derive the public key from the private key input and compare...
Chris Duncan [Thu, 27 Aug 2026 01:22:27 +0000 (18:22 -0700)]
Refactor signing to derive the public key from the private key input and compare to the public key input.

5 weeks agoUpdate agent file.
Chris Duncan [Wed, 26 Aug 2026 08:40:19 +0000 (01:40 -0700)]
Update agent file.

5 weeks agoFix buffer clearing.
Chris Duncan [Wed, 26 Aug 2026 08:35:00 +0000 (01:35 -0700)]
Fix buffer clearing.

5 weeks agoDrop initial memory back down since it should fit again.
Chris Duncan [Wed, 26 Aug 2026 08:32:11 +0000 (01:32 -0700)]
Drop initial memory back down since it should fit again.

5 weeks agoUse constant for output buffer size.
Chris Duncan [Wed, 26 Aug 2026 08:31:58 +0000 (01:31 -0700)]
Use constant for output buffer size.

5 weeks agoFix buffer lengths and loop iterators.
Chris Duncan [Wed, 26 Aug 2026 08:15:33 +0000 (01:15 -0700)]
Fix buffer lengths and loop iterators.

5 weeks agoStart building out bulk Nano block verification, inserting all hash/signature pairs...
Chris Duncan [Wed, 26 Aug 2026 07:52:54 +0000 (00:52 -0700)]
Start building out bulk Nano block verification, inserting all hash/signature pairs into the message buffer and parsing them within WASM.

5 weeks agoAdd agent file.
Chris Duncan [Wed, 26 Aug 2026 05:54:28 +0000 (22:54 -0700)]
Add agent file.

5 weeks agoRemove unnecessary package property.
Chris Duncan [Wed, 26 Aug 2026 01:35:16 +0000 (18:35 -0700)]
Remove unnecessary package property.

5 weeks agoFix reversed parameters.
Chris Duncan [Wed, 26 Aug 2026 01:31:39 +0000 (18:31 -0700)]
Fix reversed parameters.

5 weeks agoClean up speed test page.
Chris Duncan [Tue, 25 Aug 2026 21:44:58 +0000 (14:44 -0700)]
Clean up speed test page.

5 weeks agoBreak up benchmarks for each primitive.
Chris Duncan [Tue, 25 Aug 2026 19:09:07 +0000 (12:09 -0700)]
Break up benchmarks for each primitive.

5 weeks agoFix a couple more parameter names.
Chris Duncan [Tue, 25 Aug 2026 18:55:25 +0000 (11:55 -0700)]
Fix a couple more parameter names.

5 weeks agoUpdate parameters for primitive wrappers to better reflect data.
Chris Duncan [Tue, 25 Aug 2026 18:53:17 +0000 (11:53 -0700)]
Update parameters for primitive wrappers to better reflect data.

5 weeks agoUpdate nano25519 sign test to properly pass private and public keys separately.
Chris Duncan [Tue, 25 Aug 2026 18:49:03 +0000 (11:49 -0700)]
Update nano25519 sign test to properly pass private and public keys separately.

5 weeks agoUpdate verify documentation and separate function variables.
Chris Duncan [Tue, 25 Aug 2026 18:41:13 +0000 (11:41 -0700)]
Update verify documentation and separate function variables.

5 weeks agoFix error message comparison tests.
Chris Duncan [Tue, 25 Aug 2026 18:40:36 +0000 (11:40 -0700)]
Fix error message comparison tests.

5 weeks agoFix documented variable names.
Chris Duncan [Tue, 25 Aug 2026 17:26:46 +0000 (10:26 -0700)]
Fix documented variable names.

5 weeks agoBump initial memory to accomodate new signature input buffer.
Chris Duncan [Tue, 25 Aug 2026 14:34:56 +0000 (07:34 -0700)]
Bump initial memory to accomodate new signature input buffer.

5 weeks agoUpdate import example.
Chris Duncan [Tue, 25 Aug 2026 14:20:54 +0000 (07:20 -0700)]
Update import example.

5 weeks agoRemove additional documentation of deprecated async module.
Chris Duncan [Tue, 25 Aug 2026 14:03:16 +0000 (07:03 -0700)]
Remove additional documentation of deprecated async module.

5 weeks agoDeprecate additional async references.
Chris Duncan [Tue, 25 Aug 2026 13:13:51 +0000 (06:13 -0700)]
Deprecate additional async references.

5 weeks agoUpdate node tests to deprecate secret key format.
Chris Duncan [Tue, 25 Aug 2026 13:01:34 +0000 (06:01 -0700)]
Update node tests to deprecate secret key format.

5 weeks agoRemove async test calls and concatenated secret key vectors.
Chris Duncan [Tue, 25 Aug 2026 12:50:13 +0000 (05:50 -0700)]
Remove async test calls and concatenated secret key vectors.

5 weeks agoDeprecate async module and focus on organizing buffers for batch prep.
Chris Duncan [Tue, 25 Aug 2026 00:38:02 +0000 (17:38 -0700)]
Deprecate async module and focus on organizing buffers for batch prep.

5 weeks agoHoist buffer pointers to only reach into wasm once per buffer instead of every call...
Chris Duncan [Mon, 24 Aug 2026 22:26:47 +0000 (15:26 -0700)]
Hoist buffer pointers to only reach into wasm once per buffer instead of every call site. Export buffer sizes for consistency when clearing.

5 weeks agoFix documentation.
Chris Duncan [Mon, 24 Aug 2026 22:25:17 +0000 (15:25 -0700)]
Fix documentation.

6 weeks agoMerge branch 'next/out-buf'
Chris Duncan [Sat, 22 Aug 2026 07:47:14 +0000 (00:47 -0700)]
Merge branch 'next/out-buf'

- derive() and sign() can now optionally take a preallocated output buffer.
- Fixed verify() returning unsigned result instead of signed (-1 vs 255)
- Vastly reduced WASM module size by flattening base point arrays into a plain static memory data segment.
- Added lots more defensive buffer clearing.
- Fixed `equal()`, `negative()`, and `sodium_is_zero()` which silently broke due to AssemblyScript masking shift operands based on bit width.
- Extracted `crypto_derive`, `crypto_sign`, and `crypto_verify` from the WASM index entry point.
- Split async module into separate files for host code and worker code, and inject the worker code string using an esbuild process.
- Updated async error handling to reject all pending tasks when the worker resets.
- Move tests to separate subdirectory, add output buffer and offset coverage, and test a live cemented block from a small-order account that is rejected by strict verification (Nano needs ed25519-donna implementation here especially).

6 weeks agoReduce initial memory now that scratch message buffers are gone.
Chris Duncan [Sat, 22 Aug 2026 06:41:12 +0000 (23:41 -0700)]
Reduce initial memory now that scratch message buffers are gone.

6 weeks agoUpdate doc comments.
Chris Duncan [Sat, 22 Aug 2026 06:40:19 +0000 (23:40 -0700)]
Update doc comments.

6 weeks agoUse constant for message length within wasm and clear it with the other buffers.
Chris Duncan [Sat, 22 Aug 2026 06:31:10 +0000 (23:31 -0700)]
Use constant for message length within wasm and clear it with the other buffers.