aboutsummaryrefslogtreecommitdiff
path: root/core/crypto
Commit message (Collapse)AuthorAgeFilesLines
* core/crypto/aes: Add AES implementationYawning Angel2024-06-017-1/+617
|
* core/crypto/_aes/ct64: Add GHASHYawning Angel2024-06-012-0/+141
|
* core/crypto/_aes: 64-bit portable implementationYawning Angel2024-06-017-0/+867
|
* Merged with masterAndreas T Jonsson2024-05-027-30/+23
|\
| * core/crypto: Add a `HAS_RAND_BYTES` constantYawning Angel2024-04-237-30/+23
| |
* | Merge branch 'master' into netbsdAndreas T Jonsson2024-04-256-11/+13
|\|
| * Core Foundation and Security vendor libraries.Vitalii Kravchenko2024-04-136-11/+13
| |
* | Added missing build tags in coreAndreas T Jonsson2024-04-251-0/+1
| |
* | Added build tagAndreas T Jonsson2024-04-221-1/+1
|/ | | | Added build tag to rand_bsd.odin and fixed build warning.
* core/crypto/ed25519: Initial importYawning Angel2024-04-091-0/+314
|
* core/crypto/ristretto255: Initial importYawning Angel2024-04-093-2/+620
|
* core/crypto/_edwards25519: Initial importYawning Angel2024-04-097-53/+889
|
* core/crypto/_fiat/field_scalar25519: Initial importYawning Angel2024-04-092-0/+684
|
* core/crypto/_fiat/field_poly1305: Mark more functions contextlessYawning Angel2024-04-093-5/+12
|
* core/crypto/_fiat/field_poly1305: Use multiply to calculate the maskYawning Angel2024-04-091-1/+1
|
* core/crypto/_fiat/field_curve25519: Mark more functions contextlessYawning Angel2024-04-093-7/+17
|
* core/crypto/_fiat: odinfmt (NFC)Yawning Angel2024-04-095-31/+84
|
* core/crypto/_fiat/field_poly1305: Move routines (NFC)Yawning Angel2024-04-092-31/+29
|
* core/crypto/_fiat/field_curve25519: Move routines (NFC)Yawning Angel2024-04-092-53/+49
|
* core/crypto/_fiat/field_curve25519: Use multiply to calculate the maskYawning Angel2024-04-091-1/+1
| | | | | Largely for consistency with the generic code, either is valid with Odin semantics, but this is easier to comprehend.
* core/crypto: Add `has_rand_bytes`Yawning Angel2024-04-097-0/+34
| | | | | This allows runtime detection as to if `rand_bytes` is supported or not, and lets us enable the test-case on all of the supported targets.
* core/crypto: Add more documentation about assumptions (NFC)Yawning Angel2024-04-091-0/+8
|
* core/crypto/poly1305: The final addition is NOT mod pYawning Angel2024-04-051-9/+17
|
* Merge pull request #3229 from Yawning/feature/moar-cryptogingerBill2024-03-0614-86/+730
|\ | | | | core/crypto: More improvements/additions
| * core/crypto: Misc cleanups and documentation improvementsYawning Angel2024-03-045-39/+108
| |
| * core/crypto/kmac: Initial importYawning Angel2024-03-042-11/+128
| |
| * core/crypto/tuplehash: Initial importYawning Angel2024-03-042-0/+80
| |
| * core/crypto/shake: Support cSHAKEYawning Angel2024-03-043-13/+144
| |
| * core/crypto/_sha3: Cleanups, prepare for cSHAKEYawning Angel2024-03-044-38/+48
| |
| * core/crypto/hkdf: Initial importYawning Angel2024-03-041-0/+103
| |
| * core/crypto/pbkdf2: Initial importYawning Angel2024-03-041-0/+122
| |
| * core/crypto/hmac: Add a clone methodYawning Angel2024-03-041-0/+12
| |
* | fix build tagsLaytan Laats2024-02-131-1/+6
| |
* | implement part of core foundation framework bindings for err messageLaytan Laats2024-02-131-1/+2
| |
* | remove darwin from bsd filenameLaytan Laats2024-02-131-0/+0
| |
* | use `Security.framework` with `SecRandomCopyBytes` for rand_bytes on darwinLaytan Laats2024-02-132-1/+12
| |
* | add crypto.rand_bytes for Darwin and FreeBSDLaytan Laats2024-02-133-16/+15
|/
* core/crypto: Stop using context.temp_allocatorYawning Angel2024-02-073-15/+17
| | | | | | | | | | | The max digest size for the foreseeable future will be 512 bits, and the max block size is currently 1152 bits (SHA3-224). If people add more exotic hash algorithms without bumping the constants when required, tests will fail. The stream buffer will currently be 576 bytes, which is "fine" to just stick on the stack, and is a sensible multiple of the more common block size of 64 bytes.
* core/crypto/poly1305: Relax the tag length check on the verify helperYawning Angel2024-02-071-4/+0
|
* core/crypto/hmac: Initial importYawning Angel2024-02-071-0/+163
|
* core/crypto/hash: Make the low level interface allocator-lessYawning Angel2024-02-072-177/+140
| | | | Just (ab)using reflect to victory is probably fine.
* core/crypto: Expose the block sizes for every hash algorithmYawning Angel2024-02-0711-42/+100
| | | | | While I just went and made this private, this information is required for keying HMAC.
* core/crypto/shake: SHAKE is an XOF, not a hashYawning Angel2024-02-072-59/+27
|
* core/crypto: Documentation cleanupsYawning Angel2024-02-079-72/+239
|
* core:crypto/hash: Add a generic higher level hash interfaceYawning Angel2024-02-0715-1852/+899
| | | | | | There is a lot of code duplicated in convenience methods in each hash implementation, and having a generic hash type makes implementing higher-level constructs such as HMAC significantly easier down the road.
* core/crypto: Update the documentation (NFC)Yawning Angel2023-11-171-35/+38
|
* core/crypto: Exile keccak, md5 and sha1 to legacyYawning Angel2023-11-175-4/+14
| | | | | | In an perfect world these would just be removed, but the world is imperfect, and people are forced to interact/interface with things that are broken.
* core/crypto/sm3: API cleanupYawning Angel2023-11-171-8/+10
| | | | - sm3.Sm3_Context -> sm3.Context
* core/crypto/shake: API cleanupYawning Angel2023-11-171-34/+32
| | | | - shake.Shake_Context -> shake.Context
* core/crypto/sha3: API cleanupYawning Angel2023-11-171-52/+60
| | | | - sha3.Sha3_Context -> sha3.Context