Математики, шпионы и хакеры. Кодирование и криптография | страница 5



Подводя итог вышеизложенному, мы можем изобразить общую систему шифрования в виде следующих элементов:



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


Закрытые и открытые ключи

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

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

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