diff options
Diffstat (limited to 'Data/OpenPGP/Util/DecryptSecretKey.hs')
-rw-r--r-- | Data/OpenPGP/Util/DecryptSecretKey.hs | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/Data/OpenPGP/Util/DecryptSecretKey.hs b/Data/OpenPGP/Util/DecryptSecretKey.hs index 0ba89d2..4370ffc 100644 --- a/Data/OpenPGP/Util/DecryptSecretKey.hs +++ b/Data/OpenPGP/Util/DecryptSecretKey.hs | |||
@@ -3,22 +3,14 @@ module Data.OpenPGP.Util.DecryptSecretKey where | |||
3 | import qualified Data.OpenPGP as OpenPGP | 3 | import qualified Data.OpenPGP as OpenPGP |
4 | import qualified Data.ByteString as BS | 4 | import qualified Data.ByteString as BS |
5 | import qualified Data.ByteString.Lazy as LZ | 5 | import qualified Data.ByteString.Lazy as LZ |
6 | import Data.Word (Word16,Word8) | 6 | import Data.Word (Word16) |
7 | import Data.Char (toUpper) | ||
8 | import Control.Monad (foldM) | 7 | import Control.Monad (foldM) |
9 | import Numeric (showHex) | ||
10 | import Data.Binary (get,Binary,Get) | 8 | import Data.Binary (get,Binary,Get) |
11 | import Data.Binary.Get (runGetOrFail) | 9 | import Data.Binary.Get (runGetOrFail) |
12 | import qualified Data.Serialize as Serialize | 10 | import qualified Data.Serialize as Serialize |
13 | import Control.Applicative ( (<$>) ) | 11 | import Control.Applicative ( (<$>) ) |
14 | 12 | ||
15 | import Crypto.Hash.MD5 as MD5 | ||
16 | import Crypto.Hash.SHA1 as SHA1 | 13 | import Crypto.Hash.SHA1 as SHA1 |
17 | import Crypto.Hash.SHA256 as SHA256 | ||
18 | import Crypto.Hash.SHA384 as SHA384 | ||
19 | import Crypto.Hash.SHA512 as SHA512 | ||
20 | import Crypto.Hash.SHA224 as SHA224 | ||
21 | import Crypto.Hash.RIPEMD160 as RIPEMD160 | ||
22 | 14 | ||
23 | import qualified Crypto.Cipher.AES as Vincent | 15 | import qualified Crypto.Cipher.AES as Vincent |
24 | import qualified Crypto.Cipher.Blowfish as Vincent | 16 | import qualified Crypto.Cipher.Blowfish as Vincent |
@@ -28,16 +20,9 @@ import qualified Data.Byteable as Vincent | |||
28 | 20 | ||
29 | import Crypto.Cipher.Cast5 (CAST5_128) | 21 | import Crypto.Cipher.Cast5 (CAST5_128) |
30 | import Crypto.Cipher.ThomasToVincent | 22 | import Crypto.Cipher.ThomasToVincent |
23 | import Data.OpenPGP.Util.Base (toStrictBS,toLazyBS,hashBySymbol) | ||
31 | 24 | ||
32 | 25 | ||
33 | hashBySymbol OpenPGP.MD5 = MD5.hashlazy | ||
34 | hashBySymbol OpenPGP.SHA1 = SHA1.hashlazy | ||
35 | hashBySymbol OpenPGP.SHA256 = SHA256.hashlazy | ||
36 | hashBySymbol OpenPGP.SHA384 = SHA384.hashlazy | ||
37 | hashBySymbol OpenPGP.SHA512 = SHA512.hashlazy | ||
38 | hashBySymbol OpenPGP.SHA224 = SHA224.hashlazy | ||
39 | hashBySymbol OpenPGP.RIPEMD160 = RIPEMD160.hashlazy | ||
40 | |||
41 | 26 | ||
42 | 27 | ||
43 | data Enciphered = | 28 | data Enciphered = |
@@ -94,13 +79,6 @@ decryptSecretKey pass k@(OpenPGP.SecretKeyPacket { | |||
94 | 79 | ||
95 | decryptSecretKey _ _ = Nothing | 80 | decryptSecretKey _ _ = Nothing |
96 | 81 | ||
97 | toStrictBS :: LZ.ByteString -> BS.ByteString | ||
98 | toStrictBS = BS.concat . LZ.toChunks | ||
99 | |||
100 | toLazyBS :: BS.ByteString -> LZ.ByteString | ||
101 | toLazyBS = LZ.fromChunks . (:[]) | ||
102 | |||
103 | |||
104 | 82 | ||
105 | string2sdecrypt :: OpenPGP.SymmetricAlgorithm -> OpenPGP.S2K -> LZ.ByteString -> Enciphered -> LZ.ByteString | 83 | string2sdecrypt :: OpenPGP.SymmetricAlgorithm -> OpenPGP.S2K -> LZ.ByteString -> Enciphered -> LZ.ByteString |
106 | string2sdecrypt OpenPGP.AES128 s2k s = withIV $ simpleUnCFB (string2key s2k s :: Vincent.AES128) | 84 | string2sdecrypt OpenPGP.AES128 s2k s = withIV $ simpleUnCFB (string2key s2k s :: Vincent.AES128) |