crypto-classical-0.3.0: 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.Affine

Description

 
Synopsis

Documentation

newtype Affine a Source #

An Affine Cipher is a non-random Substitution Cipher, such that a character x is mapped to a cipher character according to the equation:

f(x) = ax + b (mod 26)

Also known as a Linear Cipher.

Constructors

Affine 

Fields

Instances
Monad Affine Source # 
Instance details

Defined in Crypto.Classical.Cipher.Affine

Methods

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

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

return :: a -> Affine a #

fail :: String -> Affine a #

Functor Affine Source # 
Instance details

Defined in Crypto.Classical.Cipher.Affine

Methods

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

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

Applicative Affine Source # 
Instance details

Defined in Crypto.Classical.Cipher.Affine

Methods

pure :: a -> Affine a #

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

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

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

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

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

Defined in Crypto.Classical.Cipher.Affine

Methods

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

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

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

Defined in Crypto.Classical.Cipher.Affine

Methods

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

show :: Affine a -> String #

showList :: [Affine a] -> ShowS #

Cipher ( / 26, / 26) Affine Source # 
Instance details

Defined in Crypto.Classical.Cipher.Affine