js-nacl - Pure-Javascript High-level API to Emscripten-compiled libsodium routines.

  •        108

A high-level Javascript API wrapping an Emscripten-compiled libsodium, a cryptographic library based on NaCl. Includes both in-browser and node.js support. The paper "The security impact of a new cryptographic library" is an excellent summary of the motivation behind the NaCl API and library design.




Related Projects

NaCL - Networking and Crytography library

  •    C

NaCl is a new easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc. NaCl provides a simple crypto_box function that does everything in one step. The function takes the sender's secret key, the recipient's public key, and a message, and produces an authenticated ciphertext.

sodiumoxide - Sodium Oxide: Fast cryptographic library for Rust (bindings to libsodium)

  •    Rust

NaCl (pronounced "salt") is a new easy-to-use high-speed software library for network communication, encryption, decryption, signatures, etc. NaCl's goal is to provide all of the core operations needed to build higher-level cryptographic tools. Of course, other libraries already exist for these core operations. NaCl advances the state of the art by improving security, by improving usability, and by improving speed. Sodium is a portable, cross-compilable, installable, packageable fork of NaCl (based on the latest released upstream version nacl-20110221), with a compatible API.

tweetnacl-js - Port of TweetNaCl cryptographic library to JavaScript

  •    Javascript

Port of TweetNaCl / NaCl to JavaScript for modern browsers and Node.js. Public domain.The primary goal of this project is to produce a translation of TweetNaCl to JavaScript which is as close as possible to the original C implementation, plus a thin layer of idiomatic high-level API on top of it.

nacl - Pure Go implementation of the NaCL set of API's

  •    Go

This is a pure Go implementation of the API's available in NaCL: https://nacl.cr.yp.to. Compared with the implementation in golang.org/x/crypto/nacl, this library offers all of the API's present in NaCL, better compatibility with NaCL implementations written in other languages, as well as some utilities for generating and loading keys and nonces, and encrypting messages. Many of them are simple wrappers around functions or libraries available in the Go standard library, or in the golang.org/x/crypto package. Other code I copied directly into this library with the appropriate LICENSE; if a function is longer than, say, 5 lines, I didn't write it myself. There are no dependencies outside of the standard library or golang.org/x/crypto.

libsodium - A modern and easy-to-use crypto library.

  •    C

Sodium is a new, easy-to-use software library for encryption, decryption, signatures, password hashing and more. It is a portable, cross-compilable, installable, packageable fork of NaCl, with a compatible API, and an extended API to improve usability even further. Its goal is to provide all of the core operations needed to build higher-level cryptographic tools.

saltpack - a modern crypto messaging format

  •    Go

saltpack is a streamlined, modern solution, designed with simplicity in mind. It is easy to implement & integrate. We've made few crypto decisions and instead leave almost all of the heavy lifting to the NaCl library. saltpack is a binary message format, encoded using the MessagePack format. Messages are broken up into reasonable (1MB) chunks, over which regular NaCl operations are performed. We have taken pains to address many of the shortcomings of current message formats: (1) only authenticated data is output; (2) repudiable authentication is used wherever possible; (3) chunks cannot be reordered or combined with other transmissions; (4) the public keys of senders and recipients can be hidden; and (5) message truncation is detectable.

Themis - Crypto library for storage and messaging for ObjC, Android, C++, JS, Python, Ruby and PHP

  •    C

Themis is open-source high-level cryptographic services library for mobile and server platforms, providing secure messaging and secure data storage. Themis provides three important cryptographic services Secure messaging, Secure session and Secure storage.

pynacl - Python binding to the Networking and Cryptography (NaCl) library

  •    C

PyNaCl is a Python binding to libsodium, which is a fork of the Networking and Cryptography library. These libraries have a stated goal of improving usability, security and speed. It supports Python 2.7 and 3.4+ as well as PyPy 2.6+.

libsodium.js - libsodium compiled to Webassembly and pure JavaScript, with convenient wrappers

  •    HTML

The sodium crypto library compiled to WebAssembly and pure Javascript using Emscripten, with automatically generated wrappers to make it easy to use in web applications. The complete library weights 188 Kb (minified, gzipped, includes pure js + webassembly versions) and can run in a web browser as well as server-side.

constellation - Peer-to-peer encrypted message exchange

  •    Haskell

Hosts a number of NaCl (Curve25519) public/private key pairs. Automatically discovers other nodes on the network after synchronizing with as little as one other host.

constellation - Peer-to-peer encrypted message exchange

  •    Haskell

Hosts a number of NaCl (Curve25519) public/private key pairs. Automatically discovers other nodes on the network after synchronizing with as little as one other host.

libsodium-net - libsodium for .NET - A secure cryptographic library

  •    CSharp

libsodium-net, or better said, libsodium for .NET, is a C# wrapper around libsodium. For those that don't know, libsodium is a portable implementation of Daniel Bernstein's fantastic NaCl library. If you aren't familiar with NaCl, I highly suggest that you look into libsodium and NaCl before using this library.NaCl is a great library in that its designed has made the right choices on what to implement and how - something most developers don't know how to do. So by using it (or a wrapper), many of those details are abstracted away where you don't need to worry about them. NaCl itself is less than portable C, only targeted for *nix systems; libsodium solves this by making it portable and making a few minor changes to better suite being distributed as a compiled binary.

cli - A zero trust swiss army knife for working with X509, OAuth, JWT, OATH OTP, etc.

  •    Go

step is a zero trust swiss army knife. It’s an easy-to-use and hard-to-misuse utility for building, operating, and automating systems that use zero trust technologies like authenticated encryption (X.509, TLS), single sign-on (OAuth OIDC, SAML), multi-factor authentication (OATH OTP, FIDO U2F), encryption mechanisms (JSON Web Encryption, NaCl), and verifiable claims (JWT, SAML assertions). For more information and docs see the step website and the blog post announcing step.

gibberish - Simple Ruby encryption module

  •    Ruby

Note: It's 2017 and if you're looking for a modern and actively maintained Ruby encryption library you should do yourself a favor and check out RbNaCl. Gibberish was started in 2011 when encryption on Ruby was not a trivial matter, however thanks to projects like NaCl and LibSodium that's no longer the case. See the full docs for information on SJCL interoperability.

telehash-js - telehash javascript module for node.js and browserify

  •    Javascript

This module presents a simple high-level API for using telehash v3 for both node and browserify. The browser crypto that powers this is only possible thanks to the incredible work done by the team behind Forge, Tom Wu, and the Sanford Javascript Crypto Library.

nAcl - .NET Access Control List


nAcl helps you handle scenarios for a matrix of rights easily. It can also be easily extended through a provider (as many of ASP.NET functionalities)

ejson - EJSON is a small library to manage encrypted secrets using asymmetric encryption.

  •    Go

ejson is a utility for managing a collection of secrets in source control. The secrets are encrypted using public key, elliptic curve cryptography (NaCl Box: Curve25519 + Salsa20 + Poly1305-AES). Secrets are collected in a JSON file, in which all the string values are encrypted. Public keys are embedded in the file, and the decrypter looks up the corresponding private key from its local filesystem.See the manpages for more technical documentation.

Cryptography - Package designed to expose cryptographic primitives and recipes to Python developers

  •    Python

cryptography is a package which provides cryptographic recipes and primitives to Python developers. Our goal is for it to be your "cryptographic standard library". It supports Python 2.7, Python 3.4+, and PyPy 5.3+. cryptography includes both high level recipes and low level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests, and key derivation functions. For example, to encrypt something with cryptography's high level symmetric encryption recipe.


  •    Java

The Moonbounce API is a set of high level objects that encapsulate pieces of the Bouncycastle lightweight crypto API. Moonbounce significantly simplifies RSA key generation, signing, encryption/decryption and verification of both byte arrays and files.

miniLock - File encryption software that does more with less.

  •    Javascript

# miniLock ##File encryption software that does more with less. miniLock is currently audited, peer-reviewed software. An initial public release is available for Google Chrome and Chrome OS.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.