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