packages feed

crypto-classical 0.0.2 → 0.0.3

raw patch · 3 files changed

+3/−1 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- Crypto.Classical.Cipher.Affine: [_affine] :: Affine a -> a
- Crypto.Classical.Cipher.Affine: instance Crypto.Classical.Types.Cipher (Data.Modular.ℤ Data.Modular./ 26, Data.Modular.ℤ Data.Modular./ 26) Crypto.Classical.Cipher.Affine.Affine
- Crypto.Classical.Cipher.Affine: instance GHC.Base.Applicative Crypto.Classical.Cipher.Affine.Affine
- Crypto.Classical.Cipher.Affine: instance GHC.Base.Functor Crypto.Classical.Cipher.Affine.Affine
- Crypto.Classical.Cipher.Affine: instance GHC.Base.Monad Crypto.Classical.Cipher.Affine.Affine
- Crypto.Classical.Cipher.Affine: instance GHC.Classes.Eq a => GHC.Classes.Eq (Crypto.Classical.Cipher.Affine.Affine a)
- Crypto.Classical.Cipher.Affine: instance GHC.Show.Show a => GHC.Show.Show (Crypto.Classical.Cipher.Affine.Affine a)
- Crypto.Classical.Cipher.Caesar: [_caesar] :: Caesar a -> a
- Crypto.Classical.Cipher.Caesar: instance Crypto.Classical.Types.Cipher (Data.Modular.ℤ Data.Modular./ 26) Crypto.Classical.Cipher.Caesar.Caesar
- Crypto.Classical.Cipher.Caesar: instance GHC.Base.Applicative Crypto.Classical.Cipher.Caesar.Caesar
- Crypto.Classical.Cipher.Caesar: instance GHC.Base.Functor Crypto.Classical.Cipher.Caesar.Caesar
- Crypto.Classical.Cipher.Caesar: instance GHC.Base.Monad Crypto.Classical.Cipher.Caesar.Caesar
- Crypto.Classical.Cipher.Caesar: instance GHC.Classes.Eq a => GHC.Classes.Eq (Crypto.Classical.Cipher.Caesar.Caesar a)
- Crypto.Classical.Cipher.Caesar: instance GHC.Show.Show a => GHC.Show.Show (Crypto.Classical.Cipher.Caesar.Caesar a)
- Crypto.Classical.Cipher.Enigma: [_enigma] :: Enigma a -> a
- Crypto.Classical.Cipher.Enigma: instance Crypto.Classical.Types.Cipher Crypto.Classical.Types.EnigmaKey Crypto.Classical.Cipher.Enigma.Enigma
- Crypto.Classical.Cipher.Enigma: instance GHC.Base.Applicative Crypto.Classical.Cipher.Enigma.Enigma
- Crypto.Classical.Cipher.Enigma: instance GHC.Base.Functor Crypto.Classical.Cipher.Enigma.Enigma
- Crypto.Classical.Cipher.Enigma: instance GHC.Base.Monad Crypto.Classical.Cipher.Enigma.Enigma
- Crypto.Classical.Cipher.Enigma: instance GHC.Classes.Eq a => GHC.Classes.Eq (Crypto.Classical.Cipher.Enigma.Enigma a)
- Crypto.Classical.Cipher.Enigma: instance GHC.Show.Show a => GHC.Show.Show (Crypto.Classical.Cipher.Enigma.Enigma a)
- Crypto.Classical.Cipher.Stream: [_stream] :: Stream a -> a
- Crypto.Classical.Cipher.Stream: instance Crypto.Classical.Types.Cipher [Data.Modular.ℤ Data.Modular./ 26] Crypto.Classical.Cipher.Stream.Stream
- Crypto.Classical.Cipher.Stream: instance GHC.Base.Applicative Crypto.Classical.Cipher.Stream.Stream
- Crypto.Classical.Cipher.Stream: instance GHC.Base.Functor Crypto.Classical.Cipher.Stream.Stream
- Crypto.Classical.Cipher.Stream: instance GHC.Base.Monad Crypto.Classical.Cipher.Stream.Stream
- Crypto.Classical.Cipher.Stream: instance GHC.Classes.Eq a => GHC.Classes.Eq (Crypto.Classical.Cipher.Stream.Stream a)
- Crypto.Classical.Cipher.Stream: instance GHC.Show.Show a => GHC.Show.Show (Crypto.Classical.Cipher.Stream.Stream a)
- Crypto.Classical.Cipher.Substitution: [_substitution] :: Substitution a -> a
- Crypto.Classical.Cipher.Substitution: instance Crypto.Classical.Types.Cipher (Data.Map.Base.Map GHC.Types.Char GHC.Types.Char) Crypto.Classical.Cipher.Substitution.Substitution
- Crypto.Classical.Cipher.Substitution: instance GHC.Base.Applicative Crypto.Classical.Cipher.Substitution.Substitution
- Crypto.Classical.Cipher.Substitution: instance GHC.Base.Functor Crypto.Classical.Cipher.Substitution.Substitution
- Crypto.Classical.Cipher.Substitution: instance GHC.Base.Monad Crypto.Classical.Cipher.Substitution.Substitution
- Crypto.Classical.Cipher.Substitution: instance GHC.Classes.Eq a => GHC.Classes.Eq (Crypto.Classical.Cipher.Substitution.Substitution a)
- Crypto.Classical.Cipher.Substitution: instance GHC.Show.Show a => GHC.Show.Show (Crypto.Classical.Cipher.Substitution.Substitution a)
- Crypto.Classical.Cipher.Vigenere: [_vigenère] :: Vigenère a -> a
- Crypto.Classical.Cipher.Vigenere: instance Crypto.Classical.Types.Cipher [Data.Modular.ℤ Data.Modular./ 26] Crypto.Classical.Cipher.Vigenere.Vigenère
- Crypto.Classical.Cipher.Vigenere: instance GHC.Base.Applicative Crypto.Classical.Cipher.Vigenere.Vigenère
- Crypto.Classical.Cipher.Vigenere: instance GHC.Base.Functor Crypto.Classical.Cipher.Vigenere.Vigenère
- Crypto.Classical.Cipher.Vigenere: instance GHC.Base.Monad Crypto.Classical.Cipher.Vigenere.Vigenère
- Crypto.Classical.Cipher.Vigenere: instance GHC.Classes.Eq a => GHC.Classes.Eq (Crypto.Classical.Cipher.Vigenere.Vigenère a)
- Crypto.Classical.Cipher.Vigenere: instance GHC.Show.Show a => GHC.Show.Show (Crypto.Classical.Cipher.Vigenere.Vigenère a)
- Crypto.Classical.Letter: [_char] :: Letter -> Char
- Crypto.Classical.Letter: instance GHC.Classes.Eq Crypto.Classical.Letter.Letter
- Crypto.Classical.Letter: instance GHC.Show.Show Crypto.Classical.Letter.Letter
- Crypto.Classical.Letter: instance Test.QuickCheck.Arbitrary.Arbitrary Crypto.Classical.Letter.Letter
- Crypto.Classical.Shuffle: instance GHC.Show.Show a => GHC.Show.Show (Crypto.Classical.Shuffle.Tree a)
- Crypto.Classical.Test: instance Test.QuickCheck.Arbitrary.Arbitrary Data.ByteString.Lazy.Internal.ByteString
- Crypto.Classical.Types: [_circuit] :: Rotor -> Map (ℤ / 26) (ℤ / 26)
- Crypto.Classical.Types: [_name] :: Rotor -> Text
- Crypto.Classical.Types: [_plugboard] :: EnigmaKey -> Plugboard
- Crypto.Classical.Types: [_reflector] :: EnigmaKey -> Reflector
- Crypto.Classical.Types: [_rotors] :: EnigmaKey -> [Rotor]
- Crypto.Classical.Types: [_settings] :: EnigmaKey -> [Char]
- Crypto.Classical.Types: [_turnover] :: Rotor -> ℤ / 26
- Crypto.Classical.Types: instance Crypto.Classical.Types.Key (Data.Map.Base.Map GHC.Types.Char GHC.Types.Char)
- Crypto.Classical.Types: instance Crypto.Classical.Types.Key (Data.Modular.ℤ Data.Modular./ 26)
- Crypto.Classical.Types: instance Crypto.Classical.Types.Key (Data.Modular.ℤ Data.Modular./ 26, Data.Modular.ℤ Data.Modular./ 26)
- Crypto.Classical.Types: instance Crypto.Classical.Types.Key Crypto.Classical.Types.EnigmaKey
- Crypto.Classical.Types: instance Crypto.Classical.Types.Key [Data.Modular.ℤ Data.Modular./ 26]
- Crypto.Classical.Types: instance GHC.Classes.Eq Crypto.Classical.Types.EnigmaKey
- Crypto.Classical.Types: instance GHC.Classes.Eq Crypto.Classical.Types.Rotor
- Crypto.Classical.Types: instance GHC.Show.Show Crypto.Classical.Types.EnigmaKey
- Crypto.Classical.Types: instance GHC.Show.Show Crypto.Classical.Types.Rotor
+ Crypto.Classical.Cipher.Affine: _affine :: Affine a -> a
+ Crypto.Classical.Cipher.Affine: instance Applicative Affine
+ Crypto.Classical.Cipher.Affine: instance Cipher (ℤ / 26, ℤ / 26) Affine
+ Crypto.Classical.Cipher.Affine: instance Eq a => Eq (Affine a)
+ Crypto.Classical.Cipher.Affine: instance Functor Affine
+ Crypto.Classical.Cipher.Affine: instance Monad Affine
+ Crypto.Classical.Cipher.Affine: instance Show a => Show (Affine a)
+ Crypto.Classical.Cipher.Caesar: _caesar :: Caesar a -> a
+ Crypto.Classical.Cipher.Caesar: instance Applicative Caesar
+ Crypto.Classical.Cipher.Caesar: instance Cipher (ℤ / 26) Caesar
+ Crypto.Classical.Cipher.Caesar: instance Eq a => Eq (Caesar a)
+ Crypto.Classical.Cipher.Caesar: instance Functor Caesar
+ Crypto.Classical.Cipher.Caesar: instance Monad Caesar
+ Crypto.Classical.Cipher.Caesar: instance Show a => Show (Caesar a)
+ Crypto.Classical.Cipher.Enigma: _enigma :: Enigma a -> a
+ Crypto.Classical.Cipher.Enigma: instance Applicative Enigma
+ Crypto.Classical.Cipher.Enigma: instance Cipher EnigmaKey Enigma
+ Crypto.Classical.Cipher.Enigma: instance Eq a => Eq (Enigma a)
+ Crypto.Classical.Cipher.Enigma: instance Functor Enigma
+ Crypto.Classical.Cipher.Enigma: instance Monad Enigma
+ Crypto.Classical.Cipher.Enigma: instance Show a => Show (Enigma a)
+ Crypto.Classical.Cipher.Stream: _stream :: Stream a -> a
+ Crypto.Classical.Cipher.Stream: instance Applicative Stream
+ Crypto.Classical.Cipher.Stream: instance Cipher [ℤ / 26] Stream
+ Crypto.Classical.Cipher.Stream: instance Eq a => Eq (Stream a)
+ Crypto.Classical.Cipher.Stream: instance Functor Stream
+ Crypto.Classical.Cipher.Stream: instance Monad Stream
+ Crypto.Classical.Cipher.Stream: instance Show a => Show (Stream a)
+ Crypto.Classical.Cipher.Substitution: _substitution :: Substitution a -> a
+ Crypto.Classical.Cipher.Substitution: instance Applicative Substitution
+ Crypto.Classical.Cipher.Substitution: instance Cipher (Map Char Char) Substitution
+ Crypto.Classical.Cipher.Substitution: instance Eq a => Eq (Substitution a)
+ Crypto.Classical.Cipher.Substitution: instance Functor Substitution
+ Crypto.Classical.Cipher.Substitution: instance Monad Substitution
+ Crypto.Classical.Cipher.Substitution: instance Show a => Show (Substitution a)
+ Crypto.Classical.Cipher.Vigenere: _vigenère :: Vigenère a -> a
+ Crypto.Classical.Cipher.Vigenere: instance Applicative Vigenère
+ Crypto.Classical.Cipher.Vigenere: instance Cipher [ℤ / 26] Vigenère
+ Crypto.Classical.Cipher.Vigenere: instance Eq a => Eq (Vigenère a)
+ Crypto.Classical.Cipher.Vigenere: instance Functor Vigenère
+ Crypto.Classical.Cipher.Vigenere: instance Monad Vigenère
+ Crypto.Classical.Cipher.Vigenere: instance Show a => Show (Vigenère a)
+ Crypto.Classical.Letter: _char :: Letter -> Char
+ Crypto.Classical.Letter: instance Arbitrary Letter
+ Crypto.Classical.Letter: instance Eq Letter
+ Crypto.Classical.Letter: instance Show Letter
+ Crypto.Classical.Shuffle: instance Show a => Show (Tree a)
+ Crypto.Classical.Test: instance Arbitrary ByteString
+ Crypto.Classical.Types: _circuit :: Rotor -> Map (ℤ / 26) (ℤ / 26)
+ Crypto.Classical.Types: _name :: Rotor -> Text
+ Crypto.Classical.Types: _plugboard :: EnigmaKey -> Plugboard
+ Crypto.Classical.Types: _reflector :: EnigmaKey -> Reflector
+ Crypto.Classical.Types: _rotors :: EnigmaKey -> [Rotor]
+ Crypto.Classical.Types: _settings :: EnigmaKey -> [Char]
+ Crypto.Classical.Types: _turnover :: Rotor -> ℤ / 26
+ Crypto.Classical.Types: instance Eq EnigmaKey
+ Crypto.Classical.Types: instance Eq Rotor
+ Crypto.Classical.Types: instance Key (Map Char Char)
+ Crypto.Classical.Types: instance Key (ℤ / 26)
+ Crypto.Classical.Types: instance Key (ℤ / 26, ℤ / 26)
+ Crypto.Classical.Types: instance Key EnigmaKey
+ Crypto.Classical.Types: instance Key [ℤ / 26]
+ Crypto.Classical.Types: instance Show EnigmaKey
+ Crypto.Classical.Types: instance Show Rotor
- Crypto.Classical.Cipher.Affine: affine :: Iso (Affine a_afj7) (Affine a_afm2) a_afj7 a_afm2
+ Crypto.Classical.Cipher.Affine: affine :: Iso (Affine a_acIg) (Affine a_acLQ) a_acIg a_acLQ
- Crypto.Classical.Cipher.Caesar: caesar :: Iso (Caesar a_afK4) (Caesar a_afMu) a_afK4 a_afMu
+ Crypto.Classical.Cipher.Caesar: caesar :: Iso (Caesar a_ad87) (Caesar a_adav) a_ad87 a_adav
- Crypto.Classical.Cipher.Enigma: enigma :: Iso (Enigma a_ag6o) (Enigma a_ag8Q) a_ag6o a_ag8Q
+ Crypto.Classical.Cipher.Enigma: enigma :: Iso (Enigma a_ads8) (Enigma a_aduw) a_ads8 a_aduw
- Crypto.Classical.Cipher.Stream: stream :: Iso (Stream a_ahUO) (Stream a_ahZ0) a_ahUO a_ahZ0
+ Crypto.Classical.Cipher.Stream: stream :: Iso (Stream a_aezf) (Stream a_aeCs) a_aezf a_aeCs
- Crypto.Classical.Cipher.Substitution: substitution :: Iso (Substitution a_aijS) (Substitution a_aimi) a_aijS a_aimi
+ Crypto.Classical.Cipher.Substitution: substitution :: Iso (Substitution a_aeWM) (Substitution a_aeZa) a_aeWM a_aeZa
- Crypto.Classical.Cipher.Vigenere: vigenère :: Iso (Vigenère a_aiBZ) (Vigenère a_aiEp) a_aiBZ a_aiEp
+ Crypto.Classical.Cipher.Vigenere: vigenère :: Iso (Vigenère a_afet) (Vigenère a_afgR) a_afet a_afgR

Files

Crypto/Classical/Letter.hs view
@@ -6,6 +6,7 @@  module Crypto.Classical.Letter where +import Control.Applicative ((<$>)) import Data.Char import Test.QuickCheck 
Crypto/Classical/Test.hs view
@@ -16,6 +16,7 @@   , testAll   ) where +import           Control.Applicative ((<$>)) import           Control.Lens import           Control.Monad (void) import           Crypto.Classical.Cipher
crypto-classical.cabal view
@@ -1,6 +1,6 @@ name:                crypto-classical -version:             0.0.2+version:             0.0.3  synopsis:            An educational tool for studying classical cryptography schemes.