Here is the code that I am using to encrypt and decrypt a text. What I
do not see is how the decryption is failing to work. Below is the output
(char and hex for both the plain text). Question is why is the decrypt
code rubbish and not the original plain text?
-----------------------
encrypt code
-----------------------
string plaintext = ... input text ...
string ciphertext;
CFB_Mode<AES>::Encryption aes_encrypt (m_encryKey,
AES::DEFAULT_KEYLENGTH, m_iv);
StreamTransformationFilter *cfbEncryptor =
new StreamTransformationFilter (aes_encrypt,
new Base64Encoder (new StringSink (ciphertext)));
StringSource source (plaintext, true, cfbEncryptor);
-------------------------
encrypt output
-------------------------
Plaintext char: J i m C a r r e y
B r u c e A l m i g h t y
Plaintext hex: 0x4a 0x69 0x6d 0x20 0x43 0x61 0x72 0x72 0x65
0x79 0xa 0x42 0x72 0x75 0x63 0x65 0x20 0x41 0x6c 0x6d 0x69
0x67 0x68 0x74 0x79
Ciphertext char: 3 i P n 2 M U 6 D j E c / P 9 d / 5
g h O z 3 v f u 6 X V W n 5 c w
Ciphertext hex: 0x33 0x69 0x50 0x6e 0x32 0x4d 0x55 0x36 0x44
0x6a 0x45 0x63 0x2f 0x50 0x39 0x64 0x2f 0x35 0x67 0x68 0x4f
0x7a 0x33 0x76 0x66 0x75 0x36 0x58 0x56 0x57 0x6e 0x35 0x63
0x77 0xa
Open the file and decrypt contents: Loading
/home/storri/Documents/StephenTorri/cs502_project/src/data.txt
-----------------------
decrypt code
-----------------------
CFB_Mode<AES>::Decryption aes_decrypt (m_encryKey,
AES::DEFAULT_KEYLENGTH, m_iv);
StreamTransformationFilter *cfbDecryptor =
new StreamTransformationFilter (aes_decrypt,
new Base64Decoder (new StringSink (plaintext)));
StringSource source (ciphertext, true, cfbDecryptor);
-----------------------
decrypt output
-----------------------
Ciphertext char: 3 i P n 2 M U 6 D j E c / P 9 d / 5
g h O z 3 v f u 6 X V W n 5 c w
Ciphertext hex: 0x33 0x69 0x50 0x6e 0x32 0x4d 0x55 0x36 0x44
0x6a 0x45 0x63 0x2f 0x50 0x39 0x64 0x2f 0x35 0x67 0x68 0x4f
0x7a 0x33 0x76 0x66 0x75 0x36 0x58 0x56 0x57 0x6e 0x35 0x63
0x77 0xa
Plaintext hex: 0xffffffba 0x48 0x32
Plaintext char: � H 2
Stephen