public void CanSignMessage() { var dA = Hashes.SHA256(new byte[] { 0x01 }); var k = Encoders.Hex.Decode("0098e9c07e8e6adb97b77d85b0c10a265e11737a89a3e37b"); var rnd = new FakeRandom(k); var key = new Key(dA); var signer = new ECDsaSigner(rnd, key); var message = Encoders.Hex.Decode("66e98a165854cd07989b1ee0ec3f8dbe0ee3c2fb0051ef53a0be03457c4f21bc"); var s1 = signer.GenerateSignature(message); Assert.IsTrue(signer.VerifySignature(message, s1)); Assert.IsTrue(s1.R == (rnd.GetNextK()*Secp256k1.G).X%Secp256k1.N); Assert.IsTrue(ECDsaSigner.VerifySignature(message, s1.R, s1.S, key.PublicKey)); }
public void CanSignMessage() { var dA = Hashes.SHA256(new byte[] { 0x01 }); var k = Encoders.Hex.GetBytes("0098e9c07e8e6adb97b77d85b0c10a265e11737a89a3e37b"); var rnd = new FakeRandom(k); var key = new Key(dA); var signer = new ECDsaSigner(rnd, key); var message = Encoders.Hex.GetBytes("66e98a165854cd07989b1ee0ec3f8dbe0ee3c2fb0051ef53a0be03457c4f21bc"); var s1 = signer.GenerateSignature(message); Assert.IsTrue(signer.VerifySignature(message, s1)); Assert.IsTrue(s1.R == (rnd.GetNextK() * Secp256k1.G).X % Secp256k1.N); Assert.IsTrue(ECDsaSigner.VerifySignature(message, s1.R, s1.S, key.PubKey)); }