Maintainer | John Galt <jgalt@centromere.net> |
---|---|
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
This module contains helper functions which can be useful at times.
- data ScrubbedBytes :: *
- data NoiseException
- newtype Plaintext = Plaintext ScrubbedBytes
- convert :: (ByteArrayAccess bin, ByteArray bout) => bin -> bout
- append :: ByteArray bs => bs -> bs -> bs
- concatSB :: [ScrubbedBytes] -> ScrubbedBytes
- bsToSB :: ByteString -> ScrubbedBytes
- bsToSB' :: ByteString -> ScrubbedBytes
- sbToBS :: ScrubbedBytes -> ByteString
- sbToBS' :: ScrubbedBytes -> ByteString
- sbEq :: ScrubbedBytes -> ScrubbedBytes -> Bool
Types
data ScrubbedBytes :: *
ScrubbedBytes is a memory chunk which have the properties of:
- Being scrubbed after its goes out of scope.
- A Show instance that doesn't actually show any content
- A Eq instance that is constant time
data NoiseException Source
Represents exceptions which can occur. DecryptionFailure
is thrown
if a symmetric decryption operation fails, which is usually the result
of an invalid authentication tag. HandshakeStateFailure
is thrown if
the HandshakeState
is improperly initialized
for the given handshake type.
If your goal is to detect an invalid PSK, prologue, etc, you'll want
to catch DecryptionFailure
.
Represents plaintext which can be encrypted.
Functions
convert :: (ByteArrayAccess bin, ByteArray bout) => bin -> bout
Convert a bytearray to another type of bytearray
concatSB :: [ScrubbedBytes] -> ScrubbedBytes Source
Concatenates a list of ScrubbedBytes
.
bsToSB :: ByteString -> ScrubbedBytes Source
Converts a lazy ByteString to ScrubbedBytes.
bsToSB' :: ByteString -> ScrubbedBytes Source
Strict version of bsToSB
.
sbToBS :: ScrubbedBytes -> ByteString Source
Converts ScrubbedBytes to a lazy ByteString.
sbToBS' :: ScrubbedBytes -> ByteString Source
Strict version of sbToBS'
.
sbEq :: ScrubbedBytes -> ScrubbedBytes -> Bool Source
Equality operator for ScrubbedBytes
.