Читаем Криптономикон полностью

1. Найдите джокер А. Переложите его на одну карту вниз. (То есть поменяйте местами с картой, которая лежит сразу под ним.) Если джокер – нижняя карта в колоде, положите его под верхнюю карту.

2. Найдите джокер Б. Переложите его на две карты вниз. Если джокер – нижняя карта в колоде, положите его под две верхние карты. Если предпоследняя, положите сразу под верхнюю. (В общем, представьте, что колода – это петля… ну, поняли.)

Важно выполнять эти два шага в указанной последовательности. Есть соблазн облениться и перекладывать джокеры в том порядке, в каком они вам попадутся. Это не страшно, если только они не лежат близко.

Так что если колода до шага 1 выглядела так:

3 A Б 8 9

то после шага 2 она будет выглядеть:

3 A 8 Б 9

Если есть сомнения, помните, что джокер А надо перекладывать первым. И будьте внимательны, когда джокеры внизу колоды.

3. Подснимите колоду. То есть поменяйте карты над первым джокером и картами под вторым джокером. Если колода выглядела так:

2 4 6 Б 4 8 7 1 A 3 9

то после подснимания она будет выглядеть:

3 9 Б 4 8 7 1 A 2 4 6

«Первый» и «второй» джокер относятся к джокерам, которые лежат соответственно ближе и дальше от верха колоды. На этом шаге не важно, какой из них А, какой Б.

Помните, что джокеры и карты между ними не перекладываются; местами меняются нижняя и верхняя стопки. Если в одной из стопок карт нет (джокеры лежат рядом, либо один из них сверху или снизу), считайте эту стопку пустой и перемещайте ее, как полную.

4. Подснимите по счету. Взгляните на нижнюю карту. Превратите ее в число от 1 до 53. (Последовательность мастей, как в бридже: трефы, бубны, червы, пики. Если карта ♣, ее значение соответствует достоинству. Если это ♦, то достоинству плюс 13. Если ♥, достоинству плюс 26. Если ♠, достоинству плюс 39. Оба джокера по 53.) Отсчитайте от верха колоды это число. (Я обычно считаю от 1 до 13 требуемое число раз: это проще, чем последовательно досчитывать до больших чисел.) Выньте карты ниже той, до которой вы досчитали, оставив последнюю внизу. Если колода выглядела так:

7… карты… 4 5… карты… 8 9

и девятой картой была 4, после подснимания она будет выглядеть так:

5… карты… 8 7… карты… 4 9

Последняя карта остается на месте, чтобы сделать шаг обратимым. Это важно для математического анализа его безопасности.

5. Найдите карту-результат. Посмотрите на верхнюю карту. Переведите ее в число от 1 до 53, как описано выше. Отсчитайте это число карт. (Считайте верхнюю карту номером первым.) Запишите карту после той, до которой вы досчитали, на листке бумаги. Если это джокер, ничего не записывайте и начните снова с шага 1.) Это первая карта-результат. Заметьте, что этот шаг не изменяет состояние колоды.

6. Переведите карту в число. Как и прежде, пользуйтесь последовательностью мастей, принятой в бридже, в порядке возрастания: ♣, ♦, ♥ и ♠. То есть от Т♣ до К♣ – от 1 до 13, от Т♦ до K♦ – от 14 до 26, от Т♥ до K♥ – от 27 до 39, и от Т♠ до К♠ – от 40 до 52.

Вот и весь «Пасьянс». С его помощью вы можете получить столько чисел ключевого потока, сколько потребуется.

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

Настройка колоды

«Пасьянс» надежен в той мере, в какой надежен его ключ. То есть простейший способ взломать «Пасьянс» – выяснить, каким ключом пользуются коммуниканты. Если у вас нет хорошего ключа, все остальное бесполезно. Вот несколько советов по поводу обмена ключом.

1. Перетасуйте колоду. Случайный ключ – самый лучший. Один из коммуникантов может случайным образом перетасовать колоду и разложить вторую точно таким же способом. Одна должна быть у получателя, вторая – у отправителя. Большинство людей плохо тасуют карты, поэтому перетасуйте колоду не меньше десяти раз. Лучше взять колоду, которой уже играли, чем только что распечатанную. Обязательно нужно иметь запасную колоду, разложенную в том же порядке, иначе, сделав ошибку, вы уже не сможете прочесть сообщение. И помните, что ключ уязвим: тайная полиция может найти колоду и переписать ее порядок.

Перейти на страницу:

Все книги серии Енох Роот

Криптономикон
Криптономикон

В период Второй мировой войны молодой математический гений Лоуренс Уотерхаус участвует во взломе немецких шифровальных систем. В наше время его внук Рэнди, компьютерный хакер, помогает построить автономную «гавань данных» в Юго-Восточной Азии. Судьба внука связана с работой деда, с международным заговором, который может принести миру кабалу нового тоталитаризма.Иногда веселый, плотно набитый информацией на самые разные темы, от криптоанализа и хакерства до поиска сокровищ, этот роман – настоящий современный эпос. С одной стороны – удивительный, совершенно оригинальный портрет эпохи военного времени. С другой – провокационное размышление о том, как наука и техника помогают формировать и изменять ход человеческой истории. Произведение большой эрудиции и столь же большой творческой силы, оно является и останется одним из значительных литературных достижений современной эпохи.

Нил Стивенсон

Современная русская и зарубежная проза

Похожие книги