Commit Graph

239 Commits

Author SHA1 Message Date
Yawning Angel
4e8c80f80b core/crypto/noise: Move the smoke tests to the standard location 2026-04-20 21:34:24 +09:00
Yawning Angel
81011ec361 core/crypto/noise: Add support for deferred patterns 2026-04-20 21:34:24 +09:00
Yawning Angel
81c89a6094 core/crypto/noise: Rename things to match convention 2026-04-20 21:34:24 +09:00
Yawning Angel
2a61f0920d core/crypto/noise: Fix HandshakeState_[Read,Write]Message
Per the specification EncryptAndHash/DecryptAndHash are always called.
2026-04-20 19:25:30 +09:00
Lord_Hellgrim
2623a8fa9f Added noise package to core:crypto
Special thanks to Yawning for review, guidance, and massive updates.
2026-04-20 19:25:30 +09:00
Yawning Angel
19f249b475 core/crypto/ecdh: Add private_key_set and public_key_set 2026-04-20 19:25:30 +09:00
Yawning Angel
64868089a6 core/crypto/ed25519: Add private_key_set, public_key_(set,clear) 2026-04-20 19:25:30 +09:00
Yawning Angel
bd7b67317d core/crypto/ecdsa: Add private_key_set and public_key_set 2026-04-20 19:25:30 +09:00
Yawning Angel
0af538c70a core/crypto: Fix doc comment (No functional changes) 2026-04-20 15:16:46 +09:00
Stefan Stefanov
b52cc45053 core/crypto/aes: Fix src size check
Fixed a faulty check that would check the `dst` twice instead of
checking the `src` and `dst` input parameters in `encrypt_ecb()` &
`decrypt_ecb()`.
2026-04-01 23:05:29 +03:00
Yawning Angel
36a3f691c1 core/crypto/sha2: Add Aarch64 SHA512 acceleration 2026-03-17 04:39:15 +09:00
Yawning Angel
ccb56de19a core/crypto/sha2: Add scaffolding for SHA512 acceleration 2026-03-16 16:05:21 +09:00
Yawning Angel
a030fb6596 core/crypto/sha2: Remove the broken Intel intrinsic kludge 2026-03-16 15:52:59 +09:00
Yawning Angel
9194b599ec core/crypto/sha2: Add ARMv8 SHA256 acceleration 2026-03-15 18:44:29 +09:00
Yawning Angel
3139b7e755 core/crypto/aes: Migrate to generic SIMD + HW AES 2026-03-13 22:01:16 +09:00
Yawning Angel
e09923f585 core/crypto/deoxysii: Migrate to generic SIMD + HW AES 2026-03-13 22:01:16 +09:00
Yawning Angel
df1a966100 core/crypto/aegis: Migrate to generic SIMD + HW AES 2026-03-13 22:01:16 +09:00
Yawning Angel
6aeed0e20e core/crypto/_aes/hw: Initial import 2026-03-13 22:01:16 +09:00
Yawning Angel
004a65e382 core/crypto/_aes/hw_intel: Remove a copy of zero_explicit 2026-03-13 21:00:42 +09:00
Jeroen van Rijn
27667ce36b iff -> if and only if (⟺) 2026-03-13 11:54:15 +01:00
Yawning Angel
86b629ba84 core/crypto/argon2id: Initial import 2026-03-04 21:29:55 +09:00
Yawning Angel
058bd9a914 core:crypto/_blake2: Cleanups and fixes
The fixes apply to "use it as a MAC" which was not part of the
documented/exposed API.  It now is, and is covered by the self-test
routines from the RFC.
2026-03-04 21:22:56 +09:00
Yawning Angel
47ad434d1a core:crypto/_blake2: Fix final blocks call with partial block 2026-03-03 20:54:13 +09:00
Jeroen van Rijn
af43e6851b [core:sys/info] Remove , ok 2026-02-23 23:55:36 +01:00
Jeroen van Rijn
ea80eab75a [core:sys/info] Remove @(init) where practical 2026-02-23 23:09:37 +01:00
Yawning Angel
4ef6300eb3 core/crypto/ed25519: Add private_key_generate 2026-02-20 04:10:54 +09:00
Yawning Angel
7e7515d7d9 core/crypto/ecdsa: Add ECDSA support 2026-02-20 04:10:54 +09:00
Yawning Angel
49ab240c45 core/crypto/_weierstrass: Add Shamir-Strauss 2026-02-20 03:59:34 +09:00
Yawning Angel
ffa6fc2a67 core/crypto/_weierstrass: Add scalar field inversion 2026-02-20 03:59:34 +09:00
Krzesimir Nowak
a90f2ad3a0 Print errors in tools and examples to stderr 2026-02-17 23:08:32 +01:00
Krzesimir Nowak
47775214d6 Fix some tools and examples after core:os update and using-stmt feature 2026-02-17 21:58:08 +01:00
Jeroen van Rijn
cde6dc1f20 Remove core:mem import from core:crypto. 2026-02-12 16:52:25 +01:00
Jeroen van Rijn
e7dbabf668 core:os -> core:os/old && core:os/os2 -> core:os 2026-02-09 15:50:21 +01:00
Jeroen van Rijn
8ed264680b Remove all core:os imports from JS targets
Fix `local_tz_name` on FreeBSD.
2026-02-09 15:07:27 +01:00
Jeroen van Rijn
8f4bcf4d31 More conflicts during rebase 2026-02-08 12:48:41 +01:00
Jeroen van Rijn
ec314c8324 fix conflict 2026-02-08 12:42:17 +01:00
Yawning Angel
eadd5f789c core/crypto/ecdh: Add secp384r1 2026-02-03 18:48:07 +09:00
Yawning Angel
64ce2bdf0e core/crypto/_weierstrass: Add secp384r1 2026-02-03 18:48:07 +09:00
Yawning Angel
bd0cfe4a81 core/crypto/_fiat: Minor p256 cleanups 2026-02-03 16:15:16 +09:00
Yawning Angel
8ee943fc0c core/crypto/_weirstrass: Cosmetic fixes (NFC) 2026-02-02 11:00:09 +09:00
Yawning Angel
d438f27efb core/crypto/_chacha20: Use the precomputation trick for ref
Might as well bring this in sync with the runtime chacha8 version of the
code since this is faster.
2026-01-28 23:04:38 +09:00
Yawning Angel
f5b7274a77 core/crypto/_edwards25519: Support crypto.COMPACT_IMPLS 2026-01-28 22:50:27 +09:00
Yawning Angel
c35b49bf60 core/crypto/ecdh: Initial import 2026-01-28 22:50:27 +09:00
Yawning Angel
5ce448a8d5 core/crypto: Start work on the NIST curves 2026-01-28 22:50:27 +09:00
Yawning Angel
6bbd060352 core/crypto/_subtle: Refactor out common helpers 2026-01-28 22:20:03 +09:00
Yawning Angel
429e8a46db core/crypto/ed25519: Cosmetic fixes (NFC) 2026-01-28 22:20:03 +09:00
Yawning Angel
e1ba69ea51 base/runtime: Add rand_bytes and HAS_RAND_BYTES
Having the OS/runtime provide a cryptographic entropy source is the
right thing to do, and we need it to initialize the default random
number generator.
2025-11-29 10:45:53 +09:00
gingerBill
784f320e12 Fix indentation in comments 2025-11-18 12:11:29 +00:00
gingerBill
842cfee0f3 Change Odin's LICENSE to zlib from BSD 3-clause
This change was made in order to allow things produced with Odin and using Odin's core library, to not require the LICENSE to also be distributed alongside the binary form.
2025-10-28 14:38:25 +00:00
Jeroen van Rijn
7a9ea3ee6d Further overhaul of package line comments. 2025-10-09 23:05:29 +02:00