コード例 #1
0
        public static byte[] Encrypt <T>(T message, KeyPair local, ECC.ECPoint remote)
        {
            var secret = GetSharedSecret(local, remote);

            return(Encrypt(message, secret));
        }
コード例 #2
0
        public static T Decrypt <T>(byte[] message, PhantasmaKeys privateKey, ECC.ECPoint publicKey)
        {
            var secret = GetSharedSecret(privateKey, publicKey);

            return(Decrypt <T>(message, secret));
        }
コード例 #3
0
        public static byte[] GetSharedSecret(KeyPair local, ECC.ECPoint remote)
        {
            var secret = (remote * local.PrivateKey).EncodePoint(true);

            return(secret.Sha256());
        }
コード例 #4
0
        public static void WritePublicKey(this BinaryWriter writer, ECC.ECPoint publicKey)
        {
            var bytes = publicKey.EncodePoint(true);

            writer.WriteByteArray(bytes);
        }