crypto-numbers-0.2.7: Cryptographic numbers: functions and algorithms
LicenseBSD-style
MaintainerVincent Hanquez <vincent@snarc.org>
Stabilityexperimental
PortabilityGood
Safe HaskellNone
LanguageHaskell98

Crypto.Number.Serialize

Description

fast serialization primitives for integer

Synopsis

Documentation

i2osp :: Integer -> ByteString #

i2osp converts a positive integer into a byte string

os2ip :: ByteString -> Integer #

os2ip converts a byte string into a positive integer

i2ospOf :: Int -> Integer -> Maybe ByteString #

just like i2osp, but take an extra parameter for size. if the number is too big to fit in len bytes, nothing is returned otherwise the number is padded with 0 to fit the len required.

FIXME: use unsafeCreate to fill the bytestring

i2ospOf_ :: Int -> Integer -> ByteString #

just like i2ospOf except that it doesn't expect a failure: i.e. an integer larger than the number of output bytes requested

for example if you just took a modulo of the number that represent the size (example the RSA modulo n).

lengthBytes :: Integer -> Int #

returns the number of bytes to store an integer with i2osp

with integer-simple, this function is really slow.