Newsgroup: it.comp.sicurezza.crittografia
Titolo: Lunghezza chiave in relazione alla funzione di hashing

Ciao a tutti,
spero che questa mia domanda non sia gia stata postata, ho dato un'occhiata
ma non mi pareva...
Se dei dati vengono crittati con l'AES128, usando come chiave l'output di
MD5 che e' l'hashing di una passphrase lunga tot, quanto e' utile che
questa passphrase sia lunga piu' dei 128 bits necessari per la chiave???
Cioè se uso come passphrase, per esempio, una file grande 1GB, l'hash
fornito da MD5 sarà sempre lungo 128bits, quindi tanto vale usare una
passphrase lunga 128, cosa cambia nei due casi???
Grazie
        Manuel

 tanto vale usare una passphrase lunga 128, cosa cambia nei due casi???
Le funzioni di hash "robuste" (MD5, SHA e forse altre) hanno la peculiarità
di condensare all'uscita tutta l'entropia di ciò che gli metti in ingresso,
per cui se in quel giga ci sono 128 bit (o più) di entropia, è verosimile
che all'uscita te li becchi tutti, mentre se utilizzi solo 128 bit (o meno)
di quel giga, è probabile che non te ne becchi nemmeno 1 di entropia.
In varie applicazioni si usa hashare un blocco di bit in ingresso di
dimensioni molto superiori a quello dei bit in uscita proprio per sperare di
arrivare ad avere in uscita un'entropia specifica di quasi 1 bit per ogni
bit disponibile.
Cristiano

 tanto vale usare una passphrase lunga 128, cosa cambia nei due casi???
Le funzioni di hash "robuste" (MD5, SHA e forse altre) hanno la peculiarità


 tanto vale usare una passphrase lunga 128, cosa cambia nei due casi???
Le funzioni di hash "robuste" (MD5, SHA e forse altre) hanno la peculiarità


Cristiano wrote:
Non so perché, ma io vedo 3 volte il mio stesso messaggio... Boh!?
Cristiano

 
capito, ma se uso una passphrase da 128 bit, completamente casuale, non è la
stessa cosa di usare un passphrase da 1Gb, anch'essa completamente causale?
Ovvero nel caso ideale di sequenza di bit completamente casuale l'output che
fornisce l'hash, avendo entropia massima la pass utilizzata, non può che
restituirmi entropia massima no? Ma allora ragionando ad un livello più
realistico, quanto ci guadagno a fornirgli 1G di bits pseudocasuali
piuttosto che solamente 128? Cioè ad un certo punto la quantità di entropia
di una passphrase credo tenda ad raggiungere un limite in cui anche altre
aggiunte di bit pseudocasuali risulterebbero insignificanti, qual'è questo
limite nel rapporto bit input, bit output??? Insomma il numero di bit di
una pass ideale in rapporto all'output fornito...
Tutto questo se non ho detto cavolate a riguardo dell'entropia, se così mi
scuso :p
Grazie
        Manuel

 
A me succede cosě quando i news servers di libero non funzionano
correttamente, spediscono i miei messaggi in ritardo o proprio non me li
spediscono, cosě poi mi trovo copie in piů dei miei tentativi...
        Manuel

 pass ideale in rapporto all'output fornito...
Supponi di usare un generatore che tu stimi possa fornire 1 bit di entropia
su 10 bit emessi.
Sembra chiaro che per ottenere una pass da 128 bit di entropia siano
necessari 128*10 bit forniti dal generatore.
Questi 1280 bit li hashi con l'MD5 sperando che in uscita ci siano i
sospirati 128 bit di entropia da usare, per esempio, come chiave di sessione
per l'AES.
Cristiano

 
Ahnnn ora ho capito, una generazione di bits pseudo casuali, non essendo
veramente casuali, ma basandosi sempre su funzioni, su dati proveniente da
calcoli finiti, quello che è insomma, non potranno mai avere entropia...
Quindi per generare entropia dovremo basarci su eventi puramente naturali,
veramente casuali, quindi può risultare che ha più entropia una password
scritta da noi premendo i tasti a caso che 1G di bits forniti dal pc, anzi
è sicuro che è così visto che nell'ultimo caso è zero.
Ma allora un modo intelligente per sfruttare le funzioni di hashing potrebbe
essere quello di dare noi in input una sequenza casuale di bit (magari
scrivendo proprio 010101 e convertendo il tutto in vero binario tramite
appositi programmi), la più lunga possibile, e da ciò si può pensare che
fornire keyfiles lunghi migliaia di bit, alla fin fine possa non essere
così sicuro come si crede, giusto?
Grazie 1000^1000
        Manuel

 Grazie 1000^1000
Troppo! Bastava 10^3. :-)
Cristiano

 verosimile che qualche bit di entropia te lo porti a casa comunque.
Se mi limito ad usare /dev/random, non ho una buona fonte di entropia?
Non certo per giga e giga di bytes, ma solo per qualche passphrase...
Da 
http://egd.sourceforge.net/
One of the nice features of the Linux kernel [...] is the /dev/random
device. [...] In a variety of places scattered throughout the kernel,
certain interrupts (network packets arriving, keyboard hits, mouse
movement) cause a timestamp and some event information to be hashed into an
"entropy pool". The pool, perhaps 4k in size, always contains *very random
data*, but as bits are "stirred" in, a counter is incremented to reflect
the fact that the poll is now even more random than before. When you read
from /dev/random, you get a hashed portion of the pool, and the counter is
decremented. This gives you high quality cryptographically strong random
data.
In questo caso (ritornando al discorso precedente) faccio l'hashing di bits
che posso veramente definire casuali e quindi limitare la mia passphrase a
128 bits (nel caso del'MD5), dato che l'output avrà comunque la stessa
entropia della passphrase di ingresso e aggiungere bits non servirebbe
praticamente a nulla, giusto?
Quindi questo potrebbe definire un limite ragionevole per la scelta della
lunghezza di una passphrase, disponendo di un buon generatore di entropia,
la passphrase può benissimo essere lunga al massimo quando la key richiesta
dall'algoritmo scelto...
        Manuel

 quando la key richiesta dall'algoritmo scelto...
Volendo... ma melius abundare quam deficere. :-)
Cristiano

 hashando qualche centinaio di bit in più.
Si infatti c'avevo pensato...
Grazie delle info...
        Manuel

 anche solo per "giocarci" senza doverla utilizzare per scopi particolari.
Concordo in pieno; io farei lo stesso.
Cristiano

 Non so perché, ma io vedo 3 volte il mio stesso messaggio... Boh!?
E' un bug di OE... dovresti passare ad un newsreader serio...  ;oP
Ciao,
un TJL73 e quelle che M$ definisce "features"...
-- 
MS: Il fumo preferito dal tuo PC