Crate classic_crypto[][src]

Implementations of numerous classical ciphers. Supports configuration for an arbitrary Language defined in JSON config files.

Modules

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 implement StatefulKey (lookup tables such as ClassicVigSquare do not need to implement this trait). Keys typically implement KeyFrom<T> and SetKey<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
Caesar
ClassicVigenere
Enigma
KeyedVigenere
Morse
Porta
Rot13
SimpleSubstitution

Traits

Asymmetric

Trait implemented by Asymmetric ciphers (where encryption and decryption are unique operations).

Keyed

Trait implemented by ciphers that require a Key

Symmetric

Trait implemented by Symmetric ciphers (where encryption and decryption are identical).