License | BSD-style |
---|---|
Maintainer | Vincent Hanquez <vincent@snarc.org> |
Stability | experimental |
Portability | Good |
Safe Haskell | None |
Language | Haskell2010 |
- data OAEPParams hash seed output = OAEPParams {
- oaepHash :: hash
- oaepMaskGenAlg :: MaskGenAlgorithm seed output
- oaepLabel :: Maybe ByteString
- defaultOAEPParams :: (ByteArrayAccess seed, ByteArray output, HashAlgorithm hash) => hash -> OAEPParams hash seed output
- encryptWithSeed :: HashAlgorithm hash => ByteString -> OAEPParams hash ByteString ByteString -> PublicKey -> ByteString -> Either Error ByteString
- encrypt :: (HashAlgorithm hash, MonadRandom m) => OAEPParams hash ByteString ByteString -> PublicKey -> ByteString -> m (Either Error ByteString)
- decrypt :: HashAlgorithm hash => Maybe Blinder -> OAEPParams hash ByteString ByteString -> PrivateKey -> ByteString -> Either Error ByteString
- decryptSafer :: (HashAlgorithm hash, MonadRandom m) => OAEPParams hash ByteString ByteString -> PrivateKey -> ByteString -> m (Either Error ByteString)
Documentation
data OAEPParams hash seed output Source #
Parameters for OAEP encryption/decryption
OAEPParams | |
|
defaultOAEPParams :: (ByteArrayAccess seed, ByteArray output, HashAlgorithm hash) => hash -> OAEPParams hash seed output Source #
Default Params with a specified hash function
OAEP encryption
:: HashAlgorithm hash | |
=> ByteString | Seed |
-> OAEPParams hash ByteString ByteString | OAEP params to use for encryption |
-> PublicKey | Public key. |
-> ByteString | Message to encrypt |
-> Either Error ByteString |
Encrypt a message using OAEP with a predefined seed.
:: (HashAlgorithm hash, MonadRandom m) | |
=> OAEPParams hash ByteString ByteString | OAEP params to use for encryption. |
-> PublicKey | Public key. |
-> ByteString | Message to encrypt |
-> m (Either Error ByteString) |
Encrypt a message using OAEP
OAEP decryption
:: HashAlgorithm hash | |
=> Maybe Blinder | Optional blinder |
-> OAEPParams hash ByteString ByteString | OAEP params to use for decryption |
-> PrivateKey | Private key |
-> ByteString | Cipher text |
-> Either Error ByteString |
Decrypt a ciphertext using OAEP
When the signature is not in a context where an attacker could gain information from the timing of the operation, the blinder can be set to None.
If unsure always set a blinder or use decryptSafer
:: (HashAlgorithm hash, MonadRandom m) | |
=> OAEPParams hash ByteString ByteString | OAEP params to use for decryption |
-> PrivateKey | Private key |
-> ByteString | Cipher text |
-> m (Either Error ByteString) |
Decrypt a ciphertext using OAEP and by automatically generating a blinder.