Трехзначный шифр - Trifid cipher
В трехзначный шифр это классический шифр изобретен Феликс Деластель и описан в 1902 г.[1] Расширяя принципы раннего подхода Деластель бифидный шифр, он сочетает в себе приемы фракционирование и транспозиция для достижения определенного количества путаница и распространение: каждая буква зашифрованного текста зависит от трех букв открытого текста и до трех букв ключа.
Трехраздельный шифр использует таблицу для дробить каждую букву открытого текста в триграмма,[2] смешивает составляющие триграмм, а затем применяет таблицу в обратном порядке, чтобы превратить эти смешанные триграммы в буквы зашифрованного текста. Деластель отмечает, что наиболее практичная система использует три символа для триграмм:[3]
Чтобы разбить буквы на три части, необходимо их обозначить группой из трех знаков или цифр. Знаю это п объекты, объединенные всеми возможными способами в триграммы, дают п × п × п = п3, мы понимаем, что три - единственное значение для п; два даст только 23 = 8 триграмм, а четыре дадут 43 = 64, но три дают 33 = 27.
Описание
Как обсуждалось выше, шифр требует 27-буквенного смешанного алфавита: мы следуем за Деластелем, используя знак плюс в качестве 27-й буквы.[4] Традиционный метод построения смешанного алфавита из ключевого слова или фразы состоит в том, чтобы записать уникальные буквы ключа по порядку, за которыми следуют оставшиеся буквы алфавита в обычном порядке.[5] Например, ключ FELIX MARIE DELASTELLE дает смешанный алфавит FELIXMARDSTBCGHJKNOPQUVWYZ +.
Каждой букве смешанного алфавита мы назначаем одну из 27 триграмм (111, 112,…, 333), заполняя куб 3 × 3 × 3 буквами смешанного алфавита и используя Декартовы координаты каждой буквы как соответствующей триграммы.
Слой 1 | Слой 2 | Слой 3 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 1 | 2 | 3 | 1 | 2 | 3 | |||||
1 | F | E | L | 1 | S | Т | B | 1 | О | п | Q | ||
2 | я | Икс | M | 2 | C | грамм | ЧАС | 2 | U | V | W | ||
3 | А | р | D | 3 | J | K | N | 3 | Y | Z | + |
Из этого куба строим таблицы для шифрования букв как триграмм и расшифровки триграмм как букв:
Шифрование алфавита | Расшифровка алфавита | |||||
---|---|---|---|---|---|---|
А = 131 | J = 231 | S = 211 | 111 = F | 211 = S | 311 = О | |
В = 213 | К = 232 | Т = 212 | 112 = E | 212 = Т | 312 = П | |
С = 221 | L = 113 | U = 321 | 113 = L | 213 = В | 313 = Q | |
D = 133 | M = 123 | V = 322 | 121 = Я | 221 = С | 321 = U | |
E = 112 | N = 233 | W = 323 | 122 = Х | 222 = Г | 322 = V | |
F = 111 | O = 311 | Х = 122 | 123 = М | 223 = Н | 323 = Вт | |
G = 222 | P = 312 | Y = 331 | 131 = А | 231 = Дж | 331 = Y | |
В = 223 | Q = 313 | Z = 332 | 132 = R | 232 = К | 332 = Z | |
I = 121 | R = 132 | + = 333 | 133 = D | 233 = N | 333 = + |
Протокол шифрования делит открытый текст на группы фиксированного размера (плюс, возможно, одну короткую группу в конце): это ограничивает ошибки кодирования группой, в которой они возникают,[6] важное соображение для шифров, которые должны быть реализованы вручную. Размер группы должен быть совмещать до 3, чтобы получить максимальное распространение в каждой группе: Деластель приводит примеры с группами из 5 и 7 букв. Он описывает этап шифрования следующим образом:[7]
Начнем с написания вертикально под каждой буквой - числовая триграмма, соответствующая ей в алфавите шифрования: затем продолжаем по горизонтали как если бы числа были записаны в одну строку, мы берем группы из трех чисел, ищем их в расшифровывающем алфавите и записываем результат под каждым столбцом.
Например, если сообщение Aide-toi, le ciel t'aidera, а размер группы равен 5, то шифрование происходит следующим образом:
а я д е-т о и л е ц и е л т'а и д е р а1 1 1.1 2 3 1 1.1 2 1 1 1.2 1 1 1 1.1 13.2 3 1.1 1.2 1 1.2 2.1 1 1.3 2.3 1 3.31 1.3 2 2 1 1.3 2 1 1 2.3 2 1 1 3.2 2 1F M J F V O I S S U F T F P U F E Q Q C
В этой таблице точки ограничивают триграммы, поскольку они читаются по горизонтали в каждой группе, таким образом, в первой группе мы имеем 111 = F, 123 = M, 231 = J и так далее.
Примечания
- ^ Деластель, стр. 101–3.
- ^ Отсюда и название трогательный, что означает «разделенный на три части» (Оксфордский словарь английского языка).
- ^ Деластель, стр. 101: "Afin de pouvoir fragmenter les lettres en trois party…"
- ^ Деластель, стр. 102: «Mais l'alphabet français ne contenant que vingt-six lettres…»
- ^ Видеть подстановочный шифр.
- ^ Гейнс, стр. 210.
- ^ Деластель, стр. 102: "Nous commençons par inscrire вертикальмент sous chaque lettre… "
Рекомендации
- Деластель, Феликс (1902). Traité Élémentaire de Cryptographie. Париж: Готье-Виллар.
- Гейнс, Хелен (1939). Криптоанализ: исследование шифров и их решение. Нью-Йорк: Дувр.