Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Основы теории принятая статистических решений 1051 81 страница

Основы теории принятая статистических решений 1051 70 страница | Основы теории принятая статистических решений 1051 71 страница | Основы теории принятая статистических решений 1051 72 страница | Основы теории принятая статистических решений 1051 73 страница | Основы теории принятая статистических решений 1051 74 страница | Основы теории принятая статистических решений 1051 75 страница | Основы теории принятая статистических решений 1051 76 страница | Основы теории принятая статистических решений 1051 77 страница | Основы теории принятая статистических решений 1051 78 страница | Основы теории принятая статистических решений 1051 79 страница |


Читайте также:
  1. 1 страница
  2. 1 страница
  3. 1 страница
  4. 1 страница
  5. 1 страница
  6. 1 страница
  7. 1 страница

Алгоритмы с открытыми ключами применяются также для создания цифровых подписей. PGP версии 5.0 использует алгоритм цифровой подписи (Digital Signa­ture Algorithm — DSA), заданный в стандартах цифровой подписи (Digital Signa­ture Standard — DSS) института NIST. PGP версии 2.6 в своих цифровых подпи­сях использует алгоритм RSA. Если имеющийся канал не защищен от изменений ключа, он более безопасен для использования алгоритма с ключом общего досту­па. Для защищенного канала предпочтительно шифрование с частным ключом, поскольку это, как правило, дает лучшее быстродействие по сравнению с систе­мами, использующими открытые ключи.

‘Digital Signature Standard — Стандарт цифровой подписи, разработанный NIST.

National Institute of Standards and Technology — Национальный институт стандартов и техно­логий США; отдел Министерства торговли США.


Технология шифрования сообщения, применяемая PGP версии 2.6, изображе­на на рис. 14.20. Перед шифрованием открытый текст сжимается с помощью ZIP- алгоритма. Система PGP использует ZIP-метод, описанный Жаном-Лупом Гейли (Jean-Loup Gaily), Марком Элдером (Mark Alder) и Ричардом Б. Уэльсом (Richard В. Wales) [18]. Если сжатый текст короче несжатого, то шифроваться будет сжа­тый текст, в противном случае будет шифроваться несжатый.

Небольшие файлы (приблизительно 30 символов для файлов ASCII) не выиг­рывают от сжатия. К тому же, PGP распознает файлы, ранее сжатые с помощью распространенных технологий сжатия, таких как PKZIP, и не будет пытаться сжать их. Сжатие данных устраняет избыточные строки символов и приводит к более равномерному распределению символов. С помощью сжатия получаем бо­лее короткий файл для шифрования и дешифрования (что сокращает время, не­обходимое для шифрования, дешифрования и передачи файла). Сжатие также создает препятствия некоторым криптоаналитическим атакам, использующим из­быточность. Необходимо отметить, что сжатие файла должно предшествовать шифрованию (а не наоборот). Почему стоит следовать этому правилу? Хороший алгоритм шифрования дает шифрованный текст с практически статистически равномерным распределением символов. Следовательно, если алгоритм сжатия данных следует после такого шифрования, он не будет давать никакого сжатия вообще. Если некоторый шифрованный текст может быть сжат, то алгоритм шифрования, с помощью которого получен шифрованный текст, был неудачным. Алгоритм сжатия не должен обнаруживать избыточные фрагменты в тексте, за­шифрованном с помощью хорошего алгоритма.

Как показано на рис. 14.20, PGP начинает шифрование файла с создания 128- битового ключа сеанса, используя генератор псевдослучайных чисел. Затем с помо­щью этого случайного ключа сеанса шифруется сжатый файл открытого текста, для чего применяется алгоритм частного ключа IDEA.

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

14.6.1. “Тройной” DES, CAST и IDEA

Как показано в табл. 14.9, PGP предлагает три блочных шифра для шифрования сообщения — “тройной” DES, CAST и IDEA. Все три шифра оперируют 64- битовыми блоками открытого и шифрованного текстов. Размер ключа “тройного” DES составляет 168 бит, в то время как CAST и IDEA используют ключи длиной 128 бит.


  Рис. 14 20. Метод PGP


Стандарт шифрования данных (Data Encryption Standard — DES), описанный в разделе 14.3.5, использовался с конца 1970-х годов. Однако у многих вызывала беспо­койство его защищенность, так как в нем применялся ключ относительно малого раз­мера (56 бит). При использовании “тройного” алгоритма DES, шифруемое сообщение трижды пропускается через алгоритм DES (вторая операция проводится в режиме де­шифрования). Каждая операция производится с помощью разных 56-битовых ключей. Как показано на рис. 14.21, это равносильно использованию ключа длиной 168 бит.

Шифрование   -------------- Дешифрование------------ >- Рис 14 21 Шифрование/дешифрование с помощью “тройного ” ал­горитма DES

 

14.6.1.2. Описание CAST

CAST — это семейство блочных шифров, разработанных Адамсом (Adams) и Те- вересом (Tavares) [19]. PGP 5.0 использует версию CAST, известную как CAST5 или CAST-128. В этой версии размер блока составляет 64 бит, а длина ключа — 128 бит. Алгоритм CAST использует шесть 5-блоков с 8-битовым входом и 32-битовым вы­ходом. Для сравнения, DES применяет восемь 5-блоков с 6-битовым входом и 4-битовым выходом. 5-блоки в CAST-128 были созданы для обеспечения существенно нелинейных преобразований, которые делают этот алгоритм практически не поддаю­щимся криптоанализу [11].

14.6.1.3. Описание IDEA

Международный алгоритм шифрования данных (International Data Encryption Algorithm — IDEA) представляет собой блочный шифр, разработанный Ксуэйя Лаи (Xuejia Lai) и Джеймсом Мэсси (James Massey) [19]. Это 64-битовый итераци­онный блочный шифр (включающий восемь итераций или циклов) с 128-битовым ключом. Защищенность IDEA зависит от использования трех типов арифметиче­ских операций над 16-битовыми символами: сложение по модулю 2'6, умножение по модулю 216 + 1 и побитовое исключающее ИЛИ. Для итерационных операций шифрования и дешифрования используется 128-битовый ключ. Как показано в табл. 14.10, начальный ключ К0 делится на восемь 16-битовых подключей ZzlS), где х — номер подключа цикла R. Шесть из этих подключей используются в цикле 1, а оставшиеся два — в цикле 2. Затем К0 циклически сдвигается на 25 бит влево, в результате чего образуется ключ Ки который, в свою очередь, делится на восемь подключей. Первые 4 из этих подключей используются в цикле 2, а последние че­


тыре — в цикле 3. Процесс продолжается, как показано в табл. 14.10, в результате чего в общей сложности появляется 52 подключа.

Таблица 14.10. Образование подключей в алгоритме IDEA
128-битовый ключ (делится на восемь 16-битовых подключей) Строка битов, из которой выводятся ключи
7I7I7I7I7I7I7272 Z.1 Z.2 L з £4 /»5 ^6 £»2 К0 = исходный 128-битовый ключ
Z32242Z52Z62Z,3Z23Z33Z43 К\ = сдвиг К0 на 25 бит
7 37 37 47 *7 4*7 47 47 4 /,5 Лб Z»1 £>2 **4 ^5 ^6 Ко = сдвиг К\ на 25 бит
7 57 57 57 57 57 57 67 6 Z-i Jl.2 ^4 ^6 £.\ ^2 Ко = сдвиг К2 на 25 бит
7 67 67 67 67 77 77 77 7 L,3 Z.4 L.\ Z#2 Z3 /<4 Ко = сдвиг Кг на 25 бит
7 77 77 87 87 87 87 87 8 ^6 "1 ^2 i<3 ^-'4 "5 ^6 Ко = сдвиг Kt на 25 бит
7 out 7 out 7 out 7 out Z-l Z-2 Z-3 Z4 Первые 64 бит Кб, где Кб = сдвиг на 25 бит

 

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

Таблица 14.11. Эволюция подключа алгоритма IDEA Цикл Набор подключей шифрования Набор ключей дешифрования
  7 17 17 17 17 17 1 Z, 1 /Ui Z-3 Z4 ^6 (Z,™1)-[12] - Z2ml - Z-r\ZrYZ?Z<?
  7 27 27 27 27 27 2 Z-l Z,2 Z<3 ^4 ^5 />6 (Z18)-i-Z,s-Z/(Z4s)-,Z,7Z67
  7З7З7З7З7З7З Z,i Z,2 Z-3 Z-4 Z-5 Лб (ZiY 1 - Z27 - ZJ(Zj)xZ?Zb
  7 47 47 47 47 47 4 Z>i Z»2 ^3 ^4 Z.5 Лб (Z,V‘ - Z26 - Z}6(Zfi-lZs5Zb5
  757575757575 Z,i ^2 Z»3 ^4 Z5 ^6 (Z15Г'-Z25-Z35(Z43Г1Z35Z6,
  7 67 67 67 67 67 6 <£ 1 Z-2 /С3 ^4 <£5 ^6 (Z1V-Z24-Z34(Z14)-’Z34Z64
  777777777777 Z.1 Z-2 Л3 Z*5 Z»6 (ZiV-Zi’-ZsWr'Zj3^3
  7 87 87 87 87 87 8 Z,i Z2 Z-з Лд ^ A (Zfy-1-Z*1-Zi1(ZSr1Zs2Zti
Выходное преобразование 7 out 7 out 7 out 7 out L.\ Z-2 Z<3 Z>4 faY-Zt'-ZikZiY

 

Сообщение делится на 64-битовые блоки данных. Затем эти блоки делятся на че­тыре 16-битовых подблока: Ми Мг, Мг и М4. Последовательность таких четырех под­блоков становится входом первого цикла алгоритма IDEA. Эти данные используются для всех восьми циклов. Как показано в табл. 14.11, в каждом цикле применяются разные множества из шести подключей. После завершения цикла второй и третий 16- битовые блоки данных переставляются. После завершения восьмого цикла четыре подблока дают окончательное выходное преобразование. Для упрощения записи в представлении ZjR) в табл. 14.10 и 14.11 опущены круглые скобки.

Каждый цикл состоит из шагов, показанных в табл. 14.12. Окончательные значе­ния, полученные на шагах 11-14, образуют выход цикла. Два внутренних 16-битовых подблока данных переставляются (за исключением последнего цикла), затем эти че­тыре подблока составляют вход следующего цикла. Этот метод в общей сложности включает 8 циклов. После восьмого цикла окончательное выходное преобразование имеет следующий вид.

1. M, x Ziout (первый подключ выходного преобразования)

2. Мг х Z{m

3. Мъ х Z30ut

4. МА х Z40ut

Таблица 14.12. Шаги каждого цикла алгоритма IDEA

1. Мх х Z,(R).

2. М2 х Z2W.

3. х Z3W.

4 ЛГ4 х Z/*>.

5. К результатам шагов (1) и (3) применяется операция XOR!.

6. К результатам шагов (2) и (4) — операция XOR.

7. Результат шага (5) умножается на Z5tR>.

8. Складываются результаты шагов (6) и (7).

9. Результат шага (8) умножается на Z6(R).

10. Складываются результаты шагов (7) и (9).

11. К результатам шагов (1) и (9) применяется операция XOR.

12. К результатам шагов (3) и (9) — операция XOR.

13. К результатам шагов (2) и (10) — операция XOR.

14. К результатам шагов (4) и (10) — операция XOR.

Пример 14.8. Первый цикл шифра IDEA

Пусть сообщение (слово “НГ”) сначала нужно записать в шестнадцатеричной форме. Начнем с ASCII-кода, представленного на рис. 2.3, на котором бит 1 представляет собой самый младший разряд. Затем добавим равный нулю восьмой бит старшего разряда, который обычно используется для проверки четности, и выполним необходимое преобразование, взяв по четыре бита (порядок — от старшего разряда до младшего). Таким образом, буква “Н” в сообщении преобра­зуется в 0048, а буква “I” — в 0049. Для этого примера выберем 128-битовый ключ К0, выражен­ный восемью группами подключей из 4-разрядных шестнадцатеричных чисел: Ко = 0008 0007 0006 0005 0004 0003 0002 0001, где крайний правый подключ представляет самый младший разряд. Ис­пользуя этот ключ и шифр IDEA, найдите выход цикла 1.

Решение

Сначала сообщение делится на 64-битовые блоки данных. Каждый из этих блоков затем де­лится на подблоки М„ где i = 1,..., 46, каждый из которых содержит 16-битовые или 4- значные шестнадцатеричные цифры. В этом примере длина сообщения “HI” равна всего 16 бит; следовательно, (используя шестнадцатеричное обозначение) Mi = 4849 и Мг = Мъ = М4 — 0000. Сложение производится по модулю 2[13], а умножение — по модулю 216 + 1. 128- битовый ключ, определенный для первого цикла, делится на восемь 16-битовых подключей, начиная с младшей группы шестнадцатеричных кодов: Zi(l> = 0001, Z2(1> = 0002, Z3(1) = 0003, Z4(1) = 0004, Z3(1) = 0005, Zew = 0006, Z,(2) = 0007 и Z2a' = 0008.

Шаги, обозначенные в табл. 14.11, дают следующие результаты.


1. Ml x Zi = 4849 x 0001 = 4849.

2. M2*Z2 = 0000 + 0002 = 0002.

3. Мъ x Z3 = 0000 + 0003 = 0003.

4. M4 x Zi = 0000 x 0004 = 0000.

5. К результатам шагов (1) и (3) применяется операция XOR, в результате чего получится следующее: 4849 XOR 0003 = 484А.

0100 1000 0100 1001 (4849 из шестнадцатеричной системы переведено в двоичную) XOR 0000 0000 0000 0011 (0003 из шестнадцатеричной системы переведено в двоичную)

0100 1000 0100 1010

Обратное преобразование в шестнадцатеричную систему дает следующее: 484А (где А — ше­стнадцатеричное обозначение двоичного числа 1010).

6. К результатам шагов (2) и (4) применяется операция XOR: 0002 XOR 0000 = 0002.

7. Результат шага (5) умножается на Zs: 484А х 0005 = 6971.

8. Результаты шагов (6) и (7) складываются: 0002 + 6971 = 6973.

9. Результат шага (8) умножается на Z6: 6973 х 0006 = 78В0.

10. Результаты шагов (7) и (9) складываются: 6971 + 78В0 = Е221.

11. К результатам шагов (1) и (9) применяется операция XOR: 4849 XOR 78В0 = 30F9.

12. К результатам шагов (3) и (9) применяется операция XOR: 0003 XOR 78В0 = 78ВЗ

13. К результатам шагов (2) и (10) применяется операция XOR: 0002 XOR Е221 = Е223.

14. К результатам шагов (2) и (10) применяется операция XOR: 0000 XOR Е221 = Е221.

Выход цикла 1 (результат шагов 11-14): 30F9 78ВЗ Е223 Е221. Перед началом цикла 2 пере­ставляются два внутренних слова выхода цикла 1. Затем производится еще семь циклов и

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

14.6.2. Алгоритмы Диффи-Хэллмана (вариант Элгемала) и RSA

Для шифрования ключа сеанса PGP предлагает на выбор два алгоритма ключа шиф­рования общего доступа, RSA и протокол Диффи-Хэллмана (Diffie-Hellman) (вариант Элгемала (Elgamal)). Для алгоритмов RSA и Диффи-Хэллмана допустимый размер ключа составляет от 1024 до 4096 бит. Ключ размером 1024 бит считается безопасным для большинства сеансов обмена информацией. Защищенность алгоритма RSA (см. раздел 14.5.3) основана на сложности разложения на множители больших чисел.

Протокол Диффи-Хэллмана был разработан Вайтфилдом Диффи (Whitefield Diffie), Мартином Е. Хэллманом (Martin Е. Heilman) и Ральфом С. Мерклем (Raph С Merkle) в 1976 году [19, 20] для обмена информацией по незащищенному каналу с помощью от­крытого ключа. Данный протокол основан на сложности задачи нахождения дискрет­ного логарифма для конечных полей [21]. Он предполагает, что вычислить gah, зная только g" и gb, практически невозможно. Патент №4 200 770 (США), срок которого ис­тек в 1997 году, содержит протокол Диффи-Хэллмана и его разновидности, такие как вариант Элгемала. Данный вариант, разработанный Тахером Элгемалом (Taher Elgamal), расширяет протокол Диффи-Хэллмана на шифрование сообщений. В PGP вариант Эл­гемала алгоритма Диффи-Хэллмана применяется для шифрования ключа сеанса.

14.6.2.1. Описание алгоритма Диффи-Хэллмана, вариант Элгемала

Протокол имеет два системных параметра п и g, которые являются общедоступны­ми. Параметр п — это большое простое число, а параметр g — целое число, меньшее

и, которое обладает следующим свойством: для любого числа р, лежащего между 1 и п- 1 включительно, существует степень к числа g, при которой g* = р mod п. Ниже

описывается схема шифрования Элгемала [19, 21], позволяющая пользователю В по­сылать сообщение пользователю А.

• Пользователь А случайным образом выбирает большое целое число а (это част­ный ключ пользователя А).

• Открытый ключ пользователя А вычисляется следующим образом: у = g“ mod п.

• Пользователь В желает послать пользователю А сообщение М. Сначала пользо­ватель В генерирует случайное число к, меньшее п.

• Пользователь В вычисляет следующие величины:

>>! = gk mod п

у2 = М х (у* mod п) (напомним, что у — это открытый ключ пользователя А).

• Пользователь В посылает пользователю А шифрованный текст (vi, Уг)-

• После получения шифрованного текста (у15 у2) пользователь А вычисляет от­крытое сообщение М.

М =- * -

у“ mod и

Пример 14.9. Применение алгоритма Диффи-Хэллмана (вариант Элгемала) для шифрования сообщения

Пусть общедоступными системными параметрами являются и = 11 и j = 7. Предположим, что пользователь А в качестве частного ключа выбрал а = 2. Покажите, как вычисляется от­крытый ключ пользователя А. Покажите также, как пользователь В будет шифровать сооб­щение М = 13, которое должно быть отправлено пользователю А, и как пользователь А по­следовательно дешифрует полученный шифрованный текст.

Решение

Открытый ключ пользователя A (y = g“ mod п.) вычисляется следующим образом: у = 72 mod

11 = 5. Пользователь В желает послать пользователю А сообщение М= 13. В данном приме­ре пусть пользователь В в качестве случайного значения к (меньшего п = 11) выбирает к= 1. Далее пользователь В вычисляет шифрованную пару.

>>1 = g* mod п = Iх mod 11 = 7

У2 = Мх (ук mod п) = 13 х (5[14] mod 11) = 13x5 = 65 Пользователь А получает шифрованный текст (7, 65) и вычисляет сообщение М.

м=_^_= 65_=65 = i3 у° mod п 1 mod 11 5

14.6.3. Шифрование сообщения в системе PGP

Алгоритмы с частным ключом, применяемые PGP для шифрования сообщения, были представлены в разделе 14.6.1. Алгоритмы с открытым ключом, используемые PGP для шифрования ключа частного сеанса, были представлены в разделе 14.6.2. Чтобы проиллюстрировать технологию’шифрования PGP, изображенную на рис. 14.20, рас­смотрим следующий пример, объединяющий алгоритмы двух типов.

Для шифрования ключа сеанса используем алгоритм RSA с открытым ключом с параметра­ми из раздела 14.5.3.1: п- pq = 2773, ключ шифрования е = 17, а ключ дешифрования d= 157. Ключом шифрования является открытый ключ получателя, а ключом дешифрова­ния — частный ключ получателя. Используем ключ сеанса К0 = 0008 0007 0006 0005 0004

3 0002 0001 и шифрованный текст 30F9 78ВЗ Е223 Е2216, представляющий сообщение “HI”, из примера 14.8 (все величины представлены в шестнадцатеричной записи). (Отметим, что шифрованный текст был создан с использованием только одного цикла алгоритма IDEA. В реальной системе производится 8 циклов плюс выходное преобразование.) Зашиф­руйте ключ сеанса и покажите, какое сообщение должно передаваться.

Решение

Следуя описанию, приведенному в разделе 14.5.3.1, ключ сеанса будет шифроваться с помощью алгоритма RSA с открытым ключом получателя 17. Для удобства вычисления при помощи простого калькулятора преобразуем сначала ключ сеанса в группы, состав­ленные из величин в десятичной записи. Согласно требованиям алгоритма RSA, значе­ния, приписанные каждой группе, не должны превышать п — 1 = 2772. Следовательно, выразим 128-битовый ключ в терминах 4-разрядных групп, где самая старшая (самая левая) группа будет представлять 7 бит и 11 групп будут представлять 11 бит каждая. Преобразование чисел из шестнадцатеричных в десятеричные можно рассматривать как двухэтапный процесс: (1) преобразование в двоичную систему и (2) переход к основа­нию 10. В результате получаем Ко = 0000 0032 0000 1792 0048 0001 0512 0064 0001 1024 0064 0001. Напомним, из уравнения (14.32) следует, что С = (М)е по модулю и, где М — одна из 4-разрядных групп Ко. Левые крайние четыре группы шифруются следующим образом:

С12 = (ОООО)17 mod 2773 = 0 Си = (0032)17 mod 2773 = 2227

Cw = (ОООО)17 mod 2773 = О С9 = (1792)17 mod 2773 = 2704

Эффективным способом модульного возведения в степень является использование алгорит­ма “Возведение в квадрат и умножение” (Square-and-Multiply — SM). Этот алгоритм [21] сводит число необходимых модульных умножений с е - 1 почти до 21, где I — число бит в двоичном представлении. Покажем использование алгоритма SM, шифруя одну из десятич­ных групп ключа сеанса (одиннадцатую группу справа Ми = 0032), где п = 2773 и е = 17. Для применения этого алгоритма сначала запишем число е в его двоичном представлении (17,о= 10001а).

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

3. Начальное значение, расположенное в столбце 3, строка 0, всегда равно 1. Далее результат в каждой строке столбца 3 зависит от бита в соответствующей строке столбца 2. Если этот бит равен “1”, то результат предыдущей строки возводится в квадрат и умножается на от­крытый текст (для этого примера — 32). Если строка во втором столбце содержит “0”, то значение соответствующей строки в столбце 3 равно квадрату значения в предыдущей стро­ке. Окончательным значением является зашифрованный текст (С = 2227). Повторение этого метода для каждой из двенадцати десятичных групп, составляющих К0, дает шифрованный текст ключа сеанса: С = 0000 2227 0000 2704 0753 0001 1278 0272 0001 1405 0272 0001. Этот ключ сеанса (здесь он представлен в десятичной форме), зашифрованный с помощью алго­ритма RSA, вместе с зашифрованным с помощью IDEA сообщением вида 30F9 78ВЗ Е223 Е221 (здесь оно представлено в шестнадцатеричной форме) может теперь передаваться через незащищенный канал.


Номер строки Двоичное представление е (первым идет старший разряд) Модульное умножение (модуль 2773)
     
    I2 х 32 = 32
    322 = 1024
    10242= 328
    3282= 1728
    17282 х 32 = 2227

 

14.6.4. Аутентификация с помощью PGP и создание подписи

Алгоритмы с открытыми ключами могут использоваться для проверки подлинности (аутентификации) или “подписания” сообщения. Как показано на рис. 14.18, отпра­витель может шифровать документ с помощью своего частного ключа (к которому никто больше не имеет доступа), а затем с помощью открытого ключа получателя. Получатель должен сначала использовать свой частный ключ для дешифрования со­общения. Затем должно последовать второе дешифрование, при котором используется открытый ключ отправителя. С помощью этой технологии засекречивается сообще­ние, а также обеспечивается проверка подлинности отправителя.

Поскольку алгоритмы с открытыми ключами работают достаточно медленно, PGP допускает разные методы проверки подлинности отправителя. Вместо трудо­емкого процесса шифрования всего открытого сообщения, PGP предлагает шиф­рование профиля сообщения (message digest) фиксированной длины, созданного с помощью односторонней хэш-функции. Шифрование профиля сообщения произ­водится посредством алгоритма открытого ключа. Этот метод, называемый цифро­вой подписью, изображен на рис. 14.22. Цифровая подпись используется для про­верки подлинности как отправителя, так и сообщения. Проверка подлинности со­общения обеспечивает проверку того, что сообщение не было некоторым образом изменено. Данная технология основана на том, что если сообщение было измене­но (т.е. было постороннее вмешательство), его профиль будет другим.

PGP версии 2.6 использует алгоритм MD5 (Message Digest 5) для создания 128- битового профиля сообщения (или значения хэш-функции) открытого текста. Затем значение хэш-функции шифруется с помощью частного ключа отправителя и посыла­ется с открытым текстом. Когда получатель принимает сообщение, он сначала де­шифрует профиль сообщения, используя открытый ключ отправителя. Затем получа­тель действует на открытый текст хэш-функцией и сравнивает два профиля сообще­ния. Если они совпадают, подпись подлинная. На рис. 14.22 сообщение отправляется без шифрования (как открытый текст); впрочем, оно может быть зашифровано с по­мощью метода, изображенного на рис. 14.20.

  Рис. 14.22. Технология создания подписи, используемая PGP

 


MD5 и SHA-1 являются хэш-функциями. Вообще, хэш-функция Н(х) принимает аргумент и возвращает строку h фиксированного размера, называемую значением хэш-функции (или профилем сообщения). Криптографическая хэш-функция обладает следующими свойствами.

1. Длина выхода фиксированна.

2. Значение хэиьфункции относительно просто вычисляется.

3. Функция является односторонней; другими словами, ее трудно обратить. Для данного значения h вычислительно неосуществимо найти аргумент функции х.

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

Алгоритм MD-5, используемый PGP версии 2.6, создает 128-битовый профиль сообщения. За четыре цикла данный алгоритм разбивает текст на 512-битовые блоки. В каждом цикле используются разные нелинейные функции, включающие логические операторы И, ИЛИ, НЕ или исключающее ИЛИ. За цикл каждая функция применяется 16 раз. Кроме того, в каждом цикле используются сдвиги битов и скалярное сложение [19]. Ганс Доббертин (Hans Dobbertin) [18] опреде­лил, что в MD-5 возможны конфликты. В силу этих потенциальных недостатков PGP рекомендует Стандарт цифровой подписи (Digital Signature Standard — DSS), который использует алгоритм SHA-1 (Secure Hash Algorithm-1). Данный алгоритм (SHA-1) берет сообщение, длиной меньше 264 бит, и создает 160-битовый про­филь сообщения. Алгоритм SHA-1 подобен MD-5 тем, что в каждом из 4 циклов используются различные нелинейные функции. В SHA-1 каждая функция приме­няется 20 раз в течение цикла. Кроме того, в SHA-1 используются разные ска­лярные сложения и сдвиги битов. Алгоритм имеет более медленное действие, чем MD-5, но больший профиль сообщения (160 бит в отличие от 128 бит) делает его более защищенным от криптоаналитических атак по методу грубой силы [19]. Метод грубой силы — это попытка подобрать профиль сообщения путем перебора входных комбинаций.

14.6.4.2. Стандарт цифровой подписи и алгоритм RSA

При создании цифровых подписей PGP версии 2.6 использует алгоритм RSA для шифрования значения, производимого хэш-функцией MD-5. Однако в верси­ях 5.0 и более поздних применяется стандарт цифровой подписи (DSS) института NIST [22]. Данный стандарт требует использования хэш-функции SHA-1. Значе­ние этой функции затем шифруется с помощью алгоритма цифрового стандарта DSA (Digital Standard Algorithm). Подобно протоколу Диффи-Хэллмана, DSA ос­нован на задаче взятия дискретного логарифма. (Подробно об алгоритме DSA рассказано в работе [22]).

14.7. Резюме

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


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


Дата добавления: 2015-10-28; просмотров: 61 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Основы теории принятая статистических решений 1051 80 страница| Основы теории принятая статистических решений 1051 82 страница

mybiblioteka.su - 2015-2024 год. (0.023 сек.)