Ho creato un programma utilizzando le API CryptoPP per implementare la modalità ECB AES con una chiave a 128 bit per la crittografia / decrittografia del testo in chiaro dell'input dell'utente. So che la BCE è la modalità AES meno sicura ma è sufficiente per il mio programma che è solo per scopi dimostrativi di base.
Vorrei catturare l'output del round in base ai risultati quando il mio programma applica le operazioni di crittografia e decrittografia AES ECB. CryptoPP fornisce API per fare questo?
In altre parole, quando il mio programma esegue la crittografia sull'input dell'utente come testo in chiaro, vorrei esportare il testo cifrato prodotto da ciascuno dei 10 round coinvolti nell'operazione di crittografia. Allo stesso modo, quando il mio programma esegue la decrittografia sul testo cifrato generato da AES ECB, vorrei produrre il testo in chiaro recuperato prodotto da ciascuno dei 10 round coinvolti nell'operazione di decrittografia.
Il mio programma genera una chiave (con API GenerateBlock di AutoSeededRandomPool), esegue la crittografia (passando un'istanza "ECB_Mode :: Encryption" in un StreamTransformationFilter) ed esegue la decrittografia (passando un'istanza "ECB_Mode :: Decryption" in un StreamTransformationFilter) . Il mio programma richiede all'utente di operare in chiaro, emette il testo cifrato prodotto applicando l'API di crittografia AES ECB di CryptoPP sul testo in chiaro e quindi restituisce il testo in chiaro recuperato applicando l'API di decrittografia AEC ECB di CryptoPP.
Sto postando questa domanda dopo aver ricercato senza successo le risorse di CryptoPP per i modi in cui generare round per round di risultati delle operazioni AES. Molte grazie per qualsiasi assistenza fornita.