Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Для открытого обмена секретными ключами




ОПИСАНИЕ ПРОГРАММЫ ЛАБОРАТОРНОЙ РАБОТЫ «NEWCRY21»

Программа, реализующая алгоритмы шифрования Цезаря и Виженера, реализована в виде файла NEWCRY21.EXE, который находится на лабораторном компьютере в папке «Криптография-2». Порядок работы с программой следующий.

1. Запусти исполняемый файл программы NEWCRY21.EXE.

2. После открытия программы для входа в меню, нажми Enter, Enter, Enter, (т.е. три раза) не обращая внимание на то, что там написано о возможных настройках.

Откроется меню вида:

Шифр Цезаря

Шифp Виженеpа

ПОДСТАНОВКИ:

- на алфавите

- криптоалгоритм

ПЕРЕСТАНОВКИ:

- общие сведения

- криптоалгоритм

КРИПТОАЛГОРИТМ Диффи-Хэллмана (теория)

Криптоалгоритм Д-Х (эксперимент)

КРИПТОАЛГОРИТМ RSA

ВОПРОСЫ И ЗАДАЧИ для зачета

В Ы Х О Д ИЗ П Р О Г Р А М М Ы

ПРИЛОЖЕНИЕ: шифратор txt-файлов

Изменение настроек (доступ ограничен)

РЕГИСТРАЦИЯ ПОЛЬЗОВАТЕЛЯ       

Архив сеанса (доступ ограничен) 

ДОПОЛНЕНИЕ 1: Элементы теории чисел  

ДОПОЛНЕНИЕ 2: Элементы криптоанализа

3. Далее работаешь в соответствии с этим меню открывая то задание, которое тебе надо.

4. Внимание: Ввод осуществляется большими русскими буквами. Для этого надо предварительно нажать правый Ctrl+Shift или Левый Shift +Правый Shift.

5. Твердый знак Ъ набирается клавишей Ё.

6.  Ниже приведены все данные, которые высвечиваются в каждой из работ, оформленных как

 

 КОМПЬЮТЕРНОЕ ПОСОБИЕ ПО УЧЕБНОЙ ДИСЦИПЛИНЕ

         <ТЕОРИЯ И МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ>  

           Часть 1 - 'ОСНОВЫ КРИПТОГРАФИИ'          

          Раздел первый: ВВЕДЕНИЕ В ПРЕДМЕТ

 Для лабораторно-практических занятий и самостоятельной работы

 студентов в элективных курсах 'ТИМЗИ','КМЗИ','МЗИвКСиСО'   

 *************************************************************

 Автор - ПАРАМОНОВ Юлий Васильевич, кафедра ТЭС, МТУСИ, Москва

Программа CRYPTO, ver. 1 (ноя 1996); CRYP6Vx (март 2001)   

 ************************************************************ 

 УЧТЁННЫЕ копии программы имеют лишь ОГРАНИЧЕННЫЙ срок работы

ПРЕДИСЛОВИЕ

ШИФР - форма представления сообщений для защиты от перехвата

КРИПТОАЛГОРИТМ - способ преобразования сообщения в КРИПТОГРАММУ

КРИПТОГРАММА - шифрованное сообщение, передаваемое по каналу

КЛЮЧ - секретная информация, необходимая для КРИПТОАЛГОРИТМА

КРИПТОАНАЛИЗ - общее название методов 'взлома' криптосистем

ЭНТРОПИЯ КЛЮЧА - двоичный логарифм общего числа РАЗНЫХ ключей

ЭНТРОПИЯ СООБЩЕНИЯ - то же, что и ЭНТРОПИЯ ИСТОЧНИКА СООБЩЕНИЙ

КОНФИДЕНТ - адресат КРИПТОГРАММЫ, знающий КЛЮЧ

ДИВЕРСАНТ - всякий нехороший любопытный человек, который интересуется

КРИПТОГРАММОЙ не зная КЛЮЧА и не имея на это права

ПОДСТАНОВКИ и ПЕРЕСТАНОВКИ - основные и ЕДИНСТВЕННЫЕ преобразования,

из которых конструируются сложные КРИПТОАЛГОРИТМЫ.

Ваша задача - понять физико-математический СМЫСЛ простейших криптоалгоритмов.

Программа предоставляет Вам возможность ЭКСПЕРИМЕНТАЛЬНОГО ИССЛЕДОВАНИЯ криптопреобразований.

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

Если Вам ясна суть изучаемых преобразований, то для Вас не составит труда ответить на 'ВОПРОСЫ И ЗАДАЧИ' и получить ЗАЧЕТ.

Если Вы используете ЛЕГАЛЬНУЮ (учтенную) КОПИЮ программы, то зачет может быть документирован именной квитанцией на Вашей дискете с рабочим экземпляром файла CRYPTO

          

К Р И П Т О А Л Г О Р И Т М Ц Е З А Р Я

(Гай Юлий Цезаpь, pимский импеpатоp, 1-й век до н.э.) 

a(i), a(j), i,j=0,1,...N-1 - символы N-ичного алфавита;   

k, m - ПРЯМОЙ и ОБРАТНЫЙ К Л Ю Ч И (любые целые числа). 

Если a=a(i) - с о о б щ е н и е, то к р и п т о г р а м м а  c=a(j), где j = (i + k) mod N.

Если c=a(j) - к р и п т о г р а м м а, то с о о б щ е н и е   a=a(i), где i=(j + m) mod N. 

ИСХОДНОЕ СООБЩЕНИЕ:           ПРЕДИСЛОВИЕ

ПРЯМОЙ КЛЮЧ (шифрование): 3

ОБРАТНЫЙ КЛЮЧ (дешифр.): -3

В Ы Х О Д            ¦

К Р И П Т О Г Р А М М А:                ТУИЗЛФОСЕЛИ

ДЕШИФРОВАННОЕ СООБЩЕНИЕ: ПРЕДИСЛОВИЕ

исходный алфавит:         _АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

пpеобpазованный алфавит: ВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ АБ_ N=33.

 

     К Р И П Т О А Л Г О Р И Т М В И Ж Е Н Е Р А         

          (n-ключевой криптоалгоритм Цезаря)               

КЛЮЧ шифра Виженера - это n-буквенное СЛОВО k1k2...kn. Первые n букв СООБЩЕНИЯ a1a2...an преобразуются в первые n букв КРИПТОГРАММЫ c1c2...cn по правилу: cj=(aj+kj) mod N (j от 1 до n, а суммируются порядковые номера букв в алфавите).

Эта процедура повторяется для каждого очередного отрезка сообщения длиной n букв.

____________________В ключа       ключ: ВОВА   

____________________В

____________________О

____________________Д сообщ   сообщение: КРИПТОГРАФИЯ

Я=32 - буква сообщения

А= 1 - буква ключа 

0= - буква кpиптогpаммы  криптограмма: НЯЛРХЭЖСГВЛ

 ЛВГСЖЭХРЛЯН

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2

АБ В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я

ПОДСТАНОВКА на алфавите

Это взаимно однозначное отображение алфавита на себя. Применяемое в шифрах Цезаря и Виженера сложение по модулю N есть частный случай такого отображения (ЭНДОМОРФИЗМА). В общем случае подстановка на алфавите задается одной из N! к о д о в ы х т а б л и ц. КЛЮЧ ШИФРА ПОДСТАНОВКИ - это НОМЕР (в принципе произвольный: как договорились Алекс с Юстасом) ИСПОЛЬЗУЕМОЙ КОДОВОЙ ТАБЛИЦЫ.

Вот как выглядят 26 из 32! (>>10^32) таких таблиц:

0_АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ___13_НМПОЙИЛКЕДЗЖБАГВЭЬЯЮЩШЫЪХФЧЦСРУТ

 1_БАГВЕДЗЖЙИЛКНМПОСРУТХФЧЦЩШЫЪЭЬЯЮ___14_ОПМНКЛИЙЖЗДЕВГАБЮЯЬЭЪЫШЩЦЧФХТУРС

 2_ВГАБЖЗДЕКЛИЙОПМНТУРСЦЧФХЪЫШЩЮЯЬЭ___15_ПОНМЛКЙИЗЖЕДГВБАЯЮЭЬЫЪЩШЧЦХФУТСР

 3_ГВБАЗЖЕДЛКЙИПОНМУТСРЧЦХФЫЪЩШЯЮЭЬ___16_РСТУФХЦЧШЩЪЫЬЭЮЯАБВГДЕЖЗИЙКЛМНОП

 4_ДЕЖЗАБВГМНОПИЙКЛФХЦЧРСТУЬЭЮЯШЩЪЫ___17_СРУТХФЧЦЩШЫЪЭЬЯЮБАГВЕДЗЖЙИЛКНМПО

 5_ЕДЗЖБАГВНМПОЙИЛКХФЧЦСРУТЭЬЯЮЩШЫЪ___18_ТУРСЦЧФХЪЫШЩЮЯЬЭВГАБЖЗДЕКЛИЙОПМН

 6_ЖЗДЕВГАБОПМНКЛИЙЦЧФХТУРСЮЯЬЭЪЫШЩ___19_УТСРЧЦХФЫЪЩШЯЮЭЬГВБАЗЖЕДЛКЙИПОНМ

 7_ЗЖЕДГВБАПОНМЛКЙИЧЦХФУТСРЯЮЭЬЫЪЩШ___20_ФХЦЧРСТУЬЭЮЯШЩЪЫДЕЖЗАБВГМНОПИЙКЛ

 8_ИЙКЛМНОПАБВГДЕЖЗШЩЪЫЬЭЮЯРСТУФХЦЧ___21_ХФЧЦСРУТЭЬЯЮЩШЫЪЕДЗЖБАГВНМПОЙИЛК

 9_ЙИЛКНМПОБАГВЕДЗЖЩШЫЪЭЬЯЮСРУТХФЧЦ___22_ЦЧФХТУРСЮЯЬЭЪЫШЩЖЗДЕВГАБОПМНКЛИЙ

10_КЛИЙОПМНВГАБЖЗДЕЪЫШЩЮЯЬЭТУРСЦЧФХ___23_ЧЦХФУТСРЯЮЭЬЫЪЩШЗЖЕДГВБАПОНМЛКЙИ

11_ЛКЙИПОНМГВБАЗЖЕДЫЪЩШЯЮЭЬУТСРЧЦХФ___24_ШЩЪЫЬЭЮЯРСТУФХЦЧИЙКЛМНОПАБВГДЕЖЗ

12_МНОПИЙКЛДЕЖЗАБВГЬЭЮЯШЩЪЫФХЦЧРСТУ___25_ЩШЫЪЭЬЯЮСРУТХФЧЦЙИЛКНМПОБАГВЕДЗЖ

КРИПТОАЛГОРИТМ ПОДСТАНОВКИ

КЛЮЧ - это условный номер одной из кодовых таблиц.

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

кодовая таблица: АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ

ПЕРЕСТАНОВКА

Это изменение порядка следования элементов конечного множества.

Если n - общее число элементов множества и они занумерованы: 1,2,...,n, то n-ПЕРЕСТАНОВКА есть последовательность k1k2...kn НОВЫХ номеров элементов, - элемент, имевший номер 1, становится элементом с новым номером k1 и т.д. Таким образом, n-перестановка ПЕРЕМЕШИВАЕТ множество мощности n. ЛЮБАЯ N-перестановка на АЛФАВИТЕ мощности N равносильна КАКОЙ-ТО подстановке, а ее описание рядом чисел k1k2...kN можно считать ОБОБЩЕННЫМ НОМЕРОМ кодовой таблицы, задающей эту подстановку.

Основная цель применения перестановки к сообщению (или криптограмме, полученной другим алгоритмом) - РАЗРУШИТЬ ВЕРОЯТНОСТНЫЕ СВЯЗИ в последовательности букв (ДЕКОРРЕЛИРОВАТЬ сообщение или криптограмму).

КРИПТОАЛГОРИТМ ПЕРЕСТАНОВКИ

КЛЮЧ - это n-ПЕРЕСТАНОВКА первых натуральных чисел 1,2,...,n. Сообщение разбивается на блоки по n букв, и внутри каждого блока начальный порядок букв заменяется на новый, задаваемый КЛЮЧОМ-ПЕРЕСТАНОВКОЙ: первая буква блока переходит на позицию, определенную первой цифрой ключа, вторая буква - на позицию, определенную второй цифрой ключа, и так далее. Наша программа работает со всеми ключами-перестановками при n<10.

КРИПТОАЛГОРИТМ ДИФФИ – ХЕЛЛМАНА(W.Diffi, M.Hellman, 1976)

для открытого обмена секретными ключами

Большое ПРОСТОЕ число p (модуль) и число r (основание) известны всем. Числа Xа и Xб, выбираемые из диапазона 1<X<p, - СЕКРЕТНЫЕ, а числа Yа = r^Xа (mod p) и Yб = r^Xб (mod p) - ОТКРЫТЫЕ КЛЮЧИ Алисы и Боба. Когда они нуждаются в ОБЩЕМ СЕКРЕТНОМ КЛЮЧЕ Z, каждый из них вычисляет его, возводя ЧУЖОЙ ОТКРЫТЫЙ ключ в степень СВОЕГО СЕКРЕТНОГО ключа, т.е.

Алиса: Z = (Yб)^(Xа) (mod p) = r^(Xб*Xа) (mod p),

Боб: Z = (Yа)^(Xб) (mod p) = r^(Xа*Xб) (mod p).

Число-основание r должно быть ПРИМИТИВНЫМ ЭЛЕМЕНТОМ поля Галуа GF(p) (иначе: ПЕРВООБРАЗНЫМ КОРНЕМ в ПРИВЕДЕННОЙ СИСТЕМЕ ВЫЧЕТОВ по модулю p). Как ПРОВЕРИТЬ, что выбранное число r - первообразный корень по модулю p? Разложить p-1 на ПРОСТЫЕ множители: p-1=g*f*...*q; ЕСЛИ выполнены УСЛОВИЯ:

r^([p-1]/g) <> 1 (mod p), r^([p-1]/f) <> 1 (mod p), ...... , r^([p-1]/q) <> 1 (mod p), то r - ПЕРВООБРАЗНЫЙ КОРЕНЬ по простому модулю p.










Последнее изменение этой страницы: 2018-04-12; просмотров: 133.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...