Читать «Американская криптология» онлайн - страница 22
Вадим Викторович Гребенников
Например, буква «А» отражалась комбинацией «++—», а переход на цифры и знаки препинаний отражался комбинацией «++—++». Закодированное сообщение набивалось на перфоленте: «+» были дырками, а «—» — их отсутствием. При считывании перфоленты металлические щупы проходили через дырки, замыкали электрическую цепь и посылали импульсы тока по проводам. А там, где на перфоленте находился «—», бумага не позволяла этим щупам замкнуть цепь, и в результате токовый импульс не передавался.
Вернам предложил готовить перфоленту со случайными знаками (так называемую «гамму») предварительно и потом электромеханически соединять её импульсы с импульсами знаков открытого текста. «Гамма» — это секретный ключ, созданный из хаотического набора букв того же алфавита. Полученная сумма представляла собой шифротекст, предназначенный для передачи по линии связи. Вернам установил такое правило сложения: если одновременно оба импульса были «+» или «—», то итоговый импульс будет «—», а если эти импульсы разные, то в результате выйдет «+».
Сложение, по современной терминологии, осуществляется «по модулю 2» («О» означает знак «—», а 1 — «+»): 0+0=0; 0+1=1; 1+0=1; 1+1=0. Пусть, например, знак «гаммы» имеет вид: «+—+—» (10100). Тогда буква «А» — «++—» (11000) при шифровании переходит в двоичную комбинацию «—++—»: (01100) = (11000)х(10100). При дешифровке ту же операцию необходимо повторить в обратном порядке: (01100)х(10100)=(11000) — «++—» — буква «А».
Чтобы складывать электроимпульсы при шифровании, Вернам сконструировал специальное устройство, которое состояло из магнитов, реле и токосъёмных пластин. А поскольку процедура дешифровки была аналогична процедуре шифрования, этот же прибор мог быть использован и при дешифровке. Импульсы поступали в устройство сложения из двух счётчиков: один считывал «гамму», а другой — открытый текст. «Плюсы» и «минусы», которые получали на выходе, можно было передавать как обычное телетайпное сообщение. На приёмном конце устройство, изобретённое Вернамом, добавляло импульсы, считываемые с идентичной ленты с «гаммой», и восстанавливало исходные импульсы открытого текста.
Важность изобретения Вернама заключалась в том, что больше не нужно было осуществлять шифрование и дешифровку секретных сообщений в виде отдельных операций. Открытый текст поступал в аппарат, находившийся у отправителя сообщения, и такой же открытый текст выходил из аппарата, который находился у получателя этого сообщения. А если кто-нибудь перехватывал это сообщение по пути прохождения от отправителя к получателю, то в его распоряжении оказывалась ничего не значащая последовательность «плюсов» и «минусов». Теперь, чтобы зашифровать, передать, принять и расшифровать сообщение, было нужно приложить не намного больше усилий, чем при отправлении сообщения открытым текстом.