SHA1 — это один из четырех алгоритмов шифрования семейства SHA. Семейство этих алгоритмов состоит из следующих представителей:
-
SHA0;
-
SHA1;
-
SHA2;
-
SHA3.
Причем это не единственное семейство алгоритмов шифрования. Шифрование при помощи SHA1 долгое время считалось очень успешным, а расшифровка шифра SHA1 не была возможной. Однако информационный мир не стоит на месте, поэтому те механизмы, которые раньше обеспечивали надежную защиту, сейчас считаются ненадежными. Так случилось и с SHA1. Именно из-за его ненадежности у него появились братья SHA2 и SHA3, правда это вовсе не означает, что SHA1 перестали использовать. Данным алгоритмом пользуются до сих пор, но только в тех сферах, где не требуется надежной защиты, так как она не представляет интереса для хакеров.
Шифрование и его алгоритмы SHA, SHA1, SHA2, SHA3
SHA1 — это сокращение от Secure Hash Algorithm 1. По сути, этот алгоритм является хеш-функцией. Такие алгоритмы нужны для того, чтобы проверять целостность информации. То есть при передаче какой-то информации SHA1 формирует хеш-сумму. Потом, когда информация достигает места назначения или хранения, ему еще раз формируют хеш-сумму. Хеш-суммы до и после отправки сравниваются: если они идентичны, значит, файл не был изменен и все в порядке. Если суммы не одинаковы, значит, файл был изменен. А это означает, что в момент его передачи кто-то получил к нему несанкционированный доступ. По такому принципу работают все алгоритмы шифрования семейства SHA.
Короткая история семейства алгоритмов шифрования SHA
Первым в семействеявлялся алгоритм SHA0, который был презентован еще в 1993 году. Длина его хеш-значения составляла всего 40 бит, что даже на тот момент было очень мало и не обеспечивало должной безопасности. Широкого распространения SHA0 не получил, потому что ему на замену очень быстро пришел SHA1.
SHA1 был презентован в 1995 году. Он был намного надежнее, так как формировал хеш-значение длиной 160 бит, что обеспечивало надежную защиту информации в то время. SHA1 смог продержаться в качестве основного алгоритма для шифрования до 2005 года. В двухтысячных стало понятно, что вычислительная мощность устройств растет, а это значит, что 160-битный алгоритм шифрования становится небезопасным.
Таким образом, начиная с 2006 года пошла плавная замена SHA1 на SHA2. За 10 лет стабильной работы SHA1 был внедрен в огромное количество приложений, поэтому есть такие, которые используют его до сих пор. SHA2 был призван заменить SHA1, так как он обеспечивает более надежную защиту. SHA2 предлагает длину хеш-функций, начиная с 224 бит. Почему предлагает? Потому что SHA2 стал своего рода основой для нового семейства алгоритмов и разросся собственными потомками:
-
SHA-224;
-
SHA-256;
-
SHA-384;
-
SHA-512;
-
SHA-512/224;
-
SHA-512/226.
Все это разновидности SHA2. Они используются в разных местах и разными приложениями. Алгоритм SHA2 очень популярен и активно применяется в современной разработке, потенциал его работы оценивают на несколько лет вперед. Однако затем появился еще один алгоритм шифрования — SHA3.
Алгоритм SHA3 вышел в 2012 году. Пока не идет речи о том, что он должен заменить SHA2, так как последний соответствует всем требованиям современной безопасности. SHA3 в плане безопасности просто на порядок лучше, чем SHA2. В SHA2 потенциал безопасности заложен на несколько лет вперед, а в SHA3 на несколько десятков лет вперед, поэтому многие аналитики предвещают скорый переход с SHA2 на SHA3.
Шифрование SHA и безопасность
Что такое «потенциал безопасности»? Данное выражение означает, что в ближайшие несколько лет не появится доступное устройство, которое сможет расшифровывать алгоритм шифрования. Например:
-
Зашифрованную информацию с помощью SHA0 можно расшифровать, так как устройства для этого есть в наличии, поэтому этот алгоритм шифрования вообще не безопасен.
-
Расшифровка SHA1 практически невозможна на рядовом устройстве. Однако, если воспользоваться более мощными устройствами, тогда за огромное количество операций этот алгоритм можно расшифровать. Число требуемых операций для расшифровки SHA1 очень большое и составляет 252. Повторимся, расшифровать SHA1 абы кому не получится, но раз есть такая вероятность, значит, алгоритм перешел в статус «условно небезопасного». Из-за этого многие компании и приложения отказались от его использования, но какая-то часть использует до сих пор.
-
На сегодняшний день алгоритм SHA2 невозможно расшифровать. И такая ситуация продержится еще несколько лет, до тех пор, пока не будет доступно устройство, расшифровывающее SHA2.
-
Алгоритм SHA3 невозможно расшифровать. Также пока неизвестно, когда появится устройство, умеющее это делать, поэтому он считается самым надежным на сегодня, хоть и не самым популярным.
Почему резко не происходит смена между алгоритмами? Потому что переход с одного алгоритма на другой — это большие затраты финансов и времени. Постепенно переход на SHA3 будет осуществлен, а использование SHA1 будет прекращено.
Заключение
Сегодня мы коснулись теоретической части такой большой темы, как шифрование. Мы обсудили, насколько безопасно шифрование на таких популярных алгоритмах, как SHA1, SHA2 и SHA3. Все три алгоритма имеют разную степень шифрования, и все три продолжают использоваться. В следующих статьях мы обсудим «внутреннюю кухню» этих алгоритмов и разберем принцип их шифрования.