Автор работы: Пользователь скрыл имя, 24 Января 2013 в 21:25, курсовая работа
Человечество изобрело большое число способов секретного письма, многие из них были известны еще в древности. В некоторых способах тайного письма используются физические особенности носителей информации. Так симпатические чернила исчезают вскоре после написания ими текста или невидимы с самого начала. Но их можно снова сделать видимыми, обработав документ специальным химическим реактивом или осветив лучами определенной части спектра, обычно - ультрафиолетом. Стеганография предполагает, что передаваемый текст "растворяется" в сообщении большего размера с совершенно "посторонним" смыслом.
1.1 Введение
1.2Что такое шифрование
1.3. Основные понятия и определения криптографии
1.4 Симметричные и асимметричные криптосистемы.
2.1 Алгоритм шифрования
2.2. Основные алгоритмы шифрования
2.3. Шифр Цезаря
2.4 Создание программы для системы шифрования Цезаря
3.1 Заключение
3.2 Список литературы
Преобразуя числа в буквы русского алфавита, получаем следующее соответствие для букв открытого текста и шифртекста:
А |
Б |
В |
Г |
Д |
Е |
Ж |
З |
И |
Й |
К |
Л |
М |
Н |
О |
П |
Р |
Г |
И |
Н |
Т |
Ч |
Ъ |
_ |
Е |
К |
П |
Ф |
П |
Ю |
В |
З |
М |
С |
С |
Т |
У |
Ф |
Х |
Ц |
Ч |
Ш |
Щ |
Ь |
Ы |
Ъ |
Э |
Ю |
Я |
_ |
|
Ц |
Ы |
_ |
Д |
Й |
О |
У |
Ш |
Э |
А |
Ж |
Л |
Р |
Х |
Ь |
Я |
Исходное сообщение:
МОСКОВСКИЙ_ИНСТИТУТ_СТАЛИ_И_
будет выглядеть следующим образом:
ЮЗЦФЗНЦФКПЯКВЦЫКЫ_
Здесь ключ – это пара чисел a, b.
2.4 Создание программы для системы шифрования Цезаря
Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом волновала человеческий ум с давних времен. История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древнего Египта, Древней Индии тому примеры.
С широким распространением
письменности криптография стала формироваться
как самостоятельная наука. Первые
криптосистемы встречаются уже
в начале нашей эры. Так, Цезарь в
своей переписке использовал
уже более менее
Бурное развитие криптографические системы
получили в годы первой и второй мировых
войн. Начиная с послевоенного времени
и по нынешний день появление вычислительных
средств ускорило разработку и совершенствование
криптографических методов.
Криптографические методы защиты
информации в автоматизированных системах
могут применяться как для
защиты информации, обрабатываемой в
ЭВМ или хранящейся в различного
типа ЗУ, так и для закрытия информации,
передаваемой между различными элементами
системы по линиям связи. Криптографическое
преобразование как метод предупреждения
несационированного доступа к информации
имеет многовековую историю. В настоящее
время разработано большое
Многоалфавитная подстановка
- наиболее простой вид преобразований,
заключающийся в замене символов
исходного текста на другие (того же
алфавита) по более или менее сложному
правилу. Для обеспечения высокой
криптостойкости требуется
Перестановки - несложный метод криптографического
преобразования. Используется как правило
в сочетании с другими методами.
Гаммирование - этот метод заключается
в наложении на исходный текст некоторой
псевдослучайной последовательности,
генерируемой на основе ключа.
Блочные шифры собой последовательность (с возможным повторением и чередованием) основных методов преобразования, применяемую к блоку (части) шифруемого текста. Блочные шифры на практике встречаются чаще, чем “чистые” преобразования того или иного класса в силу их более высокой криптостойкости. Российский и американский стандарты шифрования основаны именно на этом классе шифров.
Перестановкой ? набора целых
чисел (0,1,...,N-1) называется его переупорядочение.
Для того чтобы показать, что целое
i перемещено из позиции i в позицию
?(i), где 0 ? (i) < n, будем использовать
запись>
?=(?(0), ?(1),..., ?(N-1)).
Число перестановок из (0,1,...,N-1)
равно n!=1*2*...*(N-1)*N. Введем обозначение ?
для взаимно-однозначного отображения
(гомоморфизма) набора S={s0,s1,...,sN-1}, состоящего
из n элементов, на себя.
?: S ? S
?: si ? s?(i), 0 ? i < n>
Будем говорить, что в этом смысле ? является
перестановкой элементов S. И, наоборот,
автоморфизм S соответствует перестановке
целых чисел (0,1,2,.., n-1).
Криптографическим преобразованием
T для алфавита Zm называется последовательность
автоморфизмов: T={T(n):1?n
Каждое T(n) является, таким образом, перестановкой
n-грамм из Zm,n.
Поскольку T(i) и T(j) могут быть определены
независимо при i?j, число криптографических
преобразований исходного текста размерности
n равно (mn)!1. Оно возрастает непропорционально
при увеличении m и n: так, при m=33 и n=2 число
различных криптографических преобразований
равно 1089!. Отсюда следует, что потенциально
существует большое число отображений
исходного текста в шифрованный.
Практическая реализация
криптографических систем требует,
чтобы преобразования {Tk: k?K} были определены
алгоритмами, зависящими от относительно
небольшого числа параметров (ключей).
1.2. Системы подстановок
Определение Подстановкой ?
на алфавите Zm называется автоморфизм
Zm, при котором буквы исходного
текста t замещены буквами шифрованного
текста ?(t):
Zm --> Zm; ?: t --> ?(t).
Набор всех подстановок называется симметрической
группой Zm ? будет в дальнейшем обозначаться
как SYM(Zm).
Утверждение SYM(Zm) c операцией произведения
является группой, т.е. операцией, обладающей
следующими свойствами:
1. Замкнутость: произведение
подстановок ?1?2 является подстановкой:
?: t-->?1(?2(t)).
2. Ассоциативность: результат произведения ?1?2?3 не зависит от порядка расстановки скобок: (?1?2)?3=?1(?2?3)
3. Существование нейтрального элемента: постановка i, определяемая как i(t)=t, 0?t
4. Существование обратного:
для любой подстановки ? существует
единственная обратная
??-1=?-1?=i.
Число возможных подстановок
в симметрической группе Zm называется
порядком SYM(Zm) и равно m!.
Определение. Ключом подстановки k для
Zm называется последовательность элементов
симметрической группы Zm:
k=(p0,p1,...,pn-1,...), pn?SYM(Zm), 0?n
Подстановка, определяемая ключом k, является криптографическим преобразованием Tk, при помощи которого осуществляется преобразование n-граммы исходного текста (x0,x1,..,xn-1) в n-грамму шифрованного текста (y0,y1,...,yn-1): yi=p(xi), 0?i
где n – произвольное (n=1,2,..). Tk называется моноалфавитной подстановкой, если p неизменно при любом i, i=0,1,..., в противном случае Tk называется многоалфавитной подстановкой.
Примечание. К наиболее существенным особенностям подстановки Tk относятся следующие:
1. Исходный текст шифруется
посимвольно. Шифрования n-граммы (x0,x1,..,xn-1)
и ее префикса (x0,x1,..,xs-1) связаны
соотношениями
Tk(x0,x1,..,xn-1)=(y0,y1,...,
Tk(x0,x1,..,xs-1)=(y0,y1,...,
2. Буква шифрованного текста yi является функцией только i-й компоненты ключа pi и i-й буквы исходного текста xi. 1.3. Подстановка Цезаря
Подстановка Цезаря является
самым простым вариантом
Определение.
Подмножество Cm={Ck: 0?k Ck: j?(j+k)
(mod m), 0?k < m,>
называется подстановкой Цезаря.
Умножение коммутативно, CkCj=CjCk=Cj+k, C0 – идентичная подстановка, а обратной к Cк является Ck-1=Cm-k, где 0) означает, что буква исходного текста (слева) шифруется при помощи C3 в букву шифрованного текста (справа).
Определение. Системой Цезаря
называется моноалфавитная подстановка,
преобразующая n-грамму исходного текста
(x0, x1,..,xn-1) в n-грамму шифрованного текста
(y0,y1,...,yn-1) в соответствии с правилом
yi=Ck(xi), 0?i
Например, ВЫШЛИТЕ_НОВЫЕ_УКАЗАНИЯ
посредством подстановки C3 преобразуется
в еюыолхиврсеюивцнгкгрлб.
А-->г Й-->м Т-->х Ы-->ю
Б-->д К-->н У-->ц Ь-->я
В-->е Л-->о Ф-->ч Э-->_
Г-->ж М-->п Х-->ш Ю-->а
Д-->з Н-->р Ц-->щ Я-->б
Е-->и О-->с Ч-->ъ _-->в
Ж-->й П-->т Ш-->ы
З-->к Р-->у Щ-->ь
И-->л С-->ф Ъ-->э
Таблица Применение подстановки Цезвря.
При своей несложности система легко уязвима. Если злоумышленник имеет
1) шифрованный и соответствующий исходный текст или
2) шифрованный текст выбранного
злоумышленником исходного
Более эффективны обобщения
подстановки Цезаря - шифр Хилла
и шифр Плэйфера. Они основаны на
подстановке не отдельных символов,
а 2-грамм (шифр Плэйфера) или n-грамм2 (шифр
Хилла). При более высокой
Многоалфавитные системы. Системы
одноразового использования
Слабая криптостойкость моноалфавитных
подстановок преодолевается с применением
подстановок многоалфавитных.
Многоалфавитная подстановка
определяется ключом ?=(?1,?2,...), содержащим
не менее двух различных подстановок.
В начале рассмотрим многоалфавитные
системы подстановок с нулевым
начальным смещением. Пусть {Ki: 0?i принимающие
значения на множестве Zm
Pкл{(K0, K1,..., Kn-1)=(k0, k1,..., kn-1)}=(1/m)n Система одноразового
использования преобразует исходный текст
X=(X0, x1,..., xn-1)
в шифрованный текст Y=(Y0, y1,..., yn-1) при помощи
подстановки Цезаря Yi=CKi(xi)=(Ki+Xi) (mod m) i=0...n-1
(1)
Для такой системы подстановки используют также термин “одноразовая лента” и “одноразовый блокнот”. Пространство ключей К системы одноразовой подстановки является вектором рангов (K0, K1,..., Kn-1) и содержит mn точек.
Рассмотрим небольшой пример шифрования с бесконечным ключом. В качестве ключа примем текст
“БЕСКОНЕЧНЫЙ_КЛЮЧ....”.
Зашифруем с его помощью текст “ШИФР_НЕРАСКРЫВАЕМ”. Шифрование оформим в таблицу:
ШИФРУЕМЫЙ_ТЕКСТ 24 8 20 16 19 5 12
27 9 32 18 5 10 17 18
БЕСКОНЕЧНЫЙ_КЛЮЧ 1 5 17 10 14 13 5 23 13 27 9 32 10 11
30
ЩРДЪАТТССЦЪЫДФЬП 25 13 4 26 0 18 17 17 22 26 27 4 20
28 15
Исходный текст невозможно восстановить
без ключа. Наложение белого шума в виде
бесконечного ключа на исходный текст
меняет статистические характеристики
языка источника. Системы одноразового
использования теоретически не расшифруемы3,
так как не содержат достаточной информации
для восстановления текста. Почему же
эти системы неприменимы для обеспечения
секретности при обработке информации?
Ответ простой - они непрактичны, так как
требуют независимого выбора значения
ключа для каждой буквы исходного текста.
Хотя такое требование может быть и не
слишком трудным при передаче по прямому
кабелю Москва - Нью-Йорк, но для информационных
оно непосильно, поскольку там придется
шифровать многие миллионы знаков. Посмотрим,
что получится, если ослабить требование
шифровать каждую букву исходного текста
отдельным значением ключа. 1.5.Системы
шифрования Вижинера
Начнем с конечной последовательности
ключа k = (k0,k1,...,kn),
которая называется ключом пользователя,
и продлим ее до бесконечной последовательности,
повторяя цепочку. Таким образом, получим
рабочий ключ k = (k0,k1,...,kn), kj = k(j mod r, 0 ? j <
?. >
Например, при r = ? и ключе пользователя
15 8 2 10 11 4 18 рабочий ключ будет периодической
последовательностью:
15 8 2 10 11 4 18 15 8 2 10 11 4 18 15 8 2 10 11
4 18...
Определение. Подстановка Вижинера VIGk
определяется как
VIGk : (x0, x1,..., xn-1) ? (y0, y1,..., yn-1) = (x0+k, x1+k,..., xn-1+k).
Таким образом:
1) исходный текст x делится
на r фрагментов
xi = (xi, xi+r,..., xi+r(n-1)), 0 ? i < r; >
2) i-й фрагмент исходного текста xi шифруется при помощи подстановки Цезаря Ck : (xi, xi+r,..., xi+r(n-1)) ? (yi, yi+r,..., yi+r(n-1)),
Вариант системы подстановок Вижинера при m=2 называется системой Вернама (1917 г). В то время ключ k=(k0,k1,...,kк-1) записывался на бумажной ленте. Каждая буква исходного переводилась с использованием кода Бодо в пятибитовый символ. К исходному тексту Бодо добавлялся ключ (по модулю 2). Старинный телетайп фирмы AT&T со считывающим устройством Вернама и оборудованием для шифрования, использовался корпусом связи армии США.
Очень распространена плохая с точки зрения секретности практика использовать слово или фразу в качестве ключа для того, чтобы k=(k0,k1,...,kк-1) было легко запомнить. В ИС для обеспечения безопасности информации это недопустимо. Для получения ключей должны использоваться программные или аппаратные средства случайной генерации ключей.