Якщо ви вже чули про алгоритм безпечного хешу або SHA в його багатьох формах, то ви повинні знати, що алгоритми хешу існували в багатьох формах принаймні з 1950-х років. Раніше хеш-алгоритми обмежувались цілісністю рудиментарних даних та автентифікацією користувачів, але із швидким збільшенням кількості зловмисників, які прагнуть використовувати електронні комунікації, роль алгоритмів хешуваннявання змінилася. Сьогодні алгоритми хешу включені до інших протоколів, таких як протоколи 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 і використовується в декількох широко розгорнутих програмах безпеки та протоколах. Це криптографічний алгоритм захисту комп'ютерної безпеки, створений Агенцією національної безпеки (NSA) у 1995 році та опублікований NIST як Федеральний стандарт обробки інформації США. SHA-1 генерує майже унікальне повідомлення про довжину <264 в блоках 512 біт. Це означає, що він обробляє блоки з 512 бітів послідовно під час обчислення дайджесту повідомлень. SHA-1 виробляє 160-бітний дайджест повідомлень. Алгоритм заснований на принципах, аналогічних принципам, які застосовував Рональд Л. Рівест з MIT при розробці алгоритмів хешування MD4 та MD5 на початку 1990-х. SHA-1 також застосовується в розподілених системах контролю ревізії, таких як Git, Monotone та Mercurial.
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-бітних словах відповідно, і тому використовують різні алгоритми. Він широко використовується для перевірки та підписання цифрових сертифікатів безпеки та документів.
- І SHA-1, і SHA-2 належать до сімейства криптографічних хеш-сімейств SHA, розроблених Американським агентством національної безпеки та опублікованими Національним інститутом стандартів і технологій (NIST). Обидва - це безпечні хеш-алгоритми, необхідні законодавством для використання в певних урядових програмах США, а також використання в інших криптографічних алгоритмах та протоколів. SHA-2, однак, є більш захищеним алгоритмом хешуваннявання та продовженням застарілого алгоритму хешування SHA-1. Алгоритм SHA-1 більше не захищений, і сертифікати та проміжні продукти SHA-1 більше не розпізнаються.
- SHA-1 генерує майже унікальне повідомлення про довжину <264 в блоках 512 біт. Він обробляє блоки з 512 бітів послідовно під час обчислення дайджесту повідомлень, який, як правило, подається у вигляді 40-значного довгого шістнадцяткового числа. І він виробляє 160-бітний дайджест повідомлень і прагне виправити ризики безпеки, знайдені в SHA-0. SHA-2, з іншого боку, сімейство з чотирьох хеш-функцій з різними розмірами дайджесту: SHA-224, SHA-256, SHA-384 та SHA-512. Він обробляє повідомлення в 512-бітних блоках для 224, 256 та 384 хеш-функцій та 1024 блоки для алгоритму SHA-512.
- SHA-1 був основним алгоритмом хешування в широкому використанні з 2011 по 2015 рік, поки вразливості безпеки в алгоритмі не вимагали переоцінки. SHA-2 був розроблений для подолання вразливості в алгоритмі SHA-1. Хоча SHA-2 має деяку схожість з алгоритмом SHA-1, він генерує більш тривалий хеш і значно сильніше та безпечніше, ніж SHA-1. Незважаючи на те, що обидва алгоритми засновані на конструкції Меркле-Дамгард, SHA-2 оснащений набором додаткових алгоритмів SHA для відповідності більш високим рівням безпеки довших клавіш. Крім того, SHA-2 має значно покращені та безпечні сертифікати, спеціально розроблені для захисту вашої системи від можливих порушень.
Алгоритми хешу існували в багатьох формах з 1950-х років. Зі збільшенням значення взаємодії даних та посиленням кібератак вимоги до алгоритмів хешування змінилися. Колись обмежувався рудиментарною цілісністю даних та автентифікацією користувачів, хеш-алгоритми тепер використовуються для створення дайджестів повідомлень та цифрових підписів, тим самим затягуючи зв’язки даних та джерела даних. Після того, як безпека SHA-1 була порушена, цифровий світ перейшов до більш безпечного, сильнішого алгоритму хешування SHA-2. SHA-2 - це набір додаткових алгоритмів хешування для відповідності більш високому рівню безпеки довших клавіш.