В современной криптографии эти проблемы решаются с помощью использования ключа, который обозначается буквой К (от английского слова key). Ключ должен выбираться среди значений, принадлежащих множеству, которое называется ключевым пространством. И функция шифрования Е, и функция расшифрования D зависят от ключа. Сей факт выражается присутствием К в качестве подстрочного индекса у функций Е и D:
Е
к
(Р) = С
D
к
(С) = Р
По-прежнему справедливо следующее тождество:
D
k
(E
k
(P)) = P
Некоторые алгоритмы шифрования используют различные ключи для шифрования и расшифрования. Это означает, что ключ шифрования К
1
отличается от ключа расшифрования К
2
. В этом случае справедливы следующие соотношения:
Е
к 1
( P ) = С
D
k2
(С) = Р
D
k2
(E
k1
(Р) ) = Р
Надежность алгоритма шифрования с использованием ключей достигается., за счет их надлежащего выбора и последующего хранения в строжайшем секрете. Это означает, что такой алгоритм не требуется держать в тайне. Можно организовать массовое производство криптографических средств, основу функционирования которых положен данный алгоритм. Знание криптографического алгоритма не позволит злоумышленнику прочесть зашифрованные сообщения, поскольку он не знает секретный ключ, использованный для их зашифрования.
Под криптосистемой понимается алгоритм шифрования, а также можно всевозможных ключей, открытых и шифрованных текстов.
Симметричные алгоритмы шифрования
Существуют две разновидности алгоритмов шифрования с использованием ключей —
симметричные
и с
открытым ключом.
Симметричным называют криптографический алгоритм, в котором ключ, используемый для шифрования сообщений, может быть получен из ключа расшифрования и наоборот.