20964

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

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

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

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

Украинкский

2013-08-01

30.38 KB

13 чел.

Родін С КІТ-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;

 }

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


Данной работой Вы можете всегда поделиться с другими людьми, они вам буду только благодарны!!!
Кнопки "поделиться работой":

 

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

116. Рекламная деятельность: организация, планирование, оценка эффективности 1.42 MB
  Организация рекламной деятельности рекламодателем. Рекламу изучают и как часть процесса продажи товара, и как коммуникацию, и как часть маркетинга, и как искусство. Средства массовой информации или средства размещения информации.
117. Проектирование детского Ясли-сада на 240 мест 92.5 KB
  Пространственная жесткость достигается за счет совместной работы наружных продольных и поперечных стен в вертикальном направлении и в горизонтальном направлении перекрытиями, их анкеровкой и замоноличиванием швов.
118. Визначення найменування і тактової частоти процесора 632 KB
  Дана лабораторна робота написана на мові Delphi 7 на тему Визначення найменування і тактової частоти процесора. Зміст роботи: Постановка задачі. Теоретичні відомості. Опис алгоритму. Керівництво програмісту. Керівництво користувачеві. Приклад роботи програми. Програмний код програми. Висновок про виконану роботу. Використана література, або інші джерела.
119. Теорія інформації 184.5 KB
  Мета процесу кодування інформації: за одиницю часу передати більше інформації. Конвенціональність кодування (одну й ту ж інформацію можна кодувати різними способами).
120. Системний аналіз - Календарне планування. Розрахунок мережевої моделі 56.5 KB
  Розрахунок мережевої моделі дозволяє визначити критичні та некритичні операції. Операція критична, якщо затримка початку її виконання або збільшення тривалості приводить до збільшення тривалості програми в цілому. В противному випадку – некритична операція, характеризується тим, що різниця в часі між пізнім закінченням і раннім початком більша ніж тривалість операції. Виникає резерв часу, який може бути використаний з точки зору оптимізації ресурсів.
121. Системний аналіз - Матричні ігри 94.5 KB
  Системний аналіз - матричні ігри. Точка мінімаксу визначаєтьсяі як найнижча точка огинаючої зверху.
122. Завдання для контрольної роботи по курсу Основи системного аналізу об’єктів та процесів комп’ютеризації 235.5 KB
  Контрольна робота складається з двох частин: теоретичної та практичної. I. В теоретичній частині потрібно дати розгорнуту відповідь на одне з наступних питань відповідно варіанту. II. В практичній частині необхідно розв’язати наступні задачі.
123. ПРИЙНЯТТЯ РІШЕНЬ В УМОВАХ НЕВИЗНАЧЕНОСТІ 195.5 KB
  Якщо існування функцій розподілу ймовірностей, які характеризують степінь неповноти або неточності інформації про вихідні дані задачі прийняття рішень не гарантується, то таку ситуацію класифікують як прийняття рішень в умовах невизначеності.