From 66ad1b8f7c5db679a82c71c11c018663ea1ba515 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Fri, 3 Jan 2020 21:29:36 +0100 Subject: [PATCH] Added another test case to ensure that two different messages produce different signatures --- Ed25519 Tests/SignerTests.cs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Ed25519 Tests/SignerTests.cs b/Ed25519 Tests/SignerTests.cs index f080693..756070c 100644 --- a/Ed25519 Tests/SignerTests.cs +++ b/Ed25519 Tests/SignerTests.cs @@ -71,6 +71,23 @@ namespace Ed25519_Tests 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(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 [Test] public void TestRFC8032Test01()