crypto-classical-0.2.1: An educational tool for studying classical cryptography schemes.

Copyright(c) Colin Woodbury 2015 - 2020
LicenseBSD3
MaintainerColin Woodbury <colin@fosskers.ca>
Safe HaskellNone
LanguageHaskell2010

Crypto.Classical.Cipher.Caesar

Description

 
Synopsis

Documentation

newtype Caesar a Source #

A simple Shift Cipher. The key is a number by which to shift each letter in the alphabet. Example:

>>> encrypt 3 "ABCDEFGHIJKLMNOPQRSTUVWXYZ" ^. caesar
"DEFGHIJKLMNOPQRSTUVWXYZABC"

Constructors

Caesar 

Fields

Instances
Monad Caesar Source # 
Instance details

Defined in Crypto.Classical.Cipher.Caesar

Methods

(>>=) :: Caesar a -> (a -> Caesar b) -> Caesar b #

(>>) :: Caesar a -> Caesar b -> Caesar b #

return :: a -> Caesar a #

fail :: String -> Caesar a #

Functor Caesar Source # 
Instance details

Defined in Crypto.Classical.Cipher.Caesar

Methods

fmap :: (a -> b) -> Caesar a -> Caesar b #

(<$) :: a -> Caesar b -> Caesar a #

Applicative Caesar Source # 
Instance details

Defined in Crypto.Classical.Cipher.Caesar

Methods

pure :: a -> Caesar a #

(<*>) :: Caesar (a -> b) -> Caesar a -> Caesar b #

liftA2 :: (a -> b -> c) -> Caesar a -> Caesar b -> Caesar c #

(*>) :: Caesar a -> Caesar b -> Caesar b #

(<*) :: Caesar a -> Caesar b -> Caesar a #

Eq a => Eq (Caesar a) Source # 
Instance details

Defined in Crypto.Classical.Cipher.Caesar

Methods

(==) :: Caesar a -> Caesar a -> Bool #

(/=) :: Caesar a -> Caesar a -> Bool #

Show a => Show (Caesar a) Source # 
Instance details

Defined in Crypto.Classical.Cipher.Caesar

Methods

showsPrec :: Int -> Caesar a -> ShowS #

show :: Caesar a -> String #

showList :: [Caesar a] -> ShowS #

Cipher ( / 26) Caesar Source # 
Instance details

Defined in Crypto.Classical.Cipher.Caesar

caesar :: forall a a. Lens (Caesar a) (Caesar a) a a Source #