public void GenerateKeyFromPrivateKeyTest() { var key = X25519KeyAgreement.GenerateKeyPair(); var newKey = X25519KeyAgreement.GenerateKeyFromPrivateKey(key.PrivateKey); Assert.IsTrue(key.PublicKey.SequenceEqual(newKey.PublicKey)); }
public void GenerateKeyFromPrivateKeyTest3() { var priv = Convert.FromBase64String("aF9hmPSeJfKvjPam++gl7MRIQydQQu2Jdee8zOTX+lY="); var pub = Convert.FromBase64String("FTM52WXsEjj5hBY53RTUFmG2qUwzZxPRJdYs9lu/y3M="); var key = X25519KeyAgreement.GenerateKeyFromPrivateKey(priv); Assert.IsTrue(key.PublicKey.SequenceEqual(pub)); }
public void GenerateKeyFromPrivateKeyTest2() { // predefined values var key1 = X25519KeyAgreement.GenerateKeyFromPrivateKey(Convert.FromBase64String("sECe8YYQT/bODurKruM8QpGFBTahurW8GqxFL+AYiW8=")); var key2 = X25519KeyAgreement.GenerateKeyFromPrivateKey(Convert.FromBase64String("wAidyKs9iF+KA1cgBxa1rMtPwemOLFHqSIe5nkVRN2o=")); const string secret = "dbfEcOMjYactMkh33DRhg0h1VCbmhxoWt6AR3rp6000="; // do the agreement string secret1 = Convert.ToBase64String(X25519KeyAgreement.Agreement(key1.PrivateKey, key2.PublicKey)); string secret2 = Convert.ToBase64String(X25519KeyAgreement.Agreement(key2.PrivateKey, key1.PublicKey)); if (secret1 != secret2) { Assert.Fail("Secrets does not match"); } // check the final secret Assert.AreEqual(secret, secret1); }