Added another test case to ensure that two different messages produce different signatures

This commit is contained in:
Thorsten Sommer 2020-01-03 21:29:36 +01:00
parent c538626d12
commit 66ad1b8f7c

View File

@ -71,6 +71,23 @@ namespace Ed25519_Tests
Assert.That(validationResult, Is.False); // Message was altered! Assert.That(validationResult, Is.False); // Message was altered!
} }
[Test]
public void TestSigner05()
{
var messageOriginal = Encoding.UTF8.GetBytes("This is a test message.");
var privateKey = new Span<byte>(new byte[32]);
RandomNumberGenerator.Create().GetBytes(privateKey);
var publicKey = privateKey.ExtractPublicKey();
var signatureOriginal = Signer.Sign(messageOriginal, privateKey, publicKey);
var messageAltered = Encoding.UTF8.GetBytes("This is a test message!");
var signatureAltered = Signer.Sign(messageAltered, privateKey, publicKey);
// Two different messages must produce different signatures!
Assert.That(signatureOriginal.ToArray(), Is.Not.EqualTo(signatureAltered.ToArray()));
}
// See https://tools.ietf.org/html/rfc8032#section-7.1 // See https://tools.ietf.org/html/rfc8032#section-7.1
[Test] [Test]
public void TestRFC8032Test01() public void TestRFC8032Test01()