Expand description
Pure Rust cryptographic primitives for FIDO2/CTAP
This crate provides the cryptographic operations required by the CTAP protocol:
- ECDH: P-256 key agreement for PIN protocol
- ECDSA: ES256 signatures for attestation and assertions
- EdDSA: Ed25519 signatures for attestation and assertions
- PIN Protocols: V1 (AES-256-CBC + HMAC) and V2 (HMAC-only)
- HMAC-SHA256: For hmac-secret extension
All implementations follow the FIDO2 specification: https://fidoalliance.org/specs/fido-v2.2-rd-20230321/fido-client-to-authenticator-protocol-v2.2-rd-20230321.html
Re-exports§
pub use error::CryptoError;pub use error::Result;
Modules§
- ecdh
- P-256 ECDH for CTAP PIN protocol key agreement
- ecdsa
- P-256 ECDSA (ES256) signatures for CTAP attestation and assertions
- eddsa
- Ed25519 (EdDSA) signatures for CTAP assertions
- error
- Error types for cryptographic operations
- pin_
protocol - PIN/UV authentication protocols (V1 and V2)
Structs§
- Zeroizing
Zeroizingis a a wrapper for anyZ: Zeroizetype which implements aDrophandler which zeroizes dropped values.
Functions§
- hmac_
sha256 - Compute HMAC-SHA-256