TweetNaCl-CSharp 1.0.0

A C# port of original TweetNaCl C language implementation version 20140427

Install-Package TweetNaCl-CSharp -Version 1.0.0
dotnet add package TweetNaCl-CSharp --version 1.0.0
<PackageReference Include="TweetNaCl-CSharp" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add TweetNaCl-CSharp --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

TweetNaCl-CSharp

About Project

A C# port of original TweetNaCl C language implementation version 20140427.

:warning: The library is not stable yet and API will change and was not independently reviewed. If you can help reviewing it, please [contact me](mailto:adribeiro (at) gmail.com).

##Documentation

Public-key authenticated encryption (box)

Implements curve25519-xsalsa20-poly1305.

KeyPair CryptoBoxKeypair()

The CryptoBoxKeypair function randomly generates a secret key and a corresponding public key. The secret key array must have size equal to <b>crypto_box_SECRETKEYBYTES</b>

Byte[] CryptoBoxKeypair(Byte[] secretKey)

The CryptoBoxKeypair function randomly generates a <b>secretKey</b> and a corresponding public key. The secretKey array must have size equal to <b>crypto_box_SECRETKEYBYTES</b>

Byte[] CryptoBox(Byte[] message, Byte[] nonce, Byte[] publicKey, Byte[] secretKey)

The function encrypts and authenticates a <b>message</b> using the <b>nonce</b>, receiver´s <b>publicKey</b> and sender´s <b>secretKey</b>.

Byte[] CryptoBoxOpen(Byte[] cipheredMessage, Byte[] nonce, Byte[] publicKey, Byte[] secretKey)

The function verifies and decrypts a cipherMessage using the receiver's secretKey, the sender's publicKey, and a nonce.

Byte[] CryptoBoxBeforenm(Byte[] publicKey, Byte[] secretKey)

Applications that send several messages to the same receiver can gain speed by splitting CryptoBox into two steps, <b>CryptoBoxBeforenm</b> and <b>CryptoBoxAfternm</b>.

Byte[] CryptoBoxAfternm(Byte[] message, Byte[] nonce, Byte[] k)
Byte[] CryptoBoxOpenAfternm(Byte[] cipheredMessage, Byte[] nonce, Byte[] k)
Byte[] CryptoSignKeypair(Byte[] secretKey)
Byte[] CryptoSign(Byte[] message, Byte[] secretKey)
Byte[] CryptoSignOpen(Byte[] signedMessage, Byte[] publicKey)
Byte[] CryptoScalarmult(Byte[] n, Byte[] p)

Scalar multiplication is a curve25519 implementation.

Byte[] CryptoScalarmultBase(Byte[] n)

The CryptoScalarmultBase function computes the scalar product of a standard group element and an integer n

##Third-party libraries

##Who is using

##License
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.

TweetNaCl-CSharp

About Project

A C# port of original TweetNaCl C language implementation version 20140427.

:warning: The library is not stable yet and API will change and was not independently reviewed. If you can help reviewing it, please [contact me](mailto:adribeiro (at) gmail.com).

##Documentation

Public-key authenticated encryption (box)

Implements curve25519-xsalsa20-poly1305.

KeyPair CryptoBoxKeypair()

The CryptoBoxKeypair function randomly generates a secret key and a corresponding public key. The secret key array must have size equal to <b>crypto_box_SECRETKEYBYTES</b>

Byte[] CryptoBoxKeypair(Byte[] secretKey)

The CryptoBoxKeypair function randomly generates a <b>secretKey</b> and a corresponding public key. The secretKey array must have size equal to <b>crypto_box_SECRETKEYBYTES</b>

Byte[] CryptoBox(Byte[] message, Byte[] nonce, Byte[] publicKey, Byte[] secretKey)

The function encrypts and authenticates a <b>message</b> using the <b>nonce</b>, receiver´s <b>publicKey</b> and sender´s <b>secretKey</b>.

Byte[] CryptoBoxOpen(Byte[] cipheredMessage, Byte[] nonce, Byte[] publicKey, Byte[] secretKey)

The function verifies and decrypts a cipherMessage using the receiver's secretKey, the sender's publicKey, and a nonce.

Byte[] CryptoBoxBeforenm(Byte[] publicKey, Byte[] secretKey)

Applications that send several messages to the same receiver can gain speed by splitting CryptoBox into two steps, <b>CryptoBoxBeforenm</b> and <b>CryptoBoxAfternm</b>.

Byte[] CryptoBoxAfternm(Byte[] message, Byte[] nonce, Byte[] k)
Byte[] CryptoBoxOpenAfternm(Byte[] cipheredMessage, Byte[] nonce, Byte[] k)
Byte[] CryptoSignKeypair(Byte[] secretKey)
Byte[] CryptoSign(Byte[] message, Byte[] secretKey)
Byte[] CryptoSignOpen(Byte[] signedMessage, Byte[] publicKey)
Byte[] CryptoScalarmult(Byte[] n, Byte[] p)

Scalar multiplication is a curve25519 implementation.

Byte[] CryptoScalarmultBase(Byte[] n)

The CryptoScalarmultBase function computes the scalar product of a standard group element and an integer n

##Third-party libraries

##Who is using

##License
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.

Release Notes

Code prepared for use (:

Dependencies

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
1.0.0 86 4/26/2020