Yawning Angel c751e4b2eb core/crypto/aes: Add AES implementation преди 1 година
..
_aes c751e4b2eb core/crypto/aes: Add AES implementation преди 1 година
_blake2 00ab3beed9 core:crypto/hash: Add a generic higher level hash interface преди 1 година
_edwards25519 563c527419 core/crypto/_edwards25519: Initial import преди 1 година
_fiat d96f8bb5c1 core/crypto/ristretto255: Initial import преди 1 година
_sha3 b818ebc02f core/crypto/kmac: Initial import преди 1 година
aes c751e4b2eb core/crypto/aes: Add AES implementation преди 1 година
blake2b 7a8b1669b0 core/crypto: Expose the block sizes for every hash algorithm преди 1 година
blake2s 7a8b1669b0 core/crypto: Expose the block sizes for every hash algorithm преди 1 година
chacha20 fa8dd5a13b core/crypto: Misc cleanups and documentation improvements преди 1 година
chacha20poly1305 fa8dd5a13b core/crypto: Misc cleanups and documentation improvements преди 1 година
ed25519 893c3bef9a core/crypto/ed25519: Initial import преди 1 година
hash 44758f2a60 core/crypto: Stop using context.temp_allocator преди 1 година
hkdf 550e798c1b core/crypto/hkdf: Initial import преди 1 година
hmac fa8dd5a13b core/crypto: Misc cleanups and documentation improvements преди 1 година
kmac b818ebc02f core/crypto/kmac: Initial import преди 1 година
legacy 2db31cf0d5 core/crypto/_sha3: Cleanups, prepare for cSHAKE преди 1 година
pbkdf2 290168f862 core/crypto/pbkdf2: Initial import преди 1 година
poly1305 4defe88dec core/crypto/_fiat/field_poly1305: Mark more functions contextless преди 1 година
ristretto255 d96f8bb5c1 core/crypto/ristretto255: Initial import преди 1 година
sha2 7a8b1669b0 core/crypto: Expose the block sizes for every hash algorithm преди 1 година
sha3 2db31cf0d5 core/crypto/_sha3: Cleanups, prepare for cSHAKE преди 1 година
shake 15287a771f core/crypto/shake: Support cSHAKE преди 1 година
siphash e86bb3a795 core/crypto: Change hash asserts to panics преди 1 година
sm3 7a8b1669b0 core/crypto: Expose the block sizes for every hash algorithm преди 1 година
tuplehash c04a53e453 core/crypto/tuplehash: Initial import преди 1 година
x25519 563c527419 core/crypto/_edwards25519: Initial import преди 1 година
README.md a43a5b053c core/crypto: Add more documentation about assumptions (NFC) преди 1 година
crypto.odin a6eb64df6c core/crypto: Add a `HAS_RAND_BYTES` constant преди 1 година
rand_bsd.odin 7feff1c113 Merged with master преди 1 година
rand_darwin.odin a6eb64df6c core/crypto: Add a `HAS_RAND_BYTES` constant преди 1 година
rand_generic.odin 7feff1c113 Merged with master преди 1 година
rand_js.odin a6eb64df6c core/crypto: Add a `HAS_RAND_BYTES` constant преди 1 година
rand_linux.odin a6eb64df6c core/crypto: Add a `HAS_RAND_BYTES` constant преди 1 година
rand_windows.odin a6eb64df6c core/crypto: Add a `HAS_RAND_BYTES` constant преди 1 година

README.md

crypto

A cryptography library for the Odin language.

Supported

This package offers various algorithms implemented in Odin, along with useful helpers such as access to the system entropy source, and a constant-time byte comparison.

Implementation considerations

  • The crypto packages are not thread-safe.
  • Best-effort is make to mitigate timing side-channels on reasonable architectures. Architectures that are known to be unreasonable include but are not limited to i386, i486, and WebAssembly.
  • Implementations assume a 64-bit architecture (64-bit integer arithmetic is fast, and includes add-with-carry, sub-with-borrow, and full-result multiply).
  • Hardware sidechannels are explicitly out of scope for this package. Notable examples include but are not limited to:
    • Power/RF side-channels etc.
    • Fault injection attacks etc.
    • Hardware vulnerabilities ("apply mitigations or buy a new CPU").
  • The packages attempt to santize sensitive data, however this is, and will remain a "best-effort" implementation decision. As Thomas Pornin puts it "In general, such memory cleansing is a fool's quest."
  • All of these packages have not received independent third party review.

License

This library is made available under the BSD-3 license.