Лабораторная работа №1 "исследование одноключевых блочных криптографических алгоритмов" Контрольное программное обеспечение - davaiknam.ru o_O
Главная
Поиск по ключевым словам:
страница 1
Похожие работы
Название работы Кол-во страниц Размер
Лабораторная работа №2 криптографические методы обеспечения подлинности... 1 245.19kb.
Изучение и практическое применение двухключевых блочных криптографических... 1 51.59kb.
Программное обеспечение ЭВМ 1 77.66kb.
Лабораторная работа №6 по курсу "Информационная безопасность" Лабораторная... 1 57.48kb.
Лабораторная работа №5 Режимы работы блочных шифров. Схемы кратного... 1 171.64kb.
Практическая работа №5 «Программная реализация криптографических... 1 281.84kb.
Свободное программное обеспечение (спо) это программное обеспечение... 7 665.19kb.
Программа по курсу: прикладное программное обеспечение(по выбору) 1 105.62kb.
Лабораторная работа №5 Исследование триггеров и счетчиков в программе... 1 84.7kb.
Лабораторная работа №1 Исследование искусственной радиации Лабораторная... 3 602.13kb.
Лабораторная работа 4 «Вязкость жидкостей» 1 24.31kb.
Программа выбора Использование сервисной программы выбора изделия... 1 41.48kb.
Направления изучения представлений о справедливости 1 202.17kb.

Лабораторная работа №1 "исследование одноключевых блочных криптографических алгоритмов" - страница №1/1

Лабораторная работа № 1

“ИССЛЕДОВАНИЕ ОДНОКЛЮЧЕВЫХ БЛОЧНЫХ КРИПТОГРАФИЧЕСКИХ АЛГОРИТМОВ”


Контрольное программное обеспечение:

  • алгоритм перестановок исходной информации;

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

  • алгоритм шифрования – RC5;

  • алгоритм определения статистического распределения бит в информационной последовательности.

Порядок выполнения работы

1. Разработка одноключевых алгоритмов шифрования и методов их анализа.

а) Реализовать алгоритмы выполнения подстановок, перестановок и алгоритма шифрования RC5 (приложение 1) в выбранной среде программирования.

в) Реализовать алгоритм статистического анализа информационной последовательности (приложение 1).




  1. Изучить методы шифрования-дешифрования информации методом подстановок (замены):

а) Используя генератор случайных чисел получить секретный ключ k255.

б) Получить криптограмму y=(k+x)(mod 256), где 256 – количество используемых символов в таблице ASCII.

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

г) Дешифровать криптограмму x=(y+(N-k))(mod N).

д) Проверить выполнение равенства x=x, сделать выводы, результаты занести в отчет.


  1. Изучить методы шифрования-дешифрования информации методом перестановок:

а) Используя генератор случайных чисел получить секретный ключ k.

б) Получить криптограмму y=f(x,k) используя алгоритм определения перестановок.

в) Определить статистическое распределение знаков в открытом тексте и криптограмме меняя 10 раз значение ключа шифрования, сравнить, сделать выводы.

г) Дешифровать криптограмму x=f -1(y,k).

д) Проверить выполнение равенства x=x, сделать выводы, результаты занести в отчет.


  1. Изучить методы шифрования-дешифрования информации одноключевым криптоалгоритмом RC5 (см. приложение 1).

а) Используя генератор случайных чисел получить секретный ключ kn.

б) Получить криптограмму y=f(x,k) используя выбранный алгоритм шифрования.

в) Определить статистическое распределение знаков в открытом тексте и криптограмме меняя 10 раз значение ключа шифрования, сравнить, сделать выводы, результаты занести в отчет.


  1. Сравнить результаты анализа статистического распределения открытого текста и криптограмм в п.п. 1, 2, 3. Сделать выводы о качестве исследуемых криптоалгоритмов, результаты занести в отчет.



Содержание отчета


  1. Разработанные алгоритмы и тексты программ.

  2. Сведенные в таблицу открытый текст, его код - представление в цифровом виде, криптограмму.

  3. Статистические зависимости, характеризующие качество одноключевых алгоритмов.

4. Выводы по каждому пункту работы.


Приложение 1


  1. Алгоритмы подстановки

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

Yi=(К+Xi)(mod 256),

где Xiцифровое значение символа исходного текста, Yi цифровое значение символа получаемой криптограммы.

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

Yij=(Кj+Xij)(mod 256),

где i – номер блока информации, j – номер символа в блоке (ключе).



  1. Алгоритм RC5

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

  1. Установить счетчик и число раундов шифрования R и выполнить преобразование:

A:=(A+Q0) mod 2b;

B:=(B+Q1) mod 2b;



  1. Преобразовать:

A:={[(AB)<<2i} mod 2b;

B:={[(BA)<<2i+1} mod 2b;



  1. Если iR, то прирастить i=i+1 и перейти к шагу 2.

  2. Стоп.

  3. Преобразованное значение подблоков A и В.

В приведенном алгоритме b - это длина подблоков в битах, R - число раундов шифрования,  - сложение по модулю 2, <<< - циклический сдвиг влево на количество бит, указанное справа, Qi - значение b - битного подключа. Типичной является модификация алгоритма с параметрами b=32, R=12, К=128 бит, где К - это значение секретного ключа из которого формируются подключи Qi.

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



Приложение 2

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



.

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

H=- p(0)log2p(0) - p(1)log2p(1),

где р(0), р(1) - вероятности появления в информационной последовательности 0 и 1 соответственно.

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

H=- p(0)p(10/0)log2p(10/0) - p(0)p(00/0)log2p(00/0)



  • p(1)p(11/1)log2p(11/1) - p(1)p(01/1)log2p(01/1),

где р(00/0)=р(00)/р(0), р(10/0)=р(10)/р(0), р(01/1)=р(01)/р(1), р(11/1)=р(11)/р(1), р(00), р(10), р(01), р(11) – вероятности появления в информационной последовательности пар 00, 10, 01, 11 соответственно.




Плохо думать о ближних — грех, но едва ли ошибка. Генри Луис Менкен
ещё >>