public static byte[] Encrypt <T>(T message, KeyPair local, ECC.ECPoint remote) { var secret = GetSharedSecret(local, remote); return(Encrypt(message, secret)); }
public static T Decrypt <T>(byte[] message, PhantasmaKeys privateKey, ECC.ECPoint publicKey) { var secret = GetSharedSecret(privateKey, publicKey); return(Decrypt <T>(message, secret)); }
public static byte[] GetSharedSecret(KeyPair local, ECC.ECPoint remote) { var secret = (remote * local.PrivateKey).EncodePoint(true); return(secret.Sha256()); }
public static void WritePublicKey(this BinaryWriter writer, ECC.ECPoint publicKey) { var bytes = publicKey.EncodePoint(true); writer.WriteByteArray(bytes); }