All Projects → Metalnem → Noise

Metalnem / Noise

Licence: mit
.NET Standard 1.3 implementation of the Noise Protocol Framework (revision 33 of the spec)

Projects that are alternatives of or similar to Noise

Helib
HElib is an open-source software library that implements homomorphic encryption. It supports the BGV scheme with bootstrapping and the Approximate Number CKKS scheme. HElib also includes optimizations for efficient homomorphic evaluation, focusing on effective use of ciphertext packing techniques and on the Gentry-Halevi-Smart optimizations.
Stars: ✭ 2,749 (+2116.94%)
Mutual labels:  cryptography, encryption, crypto
Securitydriven.inferno
✅ .NET crypto done right. Professionally audited.
Stars: ✭ 501 (+304.03%)
Mutual labels:  cryptography, encryption, crypto
Awesome Cryptography
A curated list of cryptography resources and links.
Stars: ✭ 3,475 (+2702.42%)
Mutual labels:  cryptography, encryption, crypto
Gun
An open source cybersecurity protocol for syncing decentralized graph data.
Stars: ✭ 15,172 (+12135.48%)
Mutual labels:  cryptography, encryption, crypto
Virgil Crypto Php
Virgil PHP Crypto Library is a high-level cryptographic library that allows you to perform all necessary operations for secure storing and transferring data and everything required to become HIPAA and GDPR compliant.
Stars: ✭ 22 (-82.26%)
Mutual labels:  cryptography, encryption, crypto
Nsec
A modern and easy-to-use cryptographic library for .NET Core based on libsodium
Stars: ✭ 217 (+75%)
Mutual labels:  cryptography, encryption, crypto
Snow
A Rust implementation of the Noise Protocol Framework
Stars: ✭ 436 (+251.61%)
Mutual labels:  noise, cryptography, crypto
S2n Tls
s2n : an implementation of the TLS/SSL protocols
Stars: ✭ 4,029 (+3149.19%)
Mutual labels:  cryptography, encryption, crypto
Acra
Database security suite. Database proxy with field-level encryption, search through encrypted data, SQL injections prevention, intrusion detection, honeypots. Supports client-side and proxy-side ("transparent") encryption. SQL, NoSQL.
Stars: ✭ 726 (+485.48%)
Mutual labels:  cryptography, encryption, crypto
Maskbook
The portal to the new, open internet. ([I:b])
Stars: ✭ 691 (+457.26%)
Mutual labels:  cryptography, encryption, crypto
Padding Oracle Attacker
🔓 CLI tool and library to execute padding oracle attacks easily, with support for concurrent network requests and an elegant UI.
Stars: ✭ 136 (+9.68%)
Mutual labels:  cryptography, encryption, crypto
Fhe Toolkit Linux
IBM Fully Homomorphic Encryption Toolkit For Linux. This toolkit is a Linux based Docker container that demonstrates computing on encrypted data without decrypting it! The toolkit ships with two demos including a fully encrypted Machine Learning inference with a Neural Network and a Privacy-Preserving key-value search.
Stars: ✭ 1,123 (+805.65%)
Mutual labels:  cryptography, encryption, crypto
Demo Twilio Backend Nodejs
A sample backend that demonstrates how to generate a Virgil JWT and Twilio token used for authentication with the Virgil and Twilio services
Stars: ✭ 128 (+3.23%)
Mutual labels:  cryptography, encryption, crypto
Cryptogotchas
A collection of common (interesting) cryptographic mistakes.
Stars: ✭ 118 (-4.84%)
Mutual labels:  cryptography, encryption, crypto
Securefs
Filesystem in userspace (FUSE) with transparent authenticated encryption
Stars: ✭ 518 (+317.74%)
Mutual labels:  cryptography, encryption, crypto
Featherduster
An automated, modular cryptanalysis tool; i.e., a Weapon of Math Destruction
Stars: ✭ 876 (+606.45%)
Mutual labels:  cryptography, encryption, crypto
Cryfs
Cryptographic filesystem for the cloud
Stars: ✭ 1,560 (+1158.06%)
Mutual labels:  cryptography, encryption, crypto
Libsodium
A modern, portable, easy to use crypto library.
Stars: ✭ 9,782 (+7788.71%)
Mutual labels:  cryptography, crypto
Siphash Js
A Javascript implementation of SipHash-2-4
Stars: ✭ 90 (-27.42%)
Mutual labels:  cryptography, crypto
Dudect
dude, is my code constant time?
Stars: ✭ 91 (-26.61%)
Mutual labels:  cryptography, crypto

Latest Version Build Status Build status Docs license

.NET Standard 1.3 implementation of the Noise Protocol Framework (revision 33 of the spec). It features:

  • AESGCM and ChaChaPoly ciphers
  • Curve25519 Diffie-Hellman function
  • SHA256, SHA512, BLAKE2s, and BLAKE2b hash functions
  • Support for multiple pre-shared symmetric keys
  • All known one-way and interactive patterns from the specification
  • XXfallback handshake pattern

Usage

  1. Include the Noise namespace.
using Noise;
  1. Choose the handshake pattern and cryptographic functions.
var protocol = new Protocol(
  HandshakePattern.IK,
  CipherFunction.ChaChaPoly,
  HashFunction.Blake2s,
  PatternModifiers.Psk2
);
  1. Start the handshake by instantiating the protocol with the necessary parameters.
// s is communicated out-of-band
// psk is a 32-byte pre-shared symmetric key

var initiator = protocol.Create(
  initiator: true,
  rs: rs,
  psks: new byte[][] { psk }
);

var responder = protocol.Create(
  initiator: false,
  s: s,
  psks: new byte[][] { psk }
);
  1. Send and receive messages.
(written, hash, transport) = state.WriteMessage(message, outputBuffer);
(read, hash, transport) = state.ReadMessage(received, inputBuffer);

written = transport.WriteMessage(message, outputBuffer);
read = transport.ReadMessage(received, inputBuffer);

See Noise.Examples for the complete example.

Installation

> dotnet add package Noise.NET --version 1.0.0
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].