MCPcopy Index your code
hub / github.com/RustCrypto/traits

github.com/RustCrypto/traits @signature-v3.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release signature-v3.0.0 ↗ · + Follow
763 symbols 1,348 edges 77 files 237 documented · 31%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

RustCrypto: Traits

Project Chat Apache2/MIT licensed [dependency status]deps-link

Collection of traits which describe functionality of cryptographic primitives.

Crates

Name Algorithm Crates.io Docs MSRV
[aead] Authenticated encryption crates.io Documentation MSRV 1.85
[cipher] Block and stream cipher crates.io Documentation MSRV 1.85
[crypto‑common] Common cryptographic traits crates.io Documentation MSRV 1.85
[digest] Cryptographic hash function crates.io Documentation MSRV 1.85
[elliptic‑curve] Elliptic curve cryptography crates.io Documentation MSRV 1.85
[kem] Key encapsulation mechanism crates.io Documentation MSRV 1.85
[password-hash] Password hashing crates.io Documentation MSRV 1.85
[signature] Digital signature crates.io Documentation MSRV 1.85
[universal‑hash] Universal hash function crates.io Documentation MSRV 1.85

Additional Crates

Crate name Description Crates.io Docs MSRV
[crypto] Facade for trait crates crates.io Documentation MSRV 1.85

License

All crates licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Extension points exported contracts — how you extend this code

BatchInvert (Interface)
Perform a batched inversion on a sequence of field elements (i.e. base field elements or scalars) at an amortized cost t [6 …
elliptic-curve/src/ops.rs
BlockSizeUser (Interface)
Types which process data in blocks. [17 implementers]
crypto-common/src/lib.rs
StreamCipherClosure (Interface)
Trait for [`StreamCipherBackend`] users. This trait is used to define rank-2 closures. [4 implementers]
cipher/src/stream/core_api.rs
Buffer (Interface)
In-place encryption/decryption byte buffers. This trait defines the set of methods needed to support in-place operation [3 …
aead/src/lib.rs
HashMarker (Interface)
Marker trait for cryptographic hash functions. [3 implementers]
digest/src/digest.rs
PasswordHasher (Interface)
High-level trait for password hashing functions. Generic around a password hash to be returned (typically [`phc::Passwo [1 …
password-hash/src/lib.rs
UhfClosure (Interface)
Trait for [`UhfBackend`] users. This trait is used to define rank-2 closures. [1 implementers]
universal-hash/src/lib.rs
FromSeed (Interface)
Initialize a KEM from a [`Seed`]. Many KEMs support a fully deterministic and infallible initialization from a short se [1 …
kem/src/lib.rs

Core symbols most depended-on inside this repo

len
called by 72
aead/src/lib.rs
update
called by 22
digest/src/mac.rs
as_ref
called by 18
elliptic-curve/src/public_key.rs
as_bytes
called by 15
digest/src/mac.rs
encrypt_with_backend
called by 13
cipher/src/block.rs
decrypt_with_backend
called by 13
cipher/src/block.rs
encrypt_block
called by 12
cipher/src/tweak/zero.rs
decrypt_block
called by 12
cipher/src/tweak/zero.rs

Shape

Method 509
Interface 140
Class 56
Function 51
Enum 7

Languages

Rust100%

Modules by API surface

elliptic-curve/src/dev/mock_curve.rs54 symbols
cipher/src/block.rs38 symbols
elliptic-curve/src/scalar/value.rs36 symbols
elliptic-curve/src/point/non_identity.rs33 symbols
crypto-common/src/lib.rs33 symbols
elliptic-curve/src/scalar/nonzero.rs31 symbols
cipher/src/block/backends.rs28 symbols
signature/src/signer.rs25 symbols
elliptic-curve/src/secret_key.rs24 symbols
aead/src/lib.rs24 symbols
digest/src/mac.rs22 symbols
elliptic-curve/src/public_key.rs21 symbols

For agents

$ claude mcp add traits \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact