Cabinet Noir>Навчання / Шифр Альберті

Не знаєте, який це шифр? Розпізнайте його
Перший поліалфавітний шифр: два диски, що обертаються, змінюють алфавіт кожні кілька літер.
Типполіалфавітний шифр підстановки
Зламлегко зламати вручну
ЕпохаXV століття
НазваПридуманий Леоном Батіста Альберті близько 1467 року на його шифрувальному диску Formula.
Режимишифрування · розшифрування · криптоаналіз

Навчання

Шифр Альберті

Як працює шифр Альберті

Ідея одним реченням

Шифрувальний диск Альберті — перший Поліалфавітний шифр: два концентричні диски тримають два різні Алфавіт, і внутрішній диск повертається після кожних кількох літер, тож Підстановка змінюється, поки ви пишете, — сама літера Відкритий текст стає різними літерами Шифротекст.

Рецепт

  1. Напишіть повідомлення і залиште лише літери, що є на диску, — кільце Альберті тримає 20 латинських літер (без H, J, K, U, W, Y) плюс цифри 1–4. Решту інструмент відкидає.

  2. Виставте Період: скільки літер шифрується, перш ніж диск повернеться.

  3. Виставте крок: на скільки позицій внутрішній диск стрибає щоразу.

  4. Для кожного періоду літер прочитайте літеру шифротексту навпроти на внутрішньому диску. Потім поверніть внутрішній диск на крок і продовжуйте з наступним періодом.

Розібраний приклад

Крок 1 із 10
Літера відкритого тексту
Положення диска
Результат
S
A→m
r

Стовпець диска показує чинне положення: воно починається з зовнішньої A над внутрішньою m, тож S стає r, а E — f. Після періоду з двох літер диск стрибає на три позиції — A опиняється над h, і C стає d. Кожне нове положення дає алфавіту свіже перемішування — поліалфавітна ідея у мініатюрі.

Формула

Кожен період — це підстановка, і підстановка змінюється між періодами. З позиціями на дисках:

шифр   = цільова[індекс відкритої]        # у межах одного періоду
цільова = поворот(цільова, крок)          # після кожного періоду

Розшифрування веде ту саму історію назад: читає кожен період крізь поточне положення і повертає диск на крок після кожного періоду. Оскільки одержувачу потрібні період, крок і початкове положення, спільний секрет має три частини.

Диски інструмента

Інструмент відтворює кільця Альберті точно: нерухомий зовнішній диск (Stabilis) несе латинський алфавіт великими літерами ABCDEFGILMNOPQRSTVXZ плюс цифри 1234, якими Альберті користувався для другого, числового коду. Рухомий внутрішній диск (Mobilis) несе змішаний алфавіт малими літерами mqihfdbacegklnprtuz&xyso — перемішування це власний додатковий шар Альберті поверх обертання. Стрілки повертають внутрішній диск вручну, якщо хочете почати не з типового положення.

Спробувати в інструменті

Покрокові інструкції

Зашифруйте перше повідомлення

  1. Наберіть повідомлення у поле повідомлення. Шифруються лише 20 літер диска — H, J, K, U, W, Y відкидаються, точно як на латинському диску Альберті.

  2. Виставте довжину періоду повзунком повзунок періоду і стрибок диска повзунком кроку повзунок кроку.

  3. Якщо хочете інше початкове положення, поверніть внутрішній диск стрілками ліву стрілку під дисками і праву стрілку під дисками.

  4. Прочитайте результат у поле результату — малими літерами, як сам внутрішній диск.

Розшифруйте отримане повідомлення

  1. Вставте криптограму у поле повідомлення.

  2. Натисніть кнопку обміну кнопку обміну, щоб перейти в режим розшифрування.

  3. Виставте той самий період повзунок періоду і той самий крок повзунок кроку, що й у відправника, і приведіть диски до того самого початкового положення стрілками. Потрібні всі три — період, крок і положення, — щоб розкувати шифр.

  4. Прочитайте початкове повідомлення у поле результату.

Зламайте повідомлення без ключа

Диск повертається через рівні інтервали, тож літери на одній позиції всередині кожного періоду шифруються однією й тією самою підстановкою. Ця регулярність — шлях усередину:

  1. Вгадайте період: розріжте шифртекст на шматки такої довжини (почніть з 2 чи 3) і зберіть літери однакової позиції в окремі купки.

  2. Кожна купка — це звичайна Підстановка — застосуйте до неї Частотний аналіз. Внутрішній алфавіт змішаний, тож купка дає пари літер, а не простий зсув, але дві-три розв'язані пари вказують положення диска.

  3. Виставте диски у це положення стрілками, уведіть період повзунок періоду і крок повзунок кроку і розшифруйте. Не вгадали? Спробуйте наступний період — коротке повідомлення може вимагати кількох спроб.

Злам шифру Альберті

Дисковий шифр був стрибком: Підстановка, що змінюється під час письма, уникає простого підрахунку літер, який зламав Цезаря. Але схема Альберті повертає диск через фіксовані інтервали, і ця регулярність залишає відбиток. Ця сторінка показує, як відбиток видає ключ.

Спробувати в інструменті

Вада: диск повертається як годинник

Після кожного періоду літер внутрішній диск стрибає рівно на крок позицій. Тож літера № 1 кожного періоду завжди читалася крізь одне положення, літера № 2 — крізь інше, і так далі. Розріжте текст за позицією в періоді — і матимете період купок, а кожна купка знову звичайний одноалфавітний шифр, точнісінько як фрагменти пізнішої атаки на Віженера.

Атака 1 — розріз за позицією в періоді

  1. Вгадайте період (2 чи 3 — типово) і поріжте шифртекст на шматки такої довжини.

  2. Зберіть літери однакової позиції — перша літера кожного шматка до купки 1, друга — до купки 2…

  3. Застосуйте до кожної купки Частотний аналіз. Купка відображає літери відкритого тексту на позиції змішаного алфавіту, тож вона відкриває пари літер, а не зсув — але дві-три розв'язані пари закріплюють положення диска.

  4. Відбудуйте ключ: положення, період і крок. Уведіть їх в інструменті і розшифруйте.

Атака 2 — повний перебір, м'яко

Усе маленьке: період 1–4, крок 1–10, 24 положення. Якщо повідомлення впирається, переберіть комбінації:

  1. Зафіксуйте період і крок, перемкніть інструмент у режим розшифрування кнопкою кнопку обміну.

  2. Повертайте диски стрілками, доки Шифротекст не почне щось казати. Положення — найчутливіша частина: один крок змінює кожну літеру.

  3. Досі нічого? Змініть період і почніть заново. Перебір Повний перебір над кількома сотнями комбінацій був не під силу ворогам Альберті, а вам коштує секунди.

Що Альберті справді розв'язав

До диска Частотний аналіз Аль-Кінді робила будь-який шифр з одним алфавітом прозорим. Відповідь Альберті — змінювати алфавіт посеред повідомлення — це корінь усієї поліалфавітної криптографії. Наступники зберегли ідею і впорядкували її: замість змішаного диска, що повертається рукою, — tabula recta, яку обертає літера ключа. Цей упорядкований нащадок — шифр Віженера: простіший у користуванні, простіший для зламу, але збудований на тому самому обертанні.

Змішаний алфавіт — додатковий крокдалеч

Зверніть увагу: внутрішній диск не зсунутий, а змішаний алфавіт (mqihfdbacegklnprtuz&xyso). Змішування вбиває короткий шлях «відстань від E» усередині кожної купки: атакувальник мусить розв'язувати справжні підстановки, а не зсуви. Це перша поява трюку, який пізніші шифри (Playfair серед них) використовують знову, — і нагадування, що справжнім винаходом Альберті була будова ключа, а не його довжина.

Глосарій

Відкритий текст — Початкове читабельне повідомлення до шифрування.
Шифротекст — Перемішане повідомлення, отримане після шифрування.
Ключ — Секрет, що визначає, як саме змішується текст.
Алфавіт — Набір літер, з якими працює шифр.
Підстановка — Заміна кожної літери іншою.
Поліалфавітний — Шифр, що послідовно використовує кілька алфавітів замість одного.
Період — Скільки літер шифрується, перш ніж диск або алфавіт зміниться; після кожного періоду підстановка починається знову.
Частотний аналіз — Вивчення частоти літер; порівняння з мовою відкриває відкритий текст.
Повний перебір — Спробувати всі можливі ключі, поки повідомлення не набуде сенсу; можливо лише коли простір ключів малий.