12 releases

0.3.1 Jan 29, 2024
0.3.0 Nov 13, 2023
0.2.5 Apr 19, 2022
0.2.4 Jan 19, 2022
0.2.0-pre.4 May 13, 2021

#407 in Cryptography

Download history 3/week @ 2023-12-22 6/week @ 2023-12-29 14/week @ 2024-01-05 28/week @ 2024-01-26 10/week @ 2024-02-02 30/week @ 2024-02-09 176/week @ 2024-02-16 293/week @ 2024-02-23 163/week @ 2024-03-01 294/week @ 2024-03-08 255/week @ 2024-03-15 231/week @ 2024-03-22 175/week @ 2024-03-29 112/week @ 2024-04-05

850 downloads per month
Used in 3 crates




Rust Crate Rust Documentation

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 encryption
JWK export
A128GCM and A256GCM
AES-CBC-HMAC-SHA2 aes AEAD encryption
JWK export
A128CBC-HS256 and A256CBC-HS512
AES Key Wrap aes Authenticated encryption
JWK export
A128KW and A256KW
(X)ChaCha20-Poly1305 chacha AEAD encryption
JWK export
aka C20P, XC20P
BLS12-381 bls bls-signature1 key generation
JWK import/export
G1, G2, and G1G2 key types
Ed25519 ed25519 EdDSA signatures
JWK import/export
Conversion to X25519
X25519 ed25519 DH key exchange
JWK import/export
K-256 k256 ECDSA signatures
DH key exchange
JWK import/export
aka secp256k1
P-256 p256 ECDSA signatures
DH key exchange
JWK 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.


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.


Licensed under either of

at your option.


~95K SLoC