МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


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


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


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


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


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

Лабораторная работа № 5. МЕТОДЫ КРИПТОГРАФИИ. ГЕНЕРАЦИЯ ПСЕВДОБЕСКОНЕЧНЫХ КЛЮЧЕЙ НА ОСНОВЕ ДАТЧИКОВ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ





Методические указания

По выполнению лабораторных работ для студентов дневного обучения по направлению 090105 «Комплексное обеспечение информационной безопасности автоматизированных систем»

 

Лабораторные работы 4 – 8

 

 

Тула 2012


Содержание

Лабораторная работа № 4. МЕТОДЫ КРИПТОГРАФИИ. ПОДСТАНОВКИ.................................... 3

Лабораторная работа № 5. МЕТОДЫ КРИПТОГРАФИИ. ГЕНЕРАЦИЯ ПСЕВДОБЕСКОНЕЧНЫХ КЛЮЧЕЙ НА ОСНОВЕ ДАТЧИКОВ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ...................................................................................... 8

Лабораторная работа № 6. МЕТОДЫ ДВУХКЛЮЧЕВОЙ КРИПТОГРАФИИ............................. 11

Лабораторная работа № 7. МЕТОДЫ КРИПТОГРАФИИ. РЕАЛИЗАЦИЯ ПРОЦЕДУР СТАНДАРТА DES 16

Лабораторная работа № 8. МЕТОДЫ КРИПТОГРАФИИ. РЕАЛИЗАЦИЯ РЕЖИМОВ СТАНДАРТА DES 28

ЛИТЕРАТУРА..................................................................................................................................................................... 33

 

Лабораторная работа № 4. МЕТОДЫ КРИПТОГРАФИИ. ПОДСТАНОВКИ

Цель работы

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

2. Теоретические положения

Пример шифрования: шифр Цезаря

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

Таблица 1.

Шифр Цезаря практически представляет собой частный случай метода моноалфавитной подстановки букв одного алфавита. Каждый знак P из исходного алфавита заменяется соответствующим числом b(P) [b(A) = 1, b(B) = 2, ..., b(пробел) = 0]. Затем формируется эквивалентное зашифрованное число g по выражению (1)

g(P) = b(P) + 2 (mod 27). (1)

Таким образом, g(T) = b(T) + 2 = 20 + 2 = 22, g(I) = b(I) + 2 = 9 + 2 = 11 и т. д.

Значения g замещаются соответствующими им буквами для получения зашифрованного текста. Фактически шифр Цезаря – это любой шифр в форме C = P + K (mod 27), где 1 £ K £ 26, а исходным алфавитом является

ABCDEFGHIJKLMNOPQRSTUVWXYZb

(b соответствует знаку пробел).

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

Рис. 1. Криптографические системы

Прямые подстановки

В прямых подстановках каждый знак исходного текста заменяется одним или несколькими знаками. Одним из важных подклассов прямых подстановок являются моноалфавитные подстановки, в которых устанавливается взаимоодназначное соответствие между каждым знаком ai алфавита сообщений A и соответствующим знаком hj зашифрованного текста. Рассмотрим пример шифрования методом подстановки:

Исходное сообщение: WE NEED MORE SNOW FOR BETTER SKIING

Ключ:

Вход: BABCDEFGHIJKLMNOPQRSTUVWXYZ
Выход: VZHLANQRCWDXFOUSPBTIELGMbKY

Шифровка: MNVUNNAVOSTNVIUSMVQSTVHNEENTVIXWWUR (2)

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

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

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

c = a · P + s (mod K), (3)
где a – десятичный коэффициент; s – коэффициент сдвига; K – размер алфавита. Нетрудно убедится, что уравнение (1) является фактически уравнением (3) с a = 1, s = 2 и K = 27.

Многоалфавитные подстановки

Простая многоалфавитная подстановка последовательно и циклически меняет используемые алфавиты. При u-алфавитной подстановке знак m1 из исходного сообщения заменяется знаком из алфавита B1, знак m2 – соответствующим из алфавита B2, ..., mu – знаком из алфавита Bu, mu+1 – снова из алфавита B1 и т. д.

Входной символ: m1 m2 m3 m4 m5 m6 m7 m8 m9 ...
Алфавит подстановки: B1 B2 B3 B4 B1 B2 B3 B4 B1 ...

Эффект использования многоалфавитной подстановки состоит в том, что обеспечивается маскировка естественной частотной статистики исходного языка L, так как конкретный знак из алфавита A может быть преобразован в несколько различных знаков шифровальных алфавитов Bj.

G-контурная многоалфавитная подстановка

G-контурная многоалфавитная подстановка представляет собой метод шифрования, использующий g наборов алфавитов, применяемых циклически с периодами u1, u2, ..., ug. Каждый j-й зашифрованный знак получается из выражения

,
где Ä – некоторая обратимая операция. Этот шифр раскрыть сложнее, чем простую многоалфавитную подстановку.

Монофонические шифры

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

Общие принципы для методов шифрования подстановкой

Все описанные методы шифрования можно рассматривать как задачи современной алгебры. Между K знаками алфавита A и набором положительных чисел 0, 1, ..., K - 1 устанавливается произвольное соответствие. При сложении и вычитании по модулю K эти положительные числа формируют алгебраическое кольцо, используемое для шифрования, а также однозначные обратные преобразования. Поэтому если мы выбираем целое w в диапазоне от 0 до K - 1, то этим самым автоматически производим выбор конкретного преобразования подстановкой ei = mi + w (mod K) и обратного преобразования mi = ei - w (mod K). Если w фиксировано, то мы имеем одноалфавитную подстановку. Если w выбирается из последовательности w1, w2, ..., wn, то мы имеем многоалфавитную подстановку с периодом n.

Если в многоалфавитной подстановке

1) число знаков в ключе превышает общее число шифруемых знаков;

2) ключ используется только один раз;

3) исходный текст не может быть похищен злоумышленником,

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

3. Задание на работу

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

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

Варианты:

1) Шифр Цезаря.

2) Прямые подстановки.

3) Многоалфавитная подстановка

4) G-контурная многоалфавитная подстановка

5) Монофонический шифр

4. Оборудование

ПЭВМ с архитектурой IBM PC, операционная система – Windows 95, интегрированная среда – C++ Builder или Delphi версии не ниже 3.0

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

1) Согласно полученному варианту задания разработать и отладить ПО для автоматизированной дешифрации предложенного файла с текстом.

2) Расшифровать предложенный файл с текстом.

3) Оформить отчет.

6. Оформление отчета

Отчет должен содержать:

− задание на лабораторную работу;

− листинг разработанного ПО для автоматизированной дешифрации предложенного файла с текстом;

− расшифрованный текст.

7. Контрольные вопросы

1) В каком случае в качестве эффективного метода взлома ключа целесообразно использовать частотный анализ?

2) Что такое шифр Цезаря?

3) Что понимают под прямыми подстановками?

4) В чем заключаются многоалфавитные подстановки?

5) Укажите особенности G-контурной многоалфавитной подстановки.

6) Что такое монофонические шифры?

7) Сформулируйте общие принципы для методов шифрования подстановкой.

Лабораторная работа № 5. МЕТОДЫ КРИПТОГРАФИИ. ГЕНЕРАЦИЯ ПСЕВДОБЕСКОНЕЧНЫХ КЛЮЧЕЙ НА ОСНОВЕ ДАТЧИКОВ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ

Цель работы

Знакомство с методами проектирования датчиков псевдослучайных чисел и генерации псевдобесконечных ключей.

2. Теоретические положения

Чем больше длина ключа, тем сложнее взломать такой ключ. Для генерации и воспроизводства псевдобесконечных ключей достаточно просто использовать генераторы псевдослучайных чисел. Генераторы псевдослучайных чисел имеют максимальный период m до того, как последовательность начнет повторятся. В задачах криптографии необходимо выбрать числа a и c таким образом, чтобы этот период m (и, таким образом длина последовательности ключа) был максимизирован. Можно доказать, что последовательность

Ti+1 = (a×Ti + c) mod m, (1)

где m = 2k и k – целое число > 2, имеет максимальную длину m тогда и только тогда, когда c нечетное и a mod 4 = 1.

Сначала можно выбрать битовое представление из имени файла или пароля. Если оно нечетное, то его можно использовать в качестве c. В противном случае его можно использовать как T0 и затем сгенерировать T1, T2, ..., Tk, где k – первое целое число, такое, что Tk нечетно. Далее Tk может быть использовано как c. Выбирая m = 2h-1, где h – длина слова в процессоре, a должно быть таким, что a (mod 4) = 1 и a незначительно больше, чем 2h/2. Эти ограничения для генератора ПСЧ необходимы для генерации случайных чисел, кажущихся случайными за счет поддержания большого периода.

ШИФР С «БЕСКОНЕЧНЫМ» КЛЮЧЕВЫМ СЛОВОМ

Выше было сказано, что при определенных условиях степень безопасности шифрования увеличивается с увеличением длины ключа. Возможно, лучше всего сгенерировать бесконечный ключ? Это вполне можно сделать, правда, за счет затрат на небольшие дополнительные вычисления. Рассмотрим метод «бесконечного» ключа для знаков. Начиная с порождающего числа S0 вычислим порождающую последовательность S1, S2, ..., SL, используя то же уравнение (1).

S1 = a S0 + c (mod m),

S2 = a S1 + c (mod m),

.

.

.

SL = a SL-1 + c (mod m),

где L – шесть самых младших битов S0, дополненных до 16.

ПОСЛЕДОВАТЕЛЬНОСТЬ КЛЮЧА

Последовательность ключа T1, T2, ... вычисляется из порождающей последовательности следующим образом: выберем K = 12 для умеренной степени безопасности или K = 18 для более высокой степени безопасности и затем определим N = 2k + K самых младших битов Si. Имея определенное N, сгенерируем первые N чисел в последовательности ключа на основе (2) и (3):

Tj = Sj, j = 1, ..., L, (2)

Tj = Tj-1 + Tj-1-L (mod m), L < j £ N. (3)

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

SN = SL,

SN + 1 = a × SN + c (mod m),

SN + 2 = a × SN + 1 + c (mod m), ...,

SN + L = a × SN + L - 1 + c (mod m).

Имея созданную новую порождающую последовательность, мы можем теперь получить другие N элементов последовательности ключа, используя выражения (4) и (5):

Tj = Sj, j = N + 1, N + 2, ..., N + L, (4)

Tj = Tj - 1 + Tj - 1 - L (mod m), N + L < j £ 2N. (5)

Заметим, что выражения (2) и (4) отличаются только значениями j, которые в них используются. То же справедливо для уравнений (3) и (5).

Следует поочередно генерировать N элементов последовательности ключа и L элементов порождающей последовательности.

3. Задание на работу

Написать программу, выполняющую задачу исследования ДСЧ для одного из следующих вариантов:

1) Исследовать равномерность датчика (проверить гипотезу о равномерности распределения совокупности ДСЧ).

2) Определить период ДСЧ для различных параметров.

3) Исследовать автокорреляцию совокупности ДСЧ для различных параметров на глубину 100 отсчетов.

4) Построить гистограмму частоты появления каждого возможного значения совокупности ДСЧ.

4. Оборудование

ПЭВМ с архитектурой IBM PC, операционная система – Windows 95, интегрированная среда – C++ Builder или Delphi версии не ниже 3.0

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

1) Согласно полученному варианту задания разработать и отладить ПО для исследования датчика псевдослучайных чисел.

2) Представить результаты исследования в графическом виде.

3) Оформить отчет.

6. Оформление отчета

Отчет должен содержать:

− задание на лабораторную работу;

− листинг разработанного ПО для исследования датчика псевдослучайных чисел;

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

7. Контрольные вопросы

1) Каким образом проектируются датчики псевдослучайных чисел?

2) Что влияет на период датчика псевдослучайных чисел?

3) Что такое коэффициент автокорреляции?

4) Каким образом определяют закон распределения, по которому функционирует датчик псевдослучайных чисел?

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

6) В каком случае при исследовании датчиков псевдослучайных чисел используют критерий Дабрина – Уотсона?





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.