Квадрат Полибия
Полибий ( ок. 200 до н. э. ок. 120 до н. э.) древнегреческий историк, государственный деятель и военачальник, автор « Всеобщей истории » (« Истории ») в 40 томах, охватывающих события в Риме, Греции, Македонии, Малой Азии и в других регионах с 220 до н. э. по 146 до н. э. Полибий предложил шифр, ставший значительным шагом вперед, по сравнению с предыдущими системами шифрования.
Квадрат Полибия ( Шахматная доска Полибия, Шифр Полибия, Тюремная азбука ) - способ кодирования букв алфавита, с целью его приведения к виду, удобному для передачи по каналу связи. Данный вид кодирования изначально применялся для греческого алфавита, но затем был распространен на другие языки.
Квадрат Полибия в Древней Греции В Квадрате Полибия греческого алфавита буквы алфавита записывались в квадрат 5 на 5 ( одна ячейка оставалась пустой ), после чего с помощью оптического телеграфа передавались номер строки и столбца, соответствующие символу исходного текста ( на каждую букву приходилось два сигнала : число факелов обозначало разряд буквы по горизонтали и вертикали ) ΑΒΓΔΕ 2 ΖΗΘΙΚ 3 ΛΜΝΞΟ 4 ΠΡΣΤΥ 5 ΦΧΨΩ Квадрат Полибия с греческим алфавитом. Для передачи, например, буквы « Θ » сначала показывали два факела, потом три.
Тюремная азбука АБВГД 2 ЕЖЗИК 3 ЛМНОП 4 РСТУФ 5 ХЦЧШЩ 6 ЫЮЯ -- Нередко Квадрат Полибия применялся, как средство передачи информации в тюрьме ( через стенку ), и поэтому получил название « Тюремная азбука ». Первоначально редким стуком в стену камеры указывалась строка, а затем через краткую паузу частым стуком, отсчитывалась буква. Например, для того, чтобы выстукать слово « кто », нужно дважды стукнуть редко, а затем пять раз ударить часто ( буква К ), затем четыре раза стукнуть редко и три часто ( буква Т ) и, наконец, трижды ударить редко и четыре раза часто ( О ). Принимающий стуки записывает одну за другой передаваемые буквы и, таким образом, составляет целые слова и фразы.
Способ шифрования Шаг 1: Формирование таблицы шифрования К каждому языку отдельно составляется таблица шифрования с одинаковым ( не обязательно ) количеством пронумерованных строк и столбцов, параметры которой зависят от его мощности ( количества букв в алфавите ). Берутся два целых числа, произведение которых ближе всего к количеству букв в языке получаем нужное число строк и столбцов. Затем вписываем в таблицу все буквы алфавита подряд по одной на каждую клетку. При нехватке клеток можно вписать в одну две буквы ( редко употребляющиеся или схожие по употреблению ).
Число букв в русском алфавите отличается от числа букв в греческом алфавите, поэтому размер таблицы выбран другой ( квадрат 6*6=36, поскольку 36 наиболее близкое число к 33): АБВГДЕ 2 ЁЖЗИЙК 3 ЛМНОПР 4 СТУФХЦ 5 ЧШЩЪЫЬ 6 ЭЮЯ --- Возможен также другой вариант составления, предусматривающий объединение букв Е и Ё, И и Й, Ъ и Ь. В данном случае получаем следующий результат : АБВГД Е/ЁЕ/Ё 2 ЖЗ И/ЙИ/Й КЛМ 3 НОПРСТ 4 УФХЦЧШ 5 ЩЫ Ь/ЪЬ/Ъ ЭЮЯ
Латинский алфавит В современном латинском алфавите 26 букв, следовательно таблица должна состоять из 5 строк и 5 столбцов, так как 25=5*5 наиболее близкое к 26 число. При этом буквы I, J не различаются (J отождествляется с буквой I), так как не хватает 1 ячейки : ABCDE 2FGHI/JK 3LMNOP 4QRSTU 5VWXYZ
Способ шифрования Шаг 2: Принцип шифрования Метод 1 Для шифрования на квадрате находили букву текста и вставляли в шифровку нижнюю от неё в том же столбце. Если буква была в нижней строке, то брали верхнюю из того же столбца. Зашифруем слово «SOMETEXT»: ABCDE 2FGHI/JK 3LMNOP 4QRSTU 5VWXYZ Буква текста SOMETEX Буква шифротекста XTRKYKC Таблица координат Результат До шифрования : SOMETEXT После шифрования : XTRKYKCY
Метод 2 Сообщение преобразуется в координаты по квадрату Полибия, координаты записываются вертикально : Таблица координат Буква :SOMETEX Координата вертикальная : Координата горизонтальная : Затем координаты считывают по строкам : ABCDE 2FGHI/JK 3LMNOP 4QRSTU 5VWXYZ
Далее координаты преобразуются в буквы по этому же квадрату : Таблица координат Координата вертикальная : Координата горизонтальная : Буква :SWYSOCD ABCDE 2FGHI/JK 3LMNOP 4QRSTU 5VWXYZ Результат До шифрования : SOMETEXT После шифрования : SWYSOCDU
Метод 3 Усложненный вариант, который заключается в следующем : полученный первичный шифротекст шифруется вторично. При этом он выписывается без разбиения на пары : Первичный шифротекст Полученная последовательность цифр сдвигается циклически влево на один шаг ( нечетное количество шагов ): Эта последовательность вновь разбивается в группы по два :
По таблице заменяется на окончательный шифротекст : Таблица координат Координата вертикальная : Координата горизонтальная : Буква :IUPTNQV ABCDE 2FGHI/JK 3LMNOP 4QRSTU 5VWXYZ Результат До шифрования : SOMETEXT После шифрования : IUPTNQVO
Добавление ключа На первый взгляд шифр кажется очень нестойким, но для его реальной оценки следует учитывать два фактора : возможность заполнить квадрат Полибия буквами произвольно, а не только строго по алфавиту ; возможность периодически заменять квадраты. Тогда анализ предыдущих сообщений ничего не дает, так как к моменту раскрытия шифра он может быть заменен. Буквы могут вписываться в таблицу в произвольном порядке заполнение таблицы в этом случае и является ключом. Для латинского алфавита в первую клетку можно вписать одну из 25 букв, во вторую одну из 24, в третью одну из 23 и т. д. Получаем максимальное количество ключей для шифра на таблице латинского алфавита : N=25*24*23*…*2*1=25!
Соответственно для дешифрования сообщения потребуется не только знание алфавита, но и ключа, с помощью которого составлялась таблица шифрования. Но произвольный порядок букв тяжело запомнить, поэтому пользователю шифра необходимо постоянно иметь при себе ключ квадрат. Появляется опасность тайного ознакомления с ключом посторонних лиц. В качестве компромиссного решения был предложен ключ пароль. Пароль выписывается без повторов букв в квадрат ; в оставшиеся клетки в алфавитном порядке выписываются буквы алфавита, отсутствующие в пароле.
Зашифруем слово « SOMETEXT », используя ключ « DRAFT ». Составим предварительно таблицу шифрования с данным ключом, записывая символы ключа по порядку в таблицу, после них остальной алфавит : DRAFT 2BCEGH 3IKLMN 4OPQSU 5VWXYZ Преобразуем сообщение в координаты по квадрату Полибия : Таблица координат Буква :SOMETEX Координата вертикальная : Координата горизонтальная :
Считаем координаты по строкам : Преобразуем координаты в буквы по этому же квадрату : Таблица координат Координата вертикальная : Координата горизонтальная : Буква :FMNXSEB DRAFT 2BCEGH 3IKLMN 4OPQSU 5VWXYZ Результат До шифрования : SOMETEXT После шифрования : FMNXSEBT
Спасибо за внимание !