Штаб полка и выше снабжались мощными радиостанциями соответствующей дальности, принимающие текстовые сообщения. Тут разработчики концепции не стали изобретать велосипед и дали рекомендацию на разработку советского аналога шифровальной машины "Энигма". С ее помощью разрешалось шифровать сообщения актуальность которых терялась в течении нескольких суток. Для всех остальных сообщений предполагалось использовать шифры повышенной сложности.
Как обычно, чего-то не хватало. Если радиостанции уже были в частях, то шифровальных машин или таблиц кодирования для специальных шифров не было вообще. Но Ольгу это не остановило. Попросив собрать офицеров связистов из штабов дивизий, танковой бригады и авиаотряда, с которыми должен поддерживать связь штаб армии она прочитала короткую лекцию по основам шифрования.
– Товарищи командиры, чтоб не толочь воду в ступе, мы сразу с вами займемся делом. Первым нашим заданием будет научиться составлять таблицы кодирования. На столе лежат книги, которые я взяла на сегодня в местной библиотеке. Прошу каждого подойти и выбрать себе одну из книжек. На доске я изобразила буквы алфавита, но не по порядку. Что вам напоминает эта запись?
– Клавиши печатной машинки, – крикнул самый сообразительный.
– Правильно. А кто знает, почему я так записала? Почему клавиши печатной машинки расположены именно в таком порядке?
– Так легче печатать, – дружно отозвались командиры. Связистов учили работать на печатной машинке.
– В целом, правильно. Легче печатать потому, что в центре сосредоточены буквы чаще всего встречающиеся в тексте, а по бокам те, что используются редко. Это обстоятельство нам нужно будет обязательно учитывать при составлении кодовой таблицы. Возьмите лист бумаги, карандаш и перерисуйте таблицу алфавита. Откройте книгу на произвольной странице и зашифруйте каждую букву четырехзначным числом. Первые две цифры – номер строки, вторые две – номер буквы в строке. Чем ближе буква к центру таблицы, чем чаще она встречается в тексте, тем большее количество чисел нужно ей поставить в соответствие. Для начала определимся так: для букв двух центральных столбцов – находите их в тексте страницы не менее восьми раз и записываете под ними по восемь четырехзначных чисел. Соответственно двигаясь от центра таблицы, для букв других столбцов, по шесть, четыре, два и по одному число лишь для букв крайних столбцов. Не забудем также про такой символ как пробел. Пустое место в тексте встречается чаще любых других символов. Так же как ноль встречается чаще других цифр… а среди людей… не будем о грустном. Поэтому, пробелу вы найдете в соответствие не меньше десяти чисел. Это не трудно. Куда не плюнь, вы попадете на пустое место. В тексте то же самое. Только плевать не надо, книги библиотечные. Но это еще не все. С обратной стороны листа мы записываем другую таблицу. Здесь вы пишите полученные числа, обязательно в порядке возрастания, а напротив – соответствующую букву. Если вы все правильно сделаете, то получится больше ста чисел. Это и будет кодовая таблица. Одна сторона для шифровки, другая для дешифровки. Сразу все делаете под копирку в двух экземплярах. Десять минут на выполнение задачи. Кто готов, подходит ко мне и показывает результат. У кого есть вопросы, зовет меня, я подхожу и объясняю. Время пошло, товарищи командиры.
– У меня вопрос, товарищ лейтенант. Я не понял, что вы про ноль говорили. Его тоже кодировать?
– Нет, товарищ капитан. Только буквы. Цифры будем писать прописью.
Не сразу, но постепенно дело пошло. Засадив их на два часа изготавливать кодовые таблицы, у кого, сколько выйдет, но обязательно больше десяти, Оля затем продолжила обучение.
– Итак, мы готовы начинать составлять шифрованные сообщения. Мы используем так называемый код подстановки, когда буква сообщения заменяется другими символами. Вы должны знать, что это самый примитивный из возможных принципов кодирования и в простом виде применять его опасно. Если бы вы использовали самую простую кодовую таблицу, один символ – одно и то же число, такую шифровку взломает любой студент, изучивший основные принципы дешифровки и сделает это очень быстро. В нашем варианте, когда мы используем вместо одной буквы целый набор чисел, так, чтоб одно и то же число встречалось в шифровке редко, это уже значительно трудней. Но для того чтоб это стало невозможным в обозримый промежуток времени мы должны сделать еще одно усложнение, а именно, запутать структуру шифровки. Ведь если человек разгадывающий шифр поймет, что букве соответствует четырехзначное число, это существенно упростит его работу. Структуру путают различными способами. Самый простой – добавление перед каждым словом кодированного сообщения заранее оговоренного числа незначащих цифр, которые при дешифровке игнорируются. Тут каждый вправе выдумать свой собственный принцип. Например: перед парным словом вы ставите три произвольных цифры, перед непарным две. Либо, перед первым словом – три цифры, перед вторым – две, перед третьим – одну, и снова – три, две, одну. Незначащие цифры вы ставите после кода пробела. Поэтому, пробелу нужно всегда ставить в соответствие максимальное количество чисел, так, чтоб они, по возможности, не повторялись. Запутав, таким образом, структуру сообщения вы значительно затрудняете расшифровку, делая ее невозможной в обозримый период времени. А зачем мы делали столько таблиц, надеюсь каждому ясно без пояснений. Каждое последующее сообщение вы кодируете новой таблицей. Если таблицы закончились, используете, начиная с первой, по второму кругу, одновременно готовя новые. Какие ко мне будут вопросы?