Основные понятия криптографии и шифрования
Криптография - это наука о методах защиты информации путём шифрования исходных данных.
Шифрование - это преобразование открытой информации в зашифрованную и наоборот, а две составные части этого процесса называют соответственно зашифрованием и расшифрованием.
Для того, чтобы зашифрованое сообщение было возможным расшифровать, необходимо единовременное исполнение двух условий. Во-первых, функция расшифрования и функция зашифрования должны соответствовать друг другу, во-вторых, ключ расшифрования аналогично обязан соответствовать ключу зашифрования.
По стандарту ГОСТ 28147-89 понятию ключ соответствует следующее определение: "конкретное секретное состояние некоторых параметров алгоритма криптографического преобразования, обеспечивающее выбор одного преобразования из совокупности всевозможных для данного алгоритма преобразований". Говоря иначе, ключ - это уникальный код, при помощи которого можно изменять результаты работы алгоритма шифрования: одна и та же исходная информация при использовании различных ключей будет зашифрован по-разному.
Криптостойкость - основная характеристика алгоритмов шифрования и указывает прежде всего на степень сложности получения исходного текста из зашифрованного без соответствующего ключа.
Симметричное шифрование
История алгоритмов симметричного шифрования (шифрования с закрытым ключом) начинается с римского императора Гая Юлия Цезаря - в I веке до н.э. римлянин уже пользовался этим алгоритмом, впоследствии ставшего известным как "криптографическая система Цезаря".
Сегодня наиболее распространенным алгоритмом симметричного шифрования является стандарт DES, разработанный в 1977г в США и до последнего времени являвшийся американским государственным криптографическим стандартом. Однако относительно малая длина ключа DES (56 бит) и, как следствие, небольшая криптостойкость привели к тому, что во всем мире все больше используются новые разработки в области шифрования - российский стандарт шифрования ГОСТ 28147-89 и новый государственный криптостандарт США - Advanced Encryption Standard (AES).
Асимметричное шифрование
В настоящее время среди алгоритмов ассиметричного шифрования широкое распространение получил алгоритм RSA.
Проблемы криптографии
Главной проблемой любых алгоритмов симметричного шифрования является необходимость передачи ключей непосредственно "из рук в руки". Это достаточно серьезный недостаток, постольку, поскольку его использование делает нереализуемым использование алгоритмов симметричного шифрования в системах, где количество участников не ограничено. Тем не менее, в остальном шифрование с закрытым ключом имеет одни достоинства, которые особенно хорошо заметны на фоне серьезных недостатков асимметричного шифрования.
В первую очередь это - невысокая скорость выполнения операций шифрования и дешифрования, обусловленная наличием ресурсоемких операций. Другой недостаток "теоретический" - криптостойкость алгоритмов шифрования с открытым ключом так и не доказана. Это прежде всего связано с задачей дискретного логарифма - пока не удалось доказать, что ее решение за адекватное время невозможно. Дополнительные проблемы добавляет и необходимость защиты открытых ключей от подмены - заменив открытый ключ легального пользователя, злоумышленник сможет произвести шифрование информации на своем открытом ключе и впоследствии без проблем расшифровать его своим секретным ключом.
Несмотря на эти недостатки, алгоритмы асимметричного шифрования продолжают находить все большее применение. Сегодня уже реализованы криптографические системы, поддерживающие сертификацию открытых ключей, а также совмещающие в своей работе алгоритмы симметричного и асимметричного шифрования.