SHA, короткий алгоритм безпечного хешу, - це сім'я алгоритмів криптографічного хешування, опублікована Національним інститутом стандартів і технологій (NIST) для захисту ваших даних. У 1995 році NIST затвердив стандарт Secure Hash, FIPS PUB 180-1, який включав один алгоритм безпечного хешу - SHA-1. У 2003 році був затверджений новий стандарт підпису захищеного хешу (SHS), FIPS PUB 180-2, який додав три алгоритми хешування, здатні виробляти більші дайджести повідомлень, перевершуючи FIPS 180-1. FIPS PUB 180-2 визначає чотири алгоритми захищеного хешу, SHA-1, SHA-256, SHA-384 та SHA-512 - всі вони є ітераційними, тобто односторонніми хеш-функціями, які можуть обробляти повідомлення у стислому вигляді представлення називається дайджестом повідомлень. В основному завдяки своїй ефективності криптографічні хеш-функції мають центральне значення для криптографічних алгоритмів та протоколів.
Ця стаття в основному зосередиться на двох популярних сьогодні криптографічних хеш-функціях - SHA-1 і SHA-256. Частина стандарту безпечного хешу (SHS), SHA-1 був одним з найбільш ранніх алгоритмів хешування, які часто використовуються органами сертифікації SSL для підписання сертифікатів. Він був опублікований у 1993 році як SHA, але через недолік безпеки він згодом був замінений на більш безпечний SHA-1. Це, безумовно, одна з найбільш широко використовуваних та розгорнутих криптографічних хеш-функцій. SHA-256 має ту саму базову структуру і використовує той же тип модульної арифметичної та логічної бінарних операцій, що і SHA-1. SHA-256 належить до сімейства SHA-2 з подібними хеш-функціями з різним розміром блоку, інша - SHA-512. Це хеш-функція, яка зазвичай використовується в Blockchain.
SHA-1 - одна з найбільш широко використовуваних та розгорнутих криптографічних хеш-функцій, яка часто використовується органами сертифікації SSL для підписання сертифікатів. Це був один із найстаріших хеш-алгоритмів, визначений для використання федеральним урядом США. Його розробили НІСТ та АНБ. SHA-1 був опублікований як федеральний урядовий стандарт у 1995 році як оновлення до SHA, яке було опубліковано в 1993 році. Він займає вхід і виробляє 160-бітове (20-байтне) хеш-значення, відоме як дайджест повідомлень, як правило, представлений 40-ти значним шістнадцятковим рядком SHA-1 розроблений таким чином, що обчислювально неможливо знайти повідомлення, яке відповідає даному дайджесту повідомлень, або знайти два різних повідомлення, які виробляють один і той же дайджест повідомлень.
SHA-256 - це більш нова, більш захищена криптографічна хеш-функція, яка була запропонована в 2000 році як нове покоління функцій SHA і була прийнята як стандарт FIPS в 2002 році. Алгоритм SHA-256 генерує 256-бітове хеш-значення з підкладених 512-бітних блоки повідомлень, а вихідний розмір повідомлення - до 264-1 біт. SHA-256 завжди обчислює 256-бітний хеш для внутрішньої безпеки, однак це може призвести до друку та зберігання 196 або 128 біт. Таким чином, усічений SHA-256 дає значну користь для зручності використання у друкованих цитатах та значно покращує безпеку ціною невеликого зниження продуктивності, пов’язаної з MD5. На відміну від алгоритму MD5, усічений SHA-256 не піддається жодним відомим атакам.
- SHA-1 - одна з найбільш широко використовуваних та розгорнутих криптографічних хеш-функцій, яка часто використовується органами сертифікації SSL для підписання сертифікатів. Це був один із найстаріших хеш-алгоритмів, визначений для використання федеральним урядом США. SHA-256 - це більш нова, більш захищена криптографічна хеш-функція, яка була запропонована в 2000 році як нове покоління функцій SHA і була прийнята як стандарт FIPS в 2002 році. SHA-256 належить до сімейства криптографічних алгоритмів хешуваннявання SHA-2 з подібними хешами функцій, але різного розміру блоку, інші - SHA-384 та SHA-512.
- SHA-1 - 160-бітний хеш, приймає вхід і виробляє 160-бітове (20-байтне) хеш-значення, відоме як дайджест повідомлення, як правило, представлене 40-значним довгим шістнадцятковим рядком. SHA-1 розроблений таким чином, що обчислювально неможливо знайти повідомлення, яке відповідає даному дайджесту повідомлень, або знайти два різних повідомлення, які виробляють один і той же дайджест повідомлень. Алгоритм SHA-256 генерує 256-бітове хеш-значення з підкладених 512-бітних блоків повідомлень, а вихідний розмір повідомлення становить до 264-1 біт.
- Зі збільшенням обчислювальної потужності зростала також можливість зламати SHA-1. Це був один із найстаріших хеш-алгоритмів, визначений для використання федеральним урядом США, і завдяки меншому розміру бітів він більш схильний до атак. Хоча SHA-256 має ту саму базову структуру і використовує ті ж типи модульної арифметичної та логічної бінарних операцій, що і SHA-1, вона стала невід'ємною частиною у багатьох програмах. SHA-256 завжди обчислює 256-бітний хеш для внутрішньої безпеки, що значно покращує безпеку, ціною невеликого зниження продуктивності, пов’язаної з MD5.
У двох словах, SHA-256 є більш надійним та надійним, ніж SHA-1. SHA-256 належить до сімейства криптографічних хеш-функцій SHA-2, розроблених NSA і зазвичай використовується в Blockchain. SHA-1 була однією з найбільш ранніх криптографічних хеш-функцій, які часто використовуються органами сертифікації SSL для підписання сертифікатів. Однак через менший розмір бітів та вразливості безпеки він з часом стає більш схильним до атак, які в підсумку призвели до його знецінення з боку емітентів сертифікатів SSL.