Creé un programa que utilizaba las API de CryptoPP para implementar el modo AES ECB con una clave de 128 bits para el cifrado / descifrado del texto plano de entrada del usuario. Sé que el BCE es el modo AES menos seguro, pero es suficiente para mi programa, que solo tiene fines demostrativos básicos.
Me gustaría capturar el resultado de la ronda por resultados cuando mi programa aplique las operaciones de cifrado y descifrado AES ECB. ¿CryptoPP proporciona API para hacer esto?
En otras palabras, cuando mi programa realiza el cifrado en la entrada del usuario en texto sin formato, me gustaría mostrar el texto cifrado producido por cada una de las 10 rondas involucradas en la operación de cifrado. De manera similar, cuando mi programa realiza el descifrado en el texto cifrado generado por el AES ECB, me gustaría mostrar el texto plano recuperado producido por cada una de las 10 rondas involucradas en la operación de descifrado.
Mi programa genera una clave (con la API GenerateBlock de AutoSeededRandomPool), realiza el cifrado (pasando una instancia "ECB_Mode :: Encryption" a un StreamTransformationFilter) y realiza un descifrado (al pasar una instancia de "ECB_Mode :: Decryption" a un StreamTransformationFilter) . Mi programa solicita al usuario que use texto sin formato para operar, genera el texto cifrado producido al aplicar la API de cifrado AES ECB de CryptoPP en el texto sin formato, y luego genera el texto sin formato recuperado al aplicar la API de descifrado AEC ECB de CryptoPP.
Estoy publicando esta pregunta después de haber investigado sin éxito los recursos de CryptoPP para encontrar formas de obtener resultados de la operación AES ronda por ronda. Muchas gracias por la asistencia prestada.