askar-crypto
The askar-crypto crate provides the basic key representations and cryptographic operations used by aries-askar.
Supported Key Types
| Key Type | Feature | Operations | Notes |
|---|---|---|---|
| AES-GCM | aes |
AEAD encryptionJWK export | A128GCM and A256GCM |
| AES-CBC-HMAC-SHA2 | aes |
AEAD encryptionJWK export | A128CBC-HS256 and A256CBC-HS512 |
| (X)ChaCha20-Poly1305 | chacha |
AEAD encryptionJWK export | aka C20P, XC20P |
| BLS12-381 | bls |
bls-signature-compatible key generationJWK import/export |
G1, G2, and G1G2 key types |
| Ed25519 | ed25519 |
EdDSA signaturesJWK import/export | |
| X25519 | ed25519 |
DH key exchangeJWK import/export | |
| K-256 | k256 |
ECDSA signaturesDH key exchangeJWK import/export | aka secp256k1 |
| P-256 | p256 |
ECDSA signaturesDH key exchangeJWK import/export | aka nist256p1, secp256r1 |
'Any' Key support
The any_key feature (which depends on alloc) provides a generic interface for creating and working with any supported key type.
JOSE Authenticated Encryption
This crate provides implementations of the ECDH-ES and ECDH-1PU (draft 3) key agreement operations, for use in deriving the CEK or key wrapping key when producing or consuming JWE envelopes using these protection algorithms.
no-std
This crate supports the optional alloc feature, gating types and operations that depend on a global allocator. The std feature depends on alloc, and adds support for std::error::Error.