Шифрование – это такое преобразование данных, в результате которого их можно прочесть только при помощи ключа. Шифрованием занимается наука, которая называется криптографией. В криптографии любой незашифрованный текст называется открытым текстом, а зашифрованные данные называются зашифрованным текстом. Современные алгоритмы шифрования представляют собой сложную математическую задачу, для решения которой без знания дешифрующего ключа требуется выполнить гигантский объем вычислений и получить ответ, возможно, через несколько лет.
Даже простое преобразование информации является эффективным средством, дающим возможность скрыть ее смысл от большинства неквалифицированных нарушителей.
Сформулирована следующая система требований к алгоритму шифрования:
1. Зашифрованный текст должен поддаваться чтению только при наличии ключа шифрования.
2. Знание алгоритма шифрования не должно влиять на надежность защиты.
3. Незначительные изменения ключа шифрования должны приводить к существенному изменению вида зашифрованного текста.
4. Незначительные изменения шифруемого текста должны приводить к существенному изменению вида зашифрованного текста даже при использовании одного и того же ключа.
5. Длина шифрованного текста должна быть равна длине исходного текста.
6. Любой ключ из множества возможных должен обеспечивать надежную защиту информации.
7. Алгоритм должен допускать как программную, так и аппаратную реализацию
В настоящее время имеются два способа цифровой криптографии: традиционная криптография и криптография с открытым ключом.
В традиционной криптографии для шифрования и дешифрования используется один и тот же ключ, основанный на каком – либо стандарте. В США, например, для шифрования используется стандарт DES. Алгоритм шифрования с одним ключом называется симметричным. Его лучше использовать для шифрования файлов на жестком диске.
Для симметричных алгоритмов, применяющихся в коммерческих системах, рекомендуется использовать ключ, имеющий не менее 90 двоичных разрядов. В настоящее время имеются программы шифрования, допускающие применение 128-разрядных ключей. Это означает, что если попытаться угадать ключ методом проб и ошибок, нужно перебрать 2 в 128 степени возможных значений ключей.
В криптографии с открытым ключом используются два различных ключа: открытый ключ – для шифрования и закрытый (секретный, или частный) – для дешифрования. Алгоритм шифрования с двумя ключами называется асимметричным. Такой алгоритм позволяет передавать зашифрованную информацию по компьютерным сетям. Для этого отправитель должен сначала получить от адресата его открытый ключ, а затем переслать зашифрованную открытым ключом информацию. Адресат расшифровывает ее своим закрытым ключом. Понятие «открытый ключ» означает, что ключ пересылается по сети ЭВМ, например, по электронной почте, в то время как закрытый ключ таким способом не пересылается.
Теория шифрования с использованием открытого ключа была разработана Уэтфилдом Диффи и Мартином Хеманом, а трое исследователей-математиков – Дональд Ривест, Эди Шамир и Лен Эдлман – создали алгоритм реализации криптографии с открытым ключом RSA в 1977-1978 гг. Разработчикам данного алгоритма удалось воплотить идею односторонних функций с секретом. Стойкость RSA базируется на сложности факторизации больших целых чисел. В 1993 г. метод RSA был обнародован и принят в качестве стандарта.
В асимметричном шифровании используются алгоритмы, отличные от симметричного шифрования. Ключи для надежной защиты информации при использовании алгоритма RSA имеют от 768 до 2048 двоичных разрядов. По расчетам криптографов, взломать защиту с 2048-разрядным открытым ключом так же трудно, как найти 128-разрядный симметричный ключ методом проб и ошибок.