Если вы уже слышали о алгоритме Secure Hash, или 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 представляет собой набор дополнительных алгоритмов хеширования, чтобы соответствовать более высокому уровню безопасности более длинных ключей.