Исходное, незашифрованное сообщение называется открытым текстом (plain text). Зашифрованное сообщение называется шифртекстом (ciphertext).
Процесс преобразования открытого текста в шифртекст называется зашифрованием (enciphering), а обратный процесс — расшифрованием (deciphering). Термин шифрование (без приставок) в русскоязычной литературе обычно обозначает и зашифрование, и расшифрование.
Зашифрование и расшифрование выполняются в соответствии с криптографическим алгоритмом (cryptographic algorithm). Как правило, криптографический алгоритм содержит сменный элемент — криптографический ключ (cryptographic key), позволяющий выбрать одно конкретное преобразование из множества преобразований, реализуемых данным алгоритмом.
Типы криптографических алгоритмов
Существует два основных типа криптографических алгоритмов:
- Симметричные, для которых ключ расшифрования совпадает с ключом зашифрования или может быть легко из него получен, и асимметричные, использующие для зашифрования и расшифрования два разных ключа.
- Асимметричные алгоритмы также называют алгоритмами с открытым ключом, и их история начинается с 1975 года, в то время как симметричные алгоритмы использовались многие тысячелетия.
Симметричные алгоритмы можно разделить на две категории. К первой категории относятся алгоритмы, которые обрабатывают шифруемые данные побитово (или посимвольно), и такие алгоритмы называют потоковыми шифрами. Ко второй категории относят алгоритмы, производящие операции над группами битов. Такие группы битов называют блоками, а алгоритмы — блочными шифрами.
Получение открытого текста из шифртекста без знания правильного ключа и/или всех деталей алгоритма является основной задачей криптоанализа и называется дешифрованием. Попытка криптоанализа называется атакой.
Раскрытие ключа шифрования без привлечения методов криптоанализа называется компрометацией.
К криптографическим функциям, кроме алгоритмов зашифрования и расшифрования, относят и некоторые другие операции. Так, например, криптографические хэш-функции (cryptographic hash-functions) применяются для вычисления значения хэша (hash value), называемого еще дайджестом сообщения (message digest). Также существуют криптографические генераторы псевдослучайных чисел (random number generator).