2
0
Yawning Angel 38665431dd core/crypto/_aes/ct64: Disable bounds checking 5 сар өмнө
..
_aes 38665431dd core/crypto/_aes/ct64: Disable bounds checking 5 сар өмнө
_blake2 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
_chacha20 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
_edwards25519 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
_fiat 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
_sha3 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
aead 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
aegis c2786a6dd5 core/crypto/aegis: Initial import 5 сар өмнө
aes 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
blake2b 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
blake2s 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
chacha20 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
chacha20poly1305 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
deoxysii 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
ed25519 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
hash 68960e7d0a Use `#+` tags 11 сар өмнө
hkdf 288312a812 core: improve package doc comments for the documentation generator 1 жил өмнө
hmac 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
kmac 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
legacy 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
pbkdf2 288312a812 core: improve package doc comments for the documentation generator 1 жил өмнө
poly1305 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
ristretto255 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
sha2 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
sha3 288312a812 core: improve package doc comments for the documentation generator 1 жил өмнө
shake 288312a812 core: improve package doc comments for the documentation generator 1 жил өмнө
siphash 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
sm3 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
tuplehash 288312a812 core: improve package doc comments for the documentation generator 1 жил өмнө
x25519 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
x448 2f301e46dc core/crypto: Switch to using `ensure` 5 сар өмнө
README.md a43a5b053c core/crypto: Add more documentation about assumptions (NFC) 1 жил өмнө
crypto.odin c9c0b9ea7b core/crypto: Fix/add some documentation (NFC) 1 жил өмнө
rand_bsd.odin 19f0127e55 Moved all packages in core, base, vendor, tests and examples to use new #+ file tag syntax. 1 жил өмнө
rand_darwin.odin e296d6fb90 Fix loads of indentation issues with mixing spaces and tabs 1 жил өмнө
rand_generic.odin e4892f1bb2 os/os2: wasi target support 7 сар өмнө
rand_js.odin a6eb64df6c core/crypto: Add a `HAS_RAND_BYTES` constant 1 жил өмнө
rand_linux.odin 3ff8952813 Replace `panic(fmt.tprintf(` antipattern with `fmt.panicf` 1 жил өмнө
rand_wasi.odin e4892f1bb2 os/os2: wasi target support 7 сар өмнө
rand_windows.odin 9f9abb8fb3 Use `union #shared_nil` for `os.Error` 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.