Криптография

Автор работы: Пользователь скрыл имя, 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

Файлы: 1 файл

Документ2.docx

— 143.54 Кб (Скачать файл)

   по  столбцам, по спирали туда или по спирали обратно, можно писать и  по  диагоналями, а для шифрования можно брать тоже различные направления. В общем, здесь масса вариантов. 

§ 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. Она предназначена для того, чтобы после удаления каких-либо файлов с жесткого диска их невозможно было восстановить.

     В программе есть еще одна замечательная  утилита под названием BestCrytр Service Manager. Она предназначена для того, чтобы вы могли добавлять нужные и удалять ненужные алгоритмы шифрования и модули генерации ключей. Но это нужно лишь для тех, кто не доверяет алгоритму шифрования DES. Так что, если у вас есть другой алгоритм, то можно смело удалять старые алгоритмы шифрования и удалять новые.

     

       

 

§ 3. Плюсы и минусы программных шифраторов 
 

     Программы РGР и BesyCryрt во всем мире зарекомендовали себя как надежные , безошибочно реализующие криптографические алгоритмы. Но кроме этих программ существует масса других,  менее известных, зачастую никем не проверяемых на надежность и стойкость от взлома, и это обстоятельство порождает недоверие к программам, ведь «программа, она и есть программа»: в коде программ нередко допускаются грубые ошибки, которые обнаруживаются лишь только после их поступления в продажу или свободное распространение. Хакерам значительно легче взломать программу, даже имея доступ к вашему компьютеру через сеть. Наконец, случается даже такое, что разработчики программ специально добавляют в  программы такие функции (наличие которых, разумеется, не разглашается) , чтобы иметь беспрепятственный доступ к информации, зашифрованной даже на секретном ключе, который пользователи никому и никогда не отдали бы.

Еще одно обстоятельство, явно не в пользу программных средств,—  это их существенно меньшее быстродействие. Например, при аппаратной реализации национального стандарта (ГОСТа) время на обработку одного блока составляет примерно 5 мкс, при программной реализации, в среднем, 50-100 мкс. Поэтому при больших объемах защищаемой информации аппаратные методы представляются более предпочтительными. Программные методы, кроме того, могут быть реализованы только при наличии в составе компьютера мощного процессора, тогда как шифрующие аппараты с помощью стандартных интерфейсов могут подключаться практически к любым системам.

     Но  есть также и плюсы. Один из них  — это цена(а иногда и ее отсутствие) программного шифратора — зачастую перевешивает все минусы, т.к. аппаратные шифраторы стоят на несколько  порядков дороже. Также достоинством программных методов реализации криптографической защиты  является их гибкость, т.е. возможность быстрого изменения алгоритма шифрования. При этом можно предварительно создать  пакет шифрования, содержащий программы  для различных методов шифрования и их комбинаций. Смена программ будет производиться оперативно в процессе функционирования систем. 

Глава 4. Аппаратные шифраторы. 

§ 1. Что такое аппаратный шифратор. 

      Аппаратный шифратор по виду и по сути представляет собой обычное компьютерное «железо», чаще всего это плата расширения, вставляемая в разъем ISA или РCI системной платы ПК. Бывают и другие варианты,  например в виде USB-ключа с криптографическими функциями, но мы здесь рассмотрим классический вариант – шифратор для шины РCI.

  Использовать целую плату только для функций шифрования – непозволительная роскошь, поэтому производители аппаратных шифраторов обычно стараются насытить их различными дополнительными возможностями, среди которых:

  1. Генерация случайных чисел. Это нужно прежде всего для получения криптографических ключей. Кроме того, многие алгоритмы защиты используют их и для других целей, например алгоритм электронной подписи ГОСТ Р 34.10 – 2001. При каждом вычислении подписи ему необходимо новое случайное число.
  2. Контроль входа на компьютер.  При включении ПК устройство требует от пользователя ввести персональную информацию (например, вставить дискету с ключами). Работа будет разрешена только после того, как устройство опознает предъявленные ключи и сочтет их «своими» . В противном случае придется разбирать системный блок и вынимать оттуда шифратор, чтобы загрузиться (однако, как известно, информация на ПК тоже может быть зашифрована).
  3. Контроль целостности файлов операционной системы. Это не позволит злоумышленнику в ваше отсутствие изменить какие-либо данные. Шифратор хранит в себе список всех важных файлов с заранее рассчитанными для каждого контрольными суммами (или хэш - значениями), и если при следующей загрузке не совпадет эталонная сумма хотя бы с одним из них, компьютер будет блокирован.

    Плата  со всеми перечисленными возможностями  называется устройством криптографической  защиты данных – УКЗД. 

§ 2. Структура шифраторов. 

     Рассмотрим  теперь,  из чего должно состоять УКЗД, чтобы выполнять эти непростые  функции :

  • Блок управления – основной модуль шифратора, который «заведует» работой всех остальных. Обычно реализуется на базе микроконтроллера, сейчас их предлагается немало и можно выбрать подходящий. Главное – быстродействие и достаточное количество внутренних ресурсов, а также внешних портов для подключения всех необходимых модулей.
  • Контроллер системной шины ПК( например, РCI). Через него осуществляется основной обмен данными между УКЗД  и компьютером
  • Энергонезависимое запоминающее устройство(ЗУ) – обычно на базе микросхем флэш-памяти. Оно должно быть достаточно емким (несколько мегабайт) и допускать большое число циклов записи. Здесь размещается программное обеспечение микроконтроллера, которое выполняется при инициализации устройства( т.е. когда шифратор перехватывает управление при загрузке компьютера).
  • Память журнала. Тоже представляет собой энергонезависимое ЗУ; это действительно еще одна флэш-микросхема: во избежание возможных коллизий  
  • память для программ и для журнала не должны объединяться.
  • Шифропроцессор (или несколько) – это специализированная микросхема или микросхема программируемой логики РLD – Рrogrammable Logic Device. Собственно, он и шифрует данные. Подробнее об этом немного позже.
  • Генератор случайных чисел. Обычно представляет собой некое устройство, дающее статически случайный шум. Это может быть шумовой диод. А перед использованием по специальным правилам белый шум преобразуется в цифровую форму.
  • Блок ввода ключевой информации. Обеспечивает защищенный прием ключей с ключевого носителя, через него также вводится информация о пользователе для решения вопроса «свой/чужой».
  • Блок коммутаторов. Помимо перечисленных выше основных функций, УКЗД может по велению администратора безопасности отключать возможность работы со внешними устройствами: дисководами, CD-ROM, параллельными и последовательными портами, шиной USB и т.д. Если пользователь работает с настолько важной информацией, что ее нельзя ни печатать, ни копировать, УКЗД при входе на компьютер заблокирует все внешние устройства, включая даже сетевую карту.

Информация о работе Криптография