Знакомство с криптографией

Здравствуй дорогой друг!
Сегодня я хотел бы поговорить об одном очень важном вопросе. О вопросе защиты информации.
История криптографии – науки о методах обеспечения конфиденциальности – восходит к далекому прошлому (ее история насчитывает около 4 тысяч лет). Известны идеи криптографической защиты информации Цезаря, шифр «скитала».
Давайте для начала разберем эти шифры:

Шифр Цезаря – данный шифр относится к моноалфавитным шифрам. Суть алгоритма в следующем – каждая последующая буква заменяется на следующую в алфавите.
Таким образом сообщение – «Мама мыла раму» будет преобразовываться следующим способом М -> Н
А -> Б
Ы -> Ь
Л -> М
Р -> C
У -> Ф
Полученное закодированное сообщение будет выглядеть как «нбнб ньмб сбнф» - что, конечно, защитило бы информацию тысячи 2 лет назад, но не в наши дни.
Алгоритм представляет собой следующее
1) Пока не конец
1.1) Считать следующий символ
1.2) Если символ = последний символ алфавита (z для английского алфавита, к примеру), то символ = первому символу алфавита, иначе символ = символ +1
1.3) Записать полученный символ.

Шифр «Скитала» (шифр Древней Спарты)
Данный шифр заключался в следующем – на цилиндр наматывали пергамент и писали сообщение. Затем пергамент разматывали и получалось закодированное сообщение, которое можно было прочитать только намотав пергамент на цилиндр аналогичного размера.
На смену старым алгоритмам шифрования приходили все новые и новые алгоритмы. На смену моноалфавитным шифрам(одной букву ставилась однозначно другая буква) пришли полиалфавитные(можно определить как комбинация моноалфавитных шифров). Давайте разберем один из примеров полиалфавитных шрифтов – шифр Гронсфельда.
Шифр Гронсфельда - это модификация шифра Цезаря. Данный алгоритм работает с тремя входными потоками –
1) Текст, подлежащий кодированию
2) Алфавит (может задаваться «константно»)
3) Ключ
Пару слов о ключе – ключ в данном алгоритме состоит из последовательности цифр, означающих сдвиг буквы по алфавиту. К примеру если на вход подавалась буква «М», а цифра в ключе была равно 5, то полученный символ будет равен «С»
Таким образом, если на вход подать текст «мама мыла раму» а ключ = 12345, то выходное сообщение будет формироваться так
М + 1 = Н
А + 2 = В
М +3 = П
А + 4 = Д
М + 5 = С
Ы + 1 = Ь
и так далее. Как можно было заметить при окончании ключа, проход по ключу начинается заново.
В результате получаем закодированную строку «НВПД СЬНГ ФЕНХ». Обычно в подобных алгоритмах строки приводят к одному регистру и убирают знаки пробела, перевода строк. Таким образом конечной строкой будет «нвпдсьнгфенх»
Количество криптографических алгоритмов поражает своим обилием, количеством классификаций. Перестановочные алгоритмы, алгоритмы замены, блочные и многие другие.
Криптографические алгоритмы используют военные, частные компании, люди, которые хотят скрыть свою личную информацию.
Во второй мировой войне использовались шифровальные машины. Ярким примером таких машин является «Энигма» - электрическая роторная шифровальная машина.
В современном мире описанные выше алгоритмы шифрования никто не использует. Почему? Данные алгоритмы уже давно утратили свою актуальность. На их смену пришли алгоритмы повышающие криптостойкость информации в сотни, тысячи раз.
Криптостойкость многих алгоритмов расценивается как 2^128. Перебор всех «вариантов» при такой стойкости займет не один десяток лет.


2012-03-30