Yawning Angel a45721e9ad core/crypto/poly1305: The final addition is NOT mod p 1 year ago
..
_blake2 00ab3beed9 core:crypto/hash: Add a generic higher level hash interface 1 year ago
_fiat 1279ebe948 core/crypto/poly1305: Cleanups 1 year ago
_sha3 b818ebc02f core/crypto/kmac: Initial import 1 year ago
blake2b 7a8b1669b0 core/crypto: Expose the block sizes for every hash algorithm 1 year ago
blake2s 7a8b1669b0 core/crypto: Expose the block sizes for every hash algorithm 1 year ago
chacha20 fa8dd5a13b core/crypto: Misc cleanups and documentation improvements 1 year ago
chacha20poly1305 fa8dd5a13b core/crypto: Misc cleanups and documentation improvements 1 year ago
hash 44758f2a60 core/crypto: Stop using context.temp_allocator 1 year ago
hkdf 550e798c1b core/crypto/hkdf: Initial import 1 year ago
hmac fa8dd5a13b core/crypto: Misc cleanups and documentation improvements 1 year ago
kmac b818ebc02f core/crypto/kmac: Initial import 1 year ago
legacy 2db31cf0d5 core/crypto/_sha3: Cleanups, prepare for cSHAKE 1 year ago
pbkdf2 290168f862 core/crypto/pbkdf2: Initial import 1 year ago
poly1305 a45721e9ad core/crypto/poly1305: The final addition is NOT mod p 1 year ago
sha2 7a8b1669b0 core/crypto: Expose the block sizes for every hash algorithm 1 year ago
sha3 2db31cf0d5 core/crypto/_sha3: Cleanups, prepare for cSHAKE 1 year ago
shake 15287a771f core/crypto/shake: Support cSHAKE 1 year ago
siphash e86bb3a795 core/crypto: Change hash asserts to panics 1 year ago
sm3 7a8b1669b0 core/crypto: Expose the block sizes for every hash algorithm 1 year ago
tuplehash c04a53e453 core/crypto/tuplehash: Initial import 1 year ago
x25519 fa8dd5a13b core/crypto: Misc cleanups and documentation improvements 1 year ago
README.md 00ab3beed9 core:crypto/hash: Add a generic higher level hash interface 1 year ago
crypto.odin b8c2b0105b core/crypto: Disable optimization for the ct byte compare 2 years ago
rand_bsd.odin 32a4a5e601 remove darwin from bsd filename 1 year ago
rand_darwin.odin 0d413b8136 implement part of core foundation framework bindings for err message 1 year ago
rand_generic.odin 88e6980b13 fix build tags 1 year ago
rand_js.odin 49da19e013 Replace Math.random with crypto.getRandomValues for _system_number 1 year ago
rand_linux.odin 4d65b1ab9c Implement new sys/unix package 1 year ago
rand_windows.odin 3b4199a669 Added rand_bytes for Windows in core:crypto 3 years ago

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.
  • 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.