WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 


Pages:   || 2 |

«КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ ИНФОРМАЦИИ Методические указания к лабораторным работам Красноярск 2008 2 Криптографические методы защиты информации: Методические указания к лабораторным ...»

-- [ Страница 1 ] --

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Федеральное государственное образовательное учреждение высшего

профессионального образования

«Сибирский федеральный университет»

КРИПТОГРАФИЧЕСКИЕ МЕТОДЫ ЗАЩИТЫ

ИНФОРМАЦИИ

Методические указания к лабораторным работам

Красноярск 2008

2 Криптографические методы защиты информации: Методические указания к лабораторным работам по освоению дисциплины «Криптографические методы защиты информации» для студентов направления подготовки 075200 - 075400 – «Информационная безопасность».

Авторы: Е.А. Новиков, С.Ф. Пятаев Введение

Лабораторная работа 1

Программная реализация шифра DES

Задание к работе

Теоретический материал

Алгоритм вычисления функции шифрования f(R i-1, K i )

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

Лабораторная работа 2

Программная реализация алгоритма RSA

Задание к работе

Теоретический материал

Формирование системы RSA

Алгоритм шифрования

Алгоритм дешифрования

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

Лабораторная работа 3

Программная реализация MD5 и SHA-1

Задание к работе

Теоретический материал

Основные этапы алгоритма MD5 при сжатии исходного текста

Основные этапы алгоритма SHA-1 при сжатии исходного текста

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

Лабораторная работа 4

Программная реализация генераторов псевдослучайных последовательностей (ПСП)

Задание к работе

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

Лабораторная работа 5

Программная реализация ЭЦП

Задание к работе

Теоретический материал

Алгоритм формирования схемы Эль-Гамаля

Алгоритм формирования цифровой подписи

Проверка подписи

Цифровая подпись на базе алгоритма RSA

Цифровая подпись Шнорра

Схема Шнорра

Алгоритм схемы подписи Шнорра

Цифровая подпись Рабина

Алгоритм криптографической системы Рабина

Алгоритм схемы подписи Рабина

Формирование подписи

Проверка подписи

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

Лабораторная работа 6

Программная реализация криптографических протоколов

Задание к работе

Теоретический материал

Схема Диффи - Хэллмана

Протокол формирования общего ключа по открытому каналу связи

Протокол взаимной аутентификации

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

Лабораторная работа 7

Программная реализация алгоритма шифрования ГОСТ

Задание к работе

Теоретический материал

Схема алгоритма режим простой замены

Схема алгоритма: режим гаммирования

Схема алгоритма: режим гаммирования с обратной связью

Схема алгоритма: режим выработки имитовставки

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

Теоретический материал: простые числа

Лабораторная работа 8

Вычисление наибольшего общего делителя для двух чисел при помощи алгоритма Евклида

Задание к работе

Теоретический материал

Алгоритм Евклида

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

Лабораторная работа 9

Расширенный алгоритм Евклида

Задание к работе

Теоретический материал

Схема расширенного алгоритма Евклида

I этап последовательности вычислений

II этап последовательности вычислений

III этап последовательности вычислений

IV этап последовательности вычислений

Лабораторная работа 10

Составить программу генерирования простых чисел

Задание к работе

Теоретический материал

Решето Эратосфена

Лабораторная работа 11

Составить программу вычисления символа Лежандра

Задание к работе

Теоретический материал

Символ Лежандра

Алгоритм вычисления символа Лежандра

Лабораторная работа 12

Составить программу вычисления символов Якоби

Задание к работе

Теоретический материал

Символ Якоби

Алгоритм вычисления символа Якоби

Лабораторная работа 13

Составить программу проверки чисел на простоту

Задание к работе

Теоретический материал

Пробное деление

Тест на основе малой теоремы Ферма

Схема алгоритма на базе малой теоремы Ферма

Тест Соловея - Штрассена

Схема алгоритма на базе малой теоремы Ферма

Тест Рабина-Миллера

Схема алгоритма Рабина-Миллера

Лабораторная работа 14

Составить программу решения сравнения вида ax b mod n

Задание к работе

Теоретический материал

Дополнительный материал

Степенные вычеты

Первообразные корни

Индексы

Конечные цепные дроби

Список дополнительных лабораторных работ

Дополнительные упражнения

Дополнительные вопросы

Библиографический список

Криптография в переводе с греческого означает «тайнопись». Смысл этого термина подчеркивает основную задачу криптографии – защитить или сохранить в тайне необходимую информацию. Развитие средств защиты создал три метода защиты информации физический способ защиты;

стеганографический способ защиты;

криптографический способ защиты.

Физическая защита – физическая защита носителей информации, защита от перехвата, уничтожение носителей при угрозе захвата данных (американский самолет), обнаружение «утечки».

Стеганография – способы сделать носитель невидимый (Грибоедов, Ришелье, голова раба, невидимые чернила, микроточка).

Криптографический способ защиты. Этот способ защиты наиболее распространен в наши дни.

Итак, криптография есть способ защиты информации. Она обеспечивает секретность данных, т.е. защиту от несанкционированного знакомства с содержанием;

аутентификацию сообщений, т.е. подтверждение их подлинности, подлинности сторон, времени создания;

невозможность отказа от авторства, т.е. электронную подпись;

целостность данных, т.е. защиту от несанкционированного изменения содержания.

Это в свою очередь позволяет решать следующие прикладные задачи:

Электронная Цифровая Подпись (ЭЦП);

электронные деньги;

электронная жеребьевка;

одновременное подписание контрактов;

защита ценных бумаг и документов от подделок;

электронное голосование.

Некоторые общие тезисы о защите информации:

криптография – одно из многих средств защиты;

надо защищать то, что дорого;

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

надо искать компромисс между стоимостью защиты (стоимостью шифрования) и требуемой степени безопасности (нельзя ловить рыбу на золотой крючок);

проблемы надежно шифровать нет, важно, чтобы коммерческие масштабы шифрование отвечали некоторым оптимальным требованиям цены и скорости;

80% угроз для информационной безопасности являются сотрудники и/или сбой аппаратуры.

Условно развитие криптографии можно разбить на три периода:

Донаучный. В этот период не было единого системного подхода к криптографии. Криптография не была объектом исследования определенной области науки.

Научный. Этот период начинается с работ Шенона «Теория связи в секретных системах», которые он опубликовал в 1949г.

Современный. Этот период начинается с работы двух математиков Диффи У. и Хеллмана М. «Новые направления в криптографии» (1976).

В 1978г. на основе концепции, которая была изложена работе «Новые направления в криптографии», три математика Ривест, Шамир, Адлеман предложили принципиально новый криптографический метод шифрования, который называется RSA. Имя метода составлено из первых букв фамилий этих ученых.

Так как в донаучный период криптография не была объектом исследования определенного направления, то ею занимались на уровне ремесла или увлечения специалисты разных профессий. Среди авторов криптографических методов были полководцы, руководители государств, священники, дипломаты, юристы и т.д. Среди авторов криптографических систем защиты были даже известные исторические деятели, такие как римский император Юлий Цезарь, кардинал Ришелье, американский президент Джефферсон. Начиная со средних веков, вопросы криптографии все более включаются в сферу исследования математиков.

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

Кодирование это преобразование информации, в котором отсутствует ключ.

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

В 1883г. Керкгоффс сформулировал шесть требований к системам шифрования:

1) система должна быть нераскрываемой, если не теоретически, то практически;

2) компрометация системы не должна причинять неудобства ее пользователям;

3) секретный ключ должен быть легко запоминаемым без каких-либо записей;

4) криптограмма должна быть представлена в такой форме, чтобы ее можно было передать по телеграфу;

5) аппаратура шифрования должна быть портативной и такой, чтобы ее мог обслуживать один человек;

6) система должна быть простой. Она не должна требовать ни запоминания длинного перечня правил, ни большого умственного напряжения.

Эти правила можно трактовать как некоторое условие сертификации криптосистем того времени. Если проанализировать эти старые требования шифрования, пожалуй, только пункты 3, 4 и 5 стали как бы несущественными в современных криптографических системах. Можно сказать, они выполняются автоматически в современных информационных технологиях.

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

Классы шифры:

• Простые замены – поточные шифры простой замены, блочные шифры простой замены. К таким шифрам, например, относятся шифр Цезаря, квадрат Полибия, шифр Плейфера, двойной квадрат. Заметим, что шифры простой замены легко взломать, используя частотный анализ.

• Перестановки – сциталь Лесандра, табличные способы перестановки, таблица с усложненными элементами.

• Многоалфавитные шифры замены – квадрат Виженера, шифр Грансфельда.

В 1949 году Шенон сформулировал два основных принципа для разработки стойких шифров. Это принцип «перемешивания» и принцип «рассеивания».

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

Цель работы – создать криптографическую систему шифрования данных, которая базируется на алгоритме шифровании DES. Алгоритм DES является первым симметричным алгоритмом блочного шифрования данных.

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

• два режима формирования ключа – ключ задан, ключ формируется по умолчанию;

• ввод начальной информации из сформированного заранее файла и из файла, который создается в оболочке программы;

• режимы шифрования, которые предусмотрены в DES;

• режимы шифрования и дешифрования информации.

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

В отчет включить описание алгоритма генерации ключа, детали программной реализации, которые представляют интерес с точки зрения разработчика.

Основные этапы алгоритма DES при шифровании текста:

1. Генерируется (задается) случайная последовательность Q из 56 бит.

2. В последовательность Q, для контроля четности, добавляются восемь контрольных битов в позиции Получается блок U размером в 64 бита.

3. Для удаления контрольных битов из блока U и формирования ключа K для шифрования, блок U преобразуют, используя функцию G(U). Функция G определяется в виде стандартной таблицы, которую надо использовать в неизменном виде. В результате преобразования получают блок размером в 56 бит. Блок K разбивают на две половины C0 и D0 по 28 бит.

4. Используя C0 и D0, последовательно определяются Ci и Di, i = 1, 2, …, 16. Для формирования Ci и Di применяют операции циклического сдвига влево на один или два бита. Величина сдвига определяется стандартной таблицей. Операции сдвига для Ci и Di выполняются независимо. Последовательность C5 получается из C посредством циклического сдвига влево на 2 бита, а D5 – посредством циклического сдвига влево на 2 бита D4 (см. таблицу сдвигов для вычисления ключа). В результате четвертого этапа формируется 16 ключей для 16 раундов алгоритма DES.

5. Завершающий этап формирования ключей. Используя перестановку H, которая задается стандартной таблицей, каждый ключ размером в 56 бит преобразуется в блок из 48 бит. Данным преобразованием завершается этап формирования ключей.

6. Текущий блок открытого текста размером в 64 бит, представленный в виде двух 32 битовых блоков (L0R0) преобразуется начальной перестановкой IP, которая задается фиксированной стандартной таблицей.

7. Выполняется 16 раундов преобразований по следующим формулам Функция f(R i-1, Ki ) представляет собой некоторую суперпозицию простых преобразований, детальное описание которых будет дано ниже. Отметим, что функция f(R i-1, K i ) является нелинейной. Нелинейность функции f(R i-1, K i ) обеспечивается S-блоками.

Алгоритм вычисления функции шифрования f(R i-1, Ki ) К блоку Ri-1 применяют функцию расширения E(Ri-1), которая 32битовый блок Ri-1 преобразовывает в блок R = E(Ri-1) размером в 48 бит.

Функция E(Ri-1) определяется стандартной таблицей. Алгоритм вычисления функции шифрования формулируется следующим образом.

• Вычисляется новый блок размером в 48 бит по формуле • Блок B размером в 48 бит разбивается на восемь блоков Bj, j=1,2,…, 8, по шесть битов каждый • Каждый блок Bj размером в шесть бит, используя свою функцию Sj, преобразуется в блок Sj(Bj) размером в четыре бита. В результате получается следующий блок данных B = S1(B1) S2(B2) S3(B3) S4(B4) S5(B5) S6(B6) S7(B7) S8(B8) размером в 32 бита.

• Алгоритм преобразования блока Bj размером в шесть бит в блок Sj(Bj) размером в четыре бита следующий. Каждая функция Sj представляет собой стандартную таблицу, которая состоит из четырех строк с номерами 0, 1, 2, 3, и шестнадцати столбцов с номерами 0,1,2,…,15. Пусть, например, некоторый блок Тогда имеет место:

биты b1b6 = 10 формируют номер столбца (двоичное число 10 равно десятичному числу 2) таблицы Sj, биты b2 b3 b4 b5 = 1001 формируют номер строки (двоичное число равно десятичному числу 9) таблицы Sj. Блок Bj = b1 b2 b3 b4 b5 b6 = заменяют двоичным значением числа таблицы Sj, которое находится на пересечение строки с номером b1b6 = 10 (2) со столбцом с номером b2 b3 b4 b = 1001 (9). Преобразуя каждое Bj, j = 1, 2, …, 8, из блока B, получим новый блок B размером в 32 бита.

1. По какому принципу построен блочный шифр DES?

2. Какой шифр предшествовал шифру DES?

3. Указать длину начального ключа в алгоритме DES.

4. Перечислить основные этапы формирование ключей в алгоритме DES.

5. Сколько раундов в алгоритме DES?

6. Сколько ключей формируется в алгоритме DES для шифрования текста?

7. Указать длину ключа при шифровании текста в алгоритме DES.

8. Сколько S-функций определено в алгоритме DES?

9. Какая арифметическая операции используется при преобразованиях в алгоритме DES.

10. Укажите длину шифруемого блока в алгоритме DES.

Программная реализация алгоритма RSA Цель работы – создать учебный вариант криптографической системы с открытым ключом на алгоритме RSA, которая является первой из криптосистем с открытым ключом.

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

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

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

• формирование простого числа;

• проверки является ли число простым;

• программу, которая решает уравнение сравнения ax = b (mod n), используя расширенный алгоритм Эвклида.

1. Выбираем два различных простых числа p и q.

2. Вычисляем 3. Выбираем число e, взаимно простое с (n).

4. Вычисляем число d из уравнения 5. Определяются открытые ключи e и n.

6. Определяются закрытые ключи d, p, q и (n).

1. Дан текст сообщения М.

2. Шифрованный текст C вычисляется по формуле 1. Дан шифрованный текст C.

2. Текст сообщения M вычисляется по формуле 1. Дать определение односторонней функции.

2. Дать определение односторонней функции с секретом.

3. На какой базе обычно создаются криптографические системы с открытыми ключами?

4. Перечислить число параметров в криптографической системе RSA.

5. Перечислить секретные параметры системы RSA.

6. Перечислить открытые параметры системы RSA.

7. На каком математическом результате базируется система RSA.

8. Какими свойствами должны удовлетворять параметры p и q системы RSA.

9. Какими свойствами должны удовлетворять параметры e и d системы RSA.

10. На какой достаточно трудной задаче из теории чисел базируется криптографическая система RSA.

11. Опишите схему шифрования текста с использованием алгоритма RSA.

12. Опишите схему дешифрования текста с использованием алгоритма RSA.

13. Опишите схему формирование цифровой подписи с применение алгоритма RSA.

14. Сформулировать теорему Ферма.

15. Сформулировать теорему Эйлера.

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

Программная реализация должна быть оформленная как некоторая программная оболочка, которая включает два алгоритма MD5 и SHA-1 для вычисления профиля начальной информации. Подготовить отчет по работе. В отчете описать алгоритмы MD5 и SHA-1, описать структуру представления данных в программе, основные функции программы, назначение функций, входные и выходные параметры функций. Подготовить для демонстрации программы контрольный пример.

Основные этапы алгоритма MD5 при сжатии исходного текста 1. Добавляются биты к исходному сообщению. Если L – длина сообщения, то для L должна выполняться формула Это означает, что длина дополненного сообщения в битах должна быть на 64 бита меньше, чем ближайшее кратное целого числа 512. Структура дополнения следующая: первый бит дополняемого значения равен 1, а остальные – равны 0.

2. К сообщению из шага 1 добавляется значение длины. К результату шага 1 добавляется 64-битовое значение длины исходного сообщения, т.е.

длины сообщения до шага 1.

3. Результат шага 2 разбивается на блоки по 512 бит где K число таких блоков, L= K*512. В свою очередь каждый блок M2, i=1,2,…,K, разбивают на 16 массивов по 32 бита 4. Для записи промежуточных значений в 128 бит при вычислении хэшфункции используются буфер H, который состоит из четырех переменных a, b, c и d размером в 32 бита каждая. Эти переменные соответственно инициализируются ранее определенными константами A, B, C и D.

5. Преобразуются блоки Mi, i = 1, 2, …, K, в 512 бит в профиль H i длиной в 128 бит. Напомним, что блок Mi разбит на 16 частей (массивов) по 32 бита X[0], X[1], …, X[k], k= 0, 1, …, 15.

Основные этапы алгоритма SHA-1 при сжатии исходного текста 1. Добавление битов заполнителя. Сообщение дополняется так, чтобы его общая длина в битах была сравнима со значением 448 по модулю 512, т.е. длина равна 448 mod 512. Операция дополнения выполняется всегда, даже если сообщение уже оказывается требуемой длины. Поэтому число добавляемых битов должно быть от 1 до 512. Структура битов заполнителя следующая: первый бит равен 1, а все остальные равны 0.

2. К сообщению из шага 1 добавляется значение длины. К результату шага 1 добавляется 64-битовое значение длины исходного сообщения, т.е.

длины сообщения до шага 1.

3. Результат шага 2 разбивается на блоки по 512 бит: M1, M2 …, MK, где K есть число таких блоков, L= K512. В свою очередь каждый блок Mi разбивают на 16 частей (массивов) по 32 бита X[0], X[1], …, X[k], k= 0, 1, …, 15.

4. Для записи промежуточных значений в 160 бит при вычислении хэшфункции используются буфер H, который состоит из пяти переменных a, b, c, d и e размером в 32 бита каждая. Эти переменные соответственно инициализируются ранее определенными константами A, B, C, D и E.

5. Обработка сообщения происходит 512-битовыми блоками. Логику модуля функции сжатия алгоритма можно представить в виде следующего цикла Hi=Hi-1+H Цикл от t=0 до t=79 шаг Hi+1=Hi+H ft (b,c,d), Wt, Kt – функции, 32-битовые блоки и константы, которые определялись ранее. Отметим, что Wt формируется из текущего входного блока Mi.

Hi – промежуточные значения результата вычисления хэш-функции.

+ – операция сложения по модулю 232.

1. Основное назначение хэш-функции.

2. Перечислить класс задач, которые решаются с применением хэшфункции.

3. Перечислить, каким основным свойствам должна удовлетворять хэшфункция.

4. Длина входного блока в битах для функции сжатия алгоритма MD5.

5. Назвать число раундов в алгоритме MD5.

6. Назвать число шагов в каждом раунде алгоритма MD5.

7. Назвать, какие операции используются в функции сжатия алгоритма MD5.

8. Перечислить основные постоянные данные, которые используются в алгоритме MD5.

9. Сколько примитивных функций используются в алгоритме MD5?

10. Сколько элементов в массиве T, который используется в алгоритме MD5?

11. Назвать, какие операции используются в функции сжатия алгоритма SHA-1.

12. Перечислить основные постоянные данные, которые используются в алгоритме SHA-1.

13. Назвать число раундов в алгоритме SHA-1.

14. Сколько примитивных функций используются в алгоритме SHA-1.

15. Длина входного блока в битах для функции сжатия алгоритма SHA-1.

16. Длина буфера в битах для функции сжатия алгоритма SHA-1.

17. Число шагов в каждом раунде алгоритма SHA-1.

18. Число регистров буфера в алгоритме SHA-1.

19. Чем инициализируется регистры буфера алгоритма SHA-1?

20. Чем инициализируется регистры буфера алгоритма MD5?

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

Для вычисления ПСП использовать ранее созданную программу шифрование DES в режиме счетчика (Counter). Реализовать конгруэнтные генераторы Здесь xn – n-й член последовательности, xn+1 – следующий член последовательности.

Параметры a, b, c и d представляют собой параметры конгруэнтных генераторов, m – модуль.

Подготовить отчет по работе. В отчет включить блок схему режима счетчика и продемонстрировать работу генераторов на контрольном примере.

1. Привести задачи криптографии, в которых используются псевдослучайные последовательности.

2. Перечислить требования, которым должны удовлетворять генераторы псевдослучайных последовательностей.

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

4. Можно ли использовать линейные конгруэнтные генераторы ПСП в криптографии.

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

6. Можно ли использовать блочные алгоритмы шифрования с симметричными ключами для генерации ПСП.

Цель работы – создать программу, которая реализует учебный вариант схем ЭЦП, используя алгоритмы с открытыми ключами.

Реализовать ЭЦП на базе алгоритма Эль-Гамаля и алгоритма RSA. При формировании ЭЦП на базе алгоритма RSA использовать результаты лабораторной работы № 2. Предусмотреть режимы формирования параметров криптосистемы Эль-Гамаля. Программу оформить, как интегрируемую среду с удобным интерфейсом формирования ЭЦП и ее проверки. Подготовить отчет, в который включить алгоритмы формирования системы Эль-Гамаля, описание функций из которых состоит программа. Подготовить для демонстрации контрольный пример. При формировании цифровой подписи предусмотреть схему ЭЦП с использованием хэш-функций (см.

лабораторную работу № 3).

Алгоритм формирования схемы Эль-Гамаля 1. Выбираем простое число p.

2. Выбираем два случайных числа g p и x p.

3. Вычисляем Открытым ключом схемы Эль-Гамаля являются числа y, g и p. Закрытым ключом – число x.

Алгоритм формирования цифровой подписи 1. Дано сообщение M, которое надо подписать.

2. Выбираем случайное число k p взаимно простое с p-1.

3. Вычисляем 4. Из уравнения определяем b 5. Формируем подпись. Подписью является пара чисел (a,b).

Число k является секретным ключом.

Замечание. При формировании цифровой подписи на шаге 4 вместо значения M можно использовать значение = H(M), где H – некоторая хешфункция.

1. Дано сообщение M и подпись (a,b).

4. Если значение совпало с gM mod p, то подпись верна.

1. Есть абонент A и текст для подписи M.

2. Определяются закрытые ключи системы RSA, т.е. d, p, q и (n).

3. Определяются открытые ключи e и n.

4. Закрытым ключом вычисляется Сообщение C рассматривается как подпись абонента A, т. к. закрытый ключ d известен только ему.

5. Используя открытый ключ e, проверка подписанного документа вычисляется по формуле ЭЦП Шнорра основана на сложности задачи дискретного логарифмирования. Поэтому все параметры схемы Шнорра должны удовлетворять условиям существование дискретного логарифма.

Параметры схемы:

p – простое число, для реальных задач 160 p 256, q – простое число, q|p-1, т.е. q делит p-1, g – число g, g Zp, где Zp – класс вычетов по модулю p, h – хэш-функция, x – случайное число из интервала [1,q-1], x – секретный ключ схемы.

y – открытый ключ схемы, Предположим, что существуют два участника A и B. Участник A должен подписать сообщение m для участника B.

1. Участник A выбирает случайное число k и вычисляется 2. Участник A формирует подпись, для этого вычисляются e и s по формулам 3. Подпись (e, s) и подписываемый текст m пересылается участнику B.

4. Участник B делает проверку подписи, вычисляя значения r и e 5. Если e=e, то подпись принимается, в противном случае отвергается.

Подпись Рабина базируется на криптографической системе с открытым ключом. Эта система основана на сложности вычисления квадратных корней по модулю n, который (который КТО?) представляет собой произведение двух больших простых чисел. Параметры криптографической схемы Рабина:

p – простое число, p 3 mod 4, p – секретный ключ;

q – простое число, секретный ключ n = pq – открытый ключ криптографической системы.

Алгоритм криптографической системы Рабина Пусть дано сообщение M, M n, которое надо шифровать.

1. Участник A вычисляет значение C, которое является шифром сообщения M, по формуле 2. Сообщение C отправляется адресату B, который является владельцем закрытого, секретного ключа.

3. Используя китайскую теорему об остатках и закрытый ключ, участник B вычисляет 4. Используя закрытый ключ, участник B вычисляет числа a и b по формулам 5. Возможными сообщениями, которые были отправлены, являются значения которые вычисляются по формулам Если сообщение представляет собой осмысленный текст, то выбрать правильное Mi, i = 1, 2, 3, 4, легко. Если сообщение представляет собой набор битов, т.е. какое-то число, то к такому виду передаваемой информации добавляется какой-либо осмысленный текст заголовка. По заголовку и происходит выбор Mi, i=1,2,3,4. Если M число, то другого способа идентификации передаваемого сообщения M не существует.

Перейдем теперь к описанию алгоритма цифровой подписи Рабина.

Предположим, что определены параметры криптографической системы Рабина и сообщение M, которое надо подписывать. Сообщение M представляет собой некоторую последовательность из k бит 1. Генерируется случайная последовательность R длиной из t бит 2. Сообщение M объединяется с последовательностью R 3. Последовательности битов M||R ставится в соответствии число a n.

4. Проверяются условия 5. Если условия не выполняется, то перейти на шаг 1.

6. Вычисляются значения 7. По китайской теореме об остатках вычисляется значение 8. Формируется подпись из пары чисел (R, Z) к сообщению M.

1. Вычисляется значение a 2. Если a=a, то подпись принимается, в противном случае отвергается.

1. Перечислить число параметров в криптографической системе ЭльГамаля.

2. Перечислить секретные параметры системы Эль-Гамаля.

3. Перечислить открытые параметры системы Эль-Гамаля.

4. На какой достаточно трудной задаче из теории чисел базируется криптографическая система Эль-Гамаля.

5. Описать схему формирования ЭЦП с использованием алгоритма ЭльГамаля.

6. Описать схему проверку ЭЦП с использованием алгоритма ЭльГамаля.

7. Описать схему формирование цифровой подписи с применение алгоритма RSA.

8. Описать схему проверки цифровой подписи с применение алгоритма RSA.

9. Что общего между обычной и цифровой подписями? Чем они различаются?

10. Какие задачи позволяет решить цифровая подпись?

11. В чем заключается принципиальная сложность в практическом применении систем цифровой подписи?

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

13. Проверить, что указанный в тексте способ подбора подписанных сообщений для схемы Эль-Гамаля действительно дает верные цифровые подписи.

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

Реализовать два простейших протокола. Протокол Диффи-Хелмана формирования общего ключа и протокол подбрасывания монеты.

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

Протокол формирования общего ключа по открытому каналу связи 1. Есть два пользователя (абонента) A и B.

2. Дано простое число p, которое известно пользователям A и B.

3. Выбирается общее число g, g p-1.

4. Абоненты A и B независимо друг от друга выбирают соответственно секретные ключи a, 0 a p-1 и b, 0 b p-1.

5. Абонент A посылает абоненту B сообщение 6. Абонент B посылает абоненту A сообщение 7. Абонент A вычисляет общий ключ 8. Абонент B вычисляет общий ключ Существует несколько схем аутентификации источника данных ([1], [7]). Приведем условия и алгоритм реализации одной из них.

2. Даны простое число p и число g, gp-1, которые известны абонентам A и B.

3. Абоненты A и B владеют соответственно открытыми функциями шифрования EA и EB и закрытыми функциями де шифрования DA и DB, которые обладают свойствами где М – передаваемое сообщение. Отметим, что равенство не зависит от порядка применения функций.

4. Абоненты A и B независимо друг от друга выбирают соответственно секретные ключи a, 0 a p-1 и b, 0 b p-1.

5. Абонент A посылает абоненту B сообщение используя закрытую функцию DB, создает подпись (сообщение) используя ключ k, шифрует подпись где EK общая функция шифрования;

отправляет абоненту A сообщение вычисляет общий ключ используя закрытую функцию D A, создает подпись (сообщение) используя ключ k, шифрует подпись отправляет абоненту B сообщение проверяет подпись B, вычисляя где DK - общая функция дешифрования.

8. Абонент B проверяет подпись A, вычисляя 1. Дать определение протокола.

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

3. Способы классификации криптографических протоколов.

4. Классификация криптографических протоколов по функциональному назначению.

5. Назначение протокола аутентификации сообщений.

6. Назначение протокола идентификации.

7. Назначение протокола обмена секретами.

8. Перечислить основные виды атак на протоколы.

Программная реализация алгоритма шифрования ГОСТ Цель работы – создать криптографическую систему шифрования данных, которая базируется на алгоритме шифровании ГОСТ, являющимся первым российским симметричным алгоритмом блочного шифрования данных.

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

• два режима формирования ключа – ключ задан и ключ формируется по умолчанию;

• ввода начальной информации из сформированного заранее файла, и файла, который создается в оболочке программы;

• режимы шифрования, которые предусмотрены в ГОСТ;

• режимы шифрования и дешифрования информации;

Подготовить отчет по работе. В отчете описать алгоритм ГОСТ, описать структуру представления данных в программе, основные функции программы, назначение функций, входные и выходные параметры функций.

В отчет включить описание алгоритма генерации ключа, детали программной реализации, которые представляют интерес с точки зрения разработчика.

1. Текст, предназначенный для шифрования, разбивается на блоки длиной по 64 бит. Полученные блоки в дальнейшем будем называть начальными данными.

2. В ключевое устройство записывается сгенерированный ключ длиной в 256 бит по 32 бита в каждый Xi, i = 1, 2, …, 7, то есть 3. Очередной блок начальных данных Ti длиной в 64 бит засылается в накопители N1 и N2 по следующей схеме 4. Содержимое N1 суммируем по модулю 232 с содержимым X0, результат засылается в N1.

5. Результат суммирования преобразовывается в блоке подстановки K.

6. Результат 5 шага преобразуется в регистре сдвига R. Происходит циклический сдвиг на 11 бит в сторону старших разрядов.

7. Результат сдвига суммируется по модулю 2 со значением в накопителе N2.

8. Содержимое N1 пересылается в N2, а результат 7 шага записывается в N1.

9. Процесс шифрования с четвертого по восьмой шаг алгоритма повторяется еще 31 раз в следующем порядке использования частей ключа (с учетом проделанного преобразования с частью ключа X0):

1-й раунд шифрования из 8 шагов;

2-й раунд шифрования из 8 шагов;

3-й раунд шифрования из 8 шагов;

4-й раунд шифрования из 8 шагов 10. Результат последнего 32 шага шифрования, т.е. результат 8 шага алгоритма, сохраняется в накопителе N2, а в N1 сохраняется результат шага.

11. Результат шифрования текущего блока Ti содержится в накопителях N1 с 1-го по 32 разряд и N2 с 1-го по 32 разряд.

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

1. Текст, предназначенный для шифрования, разбивается на блоки длиной по 64 бит. Полученные блоки в дальнейшем будем называть начальными данными.

2. В ключевое устройство записывается сгенерированный ключ длиной в 256 бит по 32 бита в каждый Xi, i = 1, 2, …, 7, то есть 3. Генератором последовательности случайных чисел формируется двоичная последовательность длиной в 64 бита (синхропосылка) и засылается в накопители N1 и N2 по следующей схеме 4. Содержимое N1 и N2 шифруется в режиме простой замены.

5. Содержимое накопителей N1 и N2, в которых находится результат шифрования, переписываются соответственно в накопители N3 и N4.

6. Содержимое накопителя N4 суммируется по модулю (232-1) с накопителем N6, в котором хранится стандартная константа C2 = 00000001000000010000000100000001.

Результат суммирования записывается в накопитель N4.

7. Содержимое накопителя N3 суммируется по модулю 232 с накопителем N5, в котором хранится стандартная константа C1 = 100000001000000010000000100000000.

Результат суммирования записывается в накопителя N3.

8. Содержимое накопителя N3 переписывается в N1.

9. Содержимое накопителя N4 переписывается в N2.

10. Содержимое N1 и N2 шифруется в режиме простой замены.

11. Результат 10 шага образует текущий блок гаммы Г.

12. Текущий блок гаммы суммируется по модулю 2 с текущим блоком заданного текста. Результат суммирования формирует результат шифрования в режиме гаммирования.

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

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

2. В ключевое устройство записывается сгенерированный ключ длиной в 256 бит по 32 бита в каждый Xi, i = 1, 2, …, 7, то есть 3. Генератором последовательности случайных чисел формируется двоичная последовательность длиной в 64 бита (синхропосылка) и засылается в накопители N1 и N2 по следующей схеме 4. Содержимое N1 и N2 шифруется в режиме простой замены.

5. Результат четвертого шага образует текущий блок гаммы Г.

6. Текущий блок гаммы суммируется по модулю 2 с текущим блоком заданного текста. Результат суммирования формирует зашифрованный блок C по следующему правилу в режиме гаммирования с обратной связью.

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

Схема алгоритма: режим выработки имитовставки 1. Текст, предназначенный для шифрования, разбивается на блоки длиной по 64 бит. Полученные блоки в дальнейшем будем называть начальными данными.

2. В ключевое устройство записывается сгенерированный ключ длиной в 256 бит по 32 бита в каждый Xi, i = 1, 2, …, 7, то есть 3. Очередной блок начальных данных Ti длиной в 64 бит засылается в накопители N1 и N2 по следующей схеме 4. Содержимое N1 и N2 подвергается преобразованию, которое соответствует первым шестнадцати циклам алгоритма в режиме простой замены.

5. Полученное после шестнадцати циклов содержимое накопителей в N и N2 суммируются по модулю 2 со вторым блоком открытых данных.

6. Результат суммирования заносится в накопители N1 и N2 и повторяется алгоритм с четвертого шага, только суммирование в шаге происходит со следующим блоком открытого текста и т.д., пока не исчерпается исходное сообщение.

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

1. Перечислить принципы формирования шифров, которые сформулировал Шеннон.

2. Какое правило Кергоффса является актуальным для современной криптографии.

3. Дать определение шифру замены.

4. Дать определение шифру перестановки.

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

6. Какие арифметические операции используются в алгоритме ГОСТ.

7. Что является ключом шифра простой замены.

8. Число ключей в шифре замены.

9. Привести примеры шифров простой замены.

10. Привести примеры шифров многоалфавитной замены.

11. Существуют ли абсолютно стойкие шифры?

12. Чему равна длина ключа в абсолютно стойком шифре?

13. Перечислить режимы работы ГОСТ.

Натуральное число p, больше единицы называется простым, если оно делится нацело только на единицу и на себя.

Теорема (Эвклид). Множество простых чисел бесконечно.

Обозначим через (x) функцию, которая равна числу простых чисел p в интервале 1 x p. Российский математик П.Л. Чебышев в 1850г. показал, что имеет место Простые числа являются важным понятием в криптографии. Многие современные криптографические системы строятся на базе простого числа.

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

Заметим, что существует около 10151 простых чисел длиной от 1 до бит включительно [5]. Для чисел, близких n, вероятность произвольно выбранному числу оказаться простым числом, равна (1 / ln n). При случайном выборе двух простых чисел в диапазоне от 1 до 151 бита вероятность совпадения этих чисел ничтожно мала.

Пусть даны два целых числа a и b. Говорят, что число a делит b, если существует такое целое число d, что b=ad. Число a в этом случае называют делителем b. Для факта, что a делит b, принято обозначение a|b. Справедливы следующие свойства делимости:

• если a|b и c – любое число, то a|(bс);

• если a|b и b|c, то a|c;

• если a|b и a|c, то a|(b ± с).

Здесь уместно сделать замечание, что важную роль в арифметике целых чисел имеет теорема о делении.

Теорема о делении. Для любого целых чисел a и b, b 0, существуют, и притом единственные, целые числа q и r, такие, что Определение. Натуральное число p, p 1, называется составным, если число p имеет по крайней мере один положительный делитель, отличный от единицы и p.

Если число p составное, то справедлива следующая теорема.

Теорема. Для любого составного числа наименьший отличный от единицы положительный делитель является простым числом.

Одним из основных утверждений арифметики является факт, что любое натуральное число p можно единственным образом представить в виде произведения простых чисел. Например, В общем случае каноническим разложением целого числа a называется представление в виде где pi, i = 1, 2, …, k, – простые числа. Например, 133100 = 2252113.

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

Определение. Общим делителем целых чисел называется любое целое число d, такое, что Определение. Наибольшим общим делителем (НОД) целых чисел a1, a2, …, ak называется такой положительный общий делитель этих чисел, который делится на любой другой делитель этих чисел.

Если d – наибольший общий делитель для чисел a и b, то для него вводится обозначение (a, b) = d.

Теорема. Если натуральное число p не делится ни на одно простое число то число p – простое.

Определение. Числа a1, a2, … ak называются взаимно простыми, если наибольший общий делитель этих чисел равен 1.

Определение. Числа a1, a2, … ak называются попарно взаимно простыми, если Если числа попарно взаимно простые, то все они взаимно простые.

Числа 15, 21, 77 – взаимно простые, но эти числа не являются попарно взаимно простыми, потому что (15, 21) = 3.

Числа 34, 53, 99, 115 – попарно взаимно простые числа.

Вычисление наибольшего общего делителя для двух чисел при помощи Цель работы – используя алгоритм Эвклида создать программу, которая для чисел a и b определяет наибольший общий делитель.

В программной реализации алгоритма Евклида должен быть разработан интерфейс, удобный для эксплуатации. В интерфейсе следует предусмотреть:

• ввода начальной информации из сформированного заранее файла, и файла, который создается в оболочке программы;

• ввод начальной информации с клавиатуры.

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

Для двух целых чисел a и b существует сравнительно быстрый метод вычисления наибольший общий делитель. Упомянутый метод вычисления наибольший общий делитель называется алгоритмом Евклида. Приведем схему работы этого алгоритма.

1. Делим число a на число b, получаем 2. Делим число b на число r1, имеем 3. Делим число r1 на число r2, запишем 4. Делим число r2 на число r3, получаем Если остаток от деления rt+1 = 0, то в этом случае наибольший общий делитель равен числу rt и алгоритм вычисления наибольший общий делитель завершается.

Кратко алгоритм Эвклида можно сформулировать следующим образом.

Даны два целых числа a и b. Для определенности предположим, что a b.

Для поиска наибольшего общего делителя следует выполнить следующие операции.

1. Разделить a на b. Пусть остаток равен 2. Если r = 0, то алгоритм завершается, наибольший общий делитель равен b.

4. Возвращаемся на шаг 1.

Пример. Найти наибольший общий делитель чисел a = 1173 и b = 323.

1. Делим число 1173 на число 323, получаем 2. Делим число 323 на число 204, получаем 3. Делим число 204 на число 119, получаем 4. Делим число 119 на число 85, получаем 5. Делим число 85 на число 34, получаем 6. Делим число 34 на число 17, получаем Итак, в итоге получаем 1. Дать определение простого числа.

2. Дать определение составного числа.

3. Сформулировать алгоритм Евклида.

4. Дать определение наибольшего общего делителя.

5. Сформулировать теорему о делении двух целых чисел.

Цель работы. Пусть число d – наибольший общий делитель для целых чисел a и b. Используя расширенный алгоритм Евклида, создать программу для определения таких двух чисел x и y, для которых выполняется равенство В программной реализации расширенного алгоритма Эвклида должен быть разработан интерфейс, удобный для эксплуатации в интерфейсе предусмотреть:

• ввода начальной информации из сформированного заранее файла, и файла, который создается в оболочке программы;

• ввод начальной информации с клавиатуры.

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

Теорема. Пусть d – наибольший общий делитель для a и b, т.е. d=(a,b), где a b. Тогда существуют такие целые числа x и y, что Иными словам наибольший общий делитель двух чисел можно представить в виде линейной комбинации этих чисел с целыми коэффициентами.

1. Определить 2. Пусть число q – частное от деления числа a на число b, а число r – остаток от деления этих чисел, т.е.

3. Если остаток от деления r равен нулю, то выполняем шаг 6.

4. Определяем 5. Возвращаемся на шаг 2.

6. Определяем Пример. Дано a = 1769, b = 551. Используя расширенный алгоритм Эвклида, найти целые числа x и y такие, что где d – наибольший общий делитель чисел a и b.

1. Определить 2. Частное от деления а остаток от деления r = 116.

3. Если остаток от деления r равен нулю, то выполняем шаг 6.

4. Определяем В результате текущего шага получили следующие промежуточные значения параметров 5. Так как остаток от деления r 0, то возвращаемся на шаг 2.

1. Значение параметров 2. Частное от деления а остаток от деления r = 87.

3. Если остаток от деления r равен нулю, то выполняем шаг 6.

4. Определяем В результате текущего шага получили следующие промежуточные значения параметров 5. Так как остаток от деления r 0, то возвращаемся на шаг 2.

1. Значение параметров 2. Частное от деления q = a/b = 116/87 = 1, а остаток от деления r = 29.

3. Если остаток от деления r равен нулю, то выполняем шаг 6.

4. Определяем В результате текущего шага получили следующие промежуточные значения параметров 5. Так как остаток от деления r 0, то возвращаемся на шаг 2.

1. Значение параметров 2. Частное от деления q = a/b = 87/29 = 3, а остаток от деления r = 0.

3. Если остаток от деления r равен нулю, то выполняем шаг 6.

4. Определяем В результате текущего шага получили следующие промежуточные значения параметров 5. Так как остаток от деления r = 0, то выполняем шаг 6.

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

В программной реализации решета Эратосфена должен быть разработан интерфейс, удобный для эксплуатации в интерфейсе предусмотреть:

• ввода начальной информации из сформированного заранее файла и файла, который создается в оболочке программы;

• ввод начальной информации с клавиатуры.

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

Для составления таблицы всех простых чисел, которые не превосходят заданного числа N, надо из таблицы чисел 2, 3, …, N вычеркнуть все числа, которые делятся на два, кроме 2. Затем вычеркнуть все числа, которые делятся на три, кроме 3. Далее этот процесс (оставить наименьшее из оставшихся простых и вычеркивать все кратные этому простому) продолжаем до тех пор, пока очередное выбранное число не превысит N.

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

Составить программу вычисления символа Лежандра Цель работы – используя алгоритм для вычисления символа Лежандра, составить программу вычисления символа Лежандра.

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

• ввод начальной информации;

• вывод результатов расчета.

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

Определение 3. Пусть a – целое число и p, p 2, – простое число.

Символ Лежандра L(a, p) определяется равенством Иными словами, L(a, p) =1, если сравнение имеет решений, и L(a, p) = -1, если данное сравнение не имеет решений. В литературе символ Лежандра часто обозначается через следующим образом Далее будем рассматривать случай, когда p не делит a, т.е. L(a, p) 0.

Пример. L(3, 11) = 1, так как сравнение имеет два решения L(6, 7) = -1, так как сравнение не имеет решений.

Приведем основные свойства символа Лежандра.

2. L(a1a2… ak) = L(a1, p)L(a2, p) … L(ak, p).

5. L(a, p) = a(p-1)/2 mod p – критерий Эйлера.

6. L(-1, p) = (-1)(p-1)/2 mod p.

7. L(2, p) = (-1)( p -1)/8.

8. L(q, p) = -1[(p-1)/2][(q-1)/2]L(p, q) – закон взаимности. Этот закон можно записать в виде На основании перечисленных свойств заметим, что если В данном равенстве, учитывая свойство 3, можно отбросить множители, у которых показатель j, j k, является четным числом. Если же некоторое aj=2, j k, то свойство 7 позволяет вычислить значение Вышесказанное позволяет сформулировать алгоритм вычисления символа Лежандра.

1. Если число a отрицательно, то выделяем множитель L(-1, p);

2. Заменяем число a на остаток от деления числа a на p;

3. Раскладываем число a в произведение в простых сомножителей если число на простые множители не разлагается, то переходим на щаг 4. Переходим к разложению 5. Отбрасываем множители с четным значением показателя j, j k;

6. Вычисляем символ Лежандра L(aj, p)j для aj = 2;

7. Если все символы Лежандра в выражении вычислены, то алгоритм вычисления L(a, p) завершаем. В противном случае для множителей L(aj, p)j, у которых aj 2, применяем закон взаимности Здесь полагается, что p = aj.

8. Переходим к шагу 1.

Замечание. На каждом шаге процесс вычисления символа Лежандра может быть завершено. Это произойдет в том случае, если на каком-то шаге алгоритма, все числа j, j k, окажутся равными 1, 2 или –1.

Пример. Вычислить L(68, 113). Здесь a = 68, p = 113 – простое число.

Вычисляем L(68, 113).

1. При a 0 множитель L(-1, 113) отсутствует;

2. Так как 68 113, то остаток равен самому числу;

3. Разлагаем число a = 68 на простые множители 68 = 2217;

L(68, 113)=L(2217, 113)=L(22, 113)L(17, 113)= 5. Так как L(22, 113) = 1 (см. свойство 3), то в разложении отбрасываем множитель [L(2, 113)]2;

6. После выполнения шага 5 получаем В полученном разложении отсутствует множитель L(2, 113);

7. Для множителя L(17, 113), применяя закон взаимности для a=17 и p=113, получаем Далее переходим на шаг 1 и начинаем вычислять L(113, 17). Здесь a = 113 и p=17 – простое число.

Вычисляем L(113, 17).

1. При a 0 множитель L(-1, 17) отсутствует;

2. Остаток от деления числа 113 на 17 равен 11, поэтому получаем 3. Число 11 – простое на множители не разлагается;

4. Так как 11 простое число, то переходим к шагу 7;

7. Для множителя L(11, 17), применяя закон взаимности для a=11 и p=17. Получаем Далее переходим на шаг 1 и начинаем вычислять L(17, 11), здесь a = 17 и p=11 – простое число.

Вычисляем L(17, 11).

1. При a 0 множитель L(-1, 11) отсутствует;

2. Остаток от деления числа 17 на 11 равен 6;

3. Разлагаем число 6 на простые множители 6 = 23;

5. В разложении L(6, 11) множители с четным значением показателей отсутствуют, поэтому переходим к шагу 6;

6. Вычисляем значение L(2,11) где 7. Для множителя L(3, 11), применяя закон взаимности для a=3 и p=11, получаем Далее переходим на шаг 1 и начинаем вычислять L(11, 3), здесь a = 11, p = 3 – простое число.

Вычисляем L(11, 3).

1. При a 0 множитель L(-1, 3) отсутствует;

2. Остаток от деления числа 11 на 3 равен 2, поэтому получаем 3. Число 2 – простое, на множители не разлагается;

5. В разложении L(11, 3) множители с четным значением показателей отсутствуют, поэтому переходим к шагу 6;

6. Вычисляем значение L(2,3) где Окончательно получаем, что L(68, 113) = -1. Тем самым вычисление символа Лежандра L(68, 113) завершено. Значение символа Лежандра L(68, 113) = - позволяет сделать вывод, что сравнение не имеет решений.

Составить программу вычисления символов Якоби Цель работы – используя алгоритм для вычисления символа Якоби, составить программу вычисления символа Якоби.

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

• ввод начальной информации;

• вывод результатов расчета.

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

Определение. Пусть нечетное число p имеет следующее разложение на простые множители где pj, j k, – простые числа, среди которых могут быть одинаковые. Символ Якоби J(a, p) определяется равенством где L(a, pi) символ Лежандра.

Заметим, что символ Лежандра является частным случаем символа Якоби. Более того, если число p является простым, то символ Якоби, по определению является символом Лежандра. Вместе с тем символ Якоби J(a,p) может равняться единице, (J(a, p) = 1), а сравнение не имеет решений.

Пример. Определим символ Якоби J(2, 15). По определению имеем Вычислим Окончательно получаем Итак, J(2, 15) = 1, а сравнение не имеет решений.

Приведем основные свойства символа Якоби.

2. J(a1a2… ak) = J(a1, p)J(a2, p) … J(ak, p).

5. J(-1, p) = (-1)(p-1)/2 mod p.

6. J(2, p) = (-1)( p -1)/8.

7. J(q, p) = -1[(p-1)/2][(q-1)/2]L(p,q) – закон взаимности. Этот закон можно записать в виде 1. Если число a отрицательно, то выделяем множитель J(-1, p);

2. Заменяем число a на остаток от деления числа a на p;

3. Если число a четно, представляем его в виде где a1 – нечетное число.

4. Переходим к разложению 5. Отбрасываем множитель J(2, p)t, если t – четное число;

6. Если t нечетно, то вычисляем символ Лежандра J(2, p)t;

7. Применяем к J(q, p) закон взаимности Здесь полагается, что q = a1.

8. Переходим на шаг 1.

Пример. Вычислить J(506, 1103), здесь a = 506, p = 1103 – простое число. Так как 1103 – простое число, то значение символа Якоби равно значению символу Лежандра, т.е.

Однако вычисление символа Якоби упрощается за счет того, что при составном числе a можно применять закон взаимности, а при рассмотрении символов Лежандра составное число a надо раскладывать на произведение простых множителей. Что является не простой задачей.

Вычисляем J(506, 1103).

1. При a 0 множитель J(-1, 1103) отсутствует;

2. Так как 506 1103, то остаток равен самому числу;

3. Число a = 506 представляем в виде 506 = 2253;

4. Переходим к разложению 5. Показатель степени множителя J(2, 1103)t = 1 нечетно, поэтому переходим к шагу 6;

6. Вычисляем где 7. Для множителя J(253, 1103), применяя закон взаимности для a=253 и p=1103. Получаем 8. В итоге имеем J(506, 1103) = J(1103, 253). Далее переходим на шаг и начинаем вычислять J(1103, 253), здесь a = 1103, p = 253;

Вычисляем J(1103, 253).

1.При a 0 множитель J(-1, 253) отсутствует;

2. Остаток от деления числа 1103 на 253 равен 91, поэтому 3. Число a = 91 – нечетное, переходим на шаг 7;

4. Не выполняется;

5. Не выполняется;

6. Не выполняется;

7. Для символа Якоби J(91,253), применяя закон взаимности для a=91 и p=253. Получаем 8. В итоге имеем J(1103, 253) = J(253, 91). Далее переходим на шаг 1 и начинаем вычислять J(253, 91), здесь a = 253, p = 91;

Вычисляем J(253, 91).

1. При a 0 множитель J(-1, 91) отсутствует;

2. Остаток от деления числа 253 на 91 равен 71, поэтому 3. Число a = 71 – нечетное, переходим на шаг 7;

4. Не выполняется;

5. Не выполняется;

6. Не выполняется;

7. Для символа Якоби J(71, 91), применяя закон взаимности для a= и p=91. Получаем 8. В итоге имеем J(253, 91) = -J(91, 71). Далее переходим на шаг 1 и начинаем вычислять J(91, 71), здесь a = 91, p = 71;

Вычисляем -J(91, 71).

1. При a = 91 0 множитель J(-1, 71) отсутствует;

2. Остаток от деления числа 91 на 71 равен 20, поэтому 3. число a = 20 представим в виде a = 225;

4. переходим к разложению 5. показатель степень у множителя J(2, 71) t=2 четный, поэтому Переходим к шагу 7;

6. Не выполняется;

7. Для символа Якоби J(5, 71), применяя закон взаимности для a=5 и p=71, получаем 8. В итоге имеем -J(91, 71) = -J(71, 5). Далее переходим на шаг 1 и начинаем вычислять -J(71, 5), здесь a = 71, p = 5;

Вычисляем -J(71, 5).

1. При a = 71 0 множитель J(-1, 71) отсутствует;

2. Остаток от деления числа 71 на 5 равен 1, поэтому 3. Число a = 1 – нечетное, переходим на шаг 7;

4. Не выполняется;

5. Не выполняется;

6. Не выполняется;

7. Вычисляем символ Якоби J(1, 5) =1.

8. В итоге имеем -J(71, 5) = -1. Вычисление символа Якоби J(1103, 253) завершен. Окончательно получаем J(1103, 253) = -1. Значение символа Якоби позволяет сделать вывод, что сравнение не имеет решений.

Составить программу проверки чисел на простоту Цель работы – используя ниже представленные алгоритмы, составить программы проверки чисел на простоту. Провести сравнение работы реализованных алгоритмов.

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

• ввода начальной информации из сформированного заранее файла и файла, который создается в оболочке программы;

• ввод начальной информации с клавиатуры.

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

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

• Формируются случайные числа заданного порядка, и проверяется при помощи существующих тестов, являются ли они простыми.

• Генерируются простые числа, и с помощью тестов производится проверка чисел на простоту.

Рассмотрим вопрос о генерировании больших простых чисел.

Справедливо следующее утверждение [10].

Теорема. Пусть где q – нечетное простое число, N – четное число и Число p – является простым, если выполняются следующие два условия На базе представленной теоремы разработан алгоритм ГОСТ Р 34.10- генерации простых чисел. Рассмотрим эту схему алгоритма формирования простого числа [10]. Пусть требуется сформировать простое число p, длина которого t, t 16, бит. Для этого возьмем убывающую последовательность натуральных чисел где t0 = t – длина числа, где [ti/2] – целая часть числа ti/2. Последовательно вырабатываются простые числа причем длина числа pi равна значению ti, i = 0, 1, …, s. Исходное значение ps длиной меньше 17 бит случайно выбирается и проверяется на простоту.

Далее генерируем простое число pi-1 по формуле где N – случайное четное число, такое, что длина (piN + 1) равна значению ti.

Число pi-1 считается сгенерированным, если одновременно выполняются условия где q = pi. Если хотя бы одно условие не выполняется значение то:

1. Значение N увеличивается на 2;

2. Вычисляется новое значение pi-1;

3. Новое значение pi-1 проверяется на простоту по указанным выше двум условиям.

Данная процедура продолжается до тех пор, пока не будет сгенерировано простое число pi-1.

Заметим, что установить простоту числа проще, чем разложить число на множители. Сформулируем несколько алгоритмов, которые можно применять для проверки простоты числа.

Одним из самых простых способов проверки числа p на простоту состоит в последовательном делении числа p на все нечетные числа, которые содержатся в интервале [2, p ]. Если в процессе деления получим целый результат, то число p – составное. Если же при переборе всех нечетных чисел из интервала [2, p ] разделить число p на эти числа нацело нельзя, то число p – простое. Данный метод называется пробным делением. Этот метод трудоемок по числу арифметических операций, и он используется в основном для проверки небольших простых чисел.

Малая теорема Ферма [1] утверждает, что если n простое число, то выполняется условие – при всех имеет место сравнение На основании этой теоремы можно построить вероятностный алгоритм проверки на простоту числа n. Если для некоторого целого a из интервала [2,n] соотношение не выполняется, то число n – составное. Если же соотношение выполняется, то вывод, что число n простое, сделать нельзя, потому что теорема дает лишь необходимое условие. Поэтому, если для некоторого a выполняется соотношение an-1 1 mod n, то говорят, что число n является псевдопростым по основанию a [1].

Существует бесконечно много пар чисел a и n, где n является составным и псевдопростым. Вообще говоря, для любого a, a 1, существуют бесконечно много псевдопростых чисел по основанию a [1]. Справедливы следующие два утверждения.

• Если пара (2, n) удовлетворяют сравнению то и пара чисел (2, 2n-1) также ему удовлетворяют.

• Для любого простого числа n и любого a, a 2 такого, что имеет место соотношение число является псевдопростым по основанию a.

Определение. Составные числа n, для которых при всех основаниях выполняется сравнение называются числами Кармайкла.

Схема алгоритма на базе малой теоремы Ферма Пусть дано число n и коэффициент =1 для идентификации результата проверки.

1. Выбирается случайное целое число a из интервала [2, n];

2. Используя алгоритм Эвклида, вычисляется наибольший общий делитель чисел a и n;

3. Если наибольший общий делитель больше 1, то выполняется шаг 4. Для числа a проверяется сравнение 5. Если сравнение не выполняется, то определяется параметр = (число составное) и происходит переход на шаг 7.

6. Если сравнение выполнено, то можно повторить тест;

7. Выдать результат проверки. Если =0, то число составное.

При завершении работы алгоритма возможны следующие выводы:

• если = 0, то число n – составное;

• если = 1, то число n является либо простым, либо составным и числом Кармайкла.

Здесь уместно заметить [1], что числа Кармайкла являются достаточно редкими. Существуют всего 2 163 чисел Кармайкла которые не превосходят 25 000 000 000 и всего 16 чисел, которые не превосходят числа 100 000.

Тест Соловея - Штрассена проверки на простоту числа p базируется на следующей теореме.

Теорема. Для любого нечетного n следующие условия эквивалентны:

• для любого a Zn* выполняется сравнение где Zn* – мультипликативная группа, элементами которой являются элементы a Zn, Zn – кольцо вычетов по модулю n.

Для проверки простоты числа p используется алгоритм вычисления символа Якоби.

Схема алгоритма на базе малой теоремы Ферма Пусть дано нечетное число p. Надо проверить является ли число p простым.

1. Выбирается случайное число a, a p.

2. Если наибольший общий делитель (a, p) 1, то p – составное число.

3. Вычисляется сравнение 4. Вычисляется символ Якоби J(a, p).

то число p – составное.

то вероятность того, что число p – составное не превышает 50%.

Если проверка повторяется k раз, то вероятность того, что число p – составное не превышает 1/2k.

Обоснование алгоритма Рабина-Миллера можно найти в [3]. Здесь дадим только самые общие соображения Известно, что если число p – простое, то уравнение имеет лишь два решения Итак, пусть p – нечетное целое число, которое надо проверить на простоту. Если p – простое, то по теореме Ферма для любого целого a, взаимно простого с p, выполняется сравнение Так как (p-1) – четное число, то получаем Если оказывается, что (m-1)/2 – четно, то можно повторить рассуждение. В результате получим и т.д.

Используя вышеприведенные рассуждения, алгоритм проверки чисел на простоту можно сформулировать следующим образом. Чтобы проверить на простоту нечетное число p, выбираем случайным образом число a из интервала [1, p-1] и вычисляем последовательность где t – нечетное число, а вычисляется по формуле = 2s. Если одно из этих чисел не совпадает +1 или -1, то можно сделать вывод, что число p является числом составным. Если значения чисел совпадают с +1 или -1, то повторяем этот тест k раз. После повторения этого теста k раз вероятность того, что составное число p не будет выявлено, не превосходит 1/4k.

Используя данные соображения, перейдем к формулировке алгоритма Рабина-Миллера. В некоторой литературе данный алгоритм называют тестом Миллера-Рабина [4].

Пусть дано нечетное число p. Надо проверить является ли число p простым. Ниже предположим, что 1. Выбирается случайное число a, a p, и определяется k = 0.

2. Вычисляем с помощью алгоритма Евклида наибольший общий делитель двух чисел a и p. Если наибольший общий делитель не равен единице, т.е. имеет место соотношение (a, p)1, то p – составное число.

3. Вычисляем Если b = 1 или b = p-1, то число p вероятно простое.

4. Если b 1 и b p-1, то вычисляем и полагаем k равным k+1.

5. Если число b = p-1, то число p вероятно простое. Перейти на шаг (где шаг 8).

6. Если k s, перейти на пункт 4.

7. Завершить работу алгоритма.

Пример. Пусть p = 181. Имеем По представленному разложению определяем значение параметра t = 45.

1. Выбираем случайное число a, a = 52 p, и определяем k = 0.

2. Используем алгоритм Евклида для вычисления наибольшего общего делителя двух чисел 52 и • делим число 181 на число 52, имеем • делим число 52 на число 25, запишем • делим число 25 на число 2, получим • делим число 2 на число 1, имеем • получаем двух чисел 181 и 52 равен 1.

Так как наибольший общий делитель не позволяет установить, является ли число 181 составным, продолжаем выполнение алгоритма РабинаМиллера.

3. Последовательно вычисляем Итак, получили b = 180 = p-1. Отсюда следует, что число p = 181 вероятно простое.

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

Составить программу решения сравнения вида ax b mod n Цель работы – используя расширенный алгоритм Эвклида, составить программы решения сравнения ax b mod n, где числа a и n взаимно простые.

В программной реализации решения сравнения должен быть разработан интерфейс, удобный для эксплуатации. В интерфейсе следует предусмотреть:

• ввода начальной информации из сформированного заранее файла и файла, который создается в оболочке программы;

• ввод начальной информации с клавиатуры.

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

Пример. Решить сравнение где a = 37, b = 5, модуль n=1940.

Сначала решим сравнение т.е. определим элемент 37-1, обратный к элементу a = 37. Для решения этого уравнения используется расширенный алгоритм Эвклида.

1. Определяем параметры 2. Вычисляем частное q1 и остаток r2 от деления модуля сравнения U2=1940 на число V2 = 37. Получаем q1 = 52, а остаток r2 = 16. Тогда, по определению имеем Для второго шага получаем следующие значения параметров 3. Вычисляем частное q2 и остаток r3 от деления модуля сравнения U2=37 на число V2 = 16. Получаем q2 = 2, а остаток r3 = 5. Тогда, по определению Для третьего шага получаем следующие значения параметров 4. Вычисляем частное q3 и остаток r4 от деления модуля сравнения U2=16 на число V2 = 5. Получаем q3 = 3, а остаток r4 = 1. Тогда, по определению имеем Для четвертого шага получаем следующие значения параметров 5. Вычисляем частное q4 и остаток r5 от деления модуля сравнения U2= на число V2 = 1. Получаем q4 = 5, а остаток r5 = 0. Тогда, по определению имеем Для пятого шага получаем следующие значения параметров Алгоритм завершается т.к. U2 = 1. Решение данного сравнения имеет вид т.е.

Проверка решения сравнения 37x 1 mod 1940:

Задача решения сравнения 37x 1 mod 1940 завершена.

Пусть дан модуль n и некоторое число a, взаимно простое с модулем n.



Pages:   || 2 |
 


Похожие работы:

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Государственное образовательное учреждение высшего профессионального образования ИВАНОВСКАЯ ГОСУДАРСТВЕННАЯ ТЕКСТИЛЬНАЯ АКАДЕМИЯ (ИГТА) Кафедра безопасности жизнедеятельности ПОРЯДОК СОСТАВЛЕНИЯ, УЧЕТА И ХРАНЕНИЯ ИНСТРУКЦИЙ ПО ОХРАНЕ ТРУДА МЕТОДИЧЕСКИЕ УКАЗАНИЯ К выполнению дипломных проектов Для студентов всех специальностей Иваново 2005 3 1.ОБЩИЕ ПОЛОЖЕНИЯ 1.1 Более 50% травматизма на производстве в Российской Федерации являются причины организационного...»

«ЗАО ГЕФЕСТ Методическое пособие по эксплуатации внутреннего противопожарного водопровода г. Москва 2012г. Содержание Общие положения 1. Нормативные ссылки 2. Термины и определения 3. Технические требования 4. Испытания ВПВ 5. Примечание (ссылки на нормативно техническую документацию) 6. 1.Общие положения 1.1 Настоящее методическое пособие разработано в соответствии со статьями 45, 60, 62, 106 и 107 Федерального закона от 22 июля 2008 г. № 123-ФЗ Технический регламент о требованиях пожарной...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Амурский государственный университет Кафедра безопасности жизнедеятельности УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ СОЦИАЛЬНАЯ ЭКОЛОГИЯ Основной образовательной программы по направлениям: 040100.62 Социальная работа, 040200.62 Социология. Благовещенск 2012 УМКД разработан кандидатом биологических наук, доцентом Иваныкиной Татьяной...»

«ПРИОРИТЕТНЫЙ НАЦИОНАЛЬНЫЙ ПРОЕКТ ОБРАЗОВАНИЕ РОССИЙСКИЙ УНИВЕРСИТЕТ ДРУЖБЫ НАРОДОВ А.А. ВАРФОЛОМЕЕВ ОСНОВЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ Учебное пособие Москва 2008 Инновационная образовательная программа Российского университета дружбы народов Создание комплекса инновационных образовательных программ и формирование инновационной образовательной среды, позволяющих эффективно реализовывать государственные интересы РФ через систему экспорта образовательных услуг Экспертное заключение – кандидат...»

«Министерство образования и науки Российской Федерации Иркутский государственный технический университет БЕЗОПАСНОСТЬ ЖИЗНЕДЕЯТЕЛЬНОСТИ Программа и методические указания к выполнению контрольной работы студентами заочной формы обучения Иркутск 2011 Рецензент: канд.техн.наук, профессор кафедры Управления промышленными предприятиями Иркутского государственного технического университета Конюхов В.Ю. Груничев Н.С., Захаров С.В., Голодкова А.В., Карасев С.В. Безопасность жизнедеятельности: Метод....»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Амурский государственный университет Кафедра Безопасность жизнедеятельности УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ ФИЗИОЛОГИЯ ЧЕЛОВЕКА Федерального государственного образовательного стандарта ВПО по направлению 280700.62 Техносферная безопасность, утвержденного приказом № 723 Министерством образования и науки РФ от 14 декабря 2009 г....»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Амурский государственный университет Кафедра безопасности жизнедеятельности УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ ЭКОЛОГИЯ Основной образовательной программы по специальности: 032301.65 Регионоведение Благовещенск 2012 УМКД разработан кандидатом биологических наук, доцентом Иваныкиной Татьяной Викторовной. Рассмотрен и рекомендован на...»

«Министерство образования и науки Российской Федерации Государственное образовательное учреждение высшего профессионального образования Уфимский государственный нефтяной технический университет Кафедра Промышленная безопасность и охрана труда Учебно-методическое пособие к выполнению раздела дипломного проекта (работы) Безопасность и экологичность проекта Уфа 2011 2 В методическом пособии изложены основные требования к содержанию и оформлению раздела выпускного квалификационного проекта (работы,...»

«А.В.Хапалюк ОБЩИЕ ВОПРОСЫ КЛИНИЧЕСКОЙ ФАРМАКОЛОГИИ И ДОКАЗАТЕЛЬНОЙ МЕДИЦИНЫ Допущено Министерством образования Республики Беларусь в качестве учебного пособия для слушателей системы последипломного медицинского образования Минск 2003 УДК 615.03+61 ББК 52.81 Х 12 Рецензенты: 2-я кафедра внутренних болезней Белорусского государственного медицинского университета (заведующий кафедрой – доктор медицинских наук профессор Н.Ф.Сорока), директор ГП Республиканский центр экспериз и испытаний в...»

«РУКОВОДЯЩИЙ ДОКУМЕНТ ОТРАСЛИ СРЕДСТВА ИЗМЕРЕНИЙ ЭЛЕКТРОСВЯЗИ Методические указания по поверке тестера HP T7580A ProBER2 (фирма Hewlett-Packard) РД 45.125-99 1 Область применения Настоящий руководящий документ отрасли устанавливает порядок поверки тестера HP E7580A ProBER2 Требования руководящего документа обязательны для выполнения специалистами метрологической службы отрасли, занимающихся поверкой данного типа средств измерений Настоящий руководящий документ разработан с учетом положений...»

«МИНИСТЕРСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ДЕЛАМ ГРАЖДАНСКОЙ ОБОРОНЫ, ЧРЕЗВЫЧАЙНЫМ СИТУАЦИЯМ И ЛИКВИДАЦИИ ПОСЛЕДСТВИЙ СТИХИЙНЫХ БЕДСТВИЙ Академия Государственной противопожарной службы МЕТОДИЧЕСКИЕ УКАЗАНИЯ И ЗАДАНИЯ на расчетно-графические и контрольные работы по дисциплине Электротехника и электроника Москва 2005 МИНИСТЕРСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ПО ДЕЛАМ ГРАЖДАНСКОЙ ОБОРОНЫ, ЧРЕЗВЫЧАЙНЫМ СИТУАЦИЯМ И ЛИКВИДАЦИИ ПОСЛЕДСТВИЙ СТИХИЙНЫХ БЕДСТВИЙ Академия Государственной противопожарной службы...»

«ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССОНАЛЬНОГО ОБРАЗОВАНИЯ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ – УЧЕБНОНАУЧНО-ПРОИЗВОДСТВЕННЫЙ КОМПЛЕКС УЧЕБНО-НАУЧНО-ИССЛЕДОВАТЕЛЬСКИЙ ИНСТИТУТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ Кафедра Электроника, вычислительная техника и информационная безопасность Суздальцев А.И. НАУЧНО-ИССЛЕДОВАТЕЛЬСКАЯ ПРАКТИКА Программа и методические указания по прохождению Направление – 211000.68 Конструирование и технология электронных средств Орел Автор:...»

«РУКОВОДЯЩИЙ ДОКУМЕНТ ОТРАСЛИ СРЕДСТВА ИЗМЕРЕНИЙ ЭЛЕКТРОСВЯЗИ Методические указания по поверке сетевых анализаторов типа ANT-20 РД 45.1 01-99. 1 Область применения Настоящий руководящий документ отрасли устанавливает порядок поверки сетевых анализаторов типа ANT-20 Требования руководящего документа обязательны для выполнения специалистами метрологической службы отрасли, занимающимися поверкой данного типа средств измерений Руководящий документ отрасли разработан с учетом положений РД 50-660, ОСТ...»

«ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ ВОЛГОГРАДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ЛАБОРАТОРИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ ХТФ КАФЕДРА ХИМИИ И ТЕХНОЛОГИИ ПЕРЕРАБОТКИ ЭЛАСТОМЕРОВ А.Н. Гайдадин, С.А. Ефремова ПРИМЕНЕНИЕ СРЕДСТВ ЭВМ ПРИ ОБРАБОТКЕ ДАННЫХ АКТИВНОГО ЭКСПЕРИМЕНТА Методические указания Волгоград 2008 УДК 678.04 Рецензент профессор кафедры Промышленная экология и безопасность жизнедеятельности А.Б. Голованчиков Издается по решению редакционно-издательского совета Волгоградского...»

«КОНФЛИКТОЛОГ — ПРОФЕССИЯ XXI ВЕКА Учебное пособие по дисциплине Введение в специальность, направлению высшего профессионального образования Конфликтология ВЫПУСК 133 Санкт-Петербург 2014 ББК 65.291.66 + 67.405.117 К64 Научный редактор Г. М. Бирженюк, заведующий кафедрой конфликтологии СПбГУП, доктор культурологии, профессор, заслуженный работник высшей школы РФ Рекомендовано к публикации редакционно-издательским советом СПбГУП Конфликтолог — профессия XXI века : сб. / Г. В. Осипов К64 [и др.]....»

«РУКОВОДЯЩИЙ ДОКУМЕНТ ОТРАСЛИ Отраслевая система обеспечения единства и требуемой точности измерений. Методические указания по поверке анализаторов параметров цифровых каналов и трактов типа EDT-135/EST-125/EST-120 1. Область применения Настоящие Методические указания распространяются на анализаторы параметров цифровых каналов и трактов типа EDT-135/EST-125/EST-120 производства фирмы Wavetek Wandel Goltermann и устанавливают методы и средства первичной, периодической и внеочередной поверок,...»

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

«Федеральное агентство по образованию Уральский государственный технический университет – УПИ А.В. Кибардин МАТЕМАТИЧЕСКИЕ МЕТОДЫ КРИПТОГРАФИИ Учебное текстовое электронное издание Подготовлено кафедрой вычислительной техники Научный редактор: проф., д-р т. наук С.Л. Гольдштейн Методические указания к лабораторным и самостоятельным работам по курсам Методы и средства защиты компьютерной информации, Информационная безопасность и Информатика. Изданы в соответствии с рабочей программой дисциплины...»

«Министерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Амурский государственный университет Кафедра безопасности жизнедеятельности УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС ДИСЦИПЛИНЫ ЭКОЛОГИЯ Основной образовательной программы по специальностям: 010701.65 Физика, 130301.65 Геологическая съемка, поиск и разведка месторождений полезных ископаемых, 280101.65 Безопасность жизнедеятельности в техносфере....»

«МИНОБРНАУКИ РОССИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Ухтинский государственный технический университет (УГТУ) АТТЕСТАЦИЯ РАБОЧИХ МЕСТ Методические указания к выполнению контрольных заданий по дисциплине Аттестация рабочих мест для студентов заочной формы обучения направления подготовки 280700 Техносферная безопасность Ухта 2013 УДК 331.45 А 94 Афанасьева, И. В. Аттестация рабочих мест [Текст] : метод. указания к выполнению...»







 
© 2013 www.diss.seluk.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Методички, учебные программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.