230 Commits

Author SHA1 Message Date
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
Jeroen van Rijn
288b45f50c package lines for encoding 2025-10-09 16:34:18 +02:00
Jeroen van Rijn
248b0fe9e1 More package lines 2025-10-09 16:11:33 +02:00
Laytan
164bb52212 crypto/hash: hash_bytes_to_buffer slice result to digest size 2025-07-19 19:50:32 +02:00
Feoramund
45219f240e Rename SIMD_IS_EMULATED to capability-affirmative HAS_HARDWARE_SIMD 2025-05-29 17:17:51 -04:00
Jeroen van Rijn
655fab7227 Add core/hyperthread count for Windows and Linux (#5216)
Add core/hyperthread count to `core:sys/info` for Windows and Linux.
TODO: Linux RISCV, Linux ARM, Darwin, and the BSDs.
2025-05-25 19:43:10 +02:00
Yawning Angel
38665431dd core/crypto/_aes/ct64: Disable bounds checking 2025-03-23 19:17:18 +09:00
Yawning Angel
2f301e46dc core/crypto: Switch to using ensure 2025-03-23 19:14:33 +09:00
Yawning Angel
dc94452fb9 core/crypto/blake2: Add the ability to easily alter digest size 2025-03-23 19:14:33 +09:00
Yawning Angel
93951ac72a core/crypto/sha2: Clean up the portable code slightly 2025-03-23 19:14:33 +09:00