it-swarm-eu.dev

Je „skutečná sůl“ stejná jako „inicializační vektory“?

V otázce o skutečná vs. falešná sůl odpovědi popisují, jak skutečná sůl „narušuje šifrovací algoritmus“. Zhruba vím, jak fungují inicializační vektory; je to stejný koncept, nebo něco úplně jiného?

38
Bryan Agee

A sůl a inicializační vektor jsou většinou následující v následující smysl: jsou to veřejná data, která by měla být generována znovu pro každou instanci (každé hashované heslo, každá šifrovaná zpráva). Sůl je o tom, že je možné použít stejné heslo několikrát, aniž by to otevíralo slabiny; nebo, pokud dáváte přednost, zabránit útočníkovi ve sdílení nákladů na útoky na heslo v případě, že by stejné heslo mohlo být použito v několika případech - což je vše o předpočítané (duhové) tabulky . Smyslem IV, řekněme, symetrického šifrování s CBC, je tolerovat použití stejného klíče k šifrování několika různých zpráv.

Jméno „inicializační vektor“ naznačuje opakující se proces v daném interním stavu, přičemž IV je to, v čem je stav inicializován. Například MD5 hashova funkce je definována jako opakovaná akce kompresní funkce , která bere jako vstup aktuální stav (128) bity) a další blok zpráv (512 bitů), a vydá další hodnotu stavu; na začátku je stav inicializován na konvenční hodnotu, která se nazývá „IV“. V tomto smyslu většina „solí“ používaných při zpracování hesla není „inicializačními vektory“. Ale to je trochu přehnaná interpretace výrazu.

Přesto je pojmenování věcí většinou věcí tradice. "Sůl" je druh IV, který:

  • je zapojen do nějakého zpracování hesla;
  • by měl být odlišný pro každou instanci zpracování (nemůže to být pevná konvenční hodnota);
  • potřebuje jedinečnost („to se neopakuje“), není jednotný výběr mezi možnými solemi (ačkoli jednotný náhodný výběr je dobrý a levný způsob získat jedinečnost s ohromnou pravděpodobností, za předpokladu, že soli jsou dostatečně dlouhé).

Podrobnosti (jak je sůl/IV přesně vložena a v jakém bodě algoritmu) jsou sledě.

46
Thomas Pornin

Výše uvedená odpověď je správná, pokud se v souvislosti s hesly diskutuje o „soli“. Pojem „sůl“ se však také používá pro jiná použití náhodných, ale ne tajných hodnot.

Pro velmi přísné zpracování soli, týkající se extraktorů náhodnosti, přečtěte Kryptografická extrakce a odvození klíčů: Schéma HKDF . Existuje nějaká teorie, proč je použití soli povinné pro získání generických extraktorů náhodnosti - ačkoli to není strašně relevantní v případě hesel.

3
Nakedible