des/lib.rs
1//! Pure Rust implementation of the [Data Encryption Standard][DES] (DES),
2//! including [Triple DES] (TDES, 3DES) block ciphers.
3//!
4//! # ⚠️ Security Warning: Hazmat!
5//!
6//! This crate implements only the low-level block cipher function, and is intended
7//! for use for implementing higher-level constructions *only*. It is NOT
8//! intended for direct use in applications.
9//!
10//! USE AT YOUR OWN RISK!
11//!
12//! [DES]: https://en.wikipedia.org/wiki/Data_Encryption_Standard
13//! [Triple DES]: https://en.wikipedia.org/wiki/Triple_DES
14
15#![no_std]
16#![doc(
17 html_logo_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg",
18 html_favicon_url = "https://raw.githubusercontent.com/RustCrypto/media/26acc39f/logo.svg",
19 html_root_url = "https://docs.rs/des/0.8.1"
20)]
21#![deny(unsafe_code)]
22#![cfg_attr(docsrs, feature(doc_cfg))]
23#![warn(missing_docs, rust_2018_idioms)]
24#![allow(clippy::clone_on_copy)] // TODO: remove on migration to const generics
25
26pub use cipher;
27
28mod consts;
29mod des;
30mod tdes;
31
32pub use crate::des::Des;
33pub use crate::tdes::{TdesEde2, TdesEde3, TdesEee2, TdesEee3};