decrypt function updated

master
moneroexamples 8 years ago
parent 827f7541c6
commit 31a1862b80

@ -796,12 +796,17 @@ namespace xmreg
const size_t prefix_size = sizeof(chacha8_iv) const size_t prefix_size = sizeof(chacha8_iv)
+ (authenticated ? sizeof(crypto::signature) : 0); + (authenticated ? sizeof(crypto::signature) : 0);
if (ciphertext.size() < prefix_size)
{
cerr << "Unexpected ciphertext size" << endl;
return {};
}
crypto::chacha8_key key; crypto::chacha8_key key;
crypto::generate_chacha8_key(&skey, sizeof(skey), key); crypto::generate_chacha8_key(&skey, sizeof(skey), key);
const crypto::chacha8_iv &iv = *(const crypto::chacha8_iv*)&ciphertext[0]; const crypto::chacha8_iv &iv = *(const crypto::chacha8_iv*)&ciphertext[0];
std::string plaintext; std::string plaintext;
plaintext.resize(ciphertext.size() - prefix_size); plaintext.resize(ciphertext.size() - prefix_size);
@ -813,6 +818,11 @@ namespace xmreg
crypto::public_key pkey; crypto::public_key pkey;
crypto::secret_key_to_public_key(skey, pkey); crypto::secret_key_to_public_key(skey, pkey);
const crypto::signature &signature =
*(const crypto::signature*)&ciphertext[ciphertext.size()
- sizeof(crypto::signature)];
const crypto::signature &signature = const crypto::signature &signature =
*(const crypto::signature*)&ciphertext[ciphertext.size() *(const crypto::signature*)&ciphertext[ciphertext.size()
- sizeof(crypto::signature)]; - sizeof(crypto::signature)];

Loading…
Cancel
Save