MyNixOS website logo
Description

An educational tool for studying classical cryptography schemes.

An educational tool for studying classical cryptography schemes. Do not encrypt anything of worth with this library.

Included Ciphers:

  • Caesar

  • Affine (Linear)

  • Substitution

  • Stream

  • Vigenere

  • Enigma (Wehrmacht Enigma I)

Thanks to polymorphism, we can generate keys and encrypt ByteStrings without worrying much about types:

> import Crypto.Classical
> import Lens.Micro
> :set -XOverloadedStrings
> (\k -> _enigma $ encrypt k "What a great day for an attack!") . key <$> prng
"PXQS D KXSGB CFC AYK XJ DEGMON!"
> (\k -> _caesar $ encrypt k "What a great day for an attack!") . key <$> prng
"RCVO V BMZVO YVT AJM VI VOOVXF!"

crypto-classical

An educational tool for studying classical cryptography schemes. Do not encrypt anything of worth with this library.

Included Ciphers:

  • Caesar
  • Affine (Linear)
  • Substitution
  • Stream
  • Vigenere
  • Enigma (Wehrmacht Enigma I)
Metadata

Version

0.3.0

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows