Crates.io | aptos-crypto |
lib.rs | aptos-crypto |
version | 0.2.7 |
source | src |
created_at | 2022-05-22 20:52:57.346913 |
updated_at | 2022-08-16 07:37:16.755314 |
description | Aptos crypto |
homepage | https://aptoslabs.com |
repository | https://github.com/aptos-labs/aptos-core |
max_upload_size | |
id | 591431 |
size | 319,582 |
The crypto component hosts all the implementations of cryptographic primitives we use in Aptos: hashing, signatures, multisignatures, aggregate signatures, and key derivation/generation.
To enforce type-safety for signature schemes, we rely on traits from traits.rs
and validatable.rs
.
Aptos makes use of several cryptographic algorithms:
Before implementing a cryptographic primitive, be sure to read traits.rs
and validatable.rs
to understand how to comply with our API as well as some of the security concerns involved.
crypto/src
├── bls12-381/ # Boneh-Lynn-Shacham (BLS) signatures over (Barreto-Lynn-Scott) BLS12-381 curves
├── unit_tests/ # Unit tests
├── lib.rs
├── ed25519.rs # Ed25519 implementation of the signing/verification API in traits.rs
├── hash.rs # Hash function (SHA-3)
├── hkdf.rs # HKDF implementation
├── multi_ed25519.rs # MultiEd25519 implementation of the signing/verification API in traits.rs
├── noise.rs # Noise Protocol Framework implementation
├── test_utils.rs
├── traits.rs # Traits for safer implementations of signature schemes
├── validatable.rs # Traits for deferring validation of group elements (e.g., public keys, signatures)
└── x25519.rs # X25519 implementation