Spazio delle chiavi
In crittografia, lo spazio delle chiavi di un algoritmo indica l'insieme di tutte le possibili chiavi che possono essere utilizzate per inizializzarlo. Ad esempio, se un algoritmo lavora usando una chiave che è una stringa di 10 bit, allora il suo spazio delle chiavi è l'insieme di tutte le stringhe binarie di lunghezza 10 ( possibili chiavi).
Per evitare che gli attaccanti possano recuperare la chiave utilizzando un attacco a forza bruta, lo spazio delle chiavi è in genere progettato per essere estremamente vasto. Lo spazio delle chiavi deve inoltre essere piatto (o flat, secondo la terminologia inglese), vale a dire che non deve avere (o deve averne pochissime) chiavi deboli.
Esempi
[modifica | modifica wikitesto]Il cifrario a blocchi Rijndael (o AES) utilizza una chiave lunga fino a 256 bit, con il risultato che lo spazio delle chiavi è composto da più di 1,1579×1077 chiavi. Questo comporta il fatto che è computazionalmente impossibile controllare con la forza bruta tutte le possibili chiavi.
Nel cifrario a blocchi DES, viene usata una chiave di 56 bit, con il risultato che le possibili chiavi sono solo , quindi uno spazio delle chiavi calcolabile interamente in termini di giorni (il progetto EFF DES cracker recupera una chiave DES in meno di 1 giorno).
I vecchi cifrari polialfanumerici (come il Cifrario di Vigenère) avevano un massimo di chiavi, dove n è la lunghezza della chiave.
Il cifrario ROT13 è usato soltanto per evitare che le persone leggano accidentalmente alcuni messaggi (ad esempio la trama di un film o la soluzione di un enigma).
Poiché il ROT13 è un cifrario monoalfabetico, non è presente alcuna chiave, per cui lo spazio delle chiavi è conseguentemente vuoto; esso ha infatti solo il numero di lettere dell'alfabeto impiegato e corrisponde al cifrario di Vigenère con (), ovvero 26 chiavi diverse.