20964

Шифрування та дешифрування даних за допомогою алгоритмів гамування

Практическая работа

Информатика, кибернетика и программирование

Індивідуальні завдання : конгруэнтные генераторы Линейными конгруэнтными генераторами являются генераторы следующей формы: в которых это nый член последовательности а предыдущий член последовательности. Период такого генератора не больше чем m. Если a b и m подобраны правильно то генератор будет генератором с максимальным периодом и его период будет равен m. Например для линейного конгруэнтного генератора b должно быть взаимно простым с m.

Украинкский

2013-08-01

30.38 KB

16 чел.

Родін С КІТ-39

Практична робота №2-4

“Шифрування та дешифрування даних за допомогою

алгоритмів гамування”

Ціль роботи :cтворення програм для шифрування та дешифрування інформації за допомогою шифрів підстановки.

Постановка задачі

Необхідно розробити і налагодити дві програми:

Програма шифрування інформації з використанням визначених алгоритмів.

У якості інформації використовувати копію файлу з розробленою програмою.

Програма дешифрування інформації (повернення початкового вигляду файла); а також оцінити правильність процедури “шифрування – дешифрування” (відсутність зміни результату відносно початкового файлу).

Індивідуальні завдання : конгруэнтные генераторы

Линейными конгруэнтными генераторами являются генераторы следующей формы:

в которых - это n-ый член последовательности, а - предыдущий член последовательности. Переменные a, b и m – постоянные: а – множитель, b – инкремент и m – модуль. Ключом или затравкой служит значение .

Период такого генератора не больше, чем m. Если a, b и m подобраны правильно, то генератор будет генератором с максимальным периодом, и его период будет равен m. (Например, для линейного конгруэнтного генератора b должно быть взаимно простым с m).

В [Таблица 1] из [13] приведены хорошие константы линейных конгруэнтных генераторов, которые обеспечивают максимальный период.

Если инкремент b равен нулю, то есть генератор имеет вид

,

и мы получим самую простую последовательность, которую можно предложить для генератора с равномерным распределением. При соответствующем выборе констант a = 7= 16807 и m = 2311 = 2147483647 мы получим генератор с максимальным периодом повторения. Эти константы были предложены учеными Парком и Миллером, поэтому генератор  вида

называется генератором Парка-Миллера.

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

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

Квадратичный конгруэнтный генератор  имеет вид:

Кубический конгруэнтный генератор  задается как:

Для увеличения размера периода повторения конгруэнтных генераторов часто используют их объединение [13]. При этом криптографическая безопасность не уменьшается, но такие генераторы обладают лучшими характеристиками в некоторых статистических тестах.

Пример такого объединения для 32-х битовой архитектуры может быть реализован так:

 // Long должно быть 32-х битовым целым

 static long s1 = 1;

 static long s2 = 1;

 // MODMULT рассчитывает s*b mod m при  условии что m = a*b+c и 0<=c<m

 #define MODMULT(a,b,c,m,s) q = s/a; s = b*(s-a*q)-c*q; if (s<0) s+=m;

double combinedLCG (void)

 {

   long q;

   long z;

   MODMULT (53668, 40014, 12211, 2147483563L, s1)

   MODMULT (52774, 40692, 3791, 2147483399L, s2)

   z = s1 - s2;

   if (z<1)

     z += 2147483562;

   return z*4.656613e-10;

 }

void InitLCG (long InitS1, long InitS2)

 {

   s1 = InitS1;

   s2 = InitS2;

 }

Висновок: розглянув алгоритми Шифрування та дешифрування даних за допомогою алгоритмів гамування


 

А также другие работы, которые могут Вас заинтересовать

67963. Микробиологическая диагностика риккетсиозов 97 KB
  Актуальность темы: Заболевания, вызываемые риккетсиями, называются риккетсиозами, они распространены во всех странах мира. До недавнего времени семейство риккетсий включало роды Rickettsia, Orienta, Erlichia, Coxiella. По современной класификации семейство Rickettsiaceae включает два рода...
67965. Санитарная микробиология 94.5 KB
  Цель: Освоение практических навыков определения санитарных показателей воды. Основными задачами санитарной микробиологии являются: Разработка и совершенствование микробиологических методов исследования объектов окружающей среды воды воздуха почвы пищевых продуктов предметов обихода...
67968. Клиническая микробиология. Госпитальные инфекции 67 KB
  Клиническая микробиология – это раздел частной медицинской микробиологии, посвященный изучению заболеваний, вызванных условно-патогенными микроорганизмами. Развитие подобных заболеваний связано со снижением иммунного статуса человека, развитием иммунодефицитных состояний, интенсивной антибиотикотерапией...
67969. Система управления базами данных Microsoft Access 2007. Создание базы данных 393.5 KB
  Перед созданием таблиц в СУБД необходимо для каждого поля столбца таблиц определить некоторые характеристики полужирным шрифтом выделены ключевые поля: Тематика Характеристики поля Поле Тип поля Списочный характер Возможные ограничения Индексируемость Обязательность заполнения Код тематики...
67970. Система управления базами данных Microsoft Access 2007. Анализ и изменение данных с помощью запросов. Создание запросов с параметрами 302.5 KB
  Авиапассажиры код авиапредприятия код города назначения код страны города назначения номер рейса дата вылета фамилия адрес Авиапредприятия код наименование адрес телефон Города код наименование Страны код наименование страны. Выпуск изделий код изделия код предприятия количество выпускаемых...
67971. Програмні засоби розробки і відладки програм на мові С++ 5.19 MB
  Схематичне зображення вікна середовища розробки програм 2 Відкрити проект Виконайте послідовність дій зображених на малюнку. 2 Відкрити файл проекту FRNMS5.mdp Виберіть проект FRNMS5. 3 Конвертувати файл проекту до формату Microsoft Visul Studio 2005 тільки при першому...