Автор: Пользователь скрыл имя, 15 Февраля 2012 в 16:12, реферат
Криптоло́гия — наука, занимающаяся методами шифрования и дешифрования. Криптология состоит из двух частей — криптографии и криптоанализа. Криптография занимается разработкой методов шифрования данных, в то время как криптоанализ занимается оценкой сильных и слабых сторон методов шифрования, а также разработкой методов, позволяющих взламывать криптосистемы.
Моноалфавитные
подстановки можно описать
Ei = (Mi + Si)mod L, (1.1)
где Ei, Mj_ - числовые эквиваленты символов алфавита шифро-текста и алфавита открытого текста соответственно; Si -коэффициент сдвига; L - мощность алфавита.
Шифр Цезаря
Простейшим примером моноалфавитных подстановок является шифр Цезаря. В этом шифре каждый символ открытого текста заменяется третьим после него символом в алфавите, замкнутом в кольцо, т. е. после пробела следует буква «А». Таким образом, шифр Цезаря описывается так:
Ei = ( Mi + S)mod L, (1.2)
где S - коэффициент сдвига, одинаковый для всех символов.
Цезарь применял величину сдвига S = 3, но, конечно, можно использовать любое целое S: 1 < S < (L - 1).
Зашифруем, например, текст «ШИФР_ЦЕЗАРЯ», применяя коэффициент сдвига S = 2:
Открытый текст: ШИФР _ЦЕЗ А Р Я Криптограмма: ЫКЦТ Б ШЗ ЙВТ А
Частотный анализ
Все естественные языки имеют характерное частотное распределение символов. Например, буква «О» встречается в русском языке чаще других, а буква «Ф» - самая редкая. Приведем вероятности встречаемости букв русского языка ( табл.1.3).
Моноалфавитные подстановки обладают важным свойством: они не нарушают частот появления символов, характерных для данного языка. Это позволяет криптоаналитику легко получить открытый текст при помощи частотного анализа. Для этого нужно сопоставить частоты появления символов криптограммы с вероятностями появления букв используемого алфавита открытого текста ( в данном случае русского). После этого наиболее частые символы криптограммы заменяются на наиболее вероятные символы алфавита, остальные замены производятся на основе вероятных слов и знания синтаксических правил используемого языка.
Таблица 1.3
Символ | Вероятность | Символ | Вероятность | Символ | Вероятность |
Пробел | 0,175 | К | 0,028 | Ч | 0,012 |
О | 0,089 | М | 0,026 | Й | 0,010 |
Е | 0,072 | Д | 0,025 | Х | 0,009 |
А | 0,062 | П | 0,023 | Ж | 0,007 |
И | 0,062 | У | 0,021 | Ю | 0,006 |
Н | 0,053 | Я | 0,018 | Ш | 0,006 |
Т | 0,053 | Ы | 0,016 | Ц | 0,004 |
С | 0,045 | З | 0,016 | Щ | 0,003 |
Р | 0,040 | Ь | 0,014 | Э | 0,003 |
В | 0,038 | Б | 0,014 | ф | 0,002 |
Л | 0,035 | Г | 0,013 |
Шифр полиалфавитной подстановки
В случае моноалфавитных подстановок применяется только один алфавит шифротекста. Существуют шифры, где используется целый набор алфавитов шифротекста. Такие шифры называются полиалфавитными и позволяют, в отличие от моноалфавитных подстановок, скрыть естественную частоту появления символов в тексте.
Простая полиалфавитная подстановка (или шифр Виженера) последовательно и циклически меняет используемые алфавиты шифротекста. Число используемых алфавитов называется периодом шифра. Для зашифрования используется ключ - слово или бессмысленный набор символов алфавита открытого текста. Каждая буква ключа определяет свой алфавит шифротекста, который получается из алфавита открытого текста циклическим сдвигом на количество символов, равное числовому эквиваленту буквы ключа. Очевидно, что длина ключа равна периоду шифра.
Чтобы зашифровать сообщение шифром Виженера, поступают следующим образом. Под каждой буквой открытого текста помещается буква ключа. Ключ циклически повторяется необходимое число раз. Чтобы вычислить числовой эквивалент буквы криптограммы, числовой эквивалент буквы ключа складывается по модулю L с числовым эквивалентом буквы открытого текста, где L - мощность алфавита открытого текста. Таким образом, шифр Виженера описывается следующим выражением:
Ei = (Mi + Ki mod mod L, (2.1)
где Ei, Mi - числовые эквиваленты символов криптограммы и открытого текста соответственно; ^ - числовой эквивалент
буквы ключа; L - мощность алфавита открытого текста; U -длина ключа или период шифра.
Буквы ключа определяют величину смещения символов криптограммы относительно символов открытого текста.
Зашифруем,
например, текст «полиалфавитная_
Таблица 2.1
Исходный текст | Число | Ключ | Число | Зашифрование | Число | Криптограмма |
П | 15 | К | 10 | (15 + 10) mod 32 | 25 | Щ |
О | 14 | Р | 16 | (14 + 16) mod 32 | 30 | Я |
Л | 11 | А | 0 | (11 + 0) mod 32 | 11 | Л |
И | 8 | Б | 1 | ( 8 + 1) mod 32 | 9 | и |
А | 0 | К | 10 | ( 0 + 10) mod 32 | 10 | К |
Л | 11 | Р | 16 | (11 + 16) mod 32 | 27 | Ь |
Ф | 20 | А | 0 | (20 + 0) mod 32 | 20 | Ф |
А | 0 | Б | 1 | ( 0 + 1) mod 32 | 1 | Б |
В | 2 | К | 10 | ( 2 + 10) mod 32 | 12 | М |
И | 8 | Р | 16 | ( 8 + 16) mod 32 | 24 | Ш |
Т | 18 | А | 0 | (18 + 0) mod 32 | 18 | Т |
Н | 13 | Б | 1 | (13 + 1) mod 32 | 14 | О |
А | 0 | К | 10 | ( 0 + 10) mod 32 | 10 | К |
Я | 30 | Р | 16 | (30 + 16) mod 32 | 14 | О |
31 | А | 0 | (31 + 0) mod 32 | 31 | ||
П | 15 | Б | 1 | (15 + 1) mod 32 | 16 | Р |
О | 14 | К | 10 | (14 + 10) mod 32 | 24 | Ш |
Д | 4 | Р | 16 | ( 4 + 16) mod 32 | 20 | Ф |
С | 17 | А | 0 | (17 + 0) mod 32 | 17 | С |
Т | 18 | Б | 1 | (18 + 1) mod 32 | 19 | У |
А | 0 | К | 10 | ( 0 + 10) mod 32 | 10 | К |
Н | 13 | Р | 16 | (13 + 16) mod 32 | 29 | Ю |
О | 14 | А | 0 | (14 + 0) mod 32 | 14 | О |
В | 2 | Б | 1 | ( 2 + 1) mod 32 | 3 | Г |
К | 10 | К | 10 | (10 + 10) mod 32 | 20 | Ф |
А | 0 | Р | 16 | ( 0 + 16) mod 32 | 16 | Р |
В результате получилась криптограмма:
«ЩЯЛиКЬФБМШТОКО_Р ШФСУКЮОГФР».
Описанный в работе 1 шифр Цезаря является частным случаем шифра Виженера с периодом, равным единице.
где N - число символов в криптограмме; f[i] - общее число встречаемости i-й буквы алфавита в анализируемой криптограмме .
Существуют таблицы, содержащие теоретически ожидаемые значения ИС для разных длин ключа. Здесь представлена табл.2.2 для алфавита, состоящего из русских букв и пробела. Криптоаналитик, рассчитав ИС анализируемой им криптограммы, может определить ее период по такой таблице.
Однако из-за погрешностей в оценке ИС его использование становится неэффективным при длине ключа большей, чем десять символов.
Таблица 2.2
|
Зашифрование «бегущим» ключем
Каждый символ открытого текста складывается с символом ключа по модулю алфавита шифротекста. Ключом в данном случае является некоторая последовательность символов, называемая иногда «бегущим» ключом. Существует много способов порождения подобной ключевой последовательности. В данной работе в качестве «бегущего» ключа используются осмысленные тексты на русском языке, являющиеся предложениями из известных литературных произведений, крылатых фраз, песен, лозунгов и т. п. Алфавит шифротекста совпадает с алфавитом открытого текста.
Дешифрование методом вероятных слов
Метод вероятных слов основан на том, что чаще всего заранее известна область применения криптограммы, а значит, и слова, которые могут встретиться в открытом тексте. Например, если известно, что в криптограмме зашифрован финансовый отчет, вероятно в открытом тексте встречаются слова «дебет», «кредит», «баланс» и т. п.
Так как в полиалфавитных подстановках криптограмма является суммой открытого текста и ключа по модулю L, то, чтобы проверить наличие вероятного слова в тексте, необходимо вычесть его из криптограммы по модулю L во всех возможных позициях, где L - мощность алфавита открытого текста.
Если данное вероятное слово присутствует в открытом тексте и вычитается в правильной позиции, то результатом такого вычитания будет ключ зашифрования или его часть. Если слово испытывается в неправильной позиции, то результатом вычитания будет бессмысленный набор букв. Понятно, что, если этого слова нет в открытом тексте, то все позиции будут неправильными.
· Шнайер Б. Криптоанализ // Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си = Applied Cryptography. Protocols, Algorithms and Source Code in C — М.: Триумф, 2002. — С. 19—22. — 816 с. — 3000 экз. — ISBN 5-89392-055-4.
· Пилиди В. С. Криптография. Вводные главы — Ростов-на-Дону: ЮФУ, 2009. — 110 с.