Разлика между SHA1 и SHA2

Ако вече сте чували за алгоритъма за сигурен хеш или SHA, в неговите многобройни форми, тогава трябва да знаете, че хеш алгоритмите съществуват в много форми поне от 50-те години на миналия век. Преди това хеш-алгоритмите бяха ограничени до рудиментарна цялост на данните и автентификация на потребителите, но с бързото нарастване на атакуващите, които искат да използват електронни комуникации, ролята на алгоритмите за хеширане се промени. Днес хеш алгоритмите са включени в други протоколи като VPN протоколи, цифрови подписи, разпространение на софтуер и контрол на лицензи, целостта на файловата система на базата данни, откриване на модификация на файлове на уеб страници, за да назовем само няколко. Като се има предвид, SHA-1 и SHA-2 са алгоритмите за сигурен хеш (SHA), често използвани в много операционни системи за криптиране на пароли.

SHA-1 и SHA-2 са алгоритмите за сигурен хеш, изисквани от закона за използване в някои американски правителствени приложения, заедно с използване в други криптографски алгоритми и протоколи за защита на чувствителна некласифицирана информация. SHA-2 е потенциалният наследник на SHA-1 и включва значителен брой промени от своя предшественик и се състои от четири хеш-функции с различни размери на смилане: SHA-224, SHA-256, SHA-384 и SHA-512. Смята се, че SHA-2 е значително по-силен и сигурен и не е обект на същите уязвимости в сигурността като SHA-1. Въпреки че, SHA-2 има известно сходство с алгоритъма на SHA-1, той генерира по-дълъг хеш. Разглеждаме двата алгоритма на хеширане, за да видим кой е по-сигурен и по-силен.

Какво е SHA-1?

SHA-1 е най-използваната от съществуващите SHA функции на хеш и се използва в няколко широко разгърнати приложения и протоколи за сигурност. Това е криптографски алгоритъм за компютърна сигурност, създаден от Агенцията за национална сигурност (NSA) през 1995 г. и публикуван от NIST като Федерален стандарт за обработка на информация в САЩ. SHA-1 генерира почти уникално съобщение за дължина <264 в блокове от 512 бита. Това означава, че обработва блокове от 512 бита последователно, когато изчислява дайджест на съобщенията. SHA-1 създава 160-битов дайджест на съобщения. Алгоритъмът се основава на принципи, подобни на тези, използвани от Роналд Л. Ривест от MIT при проектирането на алгоритмите за хеширане на MD4 и MD5 в началото на 90-те години. SHA-1 се използва и в разпределени системи за контрол на ревизията като Git, Monotone и Mercurial.

Какво е SHA-2?

SHA-2 е набор от криптографски хеш функции за заместване на алгоритъма SHA-1. Стандартът NIST SHA-2 е проектиран от Американската агенция за национална сигурност и е публикуван през 2001 г. Семейството SHA-2 на хеш функциите обслужва същия край като SHA-1, но се отличава с по-високо ниво на сигурност от своя предшественик. Той е създаден за преодоляване на уязвимостите на защитата в алгоритъма SHA-1. SHA-2 е семейство от четири хеш-функции с различни размери на смилане: SHA-224, SHA-256, SHA-384 и SHA-512. Подобно на SHA-1, всички функции на семейството SHA-2 следват MD конструкцията. SHA-256 и SHA-512 са двата основни инстанция на фамилията, които работят съответно на 32-битови и 64-битови думи и затова използват различни алгоритми. Той се използва широко за валидиране и подписване на цифрови сертификати за сигурност и документи.

Разлика между SHA1 и SHA2

  1. Алгоритъм за SHA1 и SHA2

- Както SHA-1, така и SHA-2 принадлежат към семейството на криптографски хеш функции на семейството SHA, проектирано от Американската агенция за национална сигурност и публикувано от Националния институт за стандарти и технологии (NIST). И двете са алгоритмите за сигурен хеш, изисквани от закона за използване в някои приложения на правителството на САЩ, заедно с използването в други криптографски алгоритми и протоколи. SHA-2 обаче е по-сигурен алгоритъм на хеширане и приемник на вече оттегления SHA-1 алгоритъм на хеширане. Алгоритъмът SHA-1 вече не е защитен и SHA-1 сертификатите и междинните продукти вече не се разпознават.

  1. Съобщение за съобщения

- SHA-1 генерира почти уникално съобщение за дължина <264 в блокове от 512 бита. Той обработва блокове от 512 бита последователно, когато изчислява дайджест на съобщенията, който обикновено се изобразява като 40-цифрено дълго шестнадесетично число. И той произвежда 160-битов дайджест на съобщения и се стреми да коригира рисковете за сигурността, открити в SHA-0. SHA-2, от друга страна, семейство от четири хеш-функции с различни размери на смилане: SHA-224, SHA-256, SHA-384 и SHA-512. Той обработва съобщения в 512-битови блокове за 224, 256 и 384 хеш функции и 1,024 блока за алгоритъм SHA-512.

  1. Сигурност

- SHA-1 беше основният алгоритъм на хеширане в широко приложение от 2011 до 2015 г., докато уязвимостите в сигурността в алгоритъма не поискаха преоценка. SHA-2 е създаден за преодоляване на уязвимостите в алгоритъма SHA-1. Въпреки че, SHA-2 има известно сходство с алгоритъма на SHA-1, той генерира по-дълъг хеш и е значително по-силен и сигурен от SHA-1. Докато и двата алгоритъма са базирани на конструкцията на Merkle-Damgård, SHA-2 разполага с набор от допълнителни SHA алгоритми, които съответстват на по-високите нива на защита на по-дългите клавиши. Освен това, SHA-2 има много подобрени и сигурни сертификати, които са специално създадени, за да защитят вашата система от потенциални нарушения.

SHA-1 срещу SHA-2: Сравнителна диаграма

Обобщение на SHA1 и SHA2

Алгоритмите на хеш съществуват в много форми от 50-те години на миналия век. С увеличената стойност на взаимодействията с данни и засилените кибератаки, изискванията за алгоритмите за хеширане се промениха. Някога ограничени до рудиментарна цялост на данните и удостоверяване на потребителите, сега се използват хеш алгоритми за създаване на дайджести на съобщения и цифрови подписи, като по този начин затягат връзките на данни и инициатора на данните. След като защитата на SHA-1 беше компрометирана, цифровият свят се премести към по-сигурен, по-силен алгоритъм на хеширане на SHA-2. SHA-2 е набор от допълнителни алгоритми за хеширане, които съответстват на по-високото ниво на защита на по-дългите клавиши.