Яка різниця між шифруванням SHA та SHA-1?

SHA — це абревіатура від Secure Hash Algorithm, стандарт шифрування, винайдений Агентством національної безпеки та опублікований Національним інститутом стандартів і технологій. Було виявлено, що оригінальний алгоритм SHA має слабкі місця в методах шифрування, і його замінили на SHA-1 для посилення безпеки.

Алгоритм безпечного хешування

SHA — це криптографічна хеш-функція. Хеш-функція приймає початковий незашифрований текст, який називається відкритим текстом, і виробляє теоретично унікальний номер, який становить зашифроване повідомлення. SHA створює 160-бітове число, яке є числом від 0 до 1,46 x 10^48. Цей номер не може бути гарантовано унікальним для всіх можливих відкритих текстових повідомлень, оскільки кількість таких повідомлень дорівнює теоретично нескінченно, але шанси приблизно 2^80, або 1,21 x 10^24, проти двох повідомлень, які створюють однакові зашифровані результат. Якщо це відбувається, це називається зіткненням. Зіткнення забезпечує математичну атаку на алгоритм шифрування, що дає можливість криптографу розшифрувати відкритий текст.

Відео дня

SHA-0 і SHA-1

Після його публікації були виявлені недоліки в оригінальному алгоритмі SHA, які дозволяли криптографічній атаці викликати колізії хешування, що значно послаблювало його ефективність. Була розроблена переглянута версія SHA, SHA-1, яка створила ті самі 160-бітові результати без оригінальних недоліків в алгоритмі. Початковий SHA був заднім числом перейменований в SHA-0, щоб розрізняти його використання та використання SHA-1.

Зміни в SHA-1

Оригінальні недоліки в SHA-0 ніколи не були опубліковані, оскільки ці недоліки забезпечують набір інструментів для будь-якого зловмисника, який намагається розшифрувати повідомлення за допомогою шифрування SHA-0. Єдина публічна інформація про недоліки в оригінальному алгоритмі вказує на те, що хеш-колізії є більш імовірними ніж від випадкових випадків при використанні SHA-0, і що колізії, що використовують неопублікований метод, усуваються при використанні SHA-1. Оскільки SHA-1 і SHA-0 дають математичні результати однакової довжини, SHA-1 можна використовувати як додаткову заміну в комп’ютерному програмному забезпеченні для оригінального алгоритму SHA-0 без необхідності серйозного перезапису в решті програмне забезпечення.

SHA-2 і SHA-3

Було виявлено, що SHA-1 є більш надійним, ніж SHA-0, але залишає місце для вдосконалення. Математичний аналіз результатів SHA-1 продемонстрував метод, за допомогою якого шифрування SHA-1 може бути порушено у 2000 разів швидше, ніж це було б теоретично можливо, якщо перевірити всі 10^48 можливих комбінацій його вихід. Оскільки ідеальний криптографічний алгоритм запобігає такому покращенню швидкості дешифрування, алгоритм SHA-2 уникає цієї атаки та збільшує можливий розмір хешу до 512 біт, або 1,34 x 10^154. SHA-3, ще більш потужний алгоритм шифрування, зараз знаходиться в розробці.