GNU/Linux >> Znalost Linux >  >> Linux

Jak vám funkce Sha1sum poskytne jedinečný hash?

Zavřeno. Tato otázka je mimo téma. Momentálně nepřijímá odpovědi.

Chcete zlepšit tuto otázku? Aktualizujte otázku, aby byla aktuální pro Unix a Linux Stack Exchange.

Zavřeno před 2 lety.


Vylepšete tuto otázku

Četl jsem to pomocí sha1sum příkaz spustí algoritmus SHA-1 a poskytne vám „jedinečný“ výsledek, ale jak je to možné?

sha1sum vám dá 40znakový hash, jako je tento:

e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e

Toto je 40 znaků dlouhé a obsahuje hexadecimální znaky, takže hash může mít maximálně 16 kombinací.

To by mělo znamenat, že pro libovolné dva náhodné soubory existuje existuje malá šance, že jejich hash součet bude úplně stejný, že?

Přijatá odpověď:

Hash SHA-1, stejně jako jakýkoli jiný hash, není jedinečný; ve skutečnosti byly nalezeny kolize (a co je důležitější, vytvořené).

Žádoucí vlastností hashovací funkce je to, že je obtížné vytvořit dva soubory, které produkují stejný hash, nikoli to, že vytvořené hashe jsou jedinečné (jak uvádíte, součet SHA-1 má 160 bitů, takže existují pouze 2 různé hashe); obtížné, což znamená, že nemůžete najít kolizi rychleji než vyhledávání hrubou silou. Pokud vyberete jeden soubor, další náhodně vybraný soubor má šanci jedna ku 2, že bude mít stejný hash. SHA-1 je považován za nezabezpečený od roku 2005; díky narozeninovému útoku uvidíte pravděpodobnost 1 ku 2 (existuje pravděpodobnost nalezení dvou kolidujících souborů ve velké kupce sena, nikoli pravděpodobnost nalezení kolidujícího souboru pro konkrétní cíl).


Linux
  1. Proč `md5sum` nedává stejný hash jako internet?

  2. Linux – Jak dát Ram do mezipaměti souborového systému?

  3. Myslím, že počítač je hacknut. Jak to udělat??

  1. Jak vygenerovat jedinečný hardwarový hash?

  2. Jak programově nastavíte hardwarové hodiny v Linuxu?

  3. Jak můžete určit nainstalované verze knihoven glibc?

  1. Jak přidat funkci dotazování do kódu modulu jádra?

  2. Jak zazipujete soubor a uchováte soubor .gz?

  3. Jak zvětšíte tloušťku okraje pro změnu velikosti v Xubuntu 12.04?