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 |
AES Key Wrap | aes |
Authenticated encryptionJWK export | A128KW and A256KW |
(X)ChaCha20-Poly1305 | chacha |
AEAD encryptionJWK export | aka C20P, XC20P |
BLS12-381 | bls |
bls-signature1 key generationJWK import/export | G1, G2, and G1G2 key types |
Ed25519 | ed25519 |
EdDSA signaturesJWK import/exportConversion to X25519 | |
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 |
1. Compatible with bls-signature RFC draft 4 https://tools.ietf.org/html/draft-irtf-cfrg-bls-signature-04
'Any' Key support
The any_key
feature (which depends on alloc
) provides a generic interface for creating and working with any supported key type.
JSON Web Algorithms
This crate provides implementations of the ECDH-ES and ECDH-1PU (draft 4) key agreement operations, for use in deriving a content encryption or key wrapping key. These primitives can be used when producing or consuming JWE envelopes using these 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
.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.