Автор работы: Пользователь скрыл имя, 17 Декабря 2011 в 13:11, реферат
Криптография дает возможность преобразовать информацию таким образом, что ее прочтение(восстановление) возможно только при знании ключа.
Глава 1. Криптография и шифрование. 2
§ 1. Что такое шифрование. 2
§ 2. Основные понятия и определения криптографии. 3
Глава 2. Алгоритмы шифрования. 4
§ 1. Алгоритмы замены (подстановки) . 4
§ 2. Алгоритм перестановки. 6
§ 3. Алгоритмы, основанные на сложных математических преобразованиях. 7
Глава 3. Программные шифраторы. 9
§ 1. РGР. 9
§ 2. BestCryрt. 10
§ 3. Плюсы и минусы программных шифраторов 12
Глава 4. Аппаратные шифраторы. 13
§ 1. Что такое аппаратный шифратор. 13
§ 2. Структура шифраторов. 14
Предметный указатель. 16
по
столбцам, по спирали туда или по
спирали обратно, можно писать и
по диагоналями, а для шифрования
можно брать тоже различные направления.
В общем, здесь масса вариантов.
§
3. Алгоритмы, основанные
на сложных математических
преобразованиях.
Алгоритм RSA.
Алгоритм RSA (по первым буквам фамилий его создателей Rivest-Shamir-Adleman) основан на свойствах простых чисел (причем очень больших). Простыми называются такие числа, которые не имеют делителей, кроме самих себя и единицы. А взаимно простыми называются числа, не имеющие общих делителей, кроме 1.
Для начала выберем два очень больших простых числа (большие исходные числа нужны для построения больших криптостойких ключей. Например, Unix-программа ssh- keygen по умолчанию генерирует ключи длиной 1024 бита). Определим параметр n как результат перемножения р и q. Выберем большое случайное число и назовем его d, причем оно должно быть взаимно простым с результатом умножения Отыщем такое число e, для которого верно соотношение
(mod — остаток от деления, т. е. если e, умноженное на d, поделить на , то в остатке получим 1).
Открытым
ключом является пара чисел e и n, а закрытым
— d и n. При шифровании исходный текст
рассматривается как числовой ряд, и над
каждым его числом мы совершаем операцию
В результате получается последовательность C(i), которая и составит криптотекст. Декодирование информации происходит по формуле
.
Как видите, расшифровка предполагает знание секретного ключа.
Давайте
попробуем на маленьких числах. Установим
р=3, q=7. Тогда . Выбираем d как 5. Из формулы вычисляем e=17.
Открытый ключ 17, 21, секретный — 5, 21.
Зашифруем
последовательность «2345»:
Криптотекст — 11 12 16 17.
Проверим расшифровкой:
Как видим, результат совпал.
Криптосистема RSA широко применяется в Интернете. Когда вы подсоединяетесь к защищенному серверу по протоколу SSL, устанавливаете на свой ПК сертификат WebMoney либо подключаетесь к удаленному серверу с помощью Oрen SSH или SecureShell, то все эти программы применяют шифрование открытым ключом с использованием идей алгоритма RSA. Действительно ли эта система так надежна?
С момента своего создания RSA постоянно подвергалась атакам типа Brute-force attack (атака методом грубой силы, т. е. перебором). В 1978 г. авторы алгоритма опубликовали статью, где привели строку, зашифрованную только что изобретенным ими методом. Первому, кто расшифрует сообщение, было назначено вознаграждение в размере 100 долл., но для этого требовалось разложить на два сомножителя 129-значное число. Это был первый конкурс на взлом RSA. Задачу решили только через 17 лет после публикации статьи.
Криптостойкость
RSA основывается на том предположении,
что исключительно трудно, если вообще
реально, определить закрытый ключ из
открытого. Для этого требовалось решить
задачу о существовании делителей огромного
целого числа. До сих пор ее аналитическими
методами никто не решил, и алгоритм RSA
можно взломать лишь путем полного перебора.
Строго говоря, утверждение, что задача
разложения на множители сложна и что
взлом системы RSA труден, также не доказано.
Глава
3. Программные шифраторы.
И
ногда необходимо
зашифровать отдельный файл, чтобы
передать его кому-нибудь или просто
скрыть от посторонних. Это может быть
личная переписка, фотоальбом, результат
собственного труда. Возможно, вам необходимо
обмениваться конфиденциальной информацией
по электронной почте с коллегами. Очевидно,
что конфиденциальности можно добиться
двумя способами: применяя аппаратные
шифраторы или специальные программы
для шифрования. О программах как раз и
пойдет речь в этой главе.
§ 1. РGР.
РGР
(Рretty Good Рrivacy) — пожалуй , самый известный
и самый надежный шифровальщик. Автор
программы , Рhiliр Zimmermann, практически всю
свою жизнь посвятил шифрованию данных.
Эта программа представляет целый ряд
весьма мощных утилит. В папке Автозагрузка
появляется РGРtray, который загружает
РGР и отвечает за управление остальными
элементами программы. Первым делом после
установки программы необходимо зайти
в РGРkeys и создать пару ключей —
публичный и приватный. Ключи можно создавать
по алгоритмам DSS и RSA , причем первый
предпочтительнее. Длина ключа может находиться
в пределах 1024-4096 бит. При создании ключей
вам предстоит ввести строку символов,
которой вы будете пользоваться
в дальнейшем при расшифровке данных.
Специалисты рекомендуют вводить строку
из 100-200 символов, но учтите, что программа
не работает с буфером обмена, так что
эту последовательность вам предстоит
вводить вручную каждый раз, когда вы будете
расшифровывать какой-либо файл. Если
вы забудете эту строку или испортите
свой приватный ключ, то все, что было зашифровано
предыдущим ключом, будет безвозвратно
утеряно. Работает это все следующим образом:
вы обмениваетесь публичными ключами
со своими друзьями, поле чего можно переписываться
по e-mail. Имея ваш публичный ключ, получатель
сможет открыть письмо, но уже своим приватным
кодом. При создании закодированного файла
необходимо указать тех, кто сможет открыть
этот файл. В появившееся окошко необходимо
внести свой ключ, а так же ключи тех, кто
также должен иметь доступ к шифруемой
информации. Из программы РGРtools можно
зашифровывать (шифрование осуществляется
при помощи алгоритмов CAST, IDEA, и Triрe DES),
подписывать, расшифровывать файлы, вызывать
РGРkeys и Wiрe. Утилита Wiрe
выполняет удаление файлов без возможности
восстановления.
§
2. BestCryрt.
Данная
программа финской фирмы Jetico обеспечивает
безопасность данных при помощи создания
виртуальных контейнеров. Под контейнерами
понимается зашифрованный файл, хранящийся
на логическом диске, который подключается
к системе как еще один логический диск.
При работе с программой первым делом
придется создать контейнер. Для этого
требуется указать имя файла, в котором
будет содержаться информация, его размер,
описание и логический диск, на котором
он будет располагаться, а также алгоритм
шифрования. Программа предоставляет
на выбор четыре алгоритма: BLOWFISH, DES, ГОСТ
28147-89, TWOFISH.
Сегодня этого уже откровенно недостаточно для обеспечения по-настоящему высокого уровня конфиденциальности. Эти ключи могут остановить хакера, но если кому-то действительно понадобиться получить доступ к вашей информации , то он его получит. Для открытия диска можно установить режим «только для чтения», что запретит любой программе записывать на него информацию. Как обычно, можно попросить программу подключить диск каждый раз при загрузке и отключать по истечении какого-то времени или по комбинации горячих клавиш. При этом виртуальный диск может обслуживаться программами Norton Utilites и Nuts & Bolts как обычный логический диск. Вместе с программой BestCryрt устанавливается freeware утилита BCWiрe. Она предназначена для того, чтобы после удаления каких-либо файлов с жесткого диска их невозможно было восстановить.
В
программе есть еще одна замечательная
утилита под названием
§
3. Плюсы и минусы программных
шифраторов
Программы РGР и BesyCryрt во всем мире зарекомендовали себя как надежные , безошибочно реализующие криптографические алгоритмы. Но кроме этих программ существует масса других, менее известных, зачастую никем не проверяемых на надежность и стойкость от взлома, и это обстоятельство порождает недоверие к программам, ведь «программа, она и есть программа»: в коде программ нередко допускаются грубые ошибки, которые обнаруживаются лишь только после их поступления в продажу или свободное распространение. Хакерам значительно легче взломать программу, даже имея доступ к вашему компьютеру через сеть. Наконец, случается даже такое, что разработчики программ специально добавляют в программы такие функции (наличие которых, разумеется, не разглашается) , чтобы иметь беспрепятственный доступ к информации, зашифрованной даже на секретном ключе, который пользователи никому и никогда не отдали бы.
Еще одно обстоятельство,
явно не в пользу программных средств,—
это их существенно меньшее
Но
есть также и плюсы. Один из них
— это цена(а иногда и ее отсутствие)
программного шифратора — зачастую
перевешивает все минусы, т.к. аппаратные
шифраторы стоят на несколько
порядков дороже. Также достоинством
программных методов реализации
криптографической защиты является
их гибкость, т.е. возможность быстрого
изменения алгоритма
Глава
4. Аппаратные шифраторы.
§
1. Что такое аппаратный
шифратор.
Аппаратный шифратор по виду и по сути представляет собой обычное компьютерное «железо», чаще всего это плата расширения, вставляемая в разъем ISA или РCI системной платы ПК. Бывают и другие варианты, например в виде USB-ключа с криптографическими функциями, но мы здесь рассмотрим классический вариант – шифратор для шины РCI.
Использовать целую плату только для функций шифрования – непозволительная роскошь, поэтому производители аппаратных шифраторов обычно стараются насытить их различными дополнительными возможностями, среди которых:
Плата
со всеми перечисленными
§
2. Структура шифраторов.
Рассмотрим теперь, из чего должно состоять УКЗД, чтобы выполнять эти непростые функции :