Автор работы: Пользователь скрыл имя, 07 Октября 2013 в 18:10, аттестационная работа
Современные криптографические системы позволяют шифровать сообщения так, что на их раскрытие могут понадобиться десятки или даже сотни лет непрерывной работы. Поэтому широкое использование информационных технологий привело к бурному развитию различных методов защиты информации, из которых основными можно, пожалуй, назвать, помехоустойчивое кодирование и криптографию. К настоящему времени криптография содержит множество результатов (теорем, алгоритмов), как фундаментальных, так и прикладных.
Введение 3
Предмет криптографии 6
Терминология 7
Принципы Керкхоффса 9
1. Метод Замены. 10
2. Метод Перестановки. 13
3. Метод дробления 15
4. Шифр Виженера 17
5. Шифрование с помощью аналитических преобразований 19
Заключение 22
Ключ |
P A N A M A |
Числовая последовательность |
6 1 5 2 4 3 |
Блок перестановки |
D E A R D A |
D P L E A S | |
E S E N D M | |
O N E Y A S | |
S O O N A S | |
P O S S I B | |
L E T O M | |
Шифрограмма |
EPSNO OEREN YNSOA SMSSB |
DADAA IMALE EOSTD DEOSP L |
В этом примере ключевое слово использовано для получения шифровальной числовой последовательности путем нумерации букв ключевого слова (относительно друг друга) в порядке их следования слева направо в стандартном алфавите. Далее под числовой последовательностью в строках, равных по длине ключевому слову, записан открытый текст. В процессе шифрования текст выписывается уже по отдельным столбцам в порядке, определяемом данной числовой последовательностью. Этот метод перестановки называется перестановкой столбцов, но можно избрать и другие «маршруты» перестановки, например выписывать шифротекст следуя по диагонали (слева направо или справа налево, или же чередуя левое и правое направления) или по спирали и т.п. Кроме того, буквы шифротекста могут записываться в виде различных геометрических фигур или любыми другими способами. Один из них состоит в двойном шифровании путем повторной перестановки столбцов. При этом и в первом, и во втором блоках перестановки может быть использовано одно и то же ключевое слово, хотя лучше использовать разные ключевые слова. Такой шифр, называющийся двойной перестановкой, получил широкое распространение в 20 в.
Третьим основным алгоритмом шифрования является дробление. При этом каждой букве открытого текста сопоставляется более одного символа шифротекста, после чего символы перемешиваются (переставляются) в определенном порядке. Ниже приведена система, демонстрирующая процедуру дробления с использованием знаменитого шифра Bifid, авторство которого приписывается французскому криптографу Феликсу Мари Деластеллю.
Ключевая фраза |
UNITED STATES OF AMERICA |
1 2 3 4 5 | |
1 U N I T E | |
Полибианский квадрат |
2 D S A O F |
3 M R C B G | |
4 H K L P Q | |
5 V W X Y Z | |
Открытый текст |
DEARDADPLEASESENDMOREMONEY |
Соответствующая строка |
21232224412212112323132115 |
Соответствующий столбец |
15321314353252521142514254 |
Шифротекст |
DASOHSNUAAIDEERITGRWWUKVKY |
Сначала составляется шифровальная таблица размером 5´5 (т.н. полибианский квадрат), куда построчно вписывается шифровальный алфавит с ключевой фразой UNITED STATES OF AMERICA; причем ради того, чтобы общее число букв алфавита не превышало 25, буква J опускается (поскольку эта буква, с одной стороны, малоупотребительна в английских текстах, а с другой – вполне может быть заменена буквой I, без какого-либо урона для смысла). В данной таблице букве A, например, соответствуют координаты 23, букве B – 34 и т.д.
Далее, в процессе шифрования под каждой буквой открытого текста в столбик записываются ее табличные координаты – номер строки и, ниже, номер столбца, а затем получившаяся цифровая последовательность переводится с помощью той же таблицы обратно в буквенную форму, но на этот раз она читается уже в строчку, т.е. 21 – буква D, 23 – буква A, 22 – буква S и т.д. При таком шифровании координата строки и координата столбца каждой буквы оказываются разъединенными, что характерно именно для раздробляющего шифра.
Замена, перестановка и дробление представляют собой основные криптографические алгоритмы. Эти три базовых преобразования, зачастую в сочетании друг с другом, используются в большинстве систем шифрования для создания очень сложных шифровальных алгоритмов, особенно когда шифрование производится компьютером.
Код отличается от шифра тем, что подходит к преобразованию открытого текста скорее с лингвистической точки зрения, нежели с чисто формальной, как в вышеописанных примерах. (В повседневном употреблении термин «код» обыкновенно путают с термином «шифр».) Кодирование, как правило, включает в себя применение пространной таблицы или кодового словаря, где перечислены числовые соответствия (эквиваленты) не только для отдельных букв, но и для целых слов и наиболее употребительных фраз и предложений. Например, такая кодовая группа, как AABRT, вполне может соответствовать открытому тексту «как можно быстрее». Раньше в дипломатических и военных криптографических системах часто использовались весьма пространные коды. Однако с появлением компьютеров наибольшее распространение получили шифры.
Квадрат Виженера, или таблица Виженера, также известная как tabula recta, может быть использована для шифрования и расшифрования.
Для зашифровывания может использоваться таблица алфавитов, называемая tabula recta или квадрат (таблица) Виженера. Применительно к латинскому алфавиту таблица Виженера составляется из строк по 26 символов, причём каждая следующая строка сдвигается на несколько позиций. Таким образом, в таблице получается 26 различных шифров Цезаря. На разных этапах кодировки шифр Виженера использует различные алфавиты из этой таблицы. На каждом этапе шифрования используются различные алфавиты, выбираемые в зависимости от символа ключевого слова. Например, предположим, что исходный текст имеет вид:
ATTACKATDAWN
Человек, посылающий сообщение, записывает ключевое слово («LEMON») циклически до тех пор, пока его длина не будет соответствовать длине исходного текста:
LEMONLEMONLE
Первый символ исходного текста A зашифрован последовательностью L, которая является первым символом ключа. Первый символ L шифрованного текста находится на пересечении строки L и столбца A в таблице Виженера. Точно так же для второго символа исходного текста используется второй символ ключа; то есть второй символ шифрованного текста X получается на пересечении строки E и столбца T. Остальная часть исходного текста шифруется подобным способом.
Исходный текст: ATTACKATDAWN
Ключ: LEMONLEMONLE
Зашифрованный текст: LXFOPVEFRNHR
Расшифровывание производится следующим образом: находим в таблице Виженера строку, соответствующую первому символу ключевого слова; в данной строке находим первый символ зашифрованного текста. Столбец, в котором находится данный символ, соответствует первому символу исходного текста. Следующие символы зашифрованного текста расшифровываются подобным образом.
Если буквы A-Z соответствуют числам 0-25, то шифрование Виженера можно записать в виде формулы:
Расшифровка:
5. Шифрование с помощью аналитических преобразований
Достаточно надежное закрытие информации может быть обеспечено при использовании для шифрования некоторых аналитических преобразований. Для этого можно использовать методы алгебры матриц, например, умножение матрицы на вектор по правилу:
Если матрицу использовать в качестве ключа, а вместо компонента вектора подставить символы текста, то компоненты вектора будут представлять собой символы зашифрованного текста.
Приведем пример, взяв в качестве ключа квадратную матрицу третьего порядка:
Заменим буквы алфавита цифрами, соответствующими их порядковому номеру в алфавите: А-0, Б-1, В-2 и т. д. Тогда отрывку текста ВАТАЛА будет соответствовать последовательность 2, 0, 19, 0, 12, 0. По принятому алгоритму шифрования выполним необходимые действия:
При этом зашифрованный текст будет иметь вид:85, 54, 25, 96, 60, 24.
Расшифрование осуществляется с использованием того же правила умножения матрицы на вектор, только в качестве ключа берется матрица, обратная той, с помощью которой осуществляется шифрование, а в качестве вектора-сомножителя - соответствующие фрагменты символов закрытого текста; тогда значениями вектора-результата будут цифровые эквиваленты знаков открытого текста.
Матрицей, обратной данной
А, называется матрица А-1, получающаяся из присоединенной
матрицы делением всех ее элементов на
определитель данной матрицы. В свою очередь присоединенной называе
где: - определитель матрицы, получаемой вычеркиванием i-ой строки и j-ого столбца исходной матрицы А.
Определителем матрицы называется алгебраическая сумма n - членов (для определителя п-го порядка), составленная следующим образом: членами служат всевозможные произведения п элементов матрицы, взятых по одному в каждой строке и в каждом столбце, причем член суммы берется со знаком "+", если его индексы составляют четную подстановку, и со знаком "-" - в противоположном случае. Для матрицы третьего порядка, например, определитель вычисляется следующим образом:
Тогда процесс раскрытия выглядит так:
Таким образом, получена последовательность знаков раскрытого текста: 2, 0, 19, 0, 12, 0, что соответствует исходному тексту. Этот метод шифрования является формальным, что позволяет легко реализовать его программными средствами.
Заключение
Криптография сегодня - это важнейшая часть всех информационных систем: от электронной почты до сотовой связи, от доступа к сети Internet до электронной наличности. Криптография обеспечивает подотчетность, прозрачность, точность и конфиденциальность. Она предотвращает попытки мошенничества в электронной коммерции.
Криптография помогает установить вашу личность, но и обеспечивает вам анонимность. Она мешает хулиганам испортить сервер и не позволяет конкурентам залезть в ваши конфиденциальные документы. А в будущем, по мере того как коммерция и коммуникации будут все теснее связываться с компьютерными сетями, криптография станет жизненно важной.