Для получения такого шифра использовался полибийский квадрат и ключевое слово, например: рlayfair. Ключевое слово вписывалось в таблицу построчно, а повторяемые буквы пропускались. Таблица дозаполнялась буквами латинского алфавита, которые не вошли в слово, в алфавитном порядке (см. таблицу).
Если буквы биграммы находились в одной и той же строке или столбце, то брались две буквы, расположенные, соответственно, справа или внизу (в циклической последовательности) от букв текста. Если буквы не находились в одной и той же строке или столбце, то в квадрате мысленно строился прямоугольник так, чтобы эти две буквы лежали на его противоположных вершинах, а две другие вершины данного прямоугольника давали буквы шифротекста.
Если биграмма состояла из двух одинаковых букв, то сначала вторую букву в ней замещали на «X», «Z» или какую-нибудь другую редкую букву, после чего зашифровывали полученную таким образом новую биграмму. В результате слово «UZHGOROD» превращается в шифротекст «VUKHVGTR»:
UZ HG OR OD
VU KH VG TR
Открытие Уинстона было значимым не только само по себе, но и потому, что привлекло внимание к более простому шифру Тритемия, который взяли на вооружения английские военные и использовали его до 1920-х годов. Сам же шифр Уитстона был настолько простым и надёжным, что продолжал применяться в течение первой половины ХХ века в двух мировых войнах дипломатическими службами всех воюющих государств. Особенно эффективным этот шифр был для коротких сообщений, потому что статистические особенности языка в нём чётко проявлялись лишь при наличии 30 строк текста и более.
Второе изобретение Уитстона заключалось в новаторском использовании шифровальных дисков. Впервые Уитстон продемонстрировал своё шифровальное устройство на Всемирной выставке в Париже в 1876 году. В нём так же, как и в шифраторе американца Уодсворта, просматривалось влияние идей итальянца Альберти. Даже внешне устройство напоминало диск Альберти. Внешний диск — диск алфавита открытого текста — состоял из 27 знаков (26 букв английского алфавита и специального знака «+», означавшего пробел).
Внутренний алфавит определял алфавит шифротекста и состоял из обычных 26 букв, расположенных в произвольном ключевом порядке. Новизна идеи была в том, что алфавит открытого текста содержал большее количество знаков, чем алфавит шифрования. При дешифровке в этих условиях появлялась неоднозначность в определении букв переданного открытого текста.
Следовательно, на той же оси, что и диски (алфавиты) устройства, которые были соединены шестернями размером 27x26 соответственно, были расположены две стрелки, как в современных часах. В начале шифрования большая (длинная) стрелка указывала на знак «+» (пробел). Малая (короткая) стрелка, связанная с большой резьбовой шестерёнкой, ставилась в то же положение, поэтому «часы» показывали «12–00». Набор букв открытого текста получался поворотом большой стрелки по направлению движения. После такого поворота малая стрелка указывала знак шифротекста.
Таким образом, при полном повороте большого диска малый диск смещался на единицу относительно исходного взаимного состояния двух дисков, что приводило к изменению алфавита шифротекста относительно алфавита открытого текста. По окончании каждого слова большая стрелка становилась в знак «+», а буква, на которую при этом указывала короткая стрелка, записывалась как знак шифротекста. Во избежание неоднозначности расшифрования, удвоение букв в открытом тексте не допускалось. Повторную букву необходимо пропустить или поставить вместо неё какую-либо редкую букву, например, «Q».
Ключом шифра был порядок расположения букв на внутреннем диске. Приведем формализированный пример шифрования на устройстве Уитстона. Выпишем алфавиты в две строки:
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
N Q D A S R B U O P V T F X E G Y C H Z J K W I M L
Слово «UKRAINE» шифруется таким способом. Под первой буквой «U» стоит соответствующая буква шифротекста «К». Вторая буква «К» содержится от «U» на 17 шагов; на этом расстоянии от буквы шифротекста «К» находится вторая буква шифротекста «F». Третья буква «R» расположена от «К» на 7 шагов; на этом расстоянии от буквы шифротекста «F» находится третья буква шифротекста «Z» и т. д. В результате получим шифротекст «KFZATYS». Расшифрование осуществляется в обратном порядке.
Заметим, что если допустить удвоение букв, например, «АА», то шифротекст имел бы вид «QD». Однако такой же шифротекст отвечает и биграмме «АВ», следовательно, в этом случае расшифрованный текст будет неоднозначен.
Однако шифр Уитстона имел один существенный недостаток. Так, если в шифротексте и появлялась удвоенная буква (например, «ВВ»), означавшая, что в открытом тексте стояли буквы, которые располагались в алфавите рядом, но в обратном порядке («FE»). Это уже было существенной слабостью шифра и могло быть эффективно использовано при дешифровке. Поэтому изобретение Уитстона не нашло широкого применения.
6.3. Пруссия и Голландия