Expand description
A number of classical ciphers implemented in Rust, with the capability
to supply a character set for any [Language
].
Modules§
- error
- key
- All key representations reside in this module, even if said key is only used
for a single cipher. All keys implement the
Key
trait, and any keys that have state implementStatefulKey
(lookup tables such asClassicVigSquare
do not need to implement this trait). Keys typically implementKeyFrom<T>
andSetKey<T>
for initialization and set operations. - lang
- Module containing structs for generalizing cipher algorithms, so that individual ciphers are only aware of the requirements of the cipher alphabet, such as the number of letters needed.
- util
- Contains functions that are used across the library
Structs§
- Affine
- Atbash
- Autokey
- Baconian
- Beaufort
- Bellaso
- Block
Transposition - Caesar
- Classic
Vigenere - Column
Transposition - Enigma
- Keyed
Vigenere - Morse
- Porta
- Railfence
- Rot13
- Scytale
- Simple
Substitution
Traits§
- Asymmetric
- Trait implemented by Asymmetric ciphers (where encryption and decryption are unique operations).
- Keyed
- Trait implemented by ciphers that require a
Key
- Solve
- Trait implemented by ciphers which can be automatically solved
- Symmetric
- Trait implemented by Symmetric ciphers (where encryption and decryption are identical).