Выбор оптимального блочного алгоритма шифрования трафика в информационной системе вуза
Рассмотрение процесса шифрования и дешифрования. Выявление основных требований криптосистемы, характеристика стандарта Российской Федерации на шифрование и имитозащиту данных. Исследование юридических аспектов использования алгоритмов шифрования.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 08.12.2018 |
Размер файла | 20,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Выбор оптимального блочного алгоритма шифрования трафика в информационной системе вуза
Куликов А.Л.
При создании распределенных систем, использующих в качестве средства авторизации пользователя на компьютере смарт-карту, возникает задача обеспечения необходимой конфиденциальности передачи информации между центральным сервером и компьютером пользователя. В разработанной системе Смарт.АГУ (Астраханский Государственный университет), гарантированность авторизации обеспечивается многоуровневыми проверками передаваемой информации (генерацией ключа сеанса, учитывающего аппаратные характеристики компьютера, проверкой ip-адреса компьютера). Типовая смарт-карта обычно содержит несколько «закрытых» областей, в которых можно хранить статичную информацию (ключ), а так же, предусмотренный стандартом механизм генерации ключей сеанса (средствами ОС смарт-карты). В разработанной системе Смарт.АГУ, смарт-карты используются в качестве средства идентификации, для получения доступа как непосредственно к компьютеру, так и к персональной информации пользователя (расписанию, зачетке, и т п.). В силу того что обмен информацией производится по ЛВС университета - для исключения действий злоумышленников по перехвату конфиденциальной информации требуется обеспечить эффективную шифрацию/дешифрацию передаваемой информации. Таким образом, необходимо выбрать алгоритм шифрования, удовлетворяющий как по скорости шифрования/дешифрования (из расчета 5000 работающих пользователей) так и по криптостойкости (используется в ЛВС университета).
В качестве операционной системы на клиентских персональных компьютерах (не находящихся под наблюдением дежурного оператора) используется операционная система Windows XP professional компании Microsoft(ключ для шифрования/дешифрования может быть получен на основе «ключа сеанса», генерируемого в результате двухпроходной авторизации пользователя).
Рассмотрим подробнее процесс шифрования/дешифрования. Криптосистема должна удовлетворять следующим требованиям:
? зашифрованное сообщение должно поддаваться чтению только при наличии ключа;
? число операций, необходимых для определения использованного ключа шифрования по фрагменту шифрованного сообщения и соответствующего ему открытого текста, должно быть не меньше общего числа возможных ключей;
? число операций, необходимых для расшифровывания информации путем перебора всевозможных ключей должно иметь строгую нижнюю оценку и выходить за пределы возможностей современных компьютеров (с учетом возможности использования сетевых распределенных вычислений);
? знание алгоритма шифрования не должно влиять на надежность защиты;
? незначительное изменение ключа должно приводить к существенному изменению вида зашифрованного сообщения даже при использовании одного и того же ключа;
? структурные элементы алгоритма шифрования должны быть неизменными;
? дополнительные биты, вводимые в сообщение в процессе шифрования, должен быть полностью и надежно скрыты в шифрованном тексте;
? длина шифрованного текста, должна быть равна длине исходного текста;
? не должно быть простых и легко устанавливаемых зависимостью между ключами, последовательно используемыми в процессе шифрования;
? любой ключ из множества возможных ключей должен обеспечивать надежную защиту информации;
? алгоритм должен допускать как программную, так и аппаратную реализацию, при этом изменение длины ключа не должно вести к качественному ухудшению алгоритма шифрования.
С учетом некоторой специфичности задачи (требованиям к скорости, к минимально возможному увеличению объема передаваемой информации) будем рассматривать только симметричные криптографические алгоритмы [1], параметры некоторых наиболее распространенных из них сведены в таблицу 1.
DES (Data Encryption Standard). Федеральный стандарт шифрования США.
Параметры алгоритма: размер блока 64 бита размер ключа 56 бит (64 бита, 8 из которых не используются) число раундов 16. Широкое использование битовых перестановок в DESе делает алгоритм неудобным для программных реализаций на универсальных процессорах, а сами такие реализации крайне неэффективными. По сравнению с Российским стандартом шифрования DES содержит вдвое меньше раундов, однако его оптимальная реализация для процессоров линии Intel x86 уступает реализации Российского стандарта, по скорости в 3-10 раз в зависимости от марки процессора, эта разница увеличивается от младших моделей к старшим. Кроме того, по единодушному мнению криптографов начальная и конечная битовые перестановки являются не более чем "украшениями" алгоритма, т.е. бесполезны с криптографической точки зрения, а размера ключа в 56 бит явно недостаточно для обеспечения приемлемой стойкости, что регулярно демонстрируется успехами во вскрытии шифровок DES путем подбора ключа методом прямого перебора с помощью распределенной сети или спецпроцессора.
Blowfish.
Параметры алгоритма: размер блока 64 бита размер ключа 32-448 бит число раундов 16. Использование необратимых подстановок, зависимость узлов замен от ключа, большой размер узлов замен (используются 4 узла замен 8-в-32 бита, зависящих от ключа), переменный размер ключа от 32 до 448 бит, сложная схема выработки ключевых элементов - подготовка ключевых элементов требует выполнения 521 цикла шифрования, что существенно затрудняет переборную атаку на алгоритм, однако, делает его непригодным для использования в системах, где ключ часто меняется и на каждом ключе шифруется небольшие по объему данные. Алгоритм лучше всего подходит для систем, в которых на одном и том же ключе шифруются большие массивы данных.[2]
IDEA (International Decryption-Encryption Algorithm).
Параметры алгоритма: размер блока 64 бита размер ключа 128 бит число раундов 8. Использование шифрующих SP-сетей общего типа с инвариантом раунда, являющимся побитовой суммой по модулю 2 старшей и младшей половин шифруемого блока, относительно сложная структура раунда при небольшом (8) их количестве, функция шифрования с использованием аддитивных и мультипликативных операций, прямая модификация шифруемого блока между раундами с использованием ключевых элементов, манипулирование четверть-блоками (16-битовыми целыми), отсутствие битовых перестановок и табличных подстановок - целиком "арифметический" алгоритм. Оптимизирован для 16-разрядных процессоров с быстрой командой умножения. Очень простая схема выработки раундовых ключевых элементов из ключа.
ГОСТ 28147-89. Стандарт Российской Федерации на шифрование и имитозащиту данных.
Параметры алгоритма: размер блока 64 бита размер ключа 256 бит число раундов 32. Упрощенная структура раунда шифрования и простая обратимая функция шифрования, увеличенное число раундов, тривиальная схема генерации ключевых элементов из ключа - в качестве ключевых элементов на раундах шифрования используются 32-битные фрагменты ключа, каждый фрагмент используется 4 раза. Алгоритм не содержит нерегулярных битовых перестановок и оптимизирован для программной реализации. Таблица подстановок не фиксирована в алгоритме и является долговременным ключевым элементом.
Таблица 1. Параметры представленных алгоритмов шифрования
Алгоритм шифрования |
Размер ключа, бит |
Длина блока, бит |
Число циклов |
Основные операции |
|
DES |
56 |
64 |
16 |
Подстановка, перестановка, кольцевая сумма. |
|
IDEA |
128 |
64 |
8 |
Умножение по модулю 216+1, сложение по модулю 216 , кольцевая сумма |
|
Blowfish |
32-448 |
64 |
16 |
Сложение по модулю 232, подстановка, кольцевая сумма |
|
ГОСТ 28147-89 |
256 |
64 |
32 |
Сложение по модулю 232, перестановка, кольцевая сумма, циклический сдвиг. |
шифрование алгоритм криптосистема стандарт
Таблица 2. Сравнительные скоростные характеристики алгоритмов блочного шифрования, используя рекомендуемый авторами алгоритма минимальный остаточный размер ключа (размер блока 64 бит), на Intel Pentium x86
Алгоритм |
Число циклов на раунд |
Число раундов |
Число циклов на зашифрованный байт (скорость шифрования) |
Замечания |
|
DES |
18 |
16 |
45 |
Размер ключа 56 бит |
|
IDEA |
50 |
8 |
50 |
Размер ключа 128 бит |
|
Blowfish |
9 |
16 |
18 |
Размер ключа 448 бит |
|
ГОСТ 28147-89 |
32 |
32 |
256 |
Размер ключа 256 бит |
Криптостойкость рассмотренных алгоритмов.
Блок подстановок в DES допускает аппроксимацию аффинными преобразованиями. Многие булевы функции, используемые в подстановках, отличаются от аффинных функций лишь для двух из шестнадцати возможных наборов аргументов, т.е. нелинейность подстановки DES равна двум (максимально достижимая нелинейность 4-битной подстановки равна четырем). Это обусловливает уязвимость DES к дифференциальному и линейному методам криптоанализа. Кроме того, DES облагает свойством дополнения, а именно, если х, z- открытый текст и ключ соответственно, то имеет место равенство DES(x,z) = DES(x,z). При подборе ключа это позволяет нарушителю вдвое сократить объем перебора, т.е. ключ можно искать с точностью до инверсии. До 1990 г. перебор был наилучшим алгоритмом раскрытия ключа DES. Появление дифференциального метода криптоанализа привело к снижению стойкости сначала "усеченных" версий, а затем и полного алгоритма до уровня 237 при требуемом объеме известных блоков открытого текста 236. В дальнейшем стойкость DES была снижена линейным методом. Следует отметить, что раскрытие ключа дифференциальным методом проводится в предположении, что на каждом цикле используется свой ключ. Поэтому увеличение объема ключа DES не позволяет заметно увеличить стойкость.
Алгоритм IDEA благодаря использованию операции умножения по модулю 216+l, обладающей сильным перемешивающим эффектом, представляется достаточно стойким по отношению к линейному криптоанализу. Стойкость этого алгоритма по отношению к дифференциальному методу криптоанализа не очевидна. IDEA ориентирован на программную или аппаратную реализацию с использованием встроенного аппаратного умножителя. Однако даже в этом случае умножение по модулю 216+l выполняется программно заметно медленнее, чем сложение, что обусловлено необходимостью выполнения дополнительных операций, кроме собственно умножения 16-битных чисел. Количество машинных тактов для шифрования IDEA в программной реализации при отсутствии специальных мер зависит от вида ключа и шифруемого текста. Поэтому точное измерение длительности шифрования каждого блока позволяет извлечь дополнительную информацию о ключе. Очевидно, это обстоятельство может заметно снизить стойкость IDEA. Кроме того, для этого алгоритма существует класс слабых ключей.
Исследования Blowfish показали, что для этого алгоритма существуют слабые ключи (S-блоки, в которых есть одинаковые слова). При использовании таких ключей дифференциальный криптоанализ позволяет восстановить массив подключей для 8 циклов с помощью 223 выбранных открытых текстов, а для 16 циклов - с помощью 3*251 выбранных открытых текстов. Если слабые ключи не используются, то для 8 циклов восстановить массив подключей можно с помощью 248 выбранных открытых текстов. В 1998 г. алгоритм Blowfish представлен в качестве кандидата на стандарт шифрования США.
В алгоритме шифрования ГОСТ 28147-89 блок подстановки не фиксирован, как в DES, и является секретным параметром. Ключ гораздо больше - 256 бит, что делает невозможной атаку перебором. Опыт DES показывает, что выбор подстановки решающим образом влияет на стойкость шифра. Механизмы рассеивания в ГОСТ 28147-89 и DES различаются. Если в DES рассеивание достигается перестановкой бит в блоке текста и подстановкой, то в ГОСТ 28147-89 оно осуществляется в основном сложением по модулю 232, подстановкой и сдвигом. Для повышения стойкости к дифференциальному и линейному методам криптоанализа желательно выбирать экстремальные подстановки с нелинейностью 4 и рассеиванием 1 . Кроме того, наиболее вероятная разность двух выходов подстановки при фиксированной разности входов должна иметь малую вероятность (разности определяются суммой по модулю 2). Однако нахождение таких подстановок сопряжено со значительными трудностями. Число циклов в ГОСТ 28147-89 по сравнению с DES увеличено вдвое. Криптоанализ усеченного 24-циклового ГОСТ 28147-89 без последних восьми циклов показал, что стойкость его превышает 254 для случайного блока подстановки.
Международные юридические аспекты использования алгоритмов шифрования.
Таблица 3. Юридические аспекты использования алгоритмов шифрования
Алгоритм шифрования |
Ограничения |
|
DES |
Экспортные ограничения, налагаемые АНБ США |
|
IDEA |
Запатентован Ascom-Tech, при коммерческом использовании требует обязательного лицензирования |
|
Blowfish |
Не запатентован, свободно распространяемый |
|
ГОСТ 28147-89 |
Не запатентован, при использовании в России требуется сертификат ФАПСИ |
Следует отметить, что современное Российское патентное законодательство никаким образом не поддерживает права на алгоритм, соответственно не выдаются патенты на алгоритмы шифрования. Таким образом, на территории Российской Федерации допустимо использование любых рассмотренных алгоритмов шифрования, а вот в случае продвижения программы на международный рынок, использование некоторых алгоритмов либо полностью запрещено, либо требует обязательного лицензирования у патентообладателя.
Обобщая существенные при разработке системы свойства алгоритмов шифрования (скорость шифрации и криптостойкость), наиболее предпочтительным для использования является ГОСТ 28147-89 (при условии наличия полной документации по стандарту, в том числе и специальных криптографических подстановок, от которых существенно зависит криптостойкость алгоритма). Так же, в силу того, что любая смарт-карта содержит несколько закрытых областей - есть возможность предусмотреть использование нескольких алгоритмов шифрования (например BlowFish и DES).
Список литературы
1. «Сравнение возможностей различных алгоритмов». http://security.nsys.by/
2. Counterpane Labs. «The Blowfish encryption algorithm» http://www.counterpane.com/
Размещено на Allbest.ru
...Подобные документы
Исследование симметричных алгоритмов блочного шифрования. Минусы и плюсы алгоритма IDEA. Разработка программы аутентификации пользователя и сообщений на основе алгоритма IDEA. Выбор языка программирования. Тестирование и реализация программного средства.
курсовая работа [314,2 K], добавлен 27.01.2015Автоматизация процесса шифрования на базе современных информационных технологий. Криптографические средства защиты. Управление криптографическими ключами. Сравнение симметричных и асимметричных алгоритмов шифрования. Программы шифрования информации.
курсовая работа [795,7 K], добавлен 02.12.2014Симметричные криптосистемы как способ шифрования, в котором для шифрования и расшифровывания применяется один и тот же криптографический ключ. Разбор и реализация шифрования алгоритма: простая и двойная перестановка, перестановка "магический квадрат".
курсовая работа [3,3 M], добавлен 11.03.2013История криптографии. Сравнение алгоритмов шифрования, применение в операционной системе. Анализ продуктов в области пользовательского шифрования. Включение и отключение шифрования на эллиптических кривых. Использование хеш-функции. Электронная подпись.
курсовая работа [492,6 K], добавлен 18.09.2016Сравнительный анализ роторной криптосистемы на основании криптографической машины "Энигма" времен второй мировой войны и усовершенствованной "Энигма". Ассиметричная система шифрования и дешифрования данных RSA, ее принципиальное отличие от симметричных.
курсовая работа [1,7 M], добавлен 14.12.2012Симметричные криптосистемы; алгоритмы шифрования и дешифрования данных, их применение в компьютерной технике в системах защиты конфиденциальной и коммерческой информации. Основные режимы работы алгоритма DES, разработка программной реализации ключа.
курсовая работа [129,6 K], добавлен 17.02.2011Формирование ключей для шифрования сообщения. Описание алгоритма RSA: шифрование и дешифрование. Понятие и история изобретения криптосистемы с открытым ключом. Свойства односторонней функции и сложность раскрытия шифра. Сущность цифровой подписи.
лабораторная работа [326,0 K], добавлен 04.11.2013Сравнение производительности программных реализаций алгоритмов шифрования с оптимизациями под языки С и Java. История разработки, сущность, принципы шифрования и успехи в криптоанализе таких алгоритмов шифрования как AES, RC4, RC5, RC6, Twofish и Mars.
реферат [1,3 M], добавлен 13.11.2009Анализ криптографических методов шифрования данных. Разработка криптосистемы, основанной на схеме Эль-Гамаля. Определение функциональных и нефункциональных требований. Выбор языка программирования и среды разработки. Тестирование программного продукта.
дипломная работа [1,6 M], добавлен 17.07.2016Особенности шифрования данных, предназначение шифрования. Понятие криптографии как науки, основные задачи. Анализ метода гаммирования, подстановки и метода перестановки. Симметрические методы шифрования с закрытым ключом: достоинства и недостатки.
курсовая работа [564,3 K], добавлен 09.05.2012Симметричные и асиметричные методы шифрования. Шифрование с помощью датчика псевдослучайных чисел. Алгоритм шифрования DES. Российский стандарт цифровой подписи. Описание шифрования исходного сообщения асимметричным методом с открытым ключом RSA.
курсовая работа [101,1 K], добавлен 09.03.2009Реализация алгоритма DES и режимов шифрования для любой длины сообщения и любой длины ключа. Шифрование сообщений различной длины и ключа с замериванием времени и скорости шифрования. Реализация алгоритма RSA. Сохранение зашифрованного файла на диск.
курсовая работа [398,4 K], добавлен 26.01.2010Принцип программной реализации классических криптографических методов. Метод шифрования с использованием таблицы Виженера. Создание текстового редактора "Блокнот", содержащего методы шифрования. Вербальный алгоритм и программа для методов шифрования.
курсовая работа [2,0 M], добавлен 20.01.2010Применение алгоритмов шифрования и дешифрования данных в компьютерной технике в системах сокрытия конфиденциальной и коммерческой информации от злонамеренного использования сторонними лицами. Классический пример - симметричные криптографические алгоритмы.
дипломная работа [44,9 K], добавлен 08.07.2009История появления симметричных алгоритмов шифрования. Роль симметричного ключа в обеспечении степени секретности сообщения. Диффузия и конфузия как способы преобразования бит данных. Алгоритмы шифрования DES и IDEA, их основные достоинства и недостатки.
лабораторная работа [335,9 K], добавлен 18.03.2013Шифрование как метод защиты информации. История развития криптологии. Классификация алгоритмов шифрования, симметричные и асимметричные алгоритмы. Использование инструментов криптографии в Delphi-приложениях. Краткая характеристика среды Delphi 7.
курсовая работа [48,5 K], добавлен 19.12.2009Криптография и шифрование. Симметричные и асимметричные криптосистемы. Основные современные методы шифрования. Алгоритмы шифрования: замены (подстановки), перестановки, гаммирования. Комбинированные методы шифрования. Программные шифраторы.
реферат [57,7 K], добавлен 24.05.2005Защита данных, хранящихся на диске, от несанкционированного доступа путем их шифрования. Основные этапы процедуры шифрования и расшифровки файлов. Архивирование файла с паролем. Назначение и функции технологии шифрования BitLocker и её отличия от EFS.
контрольная работа [743,4 K], добавлен 14.03.2019Разработка приложения для шифрования данных с помощью алгоритма DES5: процесс шифрования, расшифрования, получение ключей. Спецификация программы, процедуры и функции; описание интерфейса пользователя. Реализация задачи в среде программирования DELPHI.
курсовая работа [812,6 K], добавлен 27.03.2012История появления и развития шифрования текста. Проблема шифрования и дешифрования текстовых сообщений в современности. Создание программы для зашифровки и расшифровки вводимого текста пятью методами: Атбаш, Цезаря, Полибия, Гронсфельда и Винжера.
курсовая работа [923,6 K], добавлен 26.12.2011