Главная страница

методы защиты информации. безопасность баз анных. 1. Математические (криптографические) методы защиты информации (ммзи) элемент системы инженернотехнической защиты информации Вопрос История криптографии


Скачать 0.5 Mb.
Название1. Математические (криптографические) методы защиты информации (ммзи) элемент системы инженернотехнической защиты информации Вопрос История криптографии
Анкорметоды защиты информации
Дата26.04.2022
Размер0.5 Mb.
Формат файлаdocx
Имя файлабезопасность баз анных.docx
ТипДокументы
#498660
страница6 из 8
1   2   3   4   5   6   7   8

Тема 7. Асимметричные криптографические системы (криптосистемы с открытым ключом)

 

Цель:

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

 

Задачи:

1. Изучить:

  принцип работы криптосистемы с открытым ключом;

  область применения асимметричных систем;

  достоинства и недостатки асимметричных криптосистем;

2. Приобрести компетенции:

  генерации открытых и закрытых ключей асимметричной криптосистемы;

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

 

Содержание темы:

1. Понятие односторонней функции и односторонней функции с "лазейкой". Проблемы факторизации целых чисел.

2. Криптосистема RSA.

3. Достоинства и недостатки асимметричных систем шифрования.

 

Общие сведения об асимметричных криптосистемах (криптосистемах с открытым ключом)

 

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

  открытый ключ К: используется для шифрования информации, вычисляется из секретного ключа k;

  секретный ключ k: используется для расшифрования информации, зашифрованной с помощью парного ему открытого ключа К.

 

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

Асимметричные системы называют еще двухключевыми криптографическими системами или криптосистемами с открытым ключом.

Обобщенная схема асимметричной криптосистемы шифрования с открытым ключом показана на рис. 12.

 



 

Рис. 12. Обобщенная схема асимметричной криптосистемы шифрования

 

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

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

1.Подготовительный этап.

Абонент Вгенерирует пару ключей: секретный ключ kBи открытый ключ КВОткрытый ключ КВпосылается абоненту А и остальным абонентам (или делается доступным, например, на разделяемом ресурсе).

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

 

Абонент В расшифровывает сообщение с помощью своего секретного ключа kBНикто другой (в том числе абонент А) не может расшифровать данное сообщение, так как не имеет секретного ключа абонента В. Защита информации в асимметричной криптосистеме основана на секретности ключа kBполучателя сообщения.

Отметим характерные особенности асимметричных криптосистем:

1.   Открытый ключ КВи криптограмма Смогут быть отправлены по незащищенным каналам, то есть противнику известны КВи С.

2.   Алгоритмы шифрования и расшифрования:

1)  ЕВ : М → С,

2)  DBС → М.

являются открытыми.

 

У. Диффи и М. Хеллман сформулировали требования, выполнение которых обеспечивает безопасность асимметричной криптосистемы:

1.  Вычисление пары ключей (КВkBполучателем Вна основе начального условия должно быть простым.

2.  Отправитель Азная открытый ключ КВи сообщение М, может легко вычислить криптограмму:

1)    С=ЕКВ(М).

3.  Получатель В, используя секретный ключ kBи криптограмму С, может легко восстановить исходное сообщение:

1)    M = D(C).

 

4.  Противник, зная открытый ключ КВпри попытке вычислить секретный ключ kBнаталкивается на непреодолимую вычислительную проблему.

5. Противник, зная пару (КВС), при попытке вычислить исходное сообщение Мнаталкивается на непреодолимую вычислительную проблему.

 

Вопрос 1. Понятие односторонней функции и односторонней функции с "лазейкой" (с секретом) Проблемы факторизации целых чисел.

 

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

Неформально однонаправленную функцию можно определить следующим образом. Пусть Xи Y- некоторые произвольные множества. Функция f:X→Yявляется однонаправленной, если для всех хпринадлежит Xможно легко вычислить функцию:

 

у =f(x),гдеyпринадлежитY.

 

И в то же время для большинства у принадлежащих достаточно сложно получить значение х принадлежащее Xтакое, что f(x) = у(при этом полагают, что существует по крайней мере одно такое значение х.

Основным критерием отнесения функции к классу однонаправленных функций является отсутствие эффективных алгоритмов обратного преобразования X.

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

 

N=PxQ

 

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

 

Обратная задача - факторизация, или разложение на множители большого целого числа, то есть нахождение делителей Ри Qбольшого целого числа N=Р х Qявляется практически неразрешимой задачей при достаточно больших значениях N. По современным оценкам теории чисел, при целом N = 2664иР

 Q для разложения числа N потребуется около 1023 операций, то есть задача практически неразрешима для современных компьютеров.

Другой характерный пример однонаправленной функции - это модульная экспонента с фиксированными основанием и модулем. Пусть Аи целые числа, такие, что 1 < А < N.Определим множество ZN:

 

ZN={0, 1,2, ... N - 1}.

 

Тогда модульная экспонента с основанием А по модулю представляет собой функцию:

 

fa.n-:ZN →ZN

fa.n {x)= Ax(modN),

 

где - целое число, 1 < х < N - 1.

 

Существуют эффективные алгоритмы, позволяющие достаточно быстро вычислить значения функции fa.n {x).

Если у = Ахто естественно записать х = logA(y).

Поэтому задачу обращения функции fa.n(x) называют задачей нахождения дискретного логарифма, или задачей дискретного логарифмирования.

Задача дискретного логарифмирования формулируется следующим образом. Для известных целых A, N, у найти целое число х, такое, что:

 

Aхmod N = у.

 

Алгоритм вычисления дискретного логарифма за приемлемое время пока не найден. Поэтому модульная экспонента считается однонаправленной функцией. По современным оценкам теории чисел, при целых числах А = 2664 и N= 2664 решение задачи дискретного логарифмирования (нахождение показателя степени х для известного у) потребует около 1026 операций, то есть эта задача имеет в 103 раз большую вычислительную сложность, чем задача разложения на множители. При увеличении длины чисел разница в оценках сложности задач возрастает.

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

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

 

f:X→Y

 

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

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

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

 

Вопрос 2. Криптосистема RSA.

 

Криптоалгоритм RSA предложили в 1978 году три автора: Р. Райвест (Rivest), А. Шамир (Shamir) и А. Адлеман (Adleman). Алгоритм получил свое название по первым буквам фамилий его авторов. Алгоритм RSA стал первым алгоритмом с открытым ключом, который может работать в режиме как шифрования данных, так и электронной цифровой подписи.

Надежность алгоритма RSA основывается на трудности факторизации больших чисел и сложности вычисления дискретных логарифмов в конечном поле.

В алгоритме RSA открытый ключ КВсекретный ключ kBсообщение Ми криптограмма С принадлежат множеству целых чисел:

 

ZN ={0, 1,2, ...,N- 1},

 

где - модуль:

 

N = PxQ.

 

Здесь Р и Q - случайные большие простые числа. Для обеспечения максимальной безопасности выбирают Р и Qравной длины и хранят в секрете.

Множество ZNс операциями сложения и умножения по модулю Nобразует арифметику по модулю N.

Открытый ключ КВвыбирают случайным образом так, чтобы выполнялись следующие условия:

 

1 < КB ≤ φ (N), НОДВφ (N) = 1,

φ (N) = (P- l)(Q-1),

 

где φ (N)- функция Эйлера.

 

Функция Эйлера φ (N) указывает количество положительных целых чисел в интервале от 1 до N, которые взаимно просты с N.

Второе из указанных выше условий означает, что открытый ключ Кви функция Эйлера φ (N) должны быть взаимно простыми.

Далее, используя расширенный алгоритм Евклида, вычисляют секретный ключ kBтакой, что:

 

kBKB≡l(mod φ (N))

 

или

 

kB = KB-1(mod (Р-1)(Q-1)).

 

Это можно осуществить, так как получатель В знает пару простых чисел (Р, Q) и может легко найти φ(N). Заметим, что kBи должны быть взаимно простыми.

Открытый ключ КBиспользуют для шифрования данных, а секретный ключ kB -для расшифрования.

Процедура шифрования определяет криптограмму С через пару (открытый ключ КBсообщение М) в соответствии со следующей формулой:

 

C = EKB(M) = MKB(modN).

 

В качестве алгоритма быстрого вычисления значения С используют ряд последовательных возведений в квадрат целого М и умножений на М с приведением по модулю N.

Расшифрование криптограммы С выполняют, используя пару (секретный ключ kBкриптограмма С) по следующей формуле:

 

M = DkB (C) = CkB(modN).

 

Процедуры шифрования и расшифрования в алгоритме RSA рассмотрим на примере шифрования сообщения CAB. Для простоты вычислений будут использоваться небольшие числа. На практике применяются очень большие числа (длиной 250-300 десятичных разрядов).

Действия пользователяВ:

1. Выбирает Р=3 и Q=11.

2. Вычисляет модуль N=Р х Q=Зх11=33.

3. Вычисляет значение функции Эйлера для N 33:

 

φ (N) = φ (33) = (Р- 1)(Q- 1) = 2 х 10 = 20.

 

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

 

1<КВ20, НОД В20) = 1.

 

Пусть КВ= 7.

Вычисляет значение секретного ключа kBиспользуя расширенный алгоритм Евклида при решении сравнения

kB = 7-1(mod 20) или

КВ хkmod(Р- 1)(Q- 1) =1.

Решение дает kB = 3.

4. Пересылает пользователю А пару чисел (N=33,KB = 7).

Действия пользователя А:

5.   Представляет шифруемое сообщение как последовательность целых чисел в диапазоне 0-32. Пусть буква А представляется как число 1, буква В - как число 2, буква С - как число 3. Тогда сообщение CAB можно представить как последовательность чисел 312, то есть М1 = 3, М2= 1, М3= 2.

6.   Шифрует текст, представленный в виде последовательности чисел Ми Ми М3, используя ключ Кв= 7 и = 33, по формуле:

 

Сi = MiKB (mod N) = Mi7(mod 33).

 

Получает:

С1= 37(mod 33) = 2187(mod 33) = 9,

С2 = l7(mod 33) = l(mod 33) = 1,

С3 = 27(mod 33) = 128(mod 33) = 29.

 

Отправляет пользователю В криптограмму:

 

С1 С2, С3= 9, 1, 29.

 

Действия пользователя В:

7.   Расшифровывает принятую криптограмму С1 С2, С3используя секретный ключ kB= 3, по формуле:

 

Мi = CiKB(mod N) = Ci3(mod 33).

 

Получает:

М1 = 93(mod 33) = 729(mod 33) = 3,

М2 = l3(mod 33) = l(mod 33) = 1,

М3= 293(mod 33) - 24389(mod 33) = 2.

 

Таким образом, восстановлено исходное сообщение CAB: 312.

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

Нетрудно видеть, что в асимметричной криптосистеме RSA количество используемых ключей связано с количеством абонентов линейной зависимостью (в системе из N пользователей используется х N ключей), а не квадратической, как в симметричных системах.

 

Вопрос 3. Достоинства и недостатки асимметричных систем шифрования.

 

Асимметричные криптографические системы обладают следующими важными преимуществами перед симметричными криптосистемами:

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

     исчезает квадратическая зависимость числа ключей от числа пользователей; в асимметричной криптосистеме количество используемых ключей связано с количеством абонентов линейной зависимостью (в системе из N пользователей используется 2N ключей), а не квадратической, как в симметричных системах;

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

 

Однако у асимметричных криптосистем существуют и недостатки:

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

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

     необходимо защищать открытые ключи от подмены.

 

Перечень литературы и Интернет-ресурсов:

1. А.П.Алферов, А.Ю.Зубов, А.С.Кузьмин, А.В.Черемушкин. Основы криптографии: Учебное пособие. – М.: Гелиос АРВ, 2005. стр. 59-69.

2. В.М. Фомичев. Дискретная математика и криптология Курс лекций. – М.: ДИАЛОГ-МИФИ, 2003. стр. 143-150.

3. Шаньгин В.Ф. Защита компьютерной информации. Эффективные методы и средства. – М.: ДМК Пресс, 2008. стр. 154-162.

4. http://www.fstec.ru/

5. http://www.cryptopro.ru/

 

1   2   3   4   5   6   7   8


написать администратору сайта