"Бывает нечто, о чём говорят: "смотри, вот это новое"; но это было уже в веках, бывших прежде нас"
Екклезиаст гл.1 ст. 10

понедельник, 13 февраля 2012 г.

ВВЕДЕНИЕ В КРИПТОГРАФИЮ: ШИФР ЦЕЗАРЯ, КВАДРАТ ПОЛИБИЯ, ШИФР ВИЖЕНЕРА


Криптография (от греч. κρυπτός — скрытый и γράφω — пишу) — наука о методах обеспечения конфиденциальности (невозможности прочтения информации посторонним) и аутентичности (целостности и подлинности авторства, а также невозможности отказа от авторства) информации.
Имеются свидетельства, что криптография, как техника защиты текста, возникла вместе с письменностью, что способы тайного письма были известны уже древним цивилизациям Индии, Египта и Месопотамии.
Согласно свидетельствам древнеримского историка Цезарь использовал в переписке моноалфавитный шифр, вошедший в историю как Шифр Цезаря. Он описал его в своей книге «Записке о галльской войне». В шифре Цезаря каждая буква алфавита циклически сдвигается на определённое число позиций. Величину сдвига можно рассматривать как ключ шифрования. Сам Цезарь использовал сдвиг на три позиции. Для взлома шифра нужно было бы перебирать 25 вариантов (для латинского алфавита), до тех пор, пока не получится осмысленный текст.
Во 2-ом веке до н.э. в Древней Греции был изобретён Квадрат Полибия. В нём буквы алфавита записывались в квадрат 5 на 5, после чего передавались номер строки и столбца соответствующие символу исходного текста. Некоторые исследователи полагают, что это можно рассматривать как первую систему, уменьшавшую (сжимавшую) исходный алфавит, и в некотором смысле, как прообраз современной системы двоичной передачи данных.
Самым известным криптографом 16 века можно назвать Блеза де Виженера (Blaise de Vigenère; 1523-1596). В своём трактате 1585 года он описал шифр, названный впоследствие его именем.
В шифре Цезаря каждая буква алфавита сдвигается на несколько позиций; например в шифре Цезаря при сдвиге +3, A стало бы D, B стало бы E и так далее.

Шифр Виженера состоит из последовательности нескольких шифров Цезаря с различными значениями сдвига. Для шифрования используется таблица алфавитов, называемая tabula recta (таблица Виженера). Применительно к латинскому алфавиту таблица Виженера составляется из строк по 26 символов, причём каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 26 различных шифров Цезаря. На разных этапах кодировки шифр Виженера использует различные алфавиты из этой таблицы. На каждом этапе шифрования используются различные алфавиты, выбираемые в зависимости от символа ключевого слова.

Например, предположим, что исходный текст имеет вид:

IMPROVE YOUR PUZZLE SOLVING SKILLS

Ключевое слово - BOXENTRIQ


Человек, посылающий сообщение, записывает ключевое слово(«BOXENTRIQ») циклически до тех пор, пока его длина не будет соответствовать длине исходного текста:

IMPROVE YOUR PUZZLE SOLVING SKILLS
BOXENTR IQBO XENTRI QBOXENT RIQBOX


Первый символ J шифрованного текста находится на пересечении строки B и столбца I в таблице Виженера.
Точно так же для второго символа исходного текста используется второй символ ключа; то есть второй символ шифрованного текста A получается на пересечении строки O и столбца M.

Остальная часть исходного текста шифруется подобным способом.

Исходный текст: IMPROVE YOUR PUZZLE SOLVING SKILLS

Ключ: BOXENTRIQ

Зашифрованный текст: JAMVB OVGEV FMYMS CMIPZ SMAZJ SYMZP


Расшифрование производится следующим образом:

Находим в таблице Виженера строку, соответствующую первому символу ключевого слова; в данной строке находим первый символ зашифрованного текста. Столбец, в котором находится данный символ, соответствует первому символу исходного текста.

JAMVB OVGEV FMYMS CMIPZ SMAZJ SYMZP
BOXEN TRIQB OXENT RIQBO XENTR IQBOX

Следующие символы зашифрованного текста расшифровываются подобным же образом.

Приведённый пример взят с сайта www.boxentriq.com (Code-Breaking, Cipher and Logic Puzzles Solving Tools| Vigenère Cipher Decoder and Solver)

Как наука криптография начала развиваться только в 20 веке. В 1918 году выходит монография Уильяма Ф. Фридмана ( William F. Friedman; 1891-1969) «Индекс совпадения и его применение в криптографии» («Index of Coincedence and Its Applications in Cryptography»). Работа выходит в открытой печати, несмотря на то, что была выполнена в рамках военного заказа. Однако, после первой мировой войны, правительства всех стран засекретили все работы в области криптографии.

Значительной вехой в развитии криптографии является фундаментальный труд Клода Шеннона (Claude Elwood Shannon; 1916-2001) «Теория связи в секретных системах» (Communication Theory of Secrecy Systems), являвшимся секретным докладом, представленным автором в 1945 году и опубликованного им в «Bell System Technical Journal» в 1949 году. В этой работе, по мнению многих современных криптографов, был впервые показан подход к криптографии в целом как к математической науке. Были сформулированы её теоретические основы и введены понятия, с объяснения которых сегодня начинается изучение криптографии студентами.

В 1975 году публикуется работа Уитфилда Диффи (Whitfield Diffie; род.1944) и Мартина Хеллмана (Martin Hellman; род.1945) «Новые направления в криптографии» («New Directions in Cryptography»). Данная работа открыла новую область в криптографии, теперь известную как криптография с открытым ключом (Public-key cryptography).

С конца 1990 годов начинается процесс открытого формирования государственных стандартов на криптографические протоколы.