Sto lavorando con questa crittografia PHP classe usando MCRYPT_RIJNDAEL_256
e MCRYPT_MODE_CBC
con un fisso 32-byte ( 64 caratteri) Chiave HMAC, come base.
La lezione è il risultato di precedenti discussioni e osservazioni fatte su questo pagina del blog . e sembra una solida implementazione in quanto tale. Tuttavia, ci sono alcuni aspetti discussi su cui non sono ancora chiaro:
The only thing it adds is predictable plaintext positions which will aide a cryptanalyst. I recommend removing the serialization and using PKCS7 padding.
Ora che il metodo di crittografia utilizza HMAC e che la serializzazione evita il problema di riempimento "\ 0" . È comunque consigliabile utilizzare un padding PKCS anche quando viene utilizzato HMAC (e la serializzazione è mantenuta)?
O in altre parole, solo l'HMAC risolve la "posizione di testo in chiaro prevedibile"?
Le mie ipotesi sui prodotti per la serializzazione, è che sembrerebbe rendere la lunghezza del testo meno prevedibile, anche se il messaggio è una stringa di testo semplice, per esempio per una lunghezza prevedibile breve, specialmente per un numero di dimensioni fisse. Tuttavia, voglio solo assicurarmi che la serializzazione non sia un contro-contro.