Az SHA, rövidítve a Secure Hash algoritmust, egy kriptográfiai kivonási algoritmus család, amelyet a Nemzeti Szabványügyi és Technológiai Intézet (NIST) tett közzé, hogy az Ön adatait biztonságban tartsa. 1995-ben a NIST jóváhagyta a Secure Hash szabványt, a FIPS PUB 180-1 szabványt, amely egy biztonságos hash algoritmust, a SHA-1-et tartalmazott. 2003-ban jóváhagyták az új Secure Hash Signature Standard (SHS), a FIPS PUB 180-2 szabványt, amely három hash algoritmust ad hozzá, amelyek képesek nagyobb üzenetek kivonatolására és felülmúlják a FIPS 180-1-t. A FIPS PUB 180-2 négy biztonságos hash algoritmust határoz meg, az SHA-1, SHA-256, SHA-384 és SHA-512 - ezek mindegyike iteratív, azaz egyirányú hash-funkciók, amelyek egy üzenetet tömörítve tudnak feldolgozni. a reprezentáció, amelyet üzenet emésztésnek hívnak. Elsősorban hatékonyságuk miatt a kriptográfiai hash funkciók központi jelentőséggel bírnak a kriptográfiai algoritmusok és protokollok szempontjából.
Ez a cikk elsősorban a mai népszerű kriptográfiai kivonat-funkciókra összpontosít - SHA-1 és SHA-256. A Secure Hash Standard (SHS) része, az SHA-1 volt az egyik legkorábbi hash algoritmus, amelyet az SSL tanúsító hatóságok gyakran használtak a tanúsítványok aláírására. 1993-ban SHA-ként tették közzé, de biztonsági hibája miatt később a biztonságosabb SHA-1 váltotta fel. Ez messze az egyik legszélesebb körben alkalmazott és alkalmazott kriptográfiai kivonat funkció. Az SHA-256 ugyanazzal a mögöttes struktúrával rendelkezik és ugyanolyan típusú moduláris aritmetikai és logikai bináris műveleteket használ, mint az SHA-1. Az SHA-256 az SHA-2 családhoz tartozik, hasonló hash funkciókkal, eltérő blokkmérettel, a másik SHA-512. Ez a hasáb funkció, amelyet általában a Blockchain-ben használnak.
Az SHA-1 az egyik legszélesebb körben alkalmazott és alkalmazott kriptográfiai kivonat funkció, amelyet az SSL tanúsító hatóságok gyakran használnak az igazolások aláírására. Ez volt az egyik legrégebbi hash algoritmus, amelyet az Egyesült Államok szövetségi kormánya határozott meg. A NIST és az NSA fejlesztette ki. Az SHA-1 szövetségi kormányzati standardként 1995-ben került közzétételre az SHA frissítéseként, amelyet 1993-ban publikáltak. Ez bemeneti adatot eredményez, és 160 bites (20 bájt) hash értéket eredményez, amelyet üzenet-megemlítésként ismert, általában képviseltetve egy 40 számjegyű hexadecimális húr segítségével. Az SHA-1 úgy van megtervezve, hogy számítási szempontból lehetetlen olyan üzenetet találni, amely megfelel egy adott üzenet-kivonatnak, vagy két különböző üzenetet lehet megtalálni, amelyek ugyanazt az üzenet-kivonatot eredményezik..
Az SHA-256 egy újabb, biztonságosabb kriptográfiai kivonat funkció, amelyet 2000-ben javasoltak az SHA funkciók új generációjaként, és 2002-ben elfogadták a FIPS szabványnak. Az SHA-256 algoritmus 256 bites kivonatot generál a párnázott 512 bites értékből. üzenet blokkolja, és az eredeti üzenet mérete legfeljebb 2 lehet64-1 bit. Az SHA-256 mindig kiszámít egy 256 bites kivonatot a biztonság érdekében, de ennek eredményeként akár 196, akár 128 bites nyomtatás és tárolás lecsökkenthető. Így a levágott SHA-256 lényeges előnyt jelent az emberi felhasználhatóság szempontjából a nyomtatott idézetekben, és jelentősen javítja a biztonságot, az MD5-hez kapcsolódó teljesítmény kis csökkenése árán. Az MD5 algoritmussal ellentétben a csonkított SHA-256-ot nem támadják meg ismert támadások.
- Az SHA-1 az egyik legszélesebb körben alkalmazott és alkalmazott kriptográfiai kivonat funkció, amelyet az SSL tanúsító hatóságok gyakran használnak az igazolások aláírására. Ez volt az egyik legrégebbi hash algoritmus, amelyet az Egyesült Államok szövetségi kormánya határozott meg. Az SHA-256 egy újabb, biztonságosabb kriptográfiai kivonat funkció, amelyet 2000-ben javasolt az SHA funkciók új generációjaként, és 2002-ben elfogadták a FIPS szabványnak. Az SHA-256 az SHA-2 családba tartozik a hasonló kivonatú kriptográfiai kivonási algoritmusok családjába. funkciók, de eltérő blokkméret, mások SHA-384 és SHA-512.
- Az SHA-1 egy 160 bites kivonatot vesz be, és 160 bites (20 bájt) hash értéket állít elő, amely üzenet-kivonat néven ismert, amelyet általában egy 40 számjegyű hexadecimális karakterlánc képvisel. A SHA-1 úgy van kialakítva, hogy számítástechnikai szempontból lehetetlen olyan üzenetet találni, amely megfelel egy adott üzenet-kivonatnak, vagy két különböző üzenetet lehet megtalálni, amelyek ugyanazt az üzenet-kivonatot eredményezik. Az SHA-256 algoritmus 256 bites kivonatot generál a párnázott 512 bites üzenetblokkokból, és az eredeti üzenet mérete legfeljebb 264-1 bit.
- A növekvő számítási teljesítmény mellett az SHA-1 törésének megvalósíthatósága is nőtt. Ez volt az egyik legrégebbi hash algoritmus, amelyet az Egyesült Államok szövetségi kormánya határozott meg, és kisebb bitméretének köszönhetően hajlamosabb a támadásokra. Noha az SHA-256 ugyanazzal a mögöttes szerkezettel rendelkezik és ugyanolyan típusú moduláris aritmetikai és logikai bináris műveleteket használ, mint az SHA-1, sok alkalmazás szerves részévé vált. Az SHA-256 mindig kiszámít egy 256 bites kivonatot a biztonság érdekében, ami jelentősen javítja a biztonságot, az MD5-hez kapcsolódó teljesítmény kismértékű csökkenésének árán..
Dióhéjban az SHA-256 megbízhatóbb és biztonságosabb, mint az SHA-1. Az SHA-256 az NSA által tervezett SHA-2 kriptográfiai kivonat funkcióinak családjába tartozik, amelyet általában a Blockchain-ban használnak. Az SHA-1 volt az egyik legkorábbi kriptográfiai kivonat funkció, amelyet az SSL tanúsító hatóságok gyakran használtak az igazolások aláírására. A kisebb bitméret és a biztonsági rések miatt azonban az idővel egyre inkább hajlamosak a támadásokra, amelyek végül az SSL-igazolások kibocsátóitól való értékcsökkenéshez vezettek.