41 lines
1.1 KiB
C#
41 lines
1.1 KiB
C#
using Sodium;
|
|
using System.Security.Cryptography;
|
|
using System;
|
|
|
|
|
|
internal class Ed25519KeyGenerator{
|
|
public static byte[] generator(){
|
|
byte[] key = {};
|
|
key = PublicKeyAuth.GenerateKeyPair().PrivateKey;
|
|
return key;
|
|
}
|
|
}
|
|
|
|
internal class Curve25519KeyGenerator{
|
|
public static byte[] generator(){
|
|
byte[] key = {};
|
|
key = PublicKeyBox.GenerateKeyPair().PrivateKey;
|
|
return key;
|
|
}
|
|
}
|
|
|
|
namespace chestcrypto{
|
|
public class PrivateKeyGenerator{
|
|
private static byte[] Combine(byte[] first, byte[] second)
|
|
{
|
|
byte[] bytes = new byte[first.Length + second.Length];
|
|
Buffer.BlockCopy(first, 0, bytes, 0, first.Length);
|
|
Buffer.BlockCopy(second, 0, bytes, first.Length, second.Length);
|
|
return bytes;
|
|
}
|
|
public static byte[] generate(){
|
|
byte[] ed25519 = Ed25519KeyGenerator.generator();
|
|
byte[] curve25519 = Curve25519KeyGenerator.generator();
|
|
byte[] key = Combine(ed25519, curve25519);
|
|
return key;
|
|
|
|
}
|
|
}
|
|
}
|
|
|