type Name = String
type KeyLen = [Int]
type BlockLen = Int
type Protocol = String
data Crypto =
StreamCipher Name KeyLen [Protocol]
| BlockCipher Name KeyLen BlockLen [Protocol]
| BlockCipherMode Name
deriving (Show, Read, Eq)
lsCrypto = [
BlockCipher "AES" [128, 192, 256] 128 ["TLS", "PGP", "Kerberos"],
BlockCipherMode "ECB",
BlockCipherMode "CBC",
BlockCipher "Twofish" [128, 192, 256] 128 ["PGP", "Kerberos"],
StreamCipher "ChaCha20" [128, 256] ["TLS", "S/MIME", "SSH"],
BlockCipher "3DES" [168] 64 ["TLS", "PGP", "Kerberos"],
BlockCipherMode "CTR",
BlockCipherMode "GCM",
StreamCipher "RC4" [40..2048] ["Kerberos"]
]