dup_crypto/
lib.rs

1//  Copyright (C) 2020  Éloïs SANCHEZ.
2//
3// This program is free software: you can redistribute it and/or modify
4// it under the terms of the GNU Affero General Public License as
5// published by the Free Software Foundation, either version 3 of the
6// License, or (at your option) any later version.
7//
8// This program is distributed in the hope that it will be useful,
9// but WITHOUT ANY WARRANTY; without even the implied warranty of
10// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11// GNU Affero General Public License for more details.
12//
13// You should have received a copy of the GNU Affero General Public License
14// along with this program.  If not, see <https://www.gnu.org/licenses/>.
15
16//! Manage cryptographic operations for DUniter Protocols and the Duniter eco-system most broadly.
17//!
18//! `dup` means DUniter Protocols.
19//!
20//! ## Summary
21//!
22//!
23//! * [Generate wallet with Dubp-Mnemonic](./mnemonic/index.html)
24//! * [Handle DEWIF format](./dewif/index.html#handle-dewif-format)
25//!   * [Write DEWIF file](./dewif/index.html#write-ed25519-key-pair-in-dewif-file)
26//!   * [Read DEWIF file](./dewif/index.html#read-dewif-file)
27//! * [Sha256](./hashs/index.html)
28//!   * [Compute Sha256 hash](./hashs/index.html#compute-sha256-hash)
29//! * [Ed25519](./keys/index.html)
30//!   * [Generate and use ed25519 key-pair](./keys/index.html#generate-and-use-ed25519-key-pair)
31//! * [BIP32-Ed25519](./keys/ed25519/bip32/index.html)
32//!   * [Generate an HD wallet](./keys/ed25519/bip32/index.html#generate-an-hd-wallet)
33//!   * [Derive private key and public key](./keys/ed25519/bip32/index.html#derive-private-key-and-public-key)
34//! * [Private message encryption with authentification](./private_message/index.html)
35//!   * [Encrypt a private message (sender side)](./private_message/index.html#encrypt-a-private-message-sender-side)
36//!   * [Decrypt a private message (receiver side)](./private_message/index.html#decrypt-a-private-message-receiver-side)
37//!
38
39#![deny(
40    clippy::expect_used,
41    clippy::unwrap_used,
42    missing_docs,
43    missing_copy_implementations,
44    trivial_casts,
45    trivial_numeric_casts,
46    unstable_features,
47    unused_import_braces,
48    unused_qualifications
49)]
50#![allow(non_camel_case_types)]
51
52pub mod bases;
53#[cfg(feature = "dewif")]
54pub mod dewif;
55#[cfg(feature = "encrypt_tx_comment")]
56pub mod encrypt_tx_comment;
57pub mod hashs;
58pub mod keys;
59#[cfg(feature = "mnemonic")]
60pub mod mnemonic;
61#[cfg(feature = "private_message")]
62pub mod private_message;
63pub mod rand;
64pub mod scrypt;
65pub mod seeds;
66pub mod utils;
67pub mod xor_cipher;