Încerc să aleg un mod de operare pentru criptare care are cea mai scăzută maleabilitate
Ei bine, modurile de operare Format Preserving Encryption oferă rezistență ideală la maleabilitate (pentru modurile care nu dau niciodată o ieșire „eșec de autentificare”); orice modificare arbitrară a textului cifrat (fie că este vorba de o întoarcere pe un singur bit a ultimului bit din textul cifrat, reordonarea blocurilor sau ceva mai drastic) va avea întotdeauna ca rezultat un text simplu complet imprevizibil (deformat) la decriptare [1]. Dacă vrei să mergi pe acest traseu, îți sugerez să te uiți la Modul FF1 din acest document.
BTW: există un motiv anume pentru care nu doriți să faceți autentificarea mesajelor? Orice mod decent de operare AEAD oferă garanții și mai bune. Singurul motiv valabil la care mă gândesc este „textul cifrat trebuie să fie exact atât de lung cât textul simplu”...
[1]: Excepția evidentă este dacă atacatorul înlocuiește textul cifrat cu un text cifrat valid generat anterior. Acest lucru poate fi gestionat prin includerea unei modificări care variază în funcție de mesaj (de exemplu, este un număr de secvență care este validat ca fiind întotdeauna incrementat de către receptor); rezultatul decriptării depinde de ajustare și, prin urmare, păstrează această proprietate de „nonmaleabilitate completă”.