Pure Rust implementation of the NIST P-256 (a.k.a. secp256r1, prime256v1)
elliptic curve as defined in SP 800-186, with support for ECDH, ECDSA
signing/verification, and general purpose curve arithmetic
base16ct • 0.1.1Pure Rust implementation of Base16 a.k.a hexadecimal (RFC 4648) which avoids
any usages of data-dependent branches/LUTs and thereby provides portable
"best effort" constant-time operation and embedded-friendly no_std support
INDIRECT
0
base64ct • 1.6.0Pure Rust implementation of Base64 (RFC 4648) which avoids any usages of
data-dependent branches/LUTs and thereby provides portable "best effort"
constant-time operation and embedded-friendly no_std support
cfg-if • 1.0.0A macro to ergonomically define an item depending on a large number of #[cfg]
parameters. Structured like an if-else chain, the first matching branch is the
item that gets emitted.
INDIRECT
0
const-oid • 0.7.1Const-friendly implementation of the ISO/IEC Object Identifier (OID) standard
as defined in ITU X.660, with support for BER/DER encoding/decoding as well as
heapless no_std (i.e. embedded) support
INDIRECT
0
cpufeatures • 0.2.14Lightweight runtime CPU feature detection for aarch64, loongarch64, and x86/x86_64 targets,
with no_std support and support for mobile targets including Android and iOS
INDIRECT
1
crypto-bigint • 0.3.2Pure Rust implementation of a big integer library which has been designed from
the ground-up for use in cryptographic applications. Provides constant-time,
no_std-friendly implementations of modern formulas using const generics.
INDIRECT
10
der • 0.5.1Pure Rust embedded-friendly implementation of the Distinguished Encoding Rules
(DER) for Abstract Syntax Notation One (ASN.1) as described in ITU X.690 with
full support for heapless no_std targets
INDIRECT
3
digest • 0.9.0Traits for cryptographic hash functions and message authentication codes
INDIRECT
3
ecdsa • 0.13.4Pure Rust implementation of the Elliptic Curve Digital Signature Algorithm
(ECDSA) as specified in FIPS 186-4 (Digital Signature Standard), providing
RFC6979 deterministic signatures as well as support for added entropy
DIRECT
25
elliptic-curve • 0.11.12General purpose Elliptic Curve Cryptography (ECC) support, including types
and traits for representing various elliptic curve forms, scalars, points,
and public/secret keys composed thereof.
DIRECT
22
errno • 0.3.9Cross-platform interface to the `errno` variable.
pem-rfc7468 • 0.3.1PEM Encoding (RFC 7468) for PKIX, PKCS, and CMS Structures, implementing a
strict subset of the original Privacy-Enhanced Mail encoding intended
specifically for use with cryptographic keys, certificates, and other messages.
Provides a no_std-friendly, constant-time implementation suitable for use with
cryptographic private keys.
INDIRECT
1
pkcs8 • 0.8.0Pure Rust implementation of Public-Key Cryptography Standards (PKCS) #8:
Private-Key Information Syntax Specification (RFC 5208), with additional
support for PKCS#8v2 asymmetric key packages (RFC 5958)
proc-macro2 • 1.0.89A substitute implementation of the compiler's `proc_macro` API to decouple token-based libraries from the procedural macro use case.
INDIRECT
1
proptest • 1.5.0Hypothesis-like property-based testing and shrinking.
rusty-fork • 0.3.0Cross-platform library for running Rust tests in sub-processes using a
fork-like interface.
INDIRECT
32
sec1 • 0.2.1Pure Rust implementation of SEC1: Elliptic Curve Cryptography encoding formats
including ASN.1 DER-serialized private keys as well as the
Elliptic-Curve-Point-to-Octet-String encoding
DIRECT
11
sha2 • 0.9.9Pure Rust implementation of the SHA-2 hash function family
including SHA-224, SHA-256, SHA-384, and SHA-512.
DIRECT
9
signature • 1.4.0Traits for cryptographic signature algorithms (e.g. ECDSA, Ed25519)
INDIRECT
9
spki • 0.5.4X.509 Subject Public Key Info (RFC5280) describing public keys as well as their
associated AlgorithmIdentifiers (i.e. OIDs)
tempfile • 3.8.0A library for managing temporary files and directories.
INDIRECT
28
typenum • 1.17.0Typenum is a Rust library for type-level numbers evaluated at
compile time. It currently supports bits, unsigned integers, and signed
integers. It also provides a type-level array of type-level numbers, but its
implementation is incomplete.
INDIRECT
0
unarray • 0.1.4Utilities for working with uninitialized arrays
INDIRECT
0
version_check • 0.9.5Tiny crate to check the version of the installed/running rustc.
INDIRECT
0
wait-timeout • 0.2.0A crate to wait on a child process with a timeout specified across Unix and
Windows platforms.
zeroize • 1.8.1Securely clear secrets from memory with a simple trait built on
stable Rust primitives which guarantee memory is zeroed using an
operation will not be 'optimized away' by the compiler.
Uses a portable pure Rust implementation that works everywhere,
even WASM!
INDIRECT
0
Apache-2.0 OR MIT OR Apache-2.0 WITH LLVM-exception3