Libsodium documentation
  • Introduction
  • Installation
  • Quickstart and FAQ
  • Projects using libsodium
  • Commercial support
  • Bindings for other languages
  • Usage
  • Helpers
  • Padding
  • Secure memory
  • Generating random data
  • Secret-key cryptography
    • Authenticated encryption
    • Encrypted streams and file encryption
    • Encrypting a set of related messages
    • Authentication
    • AEAD constructions
      • ChaCha20-Poly1305
        • Original ChaCha20-Poly1305 construction
        • IETF ChaCha20-Poly1305 construction
        • XChaCha20-Poly1305 construction
      • AEGIS-256
      • AEGIS-128L
      • AES256-GCM
        • AES256-GCM with precomputation
  • Public-key cryptography
    • Authenticated encryption
    • Public-key signatures
    • Sealed boxes
  • Hashing
    • Generic hashing
    • Short-input hashing
  • Password hashing
    • The pwhash* API
  • Key derivation
    • HKDF
  • Key exchange
  • Advanced
    • SHA-2
    • HMAC-SHA-2
    • The Scrypt function
    • Point*scalar multiplication
    • One-time authentication
    • Stream ciphers
      • ChaCha20
      • XChaCha20
      • Salsa20
      • XSalsa20
    • Ed25519 to Curve25519
    • Finite field arithmetic
      • Ristretto
    • Custom RNG
  • Internals
  • Roadmap
Powered by GitBook
On this page
  • Downloading libsodium
  • Mailing list
  • License
  • Thanks!

Introduction

NextInstallation

Last updated 15 days ago

Sodium is a modern, easy-to-use software library for encryption, decryption, signatures, password hashing, and more.

It is a portable, cross-compilable, installable, and packageable fork of , with a compatible but extended API to improve usability even further.

Its goal is to provide all of the core operations needed to build higher-level cryptographic tools.

Sodium is cross-platform and cross-language. It runs on many compilers and operating systems, including Windows (with MinGW or Visual Studio, x86 and x86_64), iOS, and Android. JavaScript and WebAssembly versions are also available and fully supported. Furthermore, bindings for all common programming languages are available and well-supported.

The design choices emphasize security and ease of use. But despite the emphasis on high security, primitives are faster across-the-board than most implementations.

Downloading libsodium

is the latest version.

Mailing list

A mailing list is available to discuss libsodium.

To join, just send a random email to sodium-subscribe {at} pureftpd{dot}org.

License

See the LICENSE file for details.

Thanks!

Sodium is developed by volunteers. We would like to especially thank the following companies and organizations for their contribution:

Another huge "thank you" to package maintainers who have been doing an amazing job at building packages for many distributions and operating systems.

Finally, thanks to you for reading this documentation and for the awesome projects you are going to build with this library!

.

, who donated a Raspberry Pi to ensure that the library works perfectly on this hardware. Thanks!

, who sponsored a . This is amazing, thanks!

and Joshua Small, who both generously donated $100. This will help cover the infrastructure costs a lot. Thanks again, Max and Joshua!

People who designed the primitives and wrote implementations the library is based on can be found in the file. This project wouldn't exist without them.

Also, a huge "thank you" to people and companies who contributed bindings for their favorite programming languages. A list can be found in the file.

NaCl
libsodium 1.0.20-stable
Tarballs and pre-compiled binaries
GitHub repository
Documentation
ISC license
Paragonie Initiative Enterprise
Private Internet Access
complete security audit
Maximilian Blochberger
BestKru
AUTHORS
THANKS