Pure Rust implementation of the NIST P-384 (a.k.a. secp384r1) elliptic curve
as defined in SP 800-186 with support for ECDH, ECDSA signing/verification,
and general purpose curve arithmetic support.
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
cast • 0.3.0Ergonomic, checked cast functions for primitive types
INDIRECT
0
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.9.6Const-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
crypto-bigint • 0.4.9Pure 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.
der • 0.6.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
4
digest • 0.10.7Traits for cryptographic hash functions and message authentication codes
INDIRECT
5
ecdsa • 0.14.8Pure 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
27
either • 1.13.0The enum `Either` with variants `Left` and `Right` is a general purpose sum type with two cases.
INDIRECT
0
elliptic-curve • 0.12.3General 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
25
errno • 0.3.9Cross-platform interface to the `errno` variable.
itoa • 1.0.11Fast integer primitive to string conversion
INDIRECT
0
js-sys • 0.3.72Bindings for all JS global objects and functions in all JS environments like
Node.js and browsers, built on `#[wasm_bindgen]` using the `wasm-bindgen` crate.
pem-rfc7468 • 0.6.0PEM 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.9.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.
regex • 1.8.4An implementation of regular expressions for Rust. This implementation uses
finite automata and guarantees linear time matching on all inputs.
INDIRECT
1
rusty-fork • 0.3.0Cross-platform library for running Rust tests in sub-processes using a
fork-like interface.
INDIRECT
32
sec1 • 0.3.0Pure 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
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
unicode-width • 0.1.14Determine displayed width of `char` and `str` types
according to Unicode Standard Annex #11 rules.
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.
web-sys • 0.3.72Bindings for all Web APIs, a procedurally generated crate from WebIDL
INDIRECT
14
winapi-i686-pc-windows-gnu • 0.4.0Import libraries for the i686-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.
INDIRECT
0
winapi-x86_64-pc-windows-gnu • 0.4.0Import libraries for the x86_64-pc-windows-gnu target. Please don't use this crate directly, depend on winapi instead.
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!