Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену ПАЗИ.doc
Скачиваний:
60
Добавлен:
19.09.2019
Размер:
726.53 Кб
Скачать
  1. Приведите классификацию криптографических алгоритмов и охарактеризуйте их. Раскройте алгоритм шифрования rsa.

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

В зависимости от числа ключей, применяемых в конкретном алгоритме, криптоалгоритмы подразделяют:

  1. Бесключевые криптоалгоритмы (КА) – не используют вычисление никаких ключей;

  2. Одноключевые КА – работают с одним ключевым параметром (секретным ключом);

  3. Двухключевые КА – на различных стадиях работы в них применяются два ключевых параметра: секретный (закрытый) и открытый ключи.

Общепринятая классификация криптоалгоритмов защиты информации представлена на рисунке

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

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

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

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

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

Электронная цифровая подпись используется для надежного подтверждения целостности и авторства данных.

Алгоритм RSA:

Предложен в 1978 году тремя авторами (Райвестом, Шамиром и Адлеманом)

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

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

В основе алгоритма RSA лежат следующие преобразования

Открытый ключ KB, секретный ключ kB, сообщение М и криптограмма С принадлежат множеству целых чисел ZN = {0, 1, 2, …, N-1}

Где N – модель: N = P*Q

Где P и Q – случайные большие простые числа

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

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

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

1<KB<=φ(N), НОД(KB, φ(N)=1

φ(N) = (P-1) * (Q-1)

φ(N) – функция Эйлера

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

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

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

kB * KB = 1(mod φ(N))

kB = K-1B(mod ((P-1)(Q-1)))

Получатель на приемном конце, получатель B, может вычислить kB, так как знает пару простых чисел P, Q и может легко найти φ(N).

Важно, чтобы kB и N должны быть взаимно простыми числами.

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

Процедура шифрования определяет криптограмму С через пару (KB, M) в соответствии со следующей формулой

С = ЕKB(M) = MKB (modN)

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