L'entropia nella fisica e nella scienza dell'informazione è solo il logaritmo (tipicamente logico naturale in fisica; log-in base 2 in informatica) del numero di possibilità altrettanto probabili, perché è generalmente più facile trattare e pensare con il logaritmo di questo numero eccezionalmente elevato di possibilità rispetto alle possibilità direttamente.
Se ho generato a caso 128 bit come AES-128 casuale (che memorizzo da qualche parte), è facile vedere che ci sono 2 128 = 340,282,366,920,938,463,463,374,607,431,768,211,456 chiavi possibili che avrei potuto usare (2 uguali -possibile scelte per ogni bit e le probabilità si moltiplicano). Quando si parla di complessità informativa, è più semplice parlare della chiave che ha 128 bit di entropia piuttosto che dire di 340 x 10 36 o 340 undecillion (scala breve) , specialmente se vuoi confrontarlo con una chiave a 256 bit con 2 256 = 115,792,089,237,316,195,423,570,985,008,687,907,853,269,984,665,640,564,039,457,584,007,913,129,639,936 possibilità.
Ora se ti do la password di un utente casuale, tecnicamente non è possibile assegnargli un'entropia in modo univoco.
È possibile assegnare un'entropia solo a un modello di generazione di password. Quindi, se ti viene chiesto di stimare un'entropia per una password, il tuo compito è quello di assumere il modello che potrebbe aver generato quella password.
Se ti avessi dato una password come P[rmDrds,r
potresti presumere che ho scelto a caso 10 caratteri da un set di 95 caratteri ASCII stampabili e alla forza bruta dovresti passare per 95 10 ~ 2 65.7 possibilità e avrebbe un'entropia di 65.7 bit. Tuttavia, è solo una password molto debole OpenSesame
in cui ho spostato le mie mani sulla tastiera verso la lettera a destra (che è probabilmente uno dei modi 2 ^ 6 ~ 64 per alterare la digitazione di una password a bassa entropia facile da ricordare ). Se potessi trovare OpenSesame
in una lista di dire le password più comuni di 1.000 (1000 ~ 2 10 ), in realtà l'entropia di P[rmDrds,r
è più vicina a 16 bit (possibilità di 2 < sup> 10 x 2 6 ), quando la generazione della password è scegliere uno dei 64 modi comuni per oscurare una password e quindi scegliere una password da un elenco di 1000 password comuni. Quindi, dopo circa 64.000 tentativi, un esperto forger sofisticato che ha provato questa via d'attacco potrebbe arrivare a P[rmDrds,r
, quindi è più accurato stimare la sua entropia come circa 16 bit di 65.7 bit, che è 2 65.7-16 ~ 2 49.7 ~ 914 miliardi di volte più facili da forzare rispetto alla password da 65.7 bit.
Ora, ovviamente, un aggressore di forza bruta meno sofisticato potrebbe aver ignorato la possibilità di spostare i caratteri sulla tastiera di uno spazio a sinistra mentre si passava attraverso gli elenchi di password comuni. Ma per essere sicuri, ignori gli stupidi aggressori e presumi che un attaccante molto sofisticato abbia preso in considerazione tutti i tuoi metodi di generazione di password ( principio di Kerckhoffs dice evita la sicurezza per oscurità, supponi che il nemico abbia considerato la tua tecnica segreta tra molti altri metodi). Quindi, quando qualcuno dice che hai bisogno di una password ad alta entropia, il tuo obiettivo non è una password che sembra essere altamente casuale (e qualche password semplice tester lo etichetta come alta entropia). Vuoi una password casuale che è stata costruita con un sacco di scelte casuali che vengono inserite nella procedura di generazione della password. Non dovresti scegliere parole significative e creare una password per questo con trucchi oscuri come spostare le lettere in giro o sostituzioni di leeclip. Per una password sicura, dovresti fare affidamento su 80+ bit di casualità non umana inseriti nella tua procedura. Dovresti notare che un bit di entropia in una procedura di generazione di password equivale a una decisione di due opzioni (ad es. Qualcosa che potrebbe essere determinato da un lancio della moneta).
E ancora, con una probabilità molto piccola, puoi generare casualmente una password con molte scelte casuali e finisce con una password molto debole; ad esempio, è tecnicamente possibile scegliere casualmente 12 caratteri e ottenere password1234
o dddddddddddd
. In pratica, è una possibilità anche se è improbabile che accada (ad esempio, se si utilizza una procedura che genera una password di 90 bit, la probabilità che abbia generato una password che potrebbe anche essere stata generata con una procedura più semplice con solo 34 bit è 2 34 / 2 90 = 1 in 2 56 che è approssimativamente la probabilità di acquistare esattamente due biglietti Mega Millions di fila e vincere il jackpot entrambe le volte).