cryptonite-0.30: Cryptography Primitives sink

# cryptonite-0.30: Cryptography Primitives sink

A repository of cryptographic primitives.

- Symmetric ciphers: AES, DES, 3DES, CAST5, Blowfish, Twofish, Camellia, RC4, Salsa, XSalsa, ChaCha.
- Hash: SHA1, SHA2, SHA3, SHAKE, MD2, MD4, MD5, Keccak, Skein, Ripemd, Tiger, Whirlpool, Blake2
- MAC: HMAC, KMAC, Poly1305
- Asymmetric crypto: DSA, RSA, DH, ECDH, ECDSA, ECC, Curve25519, Curve448, Ed25519, Ed448
- Key Derivation Function: PBKDF2, Scrypt, HKDF, Argon2, BCrypt, BCryptPBKDF
- Cryptographic Random generation: System Entropy, Deterministic Random Generator
- Data related: Anti-Forensic Information Splitter (AFIS)

If anything cryptographic related is missing from here, submit a pull request to have it added. This package strives to be a cryptographic kitchen sink that provides cryptography for everyone.

Evaluate the security related to your requirements before using.

Read Crypto.Tutorial for a quick start guide.

Modules

- Crypto
  Submodules
  - Cipher
    Submodules
    - Crypto.Cipher.AES
    - Crypto.Cipher.AESGCMSIV
    - Crypto.Cipher.Blowfish
    - Crypto.Cipher.CAST5
    - Crypto.Cipher.Camellia
    - Crypto.Cipher.ChaCha
    - Crypto.Cipher.ChaChaPoly1305
    - Crypto.Cipher.DES
    - Crypto.Cipher.RC4
    - Crypto.Cipher.Salsa
    - Crypto.Cipher.TripleDES
    - Crypto.Cipher.Twofish
    - Crypto.Cipher.Types
    - Crypto.Cipher.Utils
    - Crypto.Cipher.XSalsa
  - ConstructHash
    Submodules
    - Crypto.ConstructHash.MiyaguchiPreneel
  - Data
    Submodules
    - Crypto.Data.AFIS
    - Crypto.Data.Padding
  - Crypto.ECC
    Submodules
    - Crypto.ECC.Edwards25519
  - Crypto.Error
  - Crypto.Hash
    Submodules
    - Crypto.Hash.Algorithms
    - Crypto.Hash.IO
  - KDF
    Submodules
    - Crypto.KDF.Argon2
    - Crypto.KDF.BCrypt
    - Crypto.KDF.BCryptPBKDF
    - Crypto.KDF.HKDF
    - Crypto.KDF.PBKDF2
    - Crypto.KDF.Scrypt
  - MAC
    Submodules
    - Crypto.MAC.CMAC
    - Crypto.MAC.HMAC
    - Crypto.MAC.KMAC
    - Crypto.MAC.Poly1305
  - Number
    Submodules
    - Crypto.Number.Basic
    - Crypto.Number.F2m
    - Crypto.Number.Generate
    - Crypto.Number.ModArithmetic
    - Crypto.Number.Nat
    - Crypto.Number.Prime
    - Crypto.Number.Serialize
      Submodules
      - Crypto.Number.Serialize.Internal
        Submodules
        - Crypto.Number.Serialize.Internal.LE
      - Crypto.Number.Serialize.LE
  - Crypto.OTP
  - PubKey
    Submodules
    - Crypto.PubKey.Curve25519
    - Crypto.PubKey.Curve448
    - Crypto.PubKey.DH
    - Crypto.PubKey.DSA
    - ECC
      Submodules
      - Crypto.PubKey.ECC.DH
      - Crypto.PubKey.ECC.ECDSA
      - Crypto.PubKey.ECC.Generate
      - Crypto.PubKey.ECC.P256
      - Crypto.PubKey.ECC.Prim
      - Crypto.PubKey.ECC.Types
    - Crypto.PubKey.ECDSA
    - Crypto.PubKey.ECIES
    - Crypto.PubKey.Ed25519
    - Crypto.PubKey.Ed448
    - Crypto.PubKey.EdDSA
    - Crypto.PubKey.MaskGenFunction
    - Crypto.PubKey.RSA
      Submodules
      - Crypto.PubKey.RSA.OAEP
      - Crypto.PubKey.RSA.PKCS15
      - Crypto.PubKey.RSA.PSS
      - Crypto.PubKey.RSA.Prim
      - Crypto.PubKey.RSA.Types
    - Rabin
      Submodules
      - Crypto.PubKey.Rabin.Basic
      - Crypto.PubKey.Rabin.Modified
      - Crypto.PubKey.Rabin.OAEP
      - Crypto.PubKey.Rabin.RW
      - Crypto.PubKey.Rabin.Types
  - Crypto.Random
    Submodules
    - Crypto.Random.Entropy
      Submodules
      - Crypto.Random.Entropy.Unsafe
    - Crypto.Random.EntropyPool
    - Crypto.Random.Types
  - System
    Submodules
    - Crypto.System.CPU
  - Crypto.Tutorial