Files
Odin/core/crypto
2025-03-23 19:17:18 +09:00
..
2025-03-23 19:14:33 +09:00
2025-03-23 19:14:33 +09:00
2025-03-23 19:14:33 +09:00
2025-03-23 19:14:33 +09:00
2025-03-23 19:14:33 +09:00
2024-09-19 12:39:56 +01:00
2025-03-23 19:14:33 +09:00
2025-03-23 19:14:33 +09:00
2025-03-23 19:14:33 +09:00
2025-03-23 19:14:33 +09:00
2025-03-23 19:14:33 +09:00
2025-01-18 22:23:44 +01:00
2025-01-18 22:23:44 +01:00

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.