MLDsaKeyPairGenerator
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Security;
namespace Org.BouncyCastle.Crypto.Generators
{
public sealed class MLDsaKeyPairGenerator : IAsymmetricCipherKeyPairGenerator
{
private SecureRandom m_random;
private MLDsaParameters m_parameters;
public void Init(KeyGenerationParameters parameters)
{
m_random = parameters.Random;
m_parameters = ((MLDsaKeyGenerationParameters)parameters).Parameters;
}
public AsymmetricCipherKeyPair GenerateKeyPair()
{
m_parameters.ParameterSet.GetEngine(m_random).GenerateKeyPair(false, out byte[] rho, out byte[] k, out byte[] tr, out byte[] s, out byte[] s2, out byte[] t, out byte[] encT, out byte[] seed);
return new AsymmetricCipherKeyPair(new MLDsaPublicKeyParameters(m_parameters, rho, encT), new MLDsaPrivateKeyParameters(m_parameters, rho, k, tr, s, s2, t, encT, seed));
}
}
}