On this page:
Crypto:   Cryptographic Operations
2.0

Crypto: Cryptographic Operations🔗ℹ

Ryan Culpepper <ryanc@racket-lang.org>

 (require crypto) package: crypto-lib

This library provides an interface for cryptographic operations, including message digests, symmetric-key encryption, and public-key signatures, encryption, and key agreement.

Development Development of this library is hosted by GitHub at the following project page:

https://github.com/rmculpepper/crypto

    1 Introduction to the Crypto Library

      1.1 Cryptography Examples

      1.2 Public-Key Cryptography Examples

    2 Cryptography Factories

      2.1 All Factories

      2.2 Libcrypto (OpenSSL)

      2.3 GCrypt

      2.4 Nettle

      2.5 Sodium

      2.6 B2 (Blake2)

      2.7 Argon2

      2.8 Decaf

    3 Message Digests

      3.1 High-level Digest Functions

      3.2 Low-level Digest Functions

      Bibliography

    4 Symmetric Encryption

      4.1 High-level Cipher Operations

      4.2 Low-level Cipher Operations

    5 Public-Key Cryptography

      5.1 PK Keys and Parameters

      5.2 PK Signatures

      5.3 PK Encryption

      5.4 PK Key Agreement

      5.5 PK External Representations

      5.6 PKCS #8 Encrypted Private Keys

      Bibliography

    6 Key Derivation and Password Hashing

      Bibliography

    7 Utilities

      7.1 Main Utilities

        7.1.1 Input to Cryptographic Operations

        7.1.2 Random Bytes

        7.1.3 Security Strength Levels

      7.2 PEM Reading

      7.3 Bech32 Encoding and Decoding

      7.4 age Encryption

      7.5 ASN.1 Identifiers

    8 Notes

      8.1 Notes on Cryptography Providers

        8.1.1 CSPRNG Initialization

        8.1.2 Libcrypto Quirks

        8.1.3 GCrypt Quirks

        8.1.4 Sodium Quirks