old_crypto_rs/
lib.rs

1pub mod helpers;
2mod null;
3mod autoclave;
4mod caesar;
5mod error;
6mod playfair;
7mod chaocipher;
8mod square;
9mod transposition;
10mod adfgvx;
11mod straddling;
12mod nihilist;
13mod secom;
14mod solitaire;
15mod vic;
16mod vigenere;
17mod wheatstone;
18#[cfg(feature = "sigaba")]
19mod sigaba;
20
21pub use null::NullCipher;
22pub use autoclave::{AutocryptCipher, AutokeyCipher};
23pub use caesar::CaesarCipher;
24pub use playfair::PlayfairCipher;
25pub use chaocipher::Chaocipher;
26pub use square::SquareCipher;
27pub use transposition::Transposition;
28pub use transposition::IrregularTransposition;
29pub use adfgvx::ADFGVX;
30pub use straddling::StraddlingCheckerboard;
31pub use nihilist::Nihilist;
32pub use solitaire::Solitaire;
33pub use secom::SecomCipher;
34pub use vic::VicCipher;
35pub use vigenere::VigenereCipher;
36pub use wheatstone::Wheatstone;
37#[cfg(feature = "sigaba")]
38pub use sigaba::Sigaba;
39
40
41pub trait Block {
42    fn block_size(&self) -> usize;
43    fn encrypt(&self, dst: &mut [u8], src: &[u8]) -> usize;
44    fn decrypt(&self, dst: &mut [u8], src: &[u8]) -> usize;
45}