úÎ6Ð3œ     BEncryption of bytestrings using a type level nonce for determinismBSD3None"#%+-;<=>?FKQTV&°+Error cases that can be encountered during  and 8Care has been taken to ensure that presenting values of b to an attacker leaks no plaintext (it does leak information about the length of the plaintext).3One of the underlying cryptographic algorithms (  or   ) failed.FThe length of the plaintext is not a multiple of the block size of  2The length of the offending plaintext is included.%The length of the digest produced by  % does not match the block size of  .!The offending digest is included.LThis error should not occur and is included primarily for sake of totality. The produced > is the wrong length for deserialization into a ciphertext.The offending  is included.DThe plaintext obtained by decrypting a ciphertext with the given   in the context of the  namespace; could not be deserialized into a value of the expected payload-type."This is expected behaviour if the  namespace or payload+-type does not match the ones used during ion or if the  was tempered with.šWe have determined that, allthough deserializion succeded, the ciphertext was likely modified during transit or created using a different namespace. CThis newtype ensures only keys of the correct length can be createdUse   to securely generate keys.Use the ( instance to save and restore values of   across executions. The cryptographic  HashAlgorithm this module usesWe expect the block size of   to be exactly the size of the   generated by   (since a   is used as an !).4Violation of this expectation causes runtime errors. The symmetric cipher " this module uses 0Securely generate a new key using system entropyWhen  ] accepts keys of varying lengths this function generates a key of the largest accepted size.Try to read a  L from a file. If the file does not exist, securely generate a key (using  ) and save it to the file. #Use   to generate a  # of the Symbol passed as proxy type$9Wrap failure of one of the cryptographic algorithms as a Encrypt a serialized valueDecrypt a serialized valuefThis instance is somewhat improper in that it works only for plaintexts whose length is a multiple of  !Improper plaintext lengths throw 'Does not actually show any key material%&'()*    +,9Encryption of bytestrings with implicit type level noncesBSD3None"#%+-;<=>?FKQTV)5&-./01'() JEncryption of serializable values using a type level nonce for determinismBSD3None"#%+-;<=>?FKQTV0 Encrypt a serialized valueDecrypt a serialized valuegEnsure the resulting ciphertext is of the provided length (needs to be a multiple of the block size of  t in bytes, otherwise an exception will be thrown at runtime). The computation has access to the serialized plaintext%&'()* AEncryption of serializable values with implicit type level noncesBSD3None"#%+-;<=>?FKQTV2I&-./01'() None"#%+-;<=>?FKQTV3u23456789:      !"#$%&'()*(+,(+-./"#0"#012312412512671818189186180:;<=>?@AB(cryptoids-0.5.0.0-EjNAVRYBk6dCIY98hvBQ1lData.CryptoID.ByteString*Data.CryptoID.ByteString.ImplicitNamespaceData.CryptoID.Poly$Data.CryptoID.Poly.ImplicitNamespacePaths_cryptoidsHasCryptoByteStringCryptoByteString CryptoIDErrorAlgorithmErrorPlaintextIsWrongLengthNamespaceHashIsWrongLengthCiphertextConversionFailedDeserializationErrorInvalidNamespaceDetected CryptoIDKey CryptoHash CryptoCiphercipherBlockSizegenKey readKeyFileencryptdecrypt+$fHasCryptoIDnamespaceByteStringByteStringm$fBinaryCryptoIDKey$fShowCryptoIDKey$fExceptionCryptoIDError$fByteArrayAccessCryptoIDKey$fShowCryptoIDError$fEqCryptoIDError"$fHasCryptoIDnamespaceByteStringambytestring-0.10.8.2Data.ByteString.Internal ByteString,cryptoids-types-0.0.0-LXY9PjQanO66nxCaK0JHyq Data.CryptoID ciphertextbinary-0.8.5.1Data.Binary.ClassBinary&cryptonite-0.24-1qcNp5XKacL7v1rfg3aUh8Crypto.Hash.TypesDigestCrypto.Cipher.Types.BlockIV BlockCipher namespace'cryptoFailableCryptoID,cryptoids-class-0.0.0-H6MGfdYGWQe8qijD5cW9FfData.CryptoID.Class MonadCryptoMonadCryptoKey cryptoIDKey HasCryptoID keyMaterial%Data.CryptoID.Class.ImplicitNamespaceCryptoIDNamespaceversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName