| License | BSD-style |
|---|---|
| Maintainer | Vincent Hanquez <vincent@snarc.org> |
| Stability | experimental |
| Portability | Good |
| Safe Haskell | None |
| Language | Haskell2010 |
Crypto.PubKey.RSA.OAEP
Contents
Description
- 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
Constructors
| OAEPParams | |
Fields
| |
defaultOAEPParams :: (ByteArrayAccess seed, ByteArray output, HashAlgorithm hash) => hash -> OAEPParams hash seed output Source #
Default Params with a specified hash function
OAEP encryption
Arguments
| :: 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.
Arguments
| :: (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
Arguments
| :: 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
Arguments
| :: (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.