Циліндр Джефферсона
Циліндр Джефферсона (або дисковий шифр, як його назвав Томас Джефферсон, також відомий як Циліндр Базері) — це система шифрування, що використовує набір дисків, кожен з яких містить 26 букв алфавіту, розташованих по краях. Порядок букв для кожного диска відрізняється і зазвичай розшифровується в декількох різних варіантах. Кожен диск позначено унікальним номером. У центрі диски містять отвори, які дозволяють нанизувати їх на вісь. Диски можна знімати і встановлювати на вісь у будь-якому бажаному порядку. Порядок дисків — це ключ шифру, тому відправник і одержувач повинні розмістити диски в одному попередньо визначеному порядку. У пристрої Джефферсона було 36 дисків.
Коли диски розміщені на осі в узгодженому порядку, відправник обертає кожен диск угору та вниз, доки бажане повідомлення не виділиться в одному ряду. Тоді відправник може скопіювати будь-який рядок тексту на диски, окрім тих, що містять зрозумілий текст. Одержувач просто повинен впорядкувати диски за узгодженим замовленням, повертати диски таким чином, щоб вони окреслили зашифроване повідомлення в одному ряду, а потім передивлятись рядки, доки він не побачить потрібне повідомлення, тобто рядок, який не є повним. Імовірність того, що буде отримано два читабельні повідомлення, надзвичайно мала, проте це швидко може перевірити кодувальник.
Уперше цей шифр був винайдений у 1795 році Томасом Джефферсоном. Сам він не був впевнений у надійності свого винаходу, тому відносився до нього з обережністю і, будучи президентом США, не використовував його, а продовжував застосовувати традиційні коди і шифри. Він підтримував зв'язок з математиком Р. Паттерсоном, щоб він аналізував цей пристрій. Так як Джефферсон не нав'язував свій винахід до використання, досить скоро він потрапив в архів. Століття потому, незалежно від першовідкривача, офіцер французької армії Етьєн Базері, перевинайшов шифр. Система використовувалась армією Сполучених Штатів з 1923 по 1942 рік як M-94.
Ця система не вважається захистом від сучасного криптоаналізу, якщо вона використовується для розшифрування декількох рядків тексту з однаковим упорядкуванням дисків (тобто використанням одного ключа).
Для того щоб зашифрувати повідомлення, Аліса обертає диски, щоб одержувати текстові повідомлення по одному «ряду» стопки дисків, а потім обирає інший рядок у вигляді зашифрованого тексту. Щоб розшифрувати повідомлення, Боб обертає диски на своєму циліндрі для створення шифру тексту по ряду. Це зручно, якщо Аліса, як і Боб знають зміщення рядка, але не є необхідним, оскільки Боб може просто оглянути циліндр, щоб знайти потрібний ряд.
Наприклад, спрощений циліндр Базері використовує лише десять дисків і може бути організований, як показано нижче, при цьому кожен диск «розгорнуто» у лінію, кожен з позначкою позначення номера:
1: | < ZWAXJGDLUBVIQHKYPNTCRMOSFE < |
2: | < KPBELNACZDTRXMJQOYHGVSFUWI < |
3: | < BDMAIZVRNSJUWFHTEQGYXPLOCK < |
4: | < RPLNDVHGFCUKTEBSXQYIZMJWAO < |
5: | < IHFRLABEUOTSGJVDKCPMNZQWXY < |
6: | < AMKGHIWPNYCJBFZDRUSLOQXVET < |
7: | < GWTHSPYBXIZULVKMRAFDCEONJQ < |
8: | < NOZUTWDCVRJLXKISEFAPMYGHBQ < |
9: | < XPLTDSRFHENYVUBMCQWAOIKZGJ < |
10: | < UDNAJFBOWTGVRSCZQKELMXYIHP < |
Якщо «ключ», послідовність дисків для цього циліндр Базері є
7,9,5,10,1,6,3,8,2,4
і Аліса хоче відправити повідомлення «відступити зараз» («retreat now») Бобу, вона переставляє диски відповідно до клавіші і обертає кожен диск, щоб отримати простий текст, який зображений зліва, з інтервалом доданим для розуміння:
7: | < R AFDCE O NJQGWTHSPYBXIZULVKM < |
9: | < E NYVUB M CQWAOIKZGJXPLTDSRFH < |
5: | < T SGJVD K CPMNZQWXYIHFRLABEUO < |
10: | < R SCZQK E LMXYIHPUDNAJFBOWTGV < |
1: | < E ZWAXJ G DLUBVIQHKYPNTCRMOSF < |
6: | < A MKGHI W PNYCJBFZDRUSLOQXVET < |
3: | < T EQGYX P LOCKBDMAIZVRNSJUWFH < |
8: | < N OZUTW D CVRJLXKISEFAPMYGHBQ < |
2: | < O YHGVS F UWIKPBELNACZDTRXMJQ < |
4: | < W AORPL N DVHGFCUKTEBSXQYIZMJ < |
Потім вона виділяє шифрований текст з шостого рядка циліндра від звичайного тексту. Цей шифрований текст дає: OMKEGWPDFN
Коли Боб отримує шифрований текст, він переставляє диски на своєму циліндрі до розташування ключів, а потім читає текст, що утворився на шість нижче від шифрувального тексту або просто шукає на циліндр рядок, який має сенс.
Циліндр Базері був основою американської машини шифрування «M-94», яка була введена в 1922 році і отримана з роботи Паркера Хітта. У 1914 році Хітт експериментував з пристроєм Базері, побудував один прототип, використовуючи слайди на дерев'яній рамі, а шрифтові алфавіти друкував двічі послідовно на слайдах, а потім ще один раз, використовуючи диски з дерева. Він передав свої експерименти військовому підрозділу зв'язку, а в 1917 році Джозеф Моубрен уточнив схему, з остаточним результатом — М-94.
У М-94 використано 25 алюмінієвих дисків на шпинделі. Його використовували сухопутні війська, морська охорона та Радіорозвідка Федеральної комісії зі зв'язку до початку Другої світової війни. Армія повернулася до оригінальної слайд-схеми Хітта за допомогою машини шифрування «М-138-A», яка була введена в 1930-х роках і використовувалася ВМС США та Державним департаментом США в роки Другої світової війни. У M-138-A виділено 100 смуг, з яких 30 вибрано для використання в будь-якому сеансі шифрування. Це було значним поліпшенням безпеки в Державному департаменті, який протягом міжвоєнних років використовував сміхозахищені коди, навіть у одному випадку стандартний комерційний телеграфний код. Їх було набагато легше зламати.
Циліндр Bazeries був досить сильною системою в той час (у порівнянні з багатьма іншими системами, що використовуються), і Етьєн Базері, компетентний, але дуже ввічливий чоловік, як кажуть, вважав її нерозбірливою. Фактично, це навряд чи неприступна, і кодувальна група «Perz Z S» міністерства закордонних справ Німеччини розшифрувала M-138-A у 1944 році. Однак до того часу у американців були набагато складніші системи шифрування. Багатьма відгалуженями союзних зв'язків, представлених високим командуванням Німеччини, було знехтувано, оскільки все, що вони робили, підтверджувало погані новини, про які ніхто не хотів знати в середовищі, де поразка потенційно є злочином проти капіталу.
Французький криптограф Гаетан де Віаріс (Маркіз Гаетан Анрі Леон Віарізіо ді Лесегно), який прославився однією з перших пристроїв друкарського шифрування (1874 р.), Вирішив циліндр Базері у 1893 р., Отже, передбачувана самовпевненість Базері в системі була недоречною.
Однією з основних слабкостей циліндра Базері є те, що зміщення від звичайного листа до букв шифрування для алфавіту шифру на кожному диску буде точно таким самим. У наведеному вище прикладі цей зсув становить шість букв.
Припустимо, криптоаналітик — Холмс, скажімо, — захопив спрощений циліндр Базері, описаний у наведеному вище прикладі, з десятьма дисками. Цього буде не достатньо, щоб дозволити йому розшифрувати повідомлення з нього, оскільки Холмс також повинен знати ключ або розташування дисків на циліндрі. Навіть для цього спрощеного циліндра Базері, кількість можливих перестановок дисків:
- що робить тестування методом «грубої сили» розташування дисків абсолютно непрактичним для виконання вручну; комп'ютери могли б зробити такий незначний прорив для 10 дисків, але не для 36 дисків, які використовував Джефферсон, як ≈ 2138.
Тепер далі припустимо, що Холмс має шпаргалку. Наприклад, припустимо, що він знає, що перший блок відкритого тексту, зашифрований спрощеним циліндром Базері, — це рядок:
heilhitler
Зручно, він якраз складається із десяти букв, і може бути зашифрованим за один прохід зі спрощеним циліндром Базері. Відповідний шифрований текст: AZNCZEAPBH
Останнє повідомлення, безумовно, є повною таємницею на даний момент. На щастя, Холмс може використати свою шпаргалку, яка дозволяє йому розшифрувати всі наступні блоки повідомлення.
Холмс не має уявлення про те, який диск використовується для шифрування того листа, але він знає, що зміщення між буквою простого тексту та буквою шифрування має бути однаковим для всіх десяти символів. Це дає йому спосіб проникнення у шифр:
- виділити звичайний текст і шрифтові тексти шпаргалки;
- сформувати їх у пари;
- визначити зсуви для букв звичайного тексту та букв шифрування кожного диска;
- а потім шукати загальне зміщення в матриці зсуву.
Холмс знає, що відповідність між двома наборами листів така:
- h — A
- e — Z
- i — N
- l — C
- h —Z
- i — E
- t — A
- l — P
- e — B
- r — H
Тепер Холмс приймає диск 1, який має шифрувальний алфавіт:
1: < ZWAXJGDLUBVIQHKYPNTCRMOSFE <
Перша літерна пара — «h: A», Холмс вираховує на диску, що зміщення між двома літерами становить 15. Друга латинська пара — «e: Z», і він відразу бачить, що зміщення дорівнює 1 . Він продовжує цей процес для кожної партії літер для диска 1, а потім проходить ту саму процедуру для дев'яти інших дисків, створюючи таку таблицю:
h: А | е: Z | i: N | l: С | h: Z | i: E | t: A | l: P | e: B | r: H | |
---|---|---|---|---|---|---|---|---|---|---|
1: | 15 | 1 | 6 | 12 | 13 | 14 | 10 | 9 | 10 | 19 |
2: | 14 | 5 | 6 | 3 | 16 | 4 | 22 | 23 | 25 | 7 |
3: | 15 | 15 | 4 | 2 | 17 | 12 | 14 | 25 | 10 | 7 |
4: | 18 | 7 | 10 | 7 | 14 | 20 | 12 | 25 | 1 | 6 |
5: | 4 | 14 | 20 | 13 | 20 | 7 | 21 | 14 | 25 | 24 |
6: | 22 | 16 | 3 | 17 | 10 | 19 | 1 | 14 | 14 | 14 |
7: | 14 | 15 | 14 | 8 | 7 | 12 | 15 | 19 | 12 | 13 |
8: | 21 | 12 | 12 | 22 | 5 | 2 | 14 | 8 | 8 | 14 |
9: | 11 | 14 | 15 | 14 | 15 | 14 | 16 | 25 | 5 | 2 |
10: | 5 | 23 | 5 | 21 | 17 | 21 | 20 | 6 | 14 | 12 |
Оскільки Холмс готує таблицю, значення «14» швидко вискакує з нього як звичайний елемент, а в завершенні таблиці виявляється єдиним загальним елементом. Це, очевидно, зміщення рядка від звичайного тексту до шифрувального тексту. Він пропускає інші значення для чіткості:
h: A | e: Z | i: N | l: C | h: Z | i: E | t: A | l: P | e: B | r: H | |
---|---|---|---|---|---|---|---|---|---|---|
1: | 14 | |||||||||
2: | 14 | |||||||||
3: | 14 | |||||||||
4: | 14 | |||||||||
5: | 14 | 14 | ||||||||
6: | 14 | 14 | 14 | |||||||
7: | 14 | 14 | ||||||||
8: | 14 | 14 | ||||||||
9: | 14 | 14 | 14 | |||||||
10: | 14 |
Зараз Холмс перебудовує диски, щоб відобразити правильний порядок букв на циліндрі. Це робиться шляхом перестановки рядків таблиці, так що значення «14» з'являється у кожній клітинці вздовж основної діагоналі таблиці. У цьому випадку не існує двозначностей у розташуванні дисків, але якби це було, трохи тестування наступних блоків шифрувального тексту виявило б правильний порядок.
h: A | e: Z | i: N | i: C | h: Z | i: E | t: A | l: P | e: B | r: H | |
---|---|---|---|---|---|---|---|---|---|---|
1: | 14 | |||||||||
2: | 14 | 14 | ||||||||
3: | 14 | 14 | ||||||||
4: | 14 | 14 | 14 | |||||||
5: | 14 | |||||||||
6: | 14 | |||||||||
7: | 14 | |||||||||
8: | 14 | 14 | 14 | |||||||
9: | 14 | |||||||||
10: | 14 | 14 |
Цей ключ дає:
2,5,7,9,4,1,3,6,10,8
У реальному світі циліндр Базері має більше дисків (загалом, 20 або 30, а не 10), і менш імовірно, єдина шпаргалка, буде охоплювати весь циліндр. Тим не менше, описаний вище підхід все ще працює. Навіть якщо в циліндрі було б 30 дисків, а шпаргалка мала б лише п'ять листів, Холмс міг би створити таблицю зсувів для кожного з 30 дисків для п'яти партій листів і використовувати її для звуження можливостей для зміщеннь та дисків використаних для шпаргалки.
Холмс міг би повторювати процедуру з кількома незалежними шпаргалками в одному повідомленні, майже напевно скорочуючи зсув і покращуючи знання порядку диска. Після того, як зміщення було б визначено, тоді Холмс мав би те, що складає пряме перенесення букв, які не визначаються шляхом отримання інформації зі шпаргалок, і використав би такі методи, як множина анаграмування, щоб зламати його.
Поняття криптології
Алгоритми криптографії
- Алгоритми шифрування
- Псевдовипадкові послідовності
- Хешувальна функція
- Рюкзаковий алгоритм
- Паралельні обчислення
- Систематичний пошук (brute-force-атака)
- The Codebreakers, David Kahn, 1967, pp. 192—195