bls12_381_bls/
lib.rs

1// This Source Code Form is subject to the terms of the Mozilla Public
2// License, v. 2.0. If a copy of the MPL was not distributed with this
3// file, You can obtain one at http://mozilla.org/MPL/2.0/.
4//
5// Copyright (c) DUSK NETWORK. All rights reserved.
6
7#![no_std]
8
9//! Implementation of BLS signatures on the BLS12-381 curve.
10//! Reference paper: <https://crypto.stanford.edu/~dabo/pubs/papers/BLSmultisig.html>
11
12mod error;
13mod hash;
14mod keys;
15mod signatures;
16
17pub use error::Error;
18pub use keys::{
19    public::{MultisigPublicKey, PublicKey},
20    secret::SecretKey,
21};
22pub use signatures::{MultisigSignature, Signature};
23
24#[cfg(feature = "serde")]
25mod serde_support;
26
27#[cfg(feature = "rkyv-impl")]
28pub use crate::keys::{
29    public::{
30        ArchivedMultisigPublicKey, ArchivedPublicKey,
31        MultisigPublicKeyResolver, PublicKeyResolver,
32    },
33    secret::{ArchivedSecretKey, SecretKeyResolver},
34};
35
36#[cfg(feature = "rkyv-impl")]
37pub use crate::signatures::{
38    ArchivedMultisigSignature, ArchivedSignature, MultisigSignatureResolver,
39    SignatureResolver,
40};