В классической криптографии различают четыре типа шифров замены:
- шифры простой замены. Один символ открытого текста заменяется одним символом зашифрованного текста;
- шифры сложной замены. Один символ открытого текста заменяется одним или несколькими символами зашифрованного текста, например: «А» может быть заменен «С» или «Р04Е»;
- шифры блочной замены. Один блок символов открытого текста заменяется блоком закрытого текста, например: «ABC» может быть заменен «СРТ» или «КАР»;
- полиалфавитные шифры замены, в которых к открытому тексту применяются несколько шифров простой замены.
Классическая криптография, в частности теория связи в секретных системах, основанная К. Шенноном, исходила из того, что ключи 1 и 2 (рис. 1.1), используемые соответственно для шифрования и расшифрования, являются секретными и одинаковыми, и передача их должна осуществляться по надежному каналу обмена ключевой информации. Подобные алгоритмы были названы симметричными, так как зашифрование и расшифрование происходит на одинаковых ключах. Однако развитие теории построения алгоритмов шифрования с открытыми ключами, родоначальниками которой стали Диффи и Хэлман, положило начало повсеместному использованию асимметричных алгоритмов шифрования, в которых ключи зашифровывания и расшифровывания различны. В зависимости от применения один из ключей будет открытым, то есть общедоступным, а другой необходимо хранить в секрете.