#hyperledger #aries #didcomm

no-std askar-crypto

Hyperledger Aries Askar cryptography

14 releases

new 0.3.6 Mar 31, 2025
0.3.3 Dec 16, 2024
0.3.1 Jan 29, 2024
0.3.0 Nov 13, 2023
0.2.1 Jul 23, 2021

#2 in #hyperledger

Download history 521/week @ 2024-12-13 257/week @ 2024-12-20 56/week @ 2024-12-27 187/week @ 2025-01-03 551/week @ 2025-01-10 578/week @ 2025-01-17 939/week @ 2025-01-24 765/week @ 2025-01-31 982/week @ 2025-02-07 530/week @ 2025-02-14 695/week @ 2025-02-21 638/week @ 2025-02-28 555/week @ 2025-03-07 475/week @ 2025-03-14 438/week @ 2025-03-21 403/week @ 2025-03-28

1,984 downloads per month
Used in 15 crates (5 directly)

MIT/Apache

295KB
7.5K SLoC

askar-crypto

Rust Crate Rust Documentation

The askar-crypto crate provides the basic key representations and cryptographic operations used by 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.

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

at your option.

Dependencies

~2–17MB
~176K SLoC