Ejemplo n.º 1
0
        public void EngTest17()
        {
            var entropyBytes = CryptoUtil.ConvertHex("72f60ebac5dd8add8d2a25a797102c3ce21bc029c200076f");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("indicate race push merry suffer human cruise dwarf pole review arch keep canvas theme poem divorce alter left", this.bip39.MnemonicSentence);
            Assert.AreEqual("3bbf9daa0dfad8229786ace5ddb4e00fa98a044ae4c4975ffd5e094dba9e0bb289349dbe2091761f30f382d4e35c4a670ee8ab50758d2c55881be69e327117ba", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 2
0
        public void EngTest18()
        {
            var entropyBytes = CryptoUtil.ConvertHex("2c85efc7f24ee4573d2b81a6ec66cee209b2dcbd09d8eddc51e0215b0b68e416");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("clutch control vehicle tonight unusual clog visa ice plunge glimpse recipe series open hour vintage deposit universe tip job dress radar refuse motion taste", this.bip39.MnemonicSentence);
            Assert.AreEqual("fe908f96f46668b2d5b37d82f558c77ed0d69dd0e7e043a5b0511c48c2f1064694a956f86360c93dd04052a8899497ce9e985ebe0c8c52b955e6ae86d4ff4449", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 3
0
        public void EngTest15()
        {
            var entropyBytes = CryptoUtil.ConvertHex("3e141609b97933b66a060dcddc71fad1d91677db872031e85f4c015c5e7e8982");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("dignity pass list indicate nasty swamp pool script soccer toe leaf photo multiply desk host tomato cradle drill spread actor shine dismiss champion exotic", this.bip39.MnemonicSentence);
            Assert.AreEqual("ff7f3184df8696d8bef94b6c03114dbee0ef89ff938712301d27ed8336ca89ef9635da20af07d4175f2bf5f3de130f39c9d9e8dd0472489c19b1a020a940da67", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 4
0
        public void EngTest3()
        {
            var entropyBytes = CryptoUtil.ConvertHex("80808080808080808080808080808080");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("letter advice cage absurd amount doctor acoustic avoid letter advice cage above", this.bip39.MnemonicSentence);
            Assert.AreEqual("d71de856f81a8acc65e6fc851a38d4d7ec216fd0796d0a6827a3ad6ed5511a30fa280f12eb2e47ed2ac03b5c462a0358d18d69fe4f985ec81778c1b370b652a8", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 5
0
        public void EngTest23()
        {
            var entropyBytes = CryptoUtil.ConvertHex("18a2e1d81b8ecfb2a333adcb0c17a5b9eb76cc5d05db91a4");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("board blade invite damage undo sun mimic interest slam gaze truly inherit resist great inject rocket museum chief", this.bip39.MnemonicSentence);
            Assert.AreEqual("f84521c777a13b61564234bf8f8b62b3afce27fc4062b51bb5e62bdfecb23864ee6ecf07c1d5a97c0834307c5c852d8ceb88e7c97923c0a3b496bedd4e5f88a9", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 6
0
        public void EngTest24()
        {
            var entropyBytes = CryptoUtil.ConvertHex("15da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c90419");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("beyond stage sleep clip because twist token leaf atom beauty genius food business side grid unable middle armed observe pair crouch tonight away coconut", this.bip39.MnemonicSentence);
            Assert.AreEqual("b15509eaa2d09d3efd3e006ef42151b30367dc6e3aa5e44caba3fe4d3e352e65101fbdb86a96776b91946ff06f8eac594dc6ee1d3e82a42dfe1b40fef6bcc3fd", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 7
0
        public void EngTest11()
        {
            var entropyBytes = CryptoUtil.ConvertHex("8080808080808080808080808080808080808080808080808080808080808080");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("letter advice cage absurd amount doctor acoustic avoid letter advice cage absurd amount doctor acoustic avoid letter advice cage absurd amount doctor acoustic bless", this.bip39.MnemonicSentence);
            Assert.AreEqual("c0c519bd0e91a2ed54357d9d1ebef6f5af218a153624cf4f2da911a0ed8f7a09e2ef61af0aca007096df430022f7a2b6fb91661a9589097069720d015e4e982f", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 8
0
        public void EngTest21()
        {
            var entropyBytes = CryptoUtil.ConvertHex("4fa1a8bc3e6d80ee1316050e862c1812031493212b7ec3f3bb1b08f168cabeef");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("exile ask congress lamp submit jacket era scheme attend cousin alcohol catch course end lucky hurt sentence oven short ball bird grab wing top", this.bip39.MnemonicSentence);
            Assert.AreEqual("095ee6f817b4c2cb30a5a797360a81a40ab0f9a4e25ecd672a3f58a0b5ba0687c096a6b14d2c0deb3bdefce4f61d01ae07417d502429352e27695163f7447a8c", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 9
0
        public void EngTest9()
        {
            var entropyBytes = CryptoUtil.ConvertHex("0000000000000000000000000000000000000000000000000000000000000000");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon art", this.bip39.MnemonicSentence);
            Assert.AreEqual("bda85446c68413707090a52022edd26a1c9462295029f2e60cd7c4f2bbd3097170af7a4d73245cafa9c3cca8d561a7c3de6f5d4a10be8ed2a5e608d68f92fcc8", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 10
0
        public void EngTest10()
        {
            var entropyBytes = CryptoUtil.ConvertHex("7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("legal winner thank year wave sausage worth useful legal winner thank year wave sausage worth useful legal winner thank year wave sausage worth title", this.bip39.MnemonicSentence);
            Assert.AreEqual("bc09fca1804f7e69da93c2f2028eb238c227f2e9dda30cd63699232578480a4021b146ad717fbb7e451ce9eb835f43620bf5c514db0f8add49f5d121449d3e87", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 11
0
        public void EngTest8()
        {
            var entropyBytes = CryptoUtil.ConvertHex("ffffffffffffffffffffffffffffffffffffffffffffffff");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo when", this.bip39.MnemonicSentence);
            Assert.AreEqual("0cd6e5d827bb62eb8fc1e262254223817fd068a74b5b449cc2f667c3f1f985a76379b43348d952e2265b4cd129090758b3e3c2c49103b5051aac2eaeb890a528", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 12
0
        public void EngTest7()
        {
            var entropyBytes = CryptoUtil.ConvertHex("808080808080808080808080808080808080808080808080");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("letter advice cage absurd amount doctor acoustic avoid letter advice cage absurd amount doctor acoustic avoid letter always", this.bip39.MnemonicSentence);
            Assert.AreEqual("107d7c02a5aa6f38c58083ff74f04c607c2d2c0ecc55501dadd72d025b751bc27fe913ffb796f841c49b1d33b610cf0e91d3aa239027f5e99fe4ce9e5088cd65", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 13
0
        public void EngTest6()
        {
            var entropyBytes = CryptoUtil.ConvertHex("7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("legal winner thank year wave sausage worth useful legal winner thank year wave sausage worth useful legal will", this.bip39.MnemonicSentence);
            Assert.AreEqual("f2b94508732bcbacbcc020faefecfc89feafa6649a5491b8c952cede496c214a0c7b3c392d168748f2d4a612bada0753b52a1c7ac53c1e93abd5c6320b9e95dd", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 14
0
        public void EngTest5()
        {
            var entropyBytes = CryptoUtil.ConvertHex("000000000000000000000000000000000000000000000000");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon agent", this.bip39.MnemonicSentence);
            Assert.AreEqual("035895f2f481b1b0f01fcf8c289c794660b289981a78f8106447707fdd9666ca06da5a9a565181599b79f53b844d8a71dd9f439c52a3d7b3e8a79c906ac845fa", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 15
0
        public void EngTest12()
        {
            var entropyBytes = CryptoUtil.ConvertHex("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo vote", this.bip39.MnemonicSentence);
            Assert.AreEqual("dd48c104698c30cfe2b6142103248622fb7bb0ff692eebb00089b32d22484e1613912f0a5b694407be899ffd31ed3992c456cdf60f5d4564b8ba3f05a69890ad", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 16
0
        public void EngTest20()
        {
            var entropyBytes = CryptoUtil.ConvertHex("7ac45cfe7722ee6c7ba84fbc2d5bd61b45cb2fe5eb65aa78");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("kiss carry display unusual confirm curtain upgrade antique rotate hello void custom frequent obey nut hole price segment", this.bip39.MnemonicSentence);
            Assert.AreEqual("ed56ff6c833c07982eb7119a8f48fd363c4a9b1601cd2de736b01045c5eb8ab4f57b079403485d1c4924f0790dc10a971763337cb9f9c62226f64fff26397c79", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 17
0
        public void EngTest13()
        {
            var entropyBytes = CryptoUtil.ConvertHex("77c2b00716cec7213839159e404db50d");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("jelly better achieve collect unaware mountain thought cargo oxygen act hood bridge", this.bip39.MnemonicSentence);
            Assert.AreEqual("b5b6d0127db1a9d2226af0c3346031d77af31e918dba64287a1b44b8ebf63cdd52676f672a290aae502472cf2d602c051f3e6f18055e84e4c43897fc4e51a6ff", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 18
0
        public void EngTest22()
        {
            var entropyBytes = CryptoUtil.ConvertHex("18ab19a9f54a9274f03e5209a2ac8a91");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("board flee heavy tunnel powder denial science ski answer betray cargo cat", this.bip39.MnemonicSentence);
            Assert.AreEqual("6eff1bb21562918509c73cb990260db07c0ce34ff0e3cc4a8cb3276129fbcb300bddfe005831350efd633909f476c45c88253276d9fd0df6ef48609e8bb7dca8", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 19
0
        public void EngTest14()
        {
            var entropyBytes = CryptoUtil.ConvertHex("b63a9c59a6e641f288ebc103017f1da9f8290b3da6bdef7b");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("renew stay biology evidence goat welcome casual join adapt armor shuffle fault little machine walk stumble urge swap", this.bip39.MnemonicSentence);
            Assert.AreEqual("9248d83e06f4cd98debf5b6f010542760df925ce46cf38a1bdb4e4de7d21f5c39366941c69e1bdbf2966e0f6e6dbece898a0e2f0a4c2b3e640953dfe8b7bbdc5", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 20
0
        public void EngTest4()
        {
            var entropyBytes = CryptoUtil.ConvertHex("ffffffffffffffffffffffffffffffff");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo zoo wrong", this.bip39.MnemonicSentence);
            Assert.AreEqual("ac27495480225222079d7be181583751e86f571027b0497b5b5d11218e0a8a13332572917f0f8e5a589620c6f15b11c61dee327651a14c34e18231052e48c069", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 21
0
        public void EngTest16()
        {
            var entropyBytes = CryptoUtil.ConvertHex("0460ef47585604c5660618db2e6a7e7f");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("afford alter spike radar gate glance object seek swamp infant panel yellow", this.bip39.MnemonicSentence);
            Assert.AreEqual("65f93a9f36b6c85cbe634ffc1f99f2b82cbb10b31edc7f087b4f6cb9e976e9faf76ff41f8f27c99afdf38f7a303ba1136ee48a4c1e7fcd3dba7aa876113a36e4", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 22
0
        public void EngTest2()
        {
            var entropyBytes = CryptoUtil.ConvertHex("7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("legal winner thank year wave sausage worth useful legal winner thank yellow", this.bip39.MnemonicSentence);
            Assert.AreEqual("2e8905819b8723fe2c1d161860e5ee1830318dbf49a83bd451cfb8440c28bd6fa457fe1296106559a3c80937a1c1069be3a3a5bd381ee6260e8d9739fce1f607", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 23
0
        public void EngTest19()
        {
            var entropyBytes = CryptoUtil.ConvertHex("eaebabb2383351fd31d703840b32e9e2");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("turtle front uncle idea crush write shrug there lottery flower risk shell", this.bip39.MnemonicSentence);
            Assert.AreEqual("bdfb76a0759f301b0b899a1e3985227e53b3f51e67e3f2a65363caedf3e32fde42a66c404f18d7b05818c95ef3ca1e5146646856c461c073169467511680876c", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 24
0
        public void EngTest26()
        {
            // undocumented test vector........maximum 8192 entropy bits.....you love it :)
            var entropyBytes = CryptoUtil.ConvertHex("15da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c9041915da872c95a13dd738fbf50e427583ad61f18fd99f628c417a61cf8343c90419");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("beyond stage sleep clip because twist token leaf atom beauty genius food business side grid unable middle armed observe pair crouch tonight away cargo surround defense century draw talent organ used peace draw project twice sentence body under laugh face door spread initial alley develop link gold robust mango gorilla hair knife inform law stage sign intact buddy flash toast work soul mechanic market kidney attack this maple motion arrive first extend clutch public exhaust purpose moral whisper decorate exchange lonely help ladder cabbage okay rally country consider gift lab special must dose memory head tortoise noble antique into impose satisfy mango antenna race pulp auto glue rebel wage economy album equip sort borrow venture amused mule unhappy bronze naive patrol upgrade soda wave extend cancel stock interest giggle midnight wait disagree churn camera trumpet delay local bundle donate cram frozen drum rather reflect differ right discover tube tomorrow depart attitude promote various learn guitar shallow series rule mango vacant duck else alien close position north final chicken strong sick wool broken chef scrub remain dilemma more smooth suffer blush bless couch dignity half simple camp earth relax index enlist lumber road decline text drum lumber flag stove march cradle sunset wild perfect load plastic treat artist junior advice silly issue atom sing spatial warrior train winner position mountain twelve depart rail shiver will panda behave aware visit brother script august calm boil put peace float foam page friend buyer vital improve output also stock web disorder crop glad ginger future seminar wealth peanut catch lobster beyond stage sleep clip because twist token leaf atom beauty genius food business side grid unable middle armed observe pair crouch tonight away cargo surround defense century draw talent organ used peace draw project twice sentence body under laugh face door spread initial alley develop link gold robust mango gorilla hair knife inform law stage sign intact buddy flash toast work soul mechanic market kidney attack this maple motion arrive first extend clutch public exhaust purpose moral whisper decorate exchange lonely help ladder cabbage okay rally country consider gift lab special must dose memory head tortoise noble antique into impose satisfy mango antenna race pulp auto glue rebel wage economy album equip sort borrow venture amused mule unhappy bronze naive patrol upgrade soda wave extend cancel stock interest giggle midnight wait disagree churn camera trumpet delay local bundle donate cram frozen drum rather reflect differ right discover tube tomorrow depart attitude promote various learn guitar shallow series rule mango vacant duck else alien close position north final chicken strong sick wool broken chef scrub remain dilemma more smooth suffer blush bless couch dignity half simple camp earth relax index enlist lumber road decline text drum lumber flag stove march cradle sunset wild perfect load plastic treat artist junior advice silly issue atom sing spatial warrior train winner position mountain twelve depart rail shiver will panda behave aware visit brother script august calm boil put peace float foam page friend buyer vital improve output also stock web disorder crop glad ginger future seminar wealth peanut catch lobster beyond stage sleep clip because twist token leaf atom beauty genius food business side grid unable middle armed observe pair crouch tonight away cargo surround defense century draw talent organ used peace draw project twice sentence body under laugh face door spread initial alley develop link gold robust mango gorilla hair knife inform law stage sign intact buddy flash toast work soul mechanic market kidney attack this maple motion arrive first extend clutch public exhaust purpose moral whisper decorate exchange lonely help ladder cabbage okay rally country consider gift lab special must dose memory head tortoise noble antique into impose satisfy mango antenna race pulp auto glue rebel wage economy album equip sort borrow venture amused mule unhappy bronze naive patrol upgrade soda wave extend cancel stock interest giggle midnight wait disagree churn camera trumpet delay local bundle donate cram frozen drum rather reflect differ right discover tube tomorrow depart attitude promote various learn guitar shallow series rule mango vacant duck else alien close position north final chicken strong sick wool broken chef scrub remain dilemma more smooth suffer blush bless couch dignity half simple camp earth relax index enlist lumber road decline text drum lumber flag stove march cradle sunset wild perfect load plastic treat artist junior advice silly issue atom sing spatial warrior train winner position mountain twelve depart rail shiver will panda behave aware visit brother script august calm boring job hurt future grunt crash express rapid chaos believe very gloom hospital legal whip mule jazz refuse noble tilt artefact mad antique suggest", this.bip39.MnemonicSentence);
            Assert.AreEqual("37f0dfa9e39ec453ca5fe695ea786d399aa9d607e552b3fb9479935bed9d70b7c14524393450174ffcb3518692548b4cb1ead41231dab966f35bcee8e7b18763", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 25
0
        public void EngTest25()
        {
            // undocumented test vector........maximum 8192 entropy bits.....you love it :)
            var entropyBytes = CryptoUtil.ConvertHex("00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");
            Assert.AreEqual("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon able wine cool course anchor ability scare tag emerge liquid robust jacket canal brown sustain stand blanket pumpkin recall satisfy valve filter monitor target", this.bip39.MnemonicSentence);
            Assert.AreEqual("4ef11996949550b4414276288179ebac31c0b716ec8e57da4b8f24277603e6db8ea8871aaaa2708d8d37b3031091a80544fef238c6e0bf90a65f9d476ffd2214", this.bip39.SeedBytesHexString);
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 26
0
        public static void Main(string[] args)
        {
            string[] wordList = File.ReadAllLines("english.txt");

            Bip39 bip39 = new Bip39(wordList);

            var seedAndEntropy = bip39.GenerateSeedAndEntropy("ozone drill grab fiber curtain grace pudding thank cruise elder eight picnic");

            var seedAndPhrase = bip39.GenerateSeedAndPhrase("0x9e885d952ad362caeb4efe34a8e91bd2");

            bool isOk = bip39.Verify(seedAndPhrase.MnemonicPhrase, seedAndPhrase.Seed);
        }
Ejemplo n.º 27
0
        public void EngTest1()
        {
            var entropyBytes = CryptoUtil.ConvertHex("00000000000000000000000000000000");

            this.bip39 = new Bip39(entropyBytes, "TREZOR");

            // check correct mnemonic sentence
            Assert.AreEqual("abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about", this.bip39.MnemonicSentence);

            // check correct seed
            Assert.AreEqual("c55257c360c07c72029aebc1b53c05ed0362ada38ead3e3e9efa3708e53495531f09a6987599d18264c1e1c92f2cf141630c7a3c4ab7c81b2f001698e7463b04", this.bip39.SeedBytesHexString);

            // check that we can rebuild the BIP39 object using the mnemonic and passphrase and that it gives the same result
            this.bip39frommnemonic = new Bip39(this.bip39.MnemonicSentence, "TREZOR");
            Assert.AreEqual(CryptoUtil.ToHex(this.bip39.EntropyBytes), CryptoUtil.ToHex(this.bip39frommnemonic.EntropyBytes));
            Assert.AreEqual(this.bip39.SeedBytesHexString, this.bip39frommnemonic.SeedBytesHexString);
        }
Ejemplo n.º 28
0
        private void FromMnemonic(IEnumerable <string> words, string passphrase)
        {
            if (words?.Any() == false)
            {
                throw new ArgumentException("Words required", nameof(words));
            }

            if (string.IsNullOrWhiteSpace(passphrase))
            {
                throw new ArgumentException("Passphrase required", nameof(passphrase));
            }

            Mnemonic = words;

            Passphrase = passphrase;

            Bip39 bip39 = new Bip39();

            byte[] seed = bip39.ToSeed(words, passphrase).CopyOfRange(0, 32);

            FromSeed(seed);
        }
Ejemplo n.º 29
0
        public void TestPathBip44()
        {
            const string ExpectedPubKey = "xpub6EncrYPyfQEpEmcMsHEnAXFQY5JkfMcyEWjExM8ppTtJ2y2TR7FfTjEVYxru1Ry9cYdsSkiPjZhv94KyJE8JT8bQuFKHpGzNV4cMscWeRLT";
            const string ExpectedPrvKey = "xprvA1oGT2s5q2gX2HXtmFhmoPJfz3UGFtu7sHoe9xjDG8MKAAhJsZwQuvv1hgSHsCV1CDzL6pq9cFPoWgh7pV4TNKwdzCKBvm6MX5YqaoPZWDu";
            const string Mnemonic       = "thrive empower soon push mountain jeans chimney top jelly sorry beef hard napkin mule matrix today draft high vacuum exercise blind kitchen inflict abstract";

            ////var key = CryptoService.CreateNew32ByteKeyPushEntropy();
            ////var bip39 = new Bip39(Convert.FromBase64String(key.ConvertToString()));

            var bip39           = new Bip39(Mnemonic);
            var usersMasterSeed = bip39.SeedBytes;

            var prvkey  = ExtendedKey.Create(ExtendedKey.Bitcoinseed, usersMasterSeed);
            var keyPath = ExtendedKeyPathBip44.CreateBip44(0).AddChild(0);

            var derrived = keyPath.Items.Aggregate(prvkey, (current, item) => current.GetChild(item));

            var prv = derrived.Serialize();
            var pub = derrived.GetPublicKey().Serialize();

            Assert.AreEqual(ExpectedPubKey, pub);
            Assert.AreEqual(ExpectedPrvKey, prv);
        }
Ejemplo n.º 30
0
        public async Task <UserAccount> GetUserAccount(long userId, bool createNewAcount = false)
        {
            if (userId == _bot.Id)
            {
                return(new UserAccount(userId, mnemonic: _mnemonic.Release()));
            }

            var userKey = $"accounts/{userId}";

            if (createNewAcount || !await _S3.ObjectExistsAsync(_bucket, key: userKey))
            {
                var entropy = RandomEx.NextBytesSecure(16);
                var bip39   = new Bip39(entropyBytes: entropy, passphrase: "", language: Bip39.Language.English);
                var newUA   = new UserAccount(userId, bip39.MnemonicSentence);
                await _S3.UploadTextAsync(_bucket, userKey, newUA.JsonSerialize());

                return(newUA);
            }

            var oldUA = await _S3.DownloadJsonAsync <UserAccount>(_bucket, key : userKey, throwIfNotFound : true);

            return(oldUA.SecureCopy());
        }