[PIPython] Algoritmo che verifica l'efficenza di una password

Carlo C8E Miron carlo.miron
Gio 28 Lug 2005 11:47:34 CEST


Ciao bornFreeTinker

Il 28/07/05, Luigi Pantano<pantano.luigi a gmail.com> ha scritto:
> Il 28/07/05, Andrea Giammarchi<andrea a 3site.it> ha scritto:
> > Luigi Pantano wrote:
> >
> > >Allego a questa email il file zip contenente l'algortmo.
> > >
> > Lo studio da te effettuato e' sicuramente ottimo.
> > Tutta quella teoria pero' cade se il brute force viene fatto al
> > contrario, partendo da z piuttosto che da a, sbaglio ?

Yup, anche secondo me questo assunto e' piuttosto debole.

> Supponiamo di avere una password di 6 caratteri solo numerici (un
> bancomat)...sicuramente il metodo di brute force partira' da 0 per
> arrivare al valore 10^6 -1. E' improbabile che parta a
> contrario...perche' le combinazioni fino a 4 caratteri vengono trovate
> quasi subito rispetto a quelle di 6,7,8,... Lo scopo del brute force
> e' quello di trovare il maggior numero di password nel minor tempo
> possibile.

Perche' la soluzione "000123" dovrebbe essere trovata prima di "999123",
a meno che tu non proceda in ordine sequenziale? La tua argomentazione
non ha senso, IMHO.

Se il numero dei caratteri della password e' noto, allora non c'e' differenza
statistica nell'ordinamento dei tentativi; e tutti gli algoritmi di brute force
che ho visto implementavano la ricerca della soluzione in ordine casuale,
approccio che in qualche modo aumenta la probabilita' media di individuare
il target nel minor tempo possibile.

> > Inoltre non considera che un brute forcing veramente fatto bene potrebbe
> > anche fare tentativi pseudo casuali, impedendo di sapere quando trovera'
> > il risultato o con quale percentuale di riuscita, puo' essere il primo,
> > come l' ultimo.
> >
> sinceramente questo non l'ho capito.

Forse con la mia frase precedente risulta piu' chiaro?

> > Oltre questi appunti, scrivendo una password da non so quante cifre con
> > tutte z mi da percentuale di sicurezza 192.0 % ... il che mi fa supporre
> > che come metodo scientifico ha qualcosa da rivedere, tipo che dovresti
> > in qualche modo misurare il contenuto assieme alla lunghezza, ovvero
> > come dici che 'aaaaaz' e 'zaaaaa' hanno lo stesso numero di combinazioni
> > ma la seconda e' piu' difficile da trovare, dovresti riuscire a
> > calcolare qualcosa tipo:
[SNIP]

Secondo me' l'unico algoritmo che si avvicina veramente ad un criterio
di "bonta'" della password e' la sua entropia (che possiamo definire
approssimativamente comeil numero di bit "non ridondanti" nella chiave)
Per quanto riguarda la misura della stessa, beh... :)


> > Sono solo opinioni personali e non vogliono togliere niente al tuo utile
> > ed interessante lavoro.
> >
> Queste sono critiche costruttive, che possono solo giovare al mio
> modesto lavoro. Per questo motivo ti ringrazio e ringrazio chiunque
> voglia darmi il suo parere sul mio  operato.
> > Saluti,
> >     andr3a
> >
> Ricambio
> 
> > P.S. ho gia' fatto un sistema di brute forcing per MD5 in ANSI C , fino
> > a sorgenti di 8 caratteri puo' impiegare ore ma mi ha sempre trovato il
> > riscontro, se interessato ti posto il link al mio schifo-programmino :-)
> 
> certo, mi interessa molto.
> 
> P.S.
> un buon sito (o libro) di critto-analisi sai consigliarmelo?

Direi indispensabile la RFC1750::
/http://www.faqs.org/rfcs/rfc1750.html

Nonche' la documentazione dell'indispensabile libreria di amk,
in particolare::
http://www.amk.ca/python/writing/pycrypt/pycrypt.html#SECTION000720000000000000000

HAND,
(c)
-- 
Carlo C8E Miron, ICQ #26429731
-- 
Disclaimer:
If I receive a message from you, you are agreeing that:
1. I am by definition, "the intended recipient".
2. All information in the email is mine to do with as I see fit and
 make such financial profit, political mileage, or good joke as it
 lends itself to. In particular, I may quote it on USENET or the WWW.
3. I may take the contents as representing the views of your company.
4. This overrides any disclaimer or statement of confidentiality that
 may be included on your message.


More information about the Python mailing list