Small library to generate libsodium-net compatible KeyPair`s and encoded public keys based on predefined formats.
NaclKeys was subjected to a source code audit carried out by Paragon Initiative Enterprises, LLC.
Final report (Web): Audit-Report NaclKeys 07.2015 Final report (PDF): Audit-Report NaclKeys 07.2015
There is a NuGet package available.
Project: CurveLock
public static KeyPair GenerateCurveLockKeyPair(string email, string password)
public static string EncodeCurveLockPublicKey(byte[] publicKey)
public static byte[] DecodeCurveLockPublicKey(string encodedPublicKey)
const string email = "someone@example.com";
const string password = "magnetometers payee induce tangibly polonaises unrestricted oilfield";
var keyPair = KeyGenerator.GenerateCurveLockKeyPair(email, password);
var encodedPublicKey = KeyGenerator.EncodeCurveLockPublicKey(keyPair.PublicKey);
MrDDGk7GYEypr93LMgJn4Av3c98fWamRKvAKbjrTEvjtz5kRxj
Project: miniLock
public static KeyPair GenerateMiniLockKeyPair(string email, string password)
public static string EncodeMiniLockPublicKey(byte[] publicKey)
public static byte[] DecodeMiniLockPublicKey(string encodedPublicKey)
const string email = "someone@example.com";
const string password = "magnetometers payee induce tangibly polonaises unrestricted oilfield";
var keyPair = KeyGenerator.GenerateMiniLockKeyPair(email, password);
var encodedPublicKey = KeyGenerator.EncodeMiniLockPublicKey(keyPair.PublicKey);
Cz5bEJLKdSib9kWxkmskExaaLdRg8tVA2qsFBnfdQwkMe
Project: bytejail
public static KeyPair GenerateBytejailKeyPair(string userInputPartOne, string userInputPartTwo)
public static string EncodeBytejailPublicKey(byte[] publicKey)
public static byte[] DecodeBytejailPublicKey(string encodedPublicKey)
const string email = "someone@example.com";
const string password = "magnetometers payee induce tangibly polonaises unrestricted oilfield";
var keyPair = KeyGenerator.GenerateBytejailKeyPair(email, password);
var encodedPublicKey = KeyGenerator.EncodeBytejailPublicKey(keyPair.PublicKey);
2PNPvrfYAQxhaGYaAzsWTYgEzymmQZ37jG2vJThBJHDcY4SABnH
##Helper It`s also possible to recognize an identity format
public static KeyType TryRecognizeIdentityFormat(string encodedPublicKey, bool validate = true)
see Unit Tests