aboutsummaryrefslogtreecommitdiff
path: root/core/crypto/_sha3
Commit message (Collapse)AuthorAgeFilesLines
* Remove `core:mem` import from `core:crypto`.Jeroen van Rijn3 days1-2/+2
|
* Change Odin's LICENSE to zlib from BSD 3-clausegingerBill2025-10-281-1/+1
| | | | 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.
* core/crypto: Switch to using `ensure`Yawning Angel2025-03-232-29/+24
|
* core/crypto: Add `rodata` annotations (NFC)Yawning Angel2025-03-232-4/+4
|
* core/crypto/_sha3: Fix edge case in cSHAKE bytepadYawning Angel2024-09-301-6/+8
| | | | | If the domain separator happens to be exactly the rate, we would previously incorrectly add another rate-bytes of 0s.
* core/crypto/kmac: Initial importYawning Angel2024-03-041-11/+12
|
* core/crypto/tuplehash: Initial importYawning Angel2024-03-041-0/+14
|
* core/crypto/shake: Support cSHAKEYawning Angel2024-03-042-3/+131
|
* core/crypto/_sha3: Cleanups, prepare for cSHAKEYawning Angel2024-03-041-37/+45
|
* core/crypto: Expose the block sizes for every hash algorithmYawning Angel2024-02-071-1/+5
| | | | | While I just went and made this private, this information is required for keying HMAC.
* core:crypto/hash: Add a generic higher level hash interfaceYawning Angel2024-02-071-43/+64
| | | | | | 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: Add more assertions to the low level APIYawning Angel2023-11-171-4/+25
| | | | | Assertions here are "fine" and it matches what the code that has the checks in init/update/final already does.
* core/crypto: Change hash asserts to panicsYawning Angel2023-11-171-1/+7
| | | | | | | | | | Assertions can be disabled, but at the point where cryptographic anything is involved, a single branch has an infinitesimally small performance impact. The correct thing to do is to punch the caller in the face if they do something that is blatantly incorrect, especially in a security critical setting.
* core/crypto/_sha3: CleanupsYawning Angel2023-11-171-25/+7
| | | | - Use `math/bits`
* core/crypto/sha3: odinfmt (NFC)Yawning Angel2023-11-171-132/+137
|
* Rename files to not start with `_`gingerBill2023-09-261-0/+0
|
* `ODIN_ENDIAN` changed to an enum constant; `ODIN_ENUM_STRING` is the new ↵gingerBill2022-01-151-2/+2
| | | | string version of the old constant
* Removed context switching system from the crypto library to simplify the codezhibog2021-11-091-6/+5
|
* Add crypto library. Additional information is included in the README.mdzhibog2021-10-141-0/+170