|
|
|
|
|
|
Synopsis |
|
|
|
|
Automatic key generation
|
|
|
:: FilePath | File name where key is stored.
| -> IO Word256 | The actual 256-bit key.
| Get a 256-bit key from the given text file.
If the file does not exist, or did not contain enough bits,
a random key will be generated and stored in that file.
|
|
|
|
The default key file.
|
|
|
Simply calls getKey "client_session_key.aes"
|
|
Actual encryption/decryption
|
|
|
:: AESKey k | | => k | The key used for encryption.
| -> ByteString | The data to encrypt.
| -> String | Encrypted and encoded data.
| Encrypt with the given key and base-64 encode.
A hash is stored inside the encrypted key so that, upon decryption,
integrity can be guaranteed.
|
|
|
|
:: (AESKey k, Monad m, Failure ClientSessionException m) | | => k | The key used for encryption.
| -> String | Data to decrypt.
| -> m ByteString | The decrypted data, if possible.
| Base-64 decode and decrypt with the given key, if possible. Calls
failure if either the original string is not a valid base-64 encoded
string, or the hash at the beginning of the decrypted string does not match.
|
|
|
Key types and classes.
|
|
|
|
class AESKeyIndirection a => AESKey a | Source |
|
| Instances | |
|
|
Exceptions
|
|
data ClientSessionException | Source |
|
Instances | |
|
|
Produced by Haddock version 2.6.1 |