Блочные алгоритмы шифрования ГОСТ и DES

Пакетные фильтры и прокси: общая характеристика и функциональные особенности, оценка преимуществ и недостатков. Шифрование алгоритмом DES: краткие сведения, разработка и реализация алгоритма. Алгоритм шифрования ГОСТ 28147–89. Режим простой замены.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 15.04.2012
Размер файла 3,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

1. Введение

Пакетный фильтр является главным модулем системы, который принимает решения, разрешить или запретить конкретному пакету пройти через межсетевой экран. Это означает, что определенный сервис разрешен или запрещен.

Чтобы решать, какие действия следует выполнять для каждого полученного межсетевым экраном пакета, пакетный фильтр использует набор правил, которые описываются системным администратором. Для каждого пакета межсетевой экран просматривает весь набор правил в порядке их создания, проверяя, удовлетворяет ли пакет какому-либо из них. Если соответствующее правило существует, то в соответствии с ним будет выполняться заданное действие. Если данный пакет не удовлетворяет ни одному из правил, то будет выполняться действие по умолчанию.

2. Каналы утечки информации

2.1 Понятие каналов утечки информации

Современные информационные технологии разделили судьбу всех прогрессивных технологий XX в. Бесспорно, что широкое внедрение средств компьютерной техники (СКТ) и телекоммуникаций в производственную, хозяйственную, финансовую деятельность предприятий, учреждений, организаций значительно повышает эффективность их работы. Рубеж тысячелетий знаменуется все большим проникновением СКТ в повседневную жизнь людей, вовлечением их в глобальную сеть Internet. Так, например, по оценкам зарубежных специалистов, темп роста пользователей Internet составляет порядка 15% в месяц. Обратной стороной глобальной информатизации явилось появление компьютерной преступности.

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

Факторы информационных угроз следует рассматривать как потенциальную возможность использования каналов утечки информации. Объективное существование данных каналов утечки предполагает их возможное использование злоумышленниками для несанкционированного доступа к информации, ее модификации, блокированию и иных неправомерных манипуляций, т.е. наличие каналов утечки информации влияет на избрание способа совершения преступления.

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

Каналы утечки информации непосредственного из СКТ и технические устройства съема такой информации стали использоваться злоумышленниками сравнительно недавно.

Для получения информации из обозначенных выше традиционных каналов утечки применяются специализированные технические средства ведения разведки (ТСВР), среди которых выделяют следующие основные группы:

радиомикрофоны и микрофоны;

оптические системы;

¦устройства перехвата телефонных сообщений;

видеосистемы записи и наблюдения;

системы определения местоположения контролируемого объекта;

системы контроля и воздействия на компьютеры и их сети.

устройства приема, записи, управления.

Традиционные каналы утечки информации.

Контактное подключение к электронным устройствам является простейшим способом съема информации. Чаще всего реализуется непосредственным подключением к линии связи.

Бесконтактное подключение может осуществляться за счет электромагнитных наводок или с помощью сосредоточенной индуктивности.

Встроенные микрофоны, видео- и радиозакладки в стенах, мебели, предметах. Могут быть установлены в элементы интерьера, строительные конструкции, СКТ, теле- и радиоприемники, розетки, телефонные аппараты, калькуляторы, замаскированы под канцелярские принадлежности, элементы одежды и т.д. Обладают дальностью действия от 50 до 1000 м при сравнительно небольшой стоимости. Ниже приведены примеры таких устройств.

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

Оптический дистанционный съем видеоинформации. Может осуществляться через окна помещений с использованием длиннофокусного оптического оборудования в автоматическом или в ручном режиме работы.

Применение узконаправленных микрофонов и диктофонов. Применяются высокочувствительные микрофоны с очень узкой диаграммой направленности. Узкая диаграмма направленности позволяет указанным устройствам избежать влияния посторонних шумов. Узконаправленные микрофоны могут быть использованы совместно с магнитофонами и диктофонами.

Утечки информации по цепям заземления, сетям громкоговорящей связи, охранно-пожарной сигнализации, линиям коммуникаций и сетям электропитания. Утечка информации по цепям заземления возможна за счет существования гальванической связи проводников электрического тока с землей.

При организации каналов утечки информации через сигнализации различного назначения злоумышленники используют «микрофонный эффект» датчиков. Подобные каналы утечки получили название параметрических каналов. Они формируются путем «высокочастотной накачки» (ВЧ - облучения, ВЧ - навязывания) электронных устройств с последующим переизлучением электромагнитного поля, промодулированного информационным сигналом. Промодулированные ВЧ-колебания могут быть перехвачены и демодулированы соответствующими техническими средствами.

Аналогичным образом могут быть созданы высокочастотные каналы утечки информации в бытовой и иной технике.

Утечка за счет плохой звукоизоляции стен и перекрытий. Съем информации может происходить с применением как простейших приспособлений (фонендоскоп), так и достаточно сложных технических устройств, например специализированных микрофонов.

Оборудование виброканалов утечки информации на сетях отопления, газо- и водоснабжения. Средой распространения акустических волн являются трубы газо- и водоснабжения, конструкции зданий. Акустическая информация может, например, восприниматься при помощи пьезоэлектрических датчиков, затем усиливаться и фиксироваться при помощи магнитофонов либо передаваться в эфир.

Утечки информации через персонал. Многие исследователи, в том числе зарубежные, отмечают, что люди представляют наибольшую угрозу для информационной, и в частности компьютерной, безопасности. Наибольшую же угрозу представляют собственные сотрудники, которые могут уничтожать или искажать информацию, писать компьютерные вирусы, похищать информацию в целях шпионажа.

По Г.Н. Мухину обстоятельствами, влекущими совершение подобных действий, могут быть:

· вербовка сотрудника криминальными структурами;

· внедрение этими же структурами или конкурирующими субъектами хозяйствования своего агента в штат предприятия или банка с целью выполнения разведывательных и иных функций;

· имеющиеся у сотрудника проблемы социально-психологического либо морально-этического порядка, обусловленные неудовлетворенностью им заработной платой или занимаемой должностью, пренебрежительным отношением к нему либо оскорбительным поведением со стороны руководства и др.

Проведенный анализ позволяет сделать вывод, что в основном работа злоумышленников по съему информации с каналов утечки сводится к получению речевой информации.

Под речевой информацией понимают некоторый объем сведений, обработанный человеческим сознанием и выданный в виде речевых сигналов акустическим речевым аппаратом человека. Речевая информация может быть записана на носитель, позволяющий считывать ее зрительным аппаратом человека или воспроизводить акустически.

В настоящее время в связи с бурным развитием электронной техники речевая информация, передаваемая по каналам связи, становится все более уязвимой. Простейшие технические средства связи позволяют прослушивать телефонные переговоры, передаваемые по линиям связи, находясь на больших расстояниях от линии и объекта.

Любые средства передачи речевой информации могут быть одновременно и каналами ее утечки. По мнению Г.В. Давыдова и Ю.В. Шамгина, наиболее вероятными средствами передачи речевой информации являются следующие акустические каналы:

человек - человек (слушатели);

человек - микрофон - усилитель - громкоговоритель - человек (слушатели);

человек - микрофон - магнитофон (запись речи на автоответчик);

магнитофон (считывание речи) - усилитель - громкоговоритель - человек (слушатели);

человек - тракт электросвязи (радиосвязи) - человек (слушатели);

автоответчик (считывание речи) - речевой сигнал - автоответчик (запись речи);

человек - устройство, управляющее голосом;

синтезатор искусственной речи - человек.

Наиболее распространенными средствами приема и регистрации сигналов речевой информации, распространяемой по акустическому каналу, являются:

микрофон и устройства, выполняющие его функцию;

пассивные отражатели светового луча, играющие роль мембраны для акустических волн (оконные стекла, иные тонкостенные отражатели);

волноводные тракты акустических волн различного типа (вентиляционные каналы, стеновые панели);

лазерный луч, реагирующий на локальные изменения плотности воздуха в поле распространения акустической волны.

Наиболее очевидными каналами утечки речевой информации являются следующие:

1. На открытом пространстве (или в незащищенном помещении):

прямое подслушивание (скрытое или случайное);

узконаправленный микрофон

«жучки» в одежде, автомобиле, местных предметах и т.д.;

артикулярное считывание по мимике говорящих;

случайная или преднамеренная беседа, инициированная слушателем.

2. В помещении:

прослушивание через ограждающие конструкции из-за недостаточной звукоизоляции последних;

считывание со стекол окон;

прослушивание сигналов речи за счет передачи их по трубопроводам и вентиляционным системам;

прослушивание сигналов речи за счет акустоэлектрического преобразования в системах телефонии, радиовещания и сигнализации;

визуальное считывание с носителей информации и дисплеев компьютеров.

2.2 Каналы утечки информации из СКТ

Утечка информации за счет введения программно-аппаратных закладок в СКТ. Весьма правильной представляется точка зрения авторов, отмечающих, что в настоящее время в основе производства технических средств и программного обеспечения вычислительных систем лежат комплектующие изделия зарубежного производства, что обеспечивает конкурентоспособность выпускаемых изделий. Однако при этом появляется угроза утечки информации, а также управляемого выведения из строя средств вычислительной техники, заложенная в них либо на этапе производства, либо на этапе сборки. Подобные устройства могут быть установлены негласным образом и впоследствии при эксплуатации СКТ. Использование закладных элементов (ЗЭ) представляется реальной и опасной угрозой при использовании вычислительной техники.

Аппаратные ЗЭ могут быть реализованы в аппаратуре персональных компьютеров и периферийных устройств. При этом возможны утечки информации, искажение вычислительного процесса, а также управляемый выход из строя вычислительной системы.

Программные ЗЭ могут быть представлены в виде модификации компьютерной программы, в результате которой данная программа способна выполняться несколькими способами в зависимости от определенных обстоятельств. При работе программные ЗЭ могут никак не проявляться, однако при определенных условиях программа работает по алгоритму, отличному от заданного (подобно компьютерным вирусам). В литературе описан пример внесения программистом в программу начисления заработной платы предприятия нежелательных изменений, работа которых началась после его увольнения, т.е. когда фамилия программиста исчезла из базы данных персонала.

Существует классификация ЗЭ по следующим критериям:

способ у размещения ЗЭ;

способу активизации ЗЭ;

пути внедрения ЗЭ в систему;

разрушающему действию ЗЭ.

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

Перехват ПЭМИН осуществляется радиоприемными устройствами, средствами анализа и регистрации информации. При благоприятных условиях с помощью направленной антенны можно осуществлять перехват на расстоянии до 1-1,5 км. В.И. Ярочкин отмечает, что перехват информации за счет ПЭМИН обладает рядом особенностей:

информация добывается без непосредственного контакта с источником;

на прием сигналов не влияет ни время года, ни время суток;

информация получается в реальном масштабе времени, в момент ее передачи или излучения;

реализуется скрытно;

дальность перехвата ограничивается только особенностями распространения радиоволн соответствующих диапазонов.

Утечки за счет съема информации с принтера и клавиатуры по акустическому каналу. Наличие указанного канала утечки позволяет перехватывать и декодировать акустические колебания, средой распространения которых является воздушная среда. Источником данных колебаний являются соответствующие устройства СКТ. Технически возможен перехват и декодирование кодов клавиш клавиатуры. Дальность действия подобных перехватов ограничена мощностью источника акустических и электромагнитных колебаний.

Утечка, модификация, уничтожение или блокирование информации с использованием компьютерных вирусов. Существует множество типов! вирусов, каждый из которых обладает собственными отличительными при-1 знаками. Анализ специальной научной литературы дает нам основание утверждать, что все вирусы изменяют либо файлы с данными, либо програм-1 мы внутри компьютера, либо разрушают сами компьютеры1. Большинство! из них представляют собой опасность только для IBM-совместимых компьютеров, однако именно этот тип компьютеров распространен в наибольшей! степени.

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

Попадание вирусов в компьютерную систему может быть спровоцировано различными способами от высокотехнологичного несанкционированного подключения до основанного на личном доверии обмана оператора

системы путем переписывания заранее зараженных игр и сервисных программ с умыслом на вывод компьютерной системы из строя. Вирус может попасть в систему и при неумышленных действиях операторов ЭВМ - при обмене дискетами, CD-ROM-дисками, файлами.

В настоящее время «рассадником» компьютерных вирусов стала глобальная сеть Internet. Особенно активно распространяются в этой сети так называемые макровирусы, которые передаются вместе с файлами документов MS-Word и файлами рабочих книг MS-Excel. Целесообразно привести краткий анализ традиционных воздействий компьютерных вирусов на СКТ, которые известны из специальной научной литературы.

«Троянский конь» - специальная программа, которая разрешает действия, отличные от определенных в спецификации программы.

«Червь» - программа, которая создается для распространения своих копий в другие компьютерные системы по компьютерным сетям путем поиска уязвимых мест в операционных системах.

«Логическая бомба» - программа, выполняемая периодически или в определенный момент с целью исказить, уничтожить или модифицировать данные. Наступление разрушающего эффекта, как правило, программируется на заранее установленную календарную дату, время суток или иного значимого события.

Файл-инфекторы изменяют содержимое управляющих программ путем добавления нового кода в существующие файлы. Такой тип вируса поражает файлы, которые обозначены как COM, EXE, SYS, DLL. Файл-инфекторы распространяются через любой носитель данных, используемый для хранения и передачи управляемого кода. Вирус может храниться на хранения информации либо передаваться по сетям и через модемы.

Вирусы сектора начальной загрузки заражают основную загрузочную область на жестких дисках или загрузочный сектор на дискетах. Оригинальная версия обычно, но не всегда, хранится где-нибудь на диске. В результате вирус запустится перед загрузкой компьютера. Вирусы такого типа обычно остаются в секторе памяти до тех пор, пока пользователь не выйдет из системы.

Вирусы, результаты воздействия которых на компьютерные системы) их сети могут проявляться как применение нескольких отдельных вирусов, называются комбинированными (составными) вирусами. Вирус, который проникает как в сектор начальной загрузки, так и в файлы, имеет больше возможностей для размножения. В результате способности вируса проникать как в сектор начальной загрузки, так и в файлы, компьютерная система заражается вирусом независимо от того, была ли она загружена с зараженного диска или в результате запуска зараженной программы.

Парные вирусы поражают операционную систему таким образом, что нарушается последовательность выполнения файлов СОМ и ЕХЕ с одним именем. Этот тип вируса создает копию файла СОМ, но в размере файла ЕХЕ. Имя файла остается прежним. При запуске пользователем программы операционная система выполнит вновь созданный файл СОМ, в котором содержится код вируса, после чего загружает и выполняет файл ЕХЕ.

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

Полиморфные вирусы производят копии самих себя. Эти копии различны для каждого из незараженных файлов. Код вируса меняется после каждого нового заражения, но принцип его действия всякий раз остается неизменным. Известны, например, две так называемые утилиты мутации вируса: Mutation Engine и Polymorphic Trident Engine. При использовании этих утилит любой вирус становится полиморфным, так как утилиты добавляют в его код определенные команды в произвольной последовательности.

По деструктивным возможностям компьютерные вирусы можно разделить на следующие 4 группы:

Безвредные - никак не влияющие на работу компьютерной системы,
кроме уменьшения количества свободной памяти, указанной в результате
своего распространения.

Неопасные - влияние которых ограничивается уменьшением свобод
ной памяти, а также графическими, звуковыми и прочими эффектами.

Опасные - которые могут привести к серьезным сбоям в работе компьютерных систем.

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

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

1. Компьютерные вирусы, не повреждающие файловую структуру:

размножающиеся в оперативных запоминающих устройствах (ОЗУ);

раздражающие оператора (имитирующие неисправность аппаратуры; формирующие сообщения на терминале; формирующие звуковые эффекты; переключающие режимы настройки и др.);

сетевые.

2. Компьютерные вирусы, повреждающие файловую структуру:

повреждающие программы и данные пользователя;

повреждающие системную информацию (области диска, форматирующие носители, файлы операционной системы).

3. Компьютерные вирусы, воздействующие на аппаратуру и оператора:

повреждающие аппаратуру (микросхемы, диски, принтеры; выжигающие люминофор);

воздействующие на оператора (в том числе на зрение, психику и др.).

Утеря носителей информации. Может произойти в результате:

хищения с полным или частичным разрушением места хранения;

физического уничтожения из-за умышленных несанкционированны действий персонала;

пожара либо воздействия на носитель высокой температуры, ионизирующего излучения, химических веществ, сильного электромагнитного поля;

стихийных бедствий (землетрясение, наводнение, ураган и др.);

иных форс-мажорных обстоятельств.

Инициализация злоумышленником каналов утечки, вызванных несовершенством программного либо аппаратного обеспечения, а такою систем защиты, как правило, производится на этапе подготовки к совершению информационного компьютерного преступления, реже - непосредственно при его совершении. Речь идет о так называемых атаках на информационные системы. Под атакой подразумевается любая попытка преодоления систем защиты.

3. Шифрование алгоритмом DES

3.1 Краткие теоретические сведения

Алгоритм DES использует комбинацию подстановок и перестановок. DES осуществляет шифрование 64-битовых блоков данных с помощью 64-битового ключа, в котором значащими являются 56 бит (остальные 8 бит - проверочные биты для контроля на четность). Дешифрование в DES является операцией, обратной шифрованию, и выполняется путем повторения операций шифрования в обратной последовательности. Обобщенная схема процесса шифрования в алгоритме DES (рис. 1.1) заключается в начальной перестановке бит 64-битового блока, шестнадцати циклах шифрования и, наконец, в конечной перестановке бит.

Рисунок 3.1 - Обобщенная схема шифрования в алгоритме DES

Следует отметить, что все приводимые таблицы являются стандартными и должны включаться в реализацию алгоритма DES в неизменном виде.

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

Пусть из файла исходного текста считан очередной 64-битовый блок То. Этот блок преобразуется с помощью матрицы начальной перестановки IP (табл. П1).

Биты входного блока Т (64 бита) переставляются в соответствии с матрицей IP: бит 58 входного блока Т становится битом 1, бит 50 - битом 2 и т.д. Эту перестановку можно описать выражением ТО = IР(Т). Полученная последовательность бит То разделяется на две последовательности: Lo - левые, или старшие, биты, Ro - правые, или младшие, биты - каждая из которых содержит 32 бита.

Затем выполняется итеративный процесс шифрования, состоящий из 16 шагов (циклов). Пусть Т; - результат i - й итерации: Тi- = Li-Ri -, где Li. = t1, t32… t32 (первые 32 бита); Ri. = t33, t34… t64 (последние 32 бита). Тогда результат i - й итерации описывается следующими формулами: Li = Ri-1, i = 1,2,…, 16; Ri = Li-1 + f (Ri-1, Ki), i = 1,2,…, 16.

Функция f называется функцией шифрования. Ее аргументами являются последовательность R i-1, получаемая на предыдущем шаге итерации, и 48-битовый ключ Кi-, который является результатом преобразования 64-битового ключа шифра К. (Подробнее функция шифрования f и алгоритм получения ключа К описаны ниже.)

На последнем шаге итерации получают последовательности R16 и L]6 (без перестановки местами), которые конкатенируются в 64-битовую последовательность R16L16.

По окончании шифрования осуществляется восстановление позиций бит с помощью матрицы обратной перестановки (табл. П2).

Процесс расшифровывания данных является инверсным по отношению к процессу шифрования. Все действия должны быть выполнены в обратном порядке. Это означает, что расшифровываемые данные сначала переставляются в соответствии с матрицей , а затем над последовательностью бит R16L16 выполняются те же действия, что и в процессе шифрования, но в обратном порядке.

Итеративный процесс расшифровывания может быть описан следующими формулами:

Ri-1 = Li, i = 1,2,…, 16;

Li-1 = Ri + f (Li, Ki), i = 1,2,…, 16

Таким образом, для процесса расшифровывания с переставленным входным блоком R]6L16 на первой итерации используется ключ К16, на второй итерации - К15 и т.д. На 16-й итерации используется ключ Kj. На последнем шаге итерации будут получены последовательности Lo и Ro, которые конкатенируются в 64-битовую последовательность L0R0. Затем в этой последовательности 64 бита переставляются в соответствии с матрицей IP. Результат такого преобразования - исходная последовательность бит (расшифрованное 64-битовое значение).

Реализация функции шифрования

Схема вычисления функции шифрования f (Ri-1, Ki) показана на рис. 3.2.

Рисунок 3.2 - Схема вычисления функции шифрования f

Для вычисления значения функции f используются:

функция Е (расширение 32 бит до 48);

функция S1, S2,…, S8 (преобразование 6-битового числа в 4-битовое);

функция Р (перестановка бит в 32-битовой последовательности).
Приведем определения этих функций.

Аргументами функции шифрования f являются R i-1 (32 бита) и Кi,-

(48 бит). Результат функции E(R i-1) есть 48-битовое число. Функция расширения Е, выполняющая расширение 32 бит до 48 (принимает блок из 32 бит и порождает блок из 48 бит), определяется табл. ПЗ.

В соответствии с табл. ПЗ первые три бита E(R i-1) - это биты 32, 1 и 2, а последние - 31, 32 и 1. Полученный результат (обозначим его E(R)4)) складывается по модулю 2 с текущим значением ключа Кi и затем разбивается на восемь 6-битовых блоков B1, В2,…, B8 = E (R i-1) + Кi. Далее каждый из этих блоков используется как номер элемента в функциях - матрицах S1, S2,…, S8, содержащих 4-битовые значения (табл. П8).

Следует отметить, что выбор элемента в матрице S осуществляется достаточно оригинальным образом. Пусть на вход матрицы S поступает 6-битовый блок Bj = b1b2b3b4b5b6, тогда 2-битовое число b, b6 указывает номер

строки матрицы, а 4-битовое число b2b3b4b5 - номер столбца. Например, если на вход матрицы S1 поступает 6-битовый блок B1 = b1b2b3b4b5b6 = 100110 (2) то 2-битовое число b1b6 = 10 (2) = 2 (2) указывает строку с номером 2 матрицы S1, a 4-битовое число b2b3b4b5 = 0011 (2) = 3 (10) указывает столбец с номером 3 матрицы Sj. Это означает, что в матрице Sj блок Bj = 100110 выбирает элемент на пересечении строки с номером 2 и столбца с номером 3, т.е. элемент 8 (10) = 1000 (2) Совокупность 6-битовых блоков B1, В2,…, В8 обеспечивает выбор 4-битового элемента в каждой из матриц S1, S2,…, S8.

В результате получаем S1(BI), S2(B1),…, S8(B1), т.е. 32-битовый блок (поскольку матрицы S содержат 4-битовые элементы). Этот 32-битовый блок преобразуется с помощью функции перестановки бит Р (табл. П4). Таким образом, функция шифрования f (Ri-1, Ki) = P(S1(BI), S2(B1),…, S8(B1))

Алгоритм вычисления ключей

Как нетрудно заметить, на каждой итерации используется новое значение ключа Кi - (длиной 48 бит). Новое значение ключа Кi - вычисляется из начального ключа К (рис. 1.3).

Ключ К представляет собой 64-битовый блок с 8 битами контроля по четности, расположенными в позициях 8, 16, 24, 32, 40, 48, 56, 64. Для удаления контрольных бит и подготовки ключа к работе используется функция G первоначальной подготовки ключа (табл. П5).

Табл. П5 разделена на две части. Результат преобразования G(K) разбивается на две половины Со и Do, по 28 бит каждая. Первые четыре строки матрицы G определяют, как выбираются биты последовательности С (первым битом Со будет бит 57 ключа шифра, затем бит 49 и т.д., а последними битами - биты 44 и 36 ключа). Следующие четыре строки матрицы G определяют, как выбираются биты последовательности Do (т.е. последовательность Do будет состоять из бит 63, 55,47,…, 12, 4 ключа шифра),

Как видно из табл. П5, для генерации последовательностей Со и Do не используются биты 8, 16, 24, 32, 40, 48, 56 и 64 ключа шифра. Эти биты не влияют на шифрование и могут служить для других целей (например, для контроля по четности). Таким образом, в действительности ключ шифра является 56-битовым.

После определения Со и Do рекурсивно определяются Сi и Di; i = 1,2,…, 16. Для этого применяются операции циклического сдвига влево на один или два бита в зависимости от номера шага итерации, как показано в табл. П7.

Операции сдвига выполняются для последовательностей Сi и Di независимо. Например, последовательность С3 получается посредством циклического сдвига влево на две позиции последовательности С2, а последовательность D3 - посредством сдвига влево на две позиции последовательности D2, С и D16 получаются из С15 и D15 посредством сдвига влево на одну позицию.

Ключ Кi определяемый на каждом шаге итерации, есть результат выбора конкретных бит из 56-битовой последовательности CiDi, и их перестановки.

Другими словами, ключ Кi- = H(CiDi), где функция Н определяется матрицей, завершающей обработку ключа (табл. П6).

Как следует из табл. П6, первым битом ключа Кi будет 14-й бит последовательности CiDi, вторым - 17-й бит, 47-м битом ключа Кi будет 29-й бит CiDi, а 48-м битом - 32-й бит CiDi.

4. Реализация алгоритма

1. Запускаем desfull.exe и вводим исходные данные (рис. 3.4).

Дан ключ шифрования: 8615240716 и значение 64-х битового открытого текста: T = 6758270711.

Рисунок 3.4 - Ввод исходных данных

2. Переводим 6758270711 из dec в bin:

00000000000000000000000000000001100100101101001100000110111101112

С помощью матрицы начальной перестановки IP преобразуем исходный блок Т: биты входного блока Т (64 бита) переставляются в соответствии с матрицей IP.

Получаем: 10100000101100001100000010101000101100001000000000000000111100002 = 1157896647271776280010

Полученная последовательность бит То разделяется на две последовательности: Lo - левые, или старшие, биты, Ro - правые, или младшие, биты - каждая из которых содержит 32 бита (рис. 3.5).

Вводим значение Lo: 101000001011000011000000101010002 = 269593821610

Вводим значение Ro: 101100001000000000000000111100002 = 296117886410

Рисунок 3.5 - Результаты функции IP

3. На каждой итерации используется новое значение ключа Кi - (длиной 48 бит). Новое значение ключа Кi - вычисляется из начального ключа К с помощью функции G. Эта таблица разделена на две части. Результат преобразования G(K) разбивается на две половины Со и Do, по 28 бит каждая.

Переводим ключ К = 8615240716 в двоичную систему. Делим пополам и получаем значение С0 и D0.

Co = 00100000000000000100000000002 = 3355545610

Do = 00101000110000001000000000002 = 4273152010

После определения Со и Do рекурсивно определяются Сi и Di; i = 1,2,…, 16. Для этого применяются операции циклического сдвига влево на один или два бита в зависимости от номера шага итерации. Для определения С1 и D1 сдвигаем влево на 1 бит, т.о.

C1 = 6711091210

D1 = 8546304010

Ключ Кi определяемый на каждом шаге итерации, есть результат выбора конкретных бит из 56-битовой последовательности CiDi, и их перестановки. Другими словами, ключ Кi = H(CiDi), где функция Н определяется матрицей, завершающей обработку ключа (рис. 3.6).

Последовательность C1D1:

01000000000000001000000000000101000110000001000000000002,

После преобразований получаем:

K1 = 0100000000000000000000010001001000001000000001012 = 7036876213658110

Рисунок 3.6 - Исследование схемы генерации ключей

4. Далее с помощью функции Е расширяем R0 до 48 бит.

Результат: R0 = 2961178864 и ключ К1 имеет значения 7036876213658110.

Переводим значение 296117886410 bin: 101100001000000000000000111100002 и определяем Е в соответствии с таблицей.

В результате преобразований получаем: Е = 0101101000010100000000000000000000010111101000012 = 9904194585180910.

Полученный результат складывается по модулю 2 с текущим значением ключа Кi (результатом этой операции является значение на входе блока S).

Значение на входе блока S:

0101101000010100000000000000000000010111101000012

+

0100000000000000000000010001001000001000000001012

=

0001101000010100000000010001001000011111101001002

S = 000110 100001 010000 000001 000100 100001 111110 1001002 = 2867321963306010

На блок S поступает 48-битовый блок, на выходе мы получаем 32-битовый блок. Разбиваем на 8 6-битовых блоков (крайние биты образуют номер строки, центральные - номер столбца в соответствие с таблицей):

S1: 000110 - 1 - 0001

S2: 100001 - 13 - 1101

S3: 010000 - 1 - 0001

S4: 000001 - 13 - 1101

S5: 000100 - 4 - 0100

S6: 100001 - 4 - 0100

S7: 111110 - 2 - 0010

S8: 100100 - 4 - 0100

Получаем значение на выходе блока S:

000111010001110101000100001001002 = 48845725210

Этот 32-битовый блок преобразуется с помощью функции перестановки бит Р.

0 0 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Производим замену: P = 100001000000110001010100011110102 = 221540057010

Результаты заносим в таблицу (рис. 3.7).

Рисунок 3.7 - Исследование функции шифрования

5. Значение L1 = 296117886410, так как L1 = R0

R1 = L0 + f (K1, R0)

101000001011000011000000101010002

+

100001000000110001010100011110102

=

001001001011110010010100110100102

R1 = 61633864210

Остальные 15 циклов выполняются автоматически. Получаем L16 и R16:

L16 = 64983285710, R16 = 319784309410

Переводим L16 и R16 в двоичную систему и соединяем. Получается «Значение на входе блока IP-1»

00100110101110111010100110011001101111101001101100110110100101102

= 279101087187908776610

Далее с помощью таблицы функции IP-1 получаем шифротекст:

00110101111110101100101010110111101110111101110000000000101101112 = 388964411866742802310

Результаты заносим в таблицу (рис. 3.8).

Рисунок 3.8 - Исследование работы криптографического алгоритма DES

5. Алгоритм шифрования ГОСТ 28147-89. Режим простой замены

5.1 Краткие теоретические сведения

Открытые данные, подлежащие зашифровыванию, разбивают на 64 - разрядные блоки То. Процедура зашифровывания 64 - разрядного блока То в режиме простой замены включает 32 цикла (j = 1,2,…, 32). В ключевое запоминающее устройство вводят 256 бит ключа К в виде восьми 32 - разрядных подключей (чисел) K,

Последовательность бит блока T0 разбивают на две последовательности по 32 бита: b(0) и a (0) где b(0) - левые биты, а(0) - правые биты.

Работа алгоритма в режиме простой замены изображена на рисунке 4:

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 4.1 - Схема реализации режима простой замены

Обозначения на схеме:

N1, N2 - 32 - разрядные накопители;

СМ1 - 32 - разрядный сумматор по модулю (+);

СМ2 - 32 - разрядный сумматор по модулю 2 ();

R - 32 - разрядный регистр циклического сдвига;

КЗУ - ключевое запоминающее устройство на 256 бит, состоящее из восьми 32 - разрядных накопителей Х0, Х1, Х2., Х7;

S - блок подстановки, состоящий из восьми узлов замены (S - блоков замены) Sl, S2, S3,…, S8.

Эти последовательности вводят в накопители Nl, и N2 перед началом первого цикла зашифровывают. В результате начальное заполнение накопителя N1:

32, 31,…, 2, 1 номер разряда N1;

начальное заполнение накопителя N2:

32, 31,…. 2, 1 номер разряда N2.

Первый цикл (j = 1) процедуры зашифровывания 64-разрядного блока открытых данных можно описать уравнениями:

Здесь а(1) - заполнение N1, после 1-го цикла зашифровывания; b(l) - заполнение N2 после 1-го цикла зашифровывания; f - функция шифрования.

Аргументом функции f является сумма по модулю 232 числа а(о) (начального заполнения накопителя N1) и числа К0 подключа, считываемого из накопителя Х0 КЗУ. Каждое из этих чисел равно 32 битам.

Функция f включает две операции над полученной 32-разрядной суммой (а(0) + K0).

Первая операция называется подстановкой (заменой) и выполняется блоком подстановки S. Блок подстановки S состоит из восьми узлов замены (S-блоков замены) Sl, S2..-, S8 с памятью 64 бит каждый.

Вторая операция - циклический сдвиг влево (на 11 разрядов) 32-разрядного вектора, полученного с выхода блока подстановки S. Циклический сдвиг выполняется регистром сдвига R. Затем результат работы функции шифрования f суммируют поразрядно по модулю 2 в сумматоре СМ2 с 32-разрядным начальным заполнением b(0) накопителя N2. Далее полученный на выходе СМ2 результат (значение a(l)) записывают в накопитель N, а старое значение N1 (значение а(0)) переписывают в накопитель N2 (значение b(l) = a(0)). Первый цикл завершен. Последующие циклы осуществляются аналогично. Таким образом, при зашифровывании в 32 циклах осуществляется следующий порядок выборки из КЗУ подключей:

К0, К1, K2, K3, K4, K5, K6, K7, K0, K1, K2, K3, K4, K5, K6, K7,

К0, К1, K2, K3, K4, K5, K6, K7, K7, K1, K2, K3, K4, K5, K6, K0.

В 32-м цикле результат из сумматора СМ2 вводится в накопитель N2, а в накопителе N1, сохраняется прежнее заполнение. Полученные после 32-го цикла зашифровывания заполнения накопителей N1 и N2 являются блоком зашифрованных данных Тш, соответствующим блоку открытых данных

Блок зашифрованных данных Тш (64 разряда) выводится из накопителей N1, N2 в следующем порядке: из разрядов 1…32 накопителя N1, затем из разрядов 1…32 накопителя N2, т.е. начиная с младших разрядов:

Tш = (а1 (32) а2 (32),…, а31 (32) а32 (32), bl(32), b2 (32),…, b31 (32), b32 (32)). Остальные блоки открытых данных зашифровываются в режиме простой замены аналогично.

5.2 Реализация алгоритма

1. Для начала выберем опцию «Изменить параметры выполнения». Там выбираем число циклов при зашифровании и расшифровании. Устанавливаем их число равное 7 и 4. Меняем значения на , на .

2. Вводим исходные данные N1 = 13270597; N2 = 69120571 (рис. 4.3).

Рисунок 4.3 - Ввод начальных данных

Шаг 1. (рис. 4.4)

Рассчитываем значение на выходе CM1:

Прибавляем к значению N1 ключ К0. (Примечание. На шаге 2 будем использовать ключ K1, на шаге 3 - K2 и т.д.)

СМ1 = N1 + K0 = 1327405310

Рассчитываем значение на выходе блока S:

Берем значение СМ1 и переводим его в двоичную форму 13121771010 = 000000001100101010001011110001012. С помощью таблицы подстановки S получаем S = 000100000111011101001001001110002 = 27625298410.

Сдвигаем значение S на 11 разрядов влево и получаем значение:

R = 312539558710

Рассчитываем значение CM2 = N2 + R.

N2 = 69120571

00000100000111101011001000111011 (N2)

+

10111010010010011100000010000011 (R)

10111110010101110111001010111000= 319340204010

Записываем значение N2 равное значению N1 = 1327059710

Записываем значение N1 равное значению CM2 = 319340204010

Рисунок 4.4 - Шаг 1. (Зашифровка)

Шаг 2. (рис. 4.5)

Рассчитываем значение на выходе CM1:

Прибавляем к значению N1 ключ К1.

СМ1 = 319340206810

Рассчитываем значение на выходе блока S:

Берем значение СМ1 и переводим его в двоичную форму 319340206810 = 101111100101011101110010110101002. С помощью таблицы подстановки S получаем S = 100000111100001110101110101000012 = 221063952110.

Сдвигаем значение S = 000100011110011111011111101110102 на 11 разрядов влево и получаем значение:

R = 49421007810

Рассчитываем xor`м значение CM2 = N2 + R.

N2 = 13270597

00000000110010100111111001000101 (N2)

+

00011101011101010000110000011110 (R)

00011101101111110111001001011011= 49908591510

Записываем значение N2 равное значению N1 = 319340204010

Записываем значение N1 равное значению CM2 = 49908591510

Рисунок 4.5 - Шаг 2. (Зашифровка)

Шаг 3. (рис. 4.6)

Рассчитываем значение на выходе CM1:

Прибавляем к значению N1 ключ К2.

СМ1 = N1 + K2 = 49909355010

Рассчитываем значение на выходе блока S:

Берем значение СМ1 и переводим его в двоичную форму 49909355010 = 000111011011111110010000001011102. С помощью таблицы подстановки S получаем S = 110001100011100100111110000000002 = 332564019210.

Сдвигаем значение S = на 11 разрядов влево и получаем значение:

R = 338795064110

Рассчитываем xor`м значение CM2 = N2 + R.

N2 = 13270597

10111110010101110111001010111000 (N2)

+

11001001111100000000011000110001 (R)

01110111101001110111010010001001= 200746304910

Записываем значение N2 равное значению N1 = 49908591510

Записываем значение N1 равное значению CM2 = 200746304910

Рисунок 4.6 - Шаг 3. (Зашифровка)

Шаг 4. (рис. 4.7)

Рассчитываем значение на выходе CM1:

Прибавляем к значению N1 ключ К3.

СМ1 = N1 + K3 = 200749069410

Рассчитываем значение на выходе блока S:

Берем значение СМ1 и переводим его в двоичную форму 200749069410 = 0111 01111010011111100000100001102. С помощью таблицы подстановки S получаем S = 111100010111001100001110101110012 = 405084946510.

Сдвигаем значение S на 11 разрядов влево и получаем значение:

R = 255785767510

Рассчитываем xor`м значение CM2 = N2 + R.

N2 = 499085915

00011101101111110111001001011011 (N2)

+

10011000011101011100111110001011 (R)

10000101110010101011110111010000= 224465659210

Записываем значение N2 равное значению N1 = 200746304910

Записываем значение N1 равное значению CM2 = 224465659210

Рисунок 4.7 - Шаг 4. (Зашифровка)

Заключение

Анализируя данную курсовую работу необходимо сделать следующий вывод, что ее существует универсального решения для защиты сетей от скрытых троянов. Помните, атака на уровне LSP - это всего лишь пример одного из способов атаки, тогда как существуют, как упоминалось в первой части этой статьи, другие более сложные методы нападения. Все, что может предпринять хорошо финансируемая организация - это повысить надежность отдельных уровней защиты, а также увеличить само число таких уровней. Кроме этого, администраторы и пользователи должны быть настолько хорошо подготовлены в вопросах информационной безопасности, насколько это возможно. Межсетевая защита не так неприступна, как можно подумать.

Также в данной работе изучены блочные алгоритмы шифрования ГОСТ и DES. Можно с уверенностью сказать, что алгоритм DES сложнее по реализации, чем ГОСТ, но в то же время ГОСТ является более устойчивым алгоритмом для хранения и передачи информации.

Список используемых источников

1. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. Под ред. В.Ф. Шаньгина. - 2-е изд., перераб. и доп. - М.: Радио и связь, 2001. - 376 с.: ил.

2. Конеев И.Р., Беляев А.В. Информационная безопасность предприятия. - СПб.: БХВ-Петербург, 2003.

3. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. Защита информации в компьютерных системах и сетях. М. Радио и связь, 1999 г.

4. Зима В.М., Молдавян А.А., Молдовян Н.А. Безопасность глобальных сетевых технологий. С-Петербург. 2001 г.

5. Харин Ю.С., Берник В.И., Матвеев Г.В. Агиевич С.В. Математические и компьютерные основы криптологии. Мн., 2003 г.

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.