SHA, сокращение от Secure Hash Algorithm, представляет собой семейство криптографических алгоритмов хеширования, опубликованных Национальным институтом стандартов и технологий (NIST) для обеспечения безопасности ваших данных. В 1995 году NIST утвердил стандарт безопасного хэширования 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. Являясь частью стандарта Secure Hash (SHS), SHA-1 был одним из первых алгоритмов хеширования, часто используемых центрами сертификации SSL для подписи сертификатов. Он был опубликован в 1993 году как SHA, но из-за недостатка безопасности позднее был заменен более безопасным SHA-1. На сегодняшний день это одна из наиболее широко используемых и используемых криптографических хеш-функций. SHA-256 имеет ту же базовую структуру и использует тот же тип модульных арифметических и логических двоичных операций, что и SHA-1. SHA-256 принадлежит к семейству схожих хеш-функций SHA-2 с разным размером блока, другим является SHA-512. Это хеш-функция, обычно используемая в блокчейне.
SHA-1 является одной из наиболее широко используемых и внедряемых криптографических хеш-функций, часто используемых центрами сертификации SSL для подписи сертификатов. Это был один из старейших алгоритмов хэширования, разработанный для использования федеральным правительством США. Он был разработан NIST и АНБ. 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, и широко используется в блокчейне. SHA-1 была одной из самых ранних криптографических хеш-функций, часто используемых центрами сертификации SSL для подписи сертификатов. Однако из-за меньшего размера битов и уязвимостей безопасности он со временем стал более подверженным атакам, что в конечном итоге привело к его обесцениванию со стороны производителей сертификатов SSL..