(по материалам статьи Игоря Степанова)

Симметричные (с секретным, единым ключом, одноключевые, single-key).


— способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. До изобретения схемы асимметричного шифрования единственным существовавшим способом являлось симметричное шифрование. Ключ алгоритма должен сохраняться в секрете обеими сторонами. Алгоритм шифрования выбирается сторонами до начала обмена сообщениями.

Потоковый шифр — это симметричный шифр, в котором каждый символ открытого текста преобразуется в символ шифрованного текста в зависимости не только от используемого ключа, но и от его расположения в потоке открытого текста. Поточный шифр реализует другой подход к симметричному шифрованию, нежели блочные шифры.

Практически во всех каналах передачи данных для потоковых систем шифрования присутствуют помехи. Поэтому для предотвращения потери информации решают проблему синхронизации шифрования и расшифрования текста. По способу решения этой проблемы шифросистемы подразделяются на синхронные и системы с самосинхронизацией.


При блочном шифровании информация разбивается на блоки фиксированной длины и шифруется поблочно. Блочные шифры бывают двух основных видов:
шифры перестановки (permutation, P-блоки), которые переставляют элементы открытых данных (биты, буквы, символы) в некотором новом порядке. Различают шифры горизонтальной, вертикальной, двойной перестановки, решетки, лабиринты, лозунговые и др.
шифры замены (подстановки, substitution, S-блоки), которые заменяют элементы открытых данных на другие элементы по определенному правилу. Paзличают шифры простой, сложной, парной замен.К шифрам простой замены относятся многие способы шифрования, возникшие в древности или средневековье, как, например, Атбаш (также читается как этбаш) или Шифр Цезаря. Для вскрытия подобных шифров используется частотный криптоанализ. Является частным случаем шифра подстановки. Отметим, что шифр простой замены не всегда подразумевает замену буквы на какую-то другую букву. Допускается использовать замену буквы на цифру.моноалфавитные (код Цезаря);
Шифры сложной замены иногда называют шифрами многоалфавитной подстановки т. к. для шифрования открытого текста каждый символ исходного сообщения шифруется при помощи своего шифра простой замены. Многоалфавитная замена последовательно и циклически меняет используемые алфавиты.
полиалфавитные (шифр Видженера, цилиндр Джефферсона, диск Уэтстоуна, Enigma);
В современных криптографических системах, как правило, используют оба способа шифрования (замены и перестановки). Такой шифратор называют составным (product cipher). Oн более стойкий, чем шифратор, использующий только замены или только перестановки. Блочное шифрование можно осуществлять двояко:
  1. Без обратной связи (ОС). Несколько битов (блок) исходного текста шифруются одновременно, и каждый бит исходного текста влияет на каждый бит шифротекста. Однако взаимного влияния блоков нет, то есть два одинаковых блока исходного текста будут представлены одинаковым шифртекстом. Поэтому подобные алгоритмы можно использовать только для шифрования случайной последовательности битов (например, ключей). Примерами являются DES в режиме ECB и ГОСТ 28147-89 в режиме простой замены.
  2. С обратной связью. Обычно ОС организуется так: предыдущий шифрованный блок складывается по модулю 2 с текущим блоком. В качестве первого блока в цепи ОС используется инициализирующее значение. Ошибка в одном бите влияет на два блока - ошибочный и следующий за ним. Пример - DES в режиме CBC.
При блочном шифровании может также применяться ГПСЧ (генератор псевдослучайных чисел):
  1. Поблочное шифрование потока данных. Шифрование последовательных блоков (подстановки и перестановки) зависит от ГПСЧ, управляемого ключом.
  2. Поблочное шифрование потока данных с ОС. ГПСЧ управляется шифрованным или исходным текстом или обоими вместе.

Полезные ресурсы:
http://auto-quest.ru/aid/cipher.htm- перечень различных шифров и их описание.
http://kriptografea.narod.ru/sim.html
http://criptograf.narod.ru/index1.html Введение в криптографию
http://www.chhm.net/index.php?articles=68



Lucipher (фирма IBM, США); Боярская

DES (Data Encryption Standard, США);
FEAL-1 (Fast Enciphering Algorithm, Япония);
Improved Proposed Encryption Standard, фирма Ascom-Tech AG, Швейцария);

B-Crypt (фирма British Telecom, Великобритания);

ГОСТ 28147-89 (СССР);

Skipjack (США).




Асимметричные (с открытым ключом, public-key):

Криптографическая система с открытым ключом (или асимметричное шифрование, асимметричный шифр) — система шифрования и/или электронной цифровой подписи (ЭЦП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифровки сообщения используется закрытый ключ . Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH. Также используется в PGP, S/MIME.

Диффи-Хеллман DH (Diffie, Hellman);

Райвест-Шамир-Адлeман RSA (Rivest, Shamir, Adleman);

Эль-Гамаль ElGamal.

DSA (Digital Signature Algorithm)

ECDSA (Elliptic Curve Digital Signature Algorithm) — алгоритм с открытым ключом для создания цифровой подписи.

ГОСТ Р 34.10-2001

Rabin Боярская

Luc

McEliece

Williams System (Криптосистема Уильямса)

Кроме того, существует разделение алгоритмов шифрования на собственно шифры (ciphers) и коды (codes). Шифры работают с отдельными битами, буквами, символами. Коды оперируют лингвистическими элементами (слоги, слова, фразы).