Не могу понять, почему не работают только определенные буквы в моем расшифровке. Я пытаюсь расшифровать буквы kddkmu с помощью ключа 10. Предполагается, что он выходит в атаку, но каждый раз, когда я запускаю код, он выходит в aZZack. Я полагаю, что проблема имеет какое-то отношение к моей работе модуля, но независимо от того, что я делаю, я не могу понять проблему.
int key = 10;
ciphertext = "kddkmu";
plaintext = shift_decrypt(ciphertext, key);
cout << "2. Decryption of the ciphertext: " << ciphertext << endl;
cout << " Key: " << key << endl;
cout << " Plaintext; " << plaintext << endl << endl;
с
string shift_decrypt(string p, int a)
{
string dtext = "";
for (int i = 0; i < p.length(); i++)
{
dtext += char(int(p[i] - a - 97) % 26 + 97);
}
return dtext;
}
Я не получаю никаких ошибок, просто расшифровываю dd как ZZ по какой-то странной причине