Passa al contenuto principale

6.1.1. The Fallacy of Complex Manipulation (L'Errore della Manipolazione Complessa)

6.1.1. The Fallacy of Complex Manipulation (L'Errore della Manipolazione Complessa)

Un approccio che può dare un'apparenza ingannevole di imprevedibilità è prendere un algoritmo molto complesso (o un eccellente generatore di numeri pseudo-casuali tradizionale con buone proprietà statistiche) e calcolare una chiave crittografica partendo da dati limitati come il valore dell'orologio di sistema come seed. Gli avversari che sapevano approssimativamente quando il generatore è stato avviato avrebbero un numero relativamente piccolo di valori seed da testare, poiché conoscerebbero i valori probabili dell'orologio di sistema. Potrebbero essere generati grandi numeri di bit pseudo-casuali, ma lo spazio di ricerca che un avversario dovrebbe controllare potrebbe essere abbastanza piccolo.

Pertanto, una manipolazione molto forte o complessa dei dati non aiuterà se l'avversario può apprendere qual è la manipolazione e se non c'è abbastanza entropia nel valore seed iniziale. Possono solitamente usare il numero limitato di risultati derivanti da un numero limitato di valori seed per sconfiggere la sicurezza.

Un altro grave errore strategico è assumere che un algoritmo di generazione di numeri pseudo-casuali molto complesso produrrà numeri casuali forti, quando non c'è stata teoria dietro o analisi dell'algoritmo. C'è un eccellente esempio di questa fallacia vicino all'inizio del Capitolo 3 in [KNUTH], dove l'autore descrive un algoritmo complesso. Era inteso che il programma in linguaggio macchina corrispondente all'algoritmo fosse così complicato che una persona che cercasse di leggere il codice senza commenti non saprebbe cosa stesse facendo il programma. Sfortunatamente, l'uso effettivo di questo algoritmo ha mostrato che convergeva quasi immediatamente a un singolo valore ripetuto in un caso e a un piccolo ciclo di valori in un altro caso.

Non solo la manipolazione complessa non aiuta se si ha una gamma limitata di seed, ma una manipolazione complessa scelta alla cieca può distruggere l'entropia in un buon seed!