В криптографической терминологии исходное послание именуется открытым текстом (plaintext или cleartext). Изменение исходного текста так, чтобы скрыть от прочих его содержание, называют шифрованием (encryption). Зашифрованное сообщение называют шифротекстом (ciphertext). Процесс, при котором из шифротекста извлекается открытый текст, называют дешифровкой (clecryption). В процессе шифровки и дешифровки используется ключ (key). Алгоритм шифрования обеспечивает невозможность дешифрования зашифрованного текста без знания ключа.
Открытый текст обычно имеет произвольную длину. Если текст большой и не может быть обработан шифратором (компьютером) целиком, то он разбивается на блоки фиксированной длины, а каждый блок шифруется отдельно, независимо от его положения во входной последовательности. Такие криптосистемы называются системами блочного шифрования.
Криптосистемы разделяются на:
· симметричные;
· асимметричные (с открытым ключом).
В симметричных криптосистемах как для шифрования, так и для дешифрования, используется один и тот же ключ.
В системах с открытым ключом используются два ключа – открытый и закрытый, которые математически (алгоритмически) связаны друг с другом. Информация шифруется с помощью открытого ключа, который доступен всем желающим, а расшифровывается лишь с помощью закрытого ключа, который известен только получателю сообщения.
Криптография кроме криптосистем (симметричных, с открытым ключом) изучает еще и системы управления ключами. Системы управления ключами – это информационные системы, целью которых является составление и распределение ключей между пользователями информационной системы.
Разработка ключевой, парольной информации является типовой задачей администратора безопасности системы. Ключ может быть сгенерирован как массив нужного размера статистически независимых и равновероятно распределенных на двоичном множестве элементов.
Все современные криптосистемы построены по принципу Кирхгоффа: секретность зашифрованных сообщений определяется секретностью ключа. Это означает, что даже если алгоритм шифрования будет известен криптоаналитику, то он не сможет расшифровать закрытое сообщение, если не располагает соответствующим ключом. Все классические шифры соответствуют этому принципу и спроектированы таким образом, чтобы не было пути вскрыть их более эффективным способом, чем полным перебором по всему ключевому пространству, то есть перебором всех возможных значений ключа. Ясно, что стойкость таких шифров определяется размером используемого в них ключа.
В российских шифрах используется 256-битовый ключ, а объем ключевого пространства составляет 2256. Ни на одном реально существующем или возможном в недалеком будущем компьютере нельзя подобрать ключ (полным перебором) за время, меньшее многих сотен лет.
Алгоритмы криптосистем с открытым ключом можно использовать как:
· самостоятельные средства защиты передаваемых и хранимых данных;
· средства для распределения ключей;
· средства аутентификации пользователей.
Алгоритмы криптосистем с открытым ключом более трудоемки, чем традиционные криптосистемы, поэтому использование их в качестве самостоятельных средств защиты нерационально. На практике рационально с помощью криптосистем с открытым ключом распределять ключи, объем которых как информации незначителен. А потом с помощью обычных алгоритмов осуществлять обмен большими информационными потоками.
Несмотря на довольно большое число различных криптосистем с открытым ключом, наиболее популярна – криптосистема RSA, разработанная в 1977 г. и получившая название в честь ее создателей.