Det kommer an på hvor godt passordet er, og størrelsen på hash-prefikset.
Stort prefiks / dårlig passord
Hvis vi antar at dette er en hash av en gjennomsnittlig Joe passord som inneholder si 30 biter entropi ("mySuperSecretPassword123" inneholder nesten helt sikkert mindre entropi enn dette), og for å være konservativ følger vi Kerckhoffs prinsipp og antar at angriperen vet hvordan passordet ble generert, så er det bare 2 30 mulige passord. Hvis prefikset som lekkes er 80 bits fra en SHA-1-hash, er det ekstremt sannsynlig at det bare vil være en passordkandidat som samsvarer med hash-prefikset.
I utgangspunktet, hvis log2 (passordplass )
er mindre enn det lekkede prefikset, du kan like gjerne vurdere at hele hash har lekket.
Lite prefiks / godt passord
Hva om prefikset er lite eller passordet er bra (ish)? Si for eksempel at du har en passordplass på 2 50 , og du har lekket et 40-biters prefiks. En angriper kan ikke bare knekke passordet, siden det vil være rundt 2 10 passord som samsvarer med hashen, men dette er fortsatt et problem. 2 50 er altfor stort til å starte et online angrep, selv uten hastighetsbegrensning. Men hvis en angriper kan forhåndsfiltrere gjetningene sine til de som samsvarer med prefikset i et frakoblet angrep, trenger de bare å prøve 2 10 i onlineangrepet, noe som kan være mulig.
Hvis log2 (passordplass) - prefiksstørrelse > 0
, vil angriperen sannsynligvis ikke kunne knekke det nøyaktige passordet, men hvis det er lite nok, kan de generere en pool med passordkandidater til bruk i et online angrep.
Veldig bra passord
Selvfølgelig, hvis du tilfeldig velger fra et passordområde større enn 2 100 (for å være konservativ ) med ensartet sannsynlighet, så er det irrelevant å lekke en delvis eller full hash, ettersom det aldri kommer til å bli knekt uansett.