Автор: Пользователь скрыл имя, 01 Апреля 2012 в 11:42, курсовая работа
Криптографические методы традиционно используются для шифрования конфиденциальной информации, представленной в любой материальной форме в виде:
• письменных текстов;
• данных, хранящихся на гибком диске;
• сообщений, передаваемых в телекоммуникационных сетях;
• программного обеспечения, графики или речи, закодированных цифровыми последовательностями и т. п.
Потерянные или вставленные биты могут быть легко обнаружены.
Стандарт шифрования данных DES.
Стандарт шифрования данных DES (Data Encryption Standard) является одним из известных алгоритмов криптографической защиты данных, используемых до недавнего времени в США. Этот стандарт — типичный представитель криптоалгоритмов, использующих симметричное шифрование. Благодаря таким качествам, как обеспечение высокого уровня защиты информации, простота и экономичность в реализации, он нашел широкое применение в различных областях государственной и военной деятельности. Рассмотрим детально принцип шифрования данных с помощью алгоритмаDES.
Сегодня стандарт шифрования DES используется в Соединенных Штатах, за небольшим исключением, практически везде. Правительственная связь, электронные банковские переводы, гражданские спутниковые коммуникации и даже пароли компьютерных систем — везде, в той или иной мере, применяется защита, основанная на DES. Криптоалгоритм DES, получивший официальный статус стандарта в 1977 году, ознаменовал наступление новой эпохи в криптографии. Сертифицировав алгоритм защиты, американское правительство дало зеленую улицу изучению криптографических алгоритмов и «благословило» попытки взлома систем, построенных на их основе.
Логическая структура функционирования алгоритма DES иллюстрируется схемой обработки данных, изображенной на рис. 4.6.
Приведенная схема описывает как процесс шифрования, так и расшифровки информации. Алгоритм шифрования данных преобразует открытый текст в шифротекст или наоборот, в зависимости от режима использования. Как видно из структурной схемы, алгоритм имеет два входа по 64 бита каждый: один — для шифруемого открытого текста (при дешифровке — для шифротекста), другой — для ключа, и один 64-битный выход для полученного шифротекста (при расшифровке — для открытого текста). Из 64-х бит ключа непосредственно в процессе шифрования участвуют только 56 бит.
Это связано с тем, что ключ представляется в виде восьмибитовых символов кода ASCII, каждый символ которого имеет один бит проверки на четность. Именно эти проверочные биты и не используются в алгоритме DES.
Основными блоками преобразования данных согласно алгоритму DES являются блоки перестановки, замены и сложения по модулю 2. В стандарте DES предусмотрено использование трех типов перестановок: простые, расширенные и сокращенные.
Простые перестановки осуществляют изменение порядка следования бит данных.
В расширенных перестановках некоторые биты используются повторно, а в сокращенных — часть битов данных просто отбрасывается.
Первым преобразованием, которому подвергаются входные данные, является начальная перестановка, имеющая достаточно регулярный характер. Точны^ порядок замены показан на рис. 4.7. При такой перестановке первый входной бит на выходе становится сороковым, второй — восьмым и т. д. Начальная перестановка используется только для удобства реализации и не имеет самостоятельной криптографической ценности.
После начальной перестановки, полученные 64 бита данных делятся на две части по 32 бита, которые записываются в два регистра — левый и правый. Именно после этого и начинается работа основного цикла алгоритма шифрования.
Из правого регистра 32 бита поступают на вход блока расширенной перестановки, который производит их регулярное преобразование таким образом, что первый, четвертый, пятый и восьмой биты каждого из четырех октетов преобразуемых бит используются дважды. Таким образом, на выходе блока расширенной перестановки появляется уже не 32, а 48 бит. Правило преобразования данных в блоке расширенной перестановки представлено на рис. 4.8. Как видно из рисунка, при расширенной перестановке 1-й выходной бит соответствует 32-му входному биту, 2-й выходной бит — 1-му входному и т. д.
С выхода блока расширенной перестановки полученные 48 бит данных поступают на сумматор по модулю 2, где складываются с 48 битами ключа шифрования. Полученные в результате этой операции 48 бит данных разделяются на 8 секстетов, поступающих на 8 соответствующих S-блоков замены. С.выходов S-блоков 32 бита (8 раз по 4 бита) поступают на блок простой перестановки, задаваемой табл. 4.1, согласно которой в простой перестановке 1-й выходной бит равен 16-му входному, 2-й выходной бит — 7-му входному и т. д.
В конце основного цикла данные с выхода блока простой перестановки складываются по модулю 2 с данными, поступившими в левый регистр после начальной перестановки. Результат суммирования поступает в правый регистр, а содержащиеся в нем после начальной перестановки 32 бита без изменений переписываются в левый регистр.
Описанная процедура основного цикла шифрования повторяется 16 раз, прежде чем содержимое правого и левого регистра объединяется в единый 64-битный блок данных и после блока обратной перестановки, осуществляющего перестановку, обратную по отношению к начальной перестановке, поступает на выход алгоритма DES.
Отметим, что при формировании 64-битного блока данных, содержимое регистров объединяется в последовательности правого и левого регистров.
Блоки замены в алгоритме DES (в литературе обычно обозначаемые как S-блоки) имеют 6-битные входы и 4-битные выходы. Правило замены в каждом S-блоке определяется соответствующими таблицами SI—S8, представленными ниже.
Первый и последний биты 6-битного входа каждого S-блока задают число в диапазоне от 0 до 3, которое определяет номер строки в таблице замены, биты 2-~5 задают число в интервале 0—15, определяя таким образом номер элемента таблицы замены в соответствующей строке. Каждый элемент таблицы замены, представленный в двоичном виде, определяет 4 бита на выходе соответствующего S-блока.
Рассмотрим преобразования, производимые с ключом шифрования до его суммирования с данными, поступающими с выхода блока регистра перестановки. На каждом из 16-и циклов шифрования данные с выхода блока регистра перестановки суммируются с новым ключом шифрования. В правой части рис. 4.6 представлен процесс формирования ключа шифрования для каждого из 16-и циклов.
64 бита исходного ключа преобразуются в первом блоке сокращенной перестановки, где отбрасывается каждый восьмой бит. Если исходный ключ записан в виде 8-и символов кода ASCII, то каждый восьмой отбрасываемый бит является избыточным битом проверки на четность. Результат, полученный в блоке сокращенной перестановки 1, — 56 бит, записывается в регистры С и D, содержащие по 28 бит каждый.
Оба регистра обеспечивают возможность циклического сдвига содержащихся в них данных. На каждом цикле алгоритма шифрования производится циклический сдвиг содержимого регистров на 1 или 2 бита влево. Величина сдвига (в битах) на соответствующем цикле задается следующим алгоритмом:
Затем содержимое двух регистров объединяется и подвергается второй сокращенной перестановке, порядок которой задается табл. 4.2. На каждом цикле алгоритма шифрования на выходе сокращенной перестановки образуется ключ шифрования данного цикла.
Процесс расшифрования аналогичен процессу шифрования, за исключением формирования ключей на соответствующих циклах алгоритма. При этом содержимое регистров С и D сдвигается вправо, а величина сдвига (в битах) задается следующим алгоритмом:
Таким образом, процесс расшифрования является инверсным по отношению к шифрованию данных.
Одна из широко распространенных систем криптографической защиты, использующая стандарт DES, — разработанная в середине 80-х годов прошлого столетия система Kerberos, использование которой предполагает наличие высоконадежного сервера, хранящего исходные копии ключей для взаимодействия с каждым пользователем. Эта система представляет собой часть спецификации открытой вычислительной среды DCE (Distributed Computing Environment) фонда OSF.
Глава 2.Несимметричные алгоритмы шифрования.
Несимметричное шифрование сложнее, но и надежнее. Для его реализации (рис.4.3) нужны два взаимосвязанных ключа: открытый и закрытый. Получатель сообщает всем желающим свой открытый ключ, позволяющий шифровать для него сообщения. Закрытый ключ известен только получателю сообщения. Когда кому-то нужно послать зашифрованное сообщение, он выполняет шифрование, используя открытый ключ получателя. Получив сообщение, последний расшифровывает его с помощью своего закрытого ключа. За повышенную надежность несимметричного шифрования приходится платить: поскольку вычисления в этом случае сложнее, то процедура расшифровки отнимает больше времени.
Основное преимущество несимметричных алгоритмов перед симметричными состоит в том, что секретный ключ, позволяющий расшифровывать всю получаемую информацию, известен только получателю сообщения. Кроме того, первоначальное распределение ключей в системе не требует передачи секретного ключа, который может быть перехвачен нарушителем. Несимметричные алгоритмы получили новое качество — на их основе строятся протоколы цифровой подписи. Для аутентификации с использованием симметричных алгоритмов часто требуется участие доверенной третьей стороны, которая, как, например, в схеме Kerberos, хранит копии секретных ключей всех пользователей. Компрометация третьей стороны может привести к компрометации всей системы аутентификации. В системах с открытым ключом эта проблема устранена потому, что каждый пользователь отвечает за безопасность только своего секретного ключа.
В несимметричных криптоалгоритмах (RSA, PGP, ECC) прямое и обратное преобразования выполняются с использованием открытого и секретного ключей, которые не имеют взаимосвязи, позволяющей по одному ключу вычислить другой. С помощью открытого ключа практически любой пользователь может зашифровать свое сообщение или проверить электронно-цифровую подпись. Расшифровать такое сообщение или поставить подпись может только владелец секретного ключа.
Такие алгоритмы позволяют реализовать протоколы типа цифровой подписи, обеспечивают открытое распространение ключей и надежную аутентификацию в сети, устойчивую даже к полному перехвату трафика.
Стандарт шифрования данных PGP.
Много лет назад проблема защиты частной жизни граждан не стояла так уж остро, в связи с тем, что вмешаться в личную жизнь было технически достаточно трудно (труд этот был, как мы можем сейчас сказать, не автоматизирован). В настоящее время благодаря развитию информационных технологий компьютеры могут делать то, что не всегда могут делать люди, в частности, искать в речевых или текстовых фрагментах определенные ключевые фразы. И не только это. Теперь стало гораздо легче перехватывать информацию, особенно в сети Internet, которая общедоступна и содержит множество точек, где сообщения можно перехватить. Организации и фирмы, которые могут себе позволить тратить крупные средства на защиту своей информации, применяют сложные дорогостоящие системы шифрования, строят свои службы безопасности, используют специальные технические средства и т. п.
Алгоритмы шифрования реализуются программными или аппаратными средствами. Существует великое множество чисто программных реализаций различных алгоритмов. Из-за своей дешевизны (некоторые из них и вовсе распространяются бесплатно), а также высокого быстродействия процессоров, простоты работы и безотказности они вполне конкурентоспособны. В этой связи нельзя не упомянуть программный пакет PGP (Pretty Good Privacy), в котором комплексно решены практически все проблемы защиты передаваемой информации. Благодаря PGP рядовые граждане могут достаточно надежно защищать свою информацию, причем с минимальными затратами.
Система PGP, начиная с 1991 года, остается самым популярным и надежным средством криптографической защиты информации всех пользователей сети Internet. Сила PGP состоит в превосходно продуманном и чрезвычайно мощном механизме обработки ключей, быстроте, удобстве и широте их распространения. Существуют десятки не менее сильных алгоритмов шифрования, чем тот, который используется в PGP, но популярность и бесплатное распространение сделали PGP фактическим стандартом для электронной переписки во всем мире.
Программа PGP разработана в 1991 году Филиппом Зиммерманом (Philip Zimmermann). В ней применены сжатие данных перед шифрованием, мощное управление ключами, вычисление контрольной функции для цифровой подписи, надежная генерация ключей.
В основе работы PGP лежат сразу два криптоалгоритма — обычный алгоритм шифрования с закрытым ключом и алгоритм шифрования с открытым ключом (рис.4.21).
Зачем это нужно? Алгоритм шифрования с закрытым ключом требует защищенного канала для передачи этого самого ключа (ведь одним и тем же ключом можно как зашифровать, так и расшифровать сообщение). Система с открытым ключом позволяет распространять ключ для зашифровки сообщения совершенно свободно (это и есть открытый ключ), однако расшифровать сообщение можно при помощи второго, закрытого ключа, который хранится только у пользователя. Более того, это справедливо и в обратную сторону — расшифровать сообщение, зашифрованное закрытым ключом, можно только при помощи открытого ключа. Недостатком данного алгоритма является крайне низкая скорость его выполнения.
Однако, при шифровании сообщения в PGP оба эти ограничения обойдены достаточно оригинальным способом. Вначале генерируется случайным образом ключ для алгоритма с закрытым ключом (кстати, в качестве такого алгоритма используется очень стойкий алгоритм IDEA). Ключ этот генерируется только на один сеанс, причем таким образом, что повторная генерация того же самого ключа практически невозможна. После зашифровки сообщения к нему прибавляется еще один блок, в котором содержится данный случайный ключ, но уже зашифрованный при помощи открытого ключа алгоритма с открытым ключом RSA. Таким образом, для расшифровки необходимо и достаточно знать закрытый ключ RSA.
Для пользователя все это выглядит гораздо проще: он может зашифровать сообщение общедоступным открытым ключом и отправить это сообщение владельцу закрытого ключа. И только этот владелец и никто иной сможет прочесть сообщение. При этом программа PGP работает очень быстро. Как же она это делает?
Когда пользователь шифрует сообщение с помощью PGP, программа сначала сжимает текст, убирая избыточность, что сокращает время на отправку сообщения через модем и повышает надежность шифрования. Большинство приемов криптоанализа (взлома зашифрованных сообщений) основаны на исследовании «рисунков», присущих текстовым файлам. Путем сжатия эти «рисунки» ликвидируются. Затем программа PGP генерирует сессионный ключ, который представляет собой случайное число, созданное за счет движений вашей мыши и нажатий клавиш клавиатуры.
Информация о работе Криптографические методы защиты информации