Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика конспект лекций_2012

.pdf
Скачиваний:
59
Добавлен:
28.03.2015
Размер:
6.29 Mб
Скачать

размера, скажем, те же 32 байта, равные 256 битам. Хэш-функция обладает или, по крайней мере, должна обладать следующими свойствами:

1)сообщения (хэш-результат работы хэш-функции) должны однозначно соответствовать стандартному размеру и изменяться при его модификации;

2)хэш-функция должна быть однонаправленной. Тогда, вопервых, даже зная хэш h(M), невозможно вычислить само сообщение M и, во-вторых, для каждого сообщения M нельзя подобрать такое сообщение M', для которого выполнялось бы условие:

h(M) = h(M?).

Невыполнение второго условия позволило бы хакеру подменять письма, оставляя подпись в них верной. Кроме того, у многих сообщений хэш одинаковый, поскольку, как говорят математики, множество допустимых писем (их количество практически безгранично) существенно больше множества хэш-значений, максимально возможное число которых всего-навсего 2256. А теперь, выражаясь языком криптографии, иначе сформулируем приведенные выше условия: «Трудоемкость успешного вычисления сообщения M? по уже известному хэшу h(M), удовлетворяющему условию h(M?) = h(M), не должна быть меньше трудоемкости прямого перебора сообщений».

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

Отечественный стандарт для хэш-функций – ГОСТ Р34.11 - 94 – используется совместно со стандартом ГОСТ Р34.10 - 94/2001 для ЭЦП. Из западных алгоритмов для хэш-функций стоит упомянуть,

например, ряд MD (Message Digest).

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

1.На подготовительном этапе двое пользователей, например, создают две пары ключей: секретный и открытый для асимметричного шифрования, а также секретный и открытый ключи ЭЦП. Открытыми ключами они обмениваются, а затем один посылает другому сообщение, подписанное своим секретным ключом.

2.Затем первый пользователь генерирует случайный ключ симметричного шифрования K, которым шифрует отправляемое письмо, причем только это.

390

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

кзашифрованному письму.

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

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

Здесь придраться практически не к чему – при грамотном использовании подобная система не оставляет хакеру никаких шансов на успех. Правда, может показаться неудобным то, что приходится делать слишком много ключей. Для решения этой задачи предусмотрен алгоритм Диффи – Хеллмана (названный так от имен его авторов Diffie и Hellman), позволяющий, в частности, применять одну и ту же пару ключей ЭЦП как для собственно ЭЦП, так и для симметричного шифрования. Смысл данного алгоритма заключается в следующем. В стандарте ГОСТ Р34.10 - 94 для ЭЦП открытый ключ вычисляется

из секретного:

Kp = aKs mod p,

где a и p – некоторые общеизвестные большие числа (могут принимать значения до 21024, а это очень большое значение). Предположим, что есть пользователи 1 и 2, сгенерировавшие свои секретные ключи и вычислившие из них открытые:

Kp1 = aKs1 mod p; Kp2 = aKs2 mod p.

После обмена открытыми ключами у каждого из них появилась пара ключей: свой секретный и чужой открытый, т. е. абонент 1 имеет ключи Ks1 и Kp2, а абонент 2 – Ks2 и Kp1. Теперь вспомним математику и представим, что будет, если абоненту 2 вдруг вздумается возвести в степень своего секретного ключа открытый ключ абонента 1:

(Kp1)Ks2 = (aKs1)Ks2 mod p = (aKs2)Ks1 mod p = (Kp2)Ks1 = Kc.

Ожидаем ли подобный результат? Ведь получилось то же самое, что вышло бы, если бы абонент 1 захотел проделать аналогичное с имеющимися у него открытым ключом абонента 2 и своим секрет-

391

ным ключом! Значит, существует ключ Kc, обычно называемый «ключом парной связи», который могут вычислить только абоненты 1 и 2 с использованием имеющихся у них ключей, поскольку у злоумышленников нет Ks1 или Ks2, и поэтому они не сумеют определить Kc. Затем, с помощью общего ключа Kc можно быстро симметрично зашифровать сообщения по стандарту ГОСТ 28147 - 89.

392

ЛИТЕРАТУРА

1.Информатика / под ред. Н.В. Макаровой. – М.: Финансы и ста-

тистика, 2009. – 768 с.

2.Информатика: учебник для вузов / под ред. С.В. Симоновича. – СПб.: Питер, 2008.

3.Могилев, А.В. Информатика: учебное пособие для вузов / А.В. Могилев, Н.И. Пак, Е.К. Хеннер; под ред. Е.К. Хеннера. – М.: Изд. центр «Академия», 2009. – 848 с.

4.Острейковский, В.А. Информатика. / В.А. Острейковский – М.:

Высш. шк., 2009. – 512 с.

5.Кураков, Л.П. Информатика. / Л.П. Кураков, Е.К. Лебедев – М.:

Вуз и школа, 2009. – 636 с.

6. Першиков, В.И. Толковый словарь по информатике / В.И. Першиков, В.М. Савинков. – 2-е изд., доп. – М.: Финансы и статистика, 2008.

7.Фигурнов, В.Э. IBM PC для пользователей / В.Э. Фигурнов. –

М., 2007.

8.Якубайтис, Э.А. Информационные сети и системы: справочная книга / Э.А. Якубайтис. – М.: Финансы и статистика, 2008.

9.Информатика / под ред. В.В. Трофимова. – М.: Юрайт, 2010. –

912 с.

10.Богуславский, А.А. Основы программирования на языке Си++: для студентов физико-математических факультетов педагогических институтов. / А.А. Богуславский, С.М. Соколов. – Коломна:

КГПИ, 2007.

11.Демидович, Е.М. Основы алгоритмизации и программирования. Язык СИ: учебное пособие / Е.М. Демидович – СПб.: БХВПетербург, 2008.

12.Дэвис, С. С ++ для «чайников» / С. Дэвис – Киев: Диалектика,

2009.

13.Семакин, И.Г. Основы программирования: учебник / И.Г. Семакин. – 5-е изд., стер. – М.: Академия, 2006.

14.Гаврилов, Г.П., Задачи и упражнения по курсу дискретной математики / Г.П. Гаврилов, А.А. Сапоженко. – М.: Наука, 2007. – 408 с.

15.Мендельсон, Э. Введение в математическую логику / Э. Мен-

дельсон. – М.: Наука, 2006. – 319 с.

393

16.Антонов, А.В. Системный анализ: учебник для вузов / А.В. Антонов. – М.: Высш. шк., 2004.

17.Ашманов, С.А. Математические модели и методы в экономике / С.А. Ашманов. – М.: Наука, 2009.

18. Багриновский, К.А. Экономико-математические методы и модели / К.А. Багриновский, В.М. Матюшок – М.: ИРУНД, 2007.

394

Учебное издание

Абашин Валерий Геннадьевич, Горбачев Николай Борисович, Демина Елена Григорьевна, Демина Юлия Александровна, Еремеева Наталья Петровна, Закалкина Елена Вячеславовна, Музалевская Марина Анатольевна, Ноздрунов Владимир Васильевич, Овсяникова Ирина Васильевна, Пилипенко Александр Витальевич, Пилипенко Ольга Васильевна, Плетнева Лариса Александровна, Преснецова Виктория Юрьевна, Рогозянская Елена Александровна, Федотов Александр Анатольевич

ИНФОРМАТИКА

Конспект лекций

Редактор Г.В. Карпушина Технический редактор Н.А. Соловьева

Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Государственный университет - учебно-научно- производственный комплекс»

Лицензия ИД № 00670 от 05.01.2000 г.

Подписано к печати 11.03.2012 г. Формат 60х90 1/16. Усл. печ. л. 24,7. Тираж 100 экз.

Заказ №______

Отпечатано с готового оригинал-макета на полиграфической базе ФГБОУ ВПО «Госуниверситет - УНПК»,

302030, г. Орел, ул. Московская, 65.

395