diff options
author | Stephen Paul Weber <singpolyma@singpolyma.net> | 2012-04-27 15:23:20 -0500 |
---|---|---|
committer | Stephen Paul Weber <singpolyma@singpolyma.net> | 2012-04-27 15:23:20 -0500 |
commit | 26f1db51b6146ee09a119113506dc8f58559fbcf (patch) | |
tree | 04e79d46c7d08506749e03d4840dc109685a9335 /Data | |
parent | d9b4face488cb3eb1a914f37b24751bb5dd9aeac (diff) |
SymmetricAlgorithm
Diffstat (limited to 'Data')
-rw-r--r-- | Data/OpenPGP.hs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Data/OpenPGP.hs b/Data/OpenPGP.hs index acf5fb6..878fb99 100644 --- a/Data/OpenPGP.hs +++ b/Data/OpenPGP.hs | |||
@@ -46,6 +46,7 @@ module Data.OpenPGP ( | |||
46 | SignatureSubpacket(..), | 46 | SignatureSubpacket(..), |
47 | HashAlgorithm(..), | 47 | HashAlgorithm(..), |
48 | KeyAlgorithm(..), | 48 | KeyAlgorithm(..), |
49 | SymmetricAlgorithm(..), | ||
49 | CompressionAlgorithm(..), | 50 | CompressionAlgorithm(..), |
50 | MPI(..), | 51 | MPI(..), |
51 | find_key, | 52 | find_key, |
@@ -590,6 +591,35 @@ instance BINARY_CLASS KeyAlgorithm where | |||
590 | put = put . enum_to_word8 | 591 | put = put . enum_to_word8 |
591 | get = fmap enum_from_word8 get | 592 | get = fmap enum_from_word8 get |
592 | 593 | ||
594 | data SymmetricAlgorithm = Unencrypted | IDEA | TripleDES | CAST5 | Blowfish | AES128 | AES192 | AES256 | Twofish | SymmetricAlgorithm Word8 | ||
595 | deriving (Show, Read, Eq) | ||
596 | |||
597 | instance Enum SymmetricAlgorithm where | ||
598 | toEnum 00 = Unencrypted | ||
599 | toEnum 01 = IDEA | ||
600 | toEnum 02 = TripleDES | ||
601 | toEnum 03 = CAST5 | ||
602 | toEnum 04 = Blowfish | ||
603 | toEnum 07 = AES128 | ||
604 | toEnum 08 = AES192 | ||
605 | toEnum 09 = AES256 | ||
606 | toEnum 10 = Twofish | ||
607 | toEnum x = SymmetricAlgorithm $ fromIntegral x | ||
608 | fromEnum Unencrypted = 00 | ||
609 | fromEnum IDEA = 01 | ||
610 | fromEnum TripleDES = 02 | ||
611 | fromEnum CAST5 = 03 | ||
612 | fromEnum Blowfish = 04 | ||
613 | fromEnum AES128 = 07 | ||
614 | fromEnum AES192 = 08 | ||
615 | fromEnum AES256 = 09 | ||
616 | fromEnum Twofish = 10 | ||
617 | fromEnum (SymmetricAlgorithm x) = fromIntegral x | ||
618 | |||
619 | instance BINARY_CLASS SymmetricAlgorithm where | ||
620 | put = put . enum_to_word8 | ||
621 | get = fmap enum_from_word8 get | ||
622 | |||
593 | data CompressionAlgorithm = Uncompressed | ZIP | ZLIB | BZip2 | CompressionAlgorithm Word8 | 623 | data CompressionAlgorithm = Uncompressed | ZIP | ZLIB | BZip2 | CompressionAlgorithm Word8 |
594 | deriving (Show, Read, Eq) | 624 | deriving (Show, Read, Eq) |
595 | 625 | ||