Qubic.Crypto
1.3.3
dotnet add package Qubic.Crypto --version 1.3.3
NuGet\Install-Package Qubic.Crypto -Version 1.3.3
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Qubic.Crypto" Version="1.3.3" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Qubic.Crypto" Version="1.3.3" />
<PackageReference Include="Qubic.Crypto" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Qubic.Crypto --version 1.3.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Qubic.Crypto, 1.3.3"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Qubic.Crypto@1.3.3
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Qubic.Crypto&version=1.3.3
#tool nuget:?package=Qubic.Crypto&version=1.3.3
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Qubic.Crypto
Pure C#/.NET implementation of Qubic cryptographic primitives. Zero external dependencies.
Note: This is an early version. APIs may change in future releases.
Features
- K12 (KangarooTwelve) hashing
- FourQ elliptic curve operations
- SchnorrQ digital signatures
- ECDH key exchange
- Identity derivation (seed to public key to 60-character identity)
Install
dotnet add package Qubic.Crypto
Usage
using Qubic.Crypto;
var crypto = new QubicCrypt();
// Derive keys from a 55-character seed
string seed = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabc";
byte[] privateKey = crypto.GetPrivateKey(seed);
byte[] publicKey = crypto.GetPublicKey(seed);
// Get the 60-character Qubic identity
string identity = crypto.GetIdentityFromPublicKey(publicKey);
// Hash data with KangarooTwelve
byte[] hash = crypto.KangarooTwelve(data);
// Sign and verify
byte[] signed = crypto.Sign(seed, message);
bool valid = crypto.Verify(publicKey, message, signature);
// ECDH shared key
byte[] sharedKey = crypto.GetSharedKey(seed, peerPublicKey);
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Qubic.Crypto:
| Package | Downloads |
|---|---|
|
Qubic.Core
Core domain models and abstractions for the Qubic network |
|
|
Qubic.Services
High-level services for Qubic applications: backend abstraction, tick monitoring, label service, wallet storage, transaction tracking, and more. |
GitHub repositories
This package is not used by any popular GitHub repositories.