Example #1
0
        public string DecodeAndDecryptMessage(string msg)
        {
            //string jsonString = rsaManager.Decrypt(AuthenticateMessage(msg));
            Message messageRecv = AuthenticateMessage(msg);

            string decryptedMessage = rsaManager.Decrypt(messageRecv.KeyToDecipher);

            KeyDecipher key = JsonConvert.DeserializeObject <KeyDecipher>(decryptedMessage);

            ConnAesManager.SetKey(key.Key, key.IV);

            string jsonString = ConnAesManager.DecryptStringFromBytes_Aes(JsonConvert.DeserializeObject <byte[]>(messageRecv.Cryptotext));

            JsonFreshMessage jsonFreshMessage = JsonConvert.DeserializeObject <JsonFreshMessage>(jsonString);

            VerifyNonce(jsonFreshMessage.Nonce);

            return(jsonFreshMessage.Message);
        }
Example #2
0
        public string JsonMessage(string msg)
        {
            //Refresh every message the keys
            ConnAesManager.InitKey();

            //Cipher content with the symmetric key
            byte[] bytes      = ConnAesManager.EncryptStringToBytes_Aes(msg);
            string cipherText = JsonConvert.SerializeObject(bytes);

            //Cipher the symmetric key with pub key
            KeyDecipher keyDecipher = new KeyDecipher(ConnAesManager.Key, ConnAesManager.InitVect);
            string      KeyDecipher = JsonConvert.SerializeObject(keyDecipher);
            string      cipheredKey = rsaManager.Encrypt(KeyDecipher);

            //The cipherText and cipherKey
            Message message = new Message(cipherText, cipheredKey);

            //Digest the message
            return(JsonConvert.SerializeObject(new JsonCryptoDigestMessage(JsonConvert.SerializeObject(message), hmacManager.Encode(JsonConvert.SerializeObject(message)))));
        }