Sto usando .NET e ho scritto una fantastica routine (xD) che codifica e decrittografa un file usando CBC AES256. Funziona perfettamente, ma ora mi hanno detto che il file crittografato deve essere della stessa dimensione di quello decrittografato. (C'è un problema con alcune altre API, non è colpa mia, lo giuro.)
Quindi, ho provato tutto ciò che posso trovare, ma niente funziona. .NET Framework ha un CipherMode.CTS che assomiglia esattamente a quello di cui ho bisogno, ma sfortunatamente non è attualmente supportato.
Ho provato a impostare il padding su none, ma ovviamente ho errori perché la dimensione del blocco è inferiore a quella che dovrebbe essere.
idee?
Modifica: Sono riuscito a risolvere questo problema in 2 modi:
Con API .NET SymmetricAlgorithm alg = new RijndaelManaged (); alg.Mode = CipherMode.CFB; alg.Padding = PaddingMode.None; alg.FeedbackSize = 8;
Con le API di BouncyCastle IBufferedCipher cipher = new CtsBlockCipher (new CbcBlockCipher (new AesFastEngine ()));
Spero che questo possa aiutare gli altri con lo stesso problema:)