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, еще более мощный алгоритм шифрования, в настоящее время находится в разработке.