tweetnacl-js - Port of TweetNaCl cryptographic library to JavaScript

  •        49

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.



Related Projects

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.

halite - High-level cryptography interface powered by libsodium

  •    PHP

Halite is a high-level cryptography interface that relies on libsodium for all of its underlying cryptography operations. Halite was created by Paragon Initiative Enterprises as a result of our continued efforts to improve the ecosystem and make cryptography in PHP safer and easier to implement.

ring - Safe, fast, small crypto using Rust

  •    Rust

ring is focused on the implementation, testing, and optimization of a core set of cryptographic operations exposed via an easy-to-use (and hard-to-misuse) API. ring exposes a Rust API and is written in a hybrid of Rust, C, and assembly language. ring is focused on general-purpose cryptography. WebPKI X.509 certificate validation is done in the webpki project, which is built on top of ring. Also, multiple groups are working on implementations of cryptographic protocols like TLS, SSH, and DNSSEC on top of ring.

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.

minisign - A dead simple tool to sign files and verify digital signatures.

  •    C

Minisign is a dead simple tool to sign files and verify signatures. Minisign uses the EdDSA signature system, and deterministic signature schemes are fragile against fault attacks. However, conducting these requires physical access or the attacker having access to the same physical host.

python-ecdsa - pure-python ECDSA signature/verification

  •    Python

This is an easy-to-use implementation of ECDSA cryptography (Elliptic Curve Digital Signature Algorithm), implemented purely in Python, released under the MIT license. With this library, you can quickly create keypairs (signing key and verifying key), sign messages, and verify the signatures. The keys and signatures are very short, making them easy to handle and incorporate into other protocols. This library provides key generation, signing, and verifying, for five popular NIST "Suite B" GF(p) curves, with key lengths of 192, 224, 256, 384, and 521 bits. The "short names" for these curves, as known by the OpenSSL tool (openssl ecparam -list_curves), are: prime192v1, secp224r1, prime256v1, secp384r1, and secp521r1. It also includes the 256-bit curve used by Bitcoin, whose short name is secp256k1. No other curves are included, but it would not be too hard to add more.

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.

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: Compared with the implementation in, 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 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

.NET Crypto Exentsion for RSA Signatures using SHA-2 Encryption


In this project you can find a library (Microsoft.Cryptography), which is using an extension mechanism of the .Net Framework & WCF to provide support for RSA-signatures with SHA-2 (SHA-256, SHA-384, SHA-512) encryption. This library also provides components for X.509-Certifi...

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.

BasicCard Elliptic Curve PKS

  •    Java

A smart card-based public key cryptography system based on elliptic curves, using AES for session key generation and SHA for hashing. This project will include the smart card software, terminal software, and a public key server.

bitauth - Authenticate with web services utilizing the same strategy as Bitcoin.

  •    Javascript

BitAuth is a way to do secure, passwordless authentication using the cryptography in Bitcoin. Instead of using a shared secret, the client signs each request using a private key and the server checks to make sure the signature is valid and matches the public key.BitAuth uses the same technology in Bitcoin. A public private key pair is created using elliptic curve secp256k1. The public SIN (System identification number), like a bitcoin address, is the RIPEMD 160, SHA256 hash of the public key. See for complete details.

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.

end-to-end - End-To-End is a crypto library to encrypt, decrypt, digital sign, and verify signed messages (implementing OpenPGP and OTR)

  •    Javascript

End-To-End is a crypto library to encrypt, decrypt, digital sign, and verify signed messages (implementing OpenPGP and OTR).This is the source code for the End-To-End library. It's built upon a newly developed, JavaScript-based crypto library. End-To-End implements the OpenPGP standard, IETF RFC 4880, enabling key generation, encryption, decryption, digital signature, and signature verification.

js-stellar-sdk - Main Stellar client library for the Javascript language

  •    Javascript

js-stellar-sdk is a Javascript library for communicating with a Stellar Horizon server. It is used for building Stellar apps either on Node.js or in the browser. Warning! Node version of stellar-base (stellar-sdk dependency) package is using ed25519 package, a native implementation of Ed25519 in Node.js, as an optional dependency. This means that if for any reason installation of this package fails, stellar-base (and stellar-sdk) will fallback to the much slower implementation contained in tweetnacl.

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

  •    Javascript

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.

TinySSH - small SSH server

  •    C

TinySSH is small SSH server using state-of-the-art cryptographic library NaCl / TweetNaCl. TinySSH offers good security on TCP and is designed for perfect security on CurveCP.

chattervox - 📡 An AX

  •    TypeScript

An AX.25 packet radio chat protocol with support for digital signatures and binary compression. Like IRC over radio waves 📡. Chattervox implements a minimal packet radio protocol on top of AX.25 that can be used with a terminal node controller (TNC) like Direwolf to transmit and receive digitally signed messages using audio frequency shift keying modulation (AFSK). In the United States, it's illegal to broadcast encrypted messages on amateur radio frequencies. Chattervox respects this law, while using elliptic curve cryptography and digital signatures to protect against message spoofing.

Cryptlib - provides Encryption and Authentication Service

  •    C

cryptlib is a powerful security toolkit that allows even inexperienced crypto programmers to easily add encryption and authentication services to their software. It provides support for S/MIME and PGP/OpenPGP secure enveloping, SSL/TLS and SSH secure sessions, CA services such as CMP, SCEP, RTCS, and OCSP, and other security operations such as secure timestamping.

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+.