cryptonite-0.10: Cryptography Primitives sink

License | BSD-style
Maintainer | Vincent Hanquez <vincent@snarc.org>
Stability | experimental
Portability | Good
Safe Haskell | None
Language | Haskell2010

Crypto.Number.Basic

Description

Synopsis

- sqrti :: Integer -> (Integer, Integer)
- gcde :: Integer -> Integer -> (Integer, Integer, Integer)
- areEven :: [Integer] -> Bool
- log2 :: Integer -> Int
- numBits :: Integer -> Int
- numBytes :: Integer -> Int

# Documentation

sqrti :: Integer -> (Integer, Integer) Source

sqrti returns two integer (l,b) so that l <= sqrt i <= b the implementation is quite naive, use an approximation for the first number and use a dichotomy algorithm to compute the bound relatively efficiently.

gcde :: Integer -> Integer -> (Integer, Integer, Integer) Source

get the extended GCD of two integer using integer divMod

gcde `a` `b` find (x,y,gcd(a,b)) where ax + by = d

areEven :: [Integer] -> Bool Source

check if a list of integer are all even

log2 :: Integer -> Int Source

Compute the binary logarithm of a integer

numBits :: Integer -> Int Source

Compute the number of bits for an integer

numBytes :: Integer -> Int Source

Compute the number of bytes for an integer