Example #1
0
        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));
        }
Example #2
0
        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));
        }