Tabula recta - Википедия - Tabula recta

Tabula recta

В криптография, то tabula recta (из латинский табула rēcta ) представляет собой квадратную таблицу алфавитов, каждая строка которой образована сдвигом предыдущей влево. Термин был изобретен немецким писателем и монахом. Йоханнес Тритемиус[1] в 1508 г. и использовал Шифр Тритемия.

Шифр Тритемия

Шифр Тритемия был опубликован Иоганном Тритемиусом в его книге. Полиграфия, который считается первой опубликованной работой по криптология.[2]

Тритемий использовал tabula recta определить полиалфавитный шифр, что было эквивалентно Леон Баттиста Альберти с шифровальный диск за исключением того, что порядок букв в целевом алфавите не смешанный. В tabula recta часто упоминается при обсуждении докомпьютерных шифров, включая Шифр Виженера и Блез де Виженера менее известный автоключ шифр. Все полиалфавитные шифры на основе Шифр цезаря можно описать с точки зрения tabula recta.

В прямоугольной таблице используется буквенный квадрат с 26 буквами алфавита, за которыми следуют 26 рядов дополнительных букв, каждая из которых сдвинута один раз влево от предыдущей. Это, по сути, создает 26 различных Шифры Цезаря.[1]

Результирующий зашифрованный текст выглядит как случайная строка или блок данных. За счет переменного смещения естественный частота букв скрыты. Однако, если взломщик кода знает, что этот метод был использован, его легко взломать. Шифр уязвим для атак, потому что ему не хватает ключ, тем самым нарушая Принцип Керкхоффса криптологии.[1]

Улучшения

В 1553 году важное расширение метода Тритемия было разработано Джован Баттиста Беллазо, теперь называется Шифр Виженера.[3] Белласо добавил ключ, который используется, чтобы диктовать переключение шифралфавитов с каждой буквой. Этот метод был ошибочно отнесен к Блез де Виженера, опубликовавший аналогичный автоключ шифр в 1586 г.

Классический шифр Тритемиуса (с использованием сдвига на единицу) эквивалентен шифру Виженера с ABCDEFGHIJKLMNOPQRSTUVWXYZ в качестве ключа. Это также эквивалентно шифру Цезаря, в котором сдвиг увеличивается на 1 с каждой буквой, начиная с 0.

использование

В основной части прямоугольной таблицы каждый алфавит сдвинут на одну букву влево от буквы над ним. Это формирует 26 рядов сдвинутых алфавитов, заканчивающихся алфавитом, начинающимся с Z (как показано на рисунке). От этих 26 алфавитов отделены строка заголовка вверху и столбец заголовка слева, каждый из которых содержит буквы алфавита в порядке от A до Z.

Прямая таблица может использоваться несколькими эквивалентными способами для шифрования и дешифрования текста. Чаще всего левый столбец заголовка используется для букв открытого текста, как с шифрованием, так и с дешифрованием. Это использование будет описано здесь. Чтобы расшифровать шифр Тритемия, нужно сначала найти в прямоугольной таблице буквы, которые нужно расшифровать: первую букву в первом внутреннем столбце, вторую букву во втором столбце и т. Д .; буква в крайнем левом столбце заголовка - это соответствующая расшифрованная буква открытого текста. Предполагая стандартный сдвиг 1 без использования ключа, зашифрованный текст HFNOS будет расшифрован как HELLO (H-> H, F-> E, N-> L, O-> L, S-> O). Так, например, чтобы расшифровать вторую букву этого текста, сначала найдите F во втором внутреннем столбце, а затем переместитесь прямо влево до самого левого столбца заголовка, чтобы найти соответствующую букву открытого текста: E.

Данные шифруется противоположным образом: сначала каждую букву открытого текста сообщения помещают в крайний левый столбец заголовка прямой таблицы и сопоставляют с соответствующей соответствующей буквой во внутренних столбцах. Например, первая буква сообщения находится в левом столбце заголовка, а затем сопоставляется с буквой прямо напротив в столбце, озаглавленном «А». Следующая буква затем сопоставляется с соответствующей буквой в столбце, озаглавленном «B», и это продолжается до тех пор, пока все сообщение не будет зашифровано.[4] Если предполагается, что шифр Тритемиуса имеет ключ ABCDEFGHIJKLMNOPQRSTUVWXYZ, процесс шифрования также можно концептуализировать как нахождение для каждой буквы пересечения строки, содержащей букву, которая должна быть зашифрована, со столбцом, соответствующим текущей букве ключа. Буква, на которой пересекаются эта строка и столбец, является буквой зашифрованного текста.

Программно шифр вычислим, присваивая , то процесс шифрования . Расшифровка выполняется в том же процессе, обмениваясь зашифрованным и открытым текстом. ключ может быть определено как значение буквы из сопутствующего зашифрованного текста в бегущий ключевой шифр, константа для Шифр цезаря, или счетчик с отсчетом от нуля с некоторым периодом в использовании Тритемия.[5]

Рекомендации

Цитаты

  1. ^ а б c Salomon, Конфиденциальность данных, стр. 63
  2. ^ Кан, Дэвид (1996). Взломщики кодов (2-е изд.). Скрибнер. п. 133. ISBN  978-0-684-83130-5.
  3. ^ Salomon, Кодирование данных, стр. 249
  4. ^ Родригес-Кларк, Дэн, Полиалфавитные шифры замещения, Crypto Corner
  5. ^ Кан, стр.136

Источники

  • Саломон, Дэвид (2005). Кодирование для данных и компьютерных коммуникаций. Springer. ISBN  0-387-21245-0.
  • Саломон, Дэвид (2003). Конфиденциальность и безопасность данных. Springer. ISBN  0-387-00311-8.
  • Король, Франциск X. (1989). Современная ритуальная магия: подъем западного оккультизма (2-е изд.). Prism Press. ISBN  1-85327-032-6.
  • Кан, Дэвид (1996). Взломщики кодов. Саймон и Шустер. ISBN  0-684-83130-9.