Cum de a descifra hash rapid, fără calcule lungi

Este adesea necesar să se cunoască parola hash cu numai pe o parte. Acesta poate fi folosit pentru a itera peste opțiunile pentru computer, dar este mult mai rapid de a utiliza baza de date existentă. Chiar și în bazele de date publice care conțin zeci de milioane de perechi de hash - parolă și de căutare pentru ei prin intermediul serviciului nor ia o chestiune de secunde.







La prima vedere, se pare ciudat că în diferitele sarcini utilizate procedura generală pentru calcularea și compararea checksum sau hash - secvențe de biți de lungime fixă. Cu toate acestea, această metodă este foarte versatil. Checksums sunt un fel de fișiere digitale de amprente digitale, chei, parole și alte date menționate la mesaje criptografice - mesaje. Hashes (sau digestii, din limba engleză. Digest) vă permit să le compare cu altele, pentru a detecta rapid orice modificări și pentru a asigura controlul accesului. De exemplu, folosind meciul hashes, puteți verifica parolele introduse nu le trece în clar.

Matematic, acest proces este unul dintre algoritmii hash - o conversie iterativ de blocuri de date în care mesajul inițial. La intrare poate fi orice - de la o parolă scurtă într-o bază de date uriașă. Toate blocurile anexate ciclic zerouri sau sunt tăiate la o lungime predeterminată atât de mult până la o mărime fixă ​​digest.

De obicei, sunt scrise în hash hexazecimal. Deci, acestea sunt mult mai ușor de a compara în aparență, iar înregistrarea se obține de patru ori mai scurt decât binar. Cele mai scurte obținute folosind Adler hash-32, CRC32 și alți algoritmi cu lungimea de 32 digera biți. Cel mai lung - SHA-512. În afară de acestea, există o mulțime de alte funcții hash populare, iar cele mai multe dintre ele sunt în măsură să calculeze compendii lungimile intermediare: 160, 224, 256 și 384 biți. Încercările de a crea o funcție a crescut hash lungime continua ca funcția hash mai digera, mai diferite exemple de realizare poate genera.







Volumul maxim de date brute, care pot ocupa funcția hash determinată de forma de reprezentare a acestora în algoritmul. De obicei, acestea sunt înregistrate ca un număr întreg pe 64 de biți, astfel încât limita tipic este de 264 de biți minus una sau două exabytes. O astfel de limitare nu are încă o semnificație practică, chiar și pentru centre de date foarte mari.

Originalitatea - un angajament de fiabilitate

Unicitatea hash - una dintre proprietățile sale cheie care definesc criptare criptografice. Faptul că numărul de variante posibile de parole este teoretic infinită, dar numărul de hashes întotdeauna finit, deși foarte mare. Orice hash va ajuta la digestia fi unic doar într-o anumită măsură. Puterea a doua, pentru a fi exact. De exemplu, CRC32 algoritm oferă doar setul de opțiuni 232, și este dificil de a evita repetițiile. Cele mai multe dintre celelalte funcții folosind digests 128 sau 160 de biți, ceea ce crește semnificativ numărul de hash unic - până la 2'28 și 2160, respectiv.

Psevdorevers

Se efectuează transformarea inversă și de a prelua parola de hash în sine este imposibilă, în principiu, chiar dacă să-l clar de sare, deoarece hash - o functie one-way. Privind la digest rezultat, este imposibil să se înțeleagă fie cantitatea de date brute, și nici tipul acestora. Cu toate acestea, puteți rezolva o problemă similară: pentru a genera o parolă cu același hash. Datorită efectului unei probleme de coliziune este simplificată: este posibil niciodată nu va ști parola reală, dar veți găsi un complet diferit, după ce a dat același algoritm de hashing necesar pentru a digera.

Continuarea articolului pe pagina următoare.