Студопедия КАТЕГОРИИ: АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Для открытого обмена секретными ключамиСтр 1 из 2Следующая ⇒
ОПИСАНИЕ ПРОГРАММЫ ЛАБОРАТОРНОЙ РАБОТЫ «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 не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда... |