Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа? |
Криптосистемы
15.1. Криптосистема Рабина
Криптосистема Рабина (М. Rabin) является вариантом криптосистемы RSА. RSА базируется на возведении в степень сравнений. Криптосистема Рабина базируется на квадратичных сравнениях, и ее можно представить как криптографическую систему RSA, в которой значениям e и d присвоены значения e = 2 и d = 1/2. Другими словами, шифрование — и дешифрование - P = C1/2 (mod n).
Открытый ключ доступа в криптосистеме Рабина — n, секретный ключ является кортежем (p, q). Каждый может зашифровать сообщение, используя n, но только Боб может расшифровать сообщение, используя p и q. Дешифрование сообщения неосуществимо для Евы, потому что она не знает значения p и q. Рисунок 15.1 показывает шифрование и дешифрование.
Мы должны подчеркнуть, что если Боб использует RSA, он может сохранить d и n и отказаться после генерации ключей от p, q и . Если Боб использует криптосистему Рабина, он должен сохранить p и q.
Процедура
Генерация ключей, шифрование и дешифрование показаны ниже.
Генерация ключей
Боб использует шаги, показанные в алгоритме 15.1, чтобы создать свой открытый ключ доступа и секретный ключ.
15.1. Генерации ключей для криптосистемы Рабина
Хотя два простых числа, p и q, могут быть в форме 4k + 1 или 4k + 3, процесс дешифрования становится более трудным, если используется первая форма. Рекомендуют применять вторую форму, 4k + 3, для того чтобы сделать дешифрование для Алисы намного проще.
Шифрование
Любой может передать сообщение Бобу, используя его открытый ключ доступа. Процесс шифрования показан алгоритмом 15.2.
Rabin_Encryption (n, P) // n — открытый ключ доступа; P — зашифрованный текст Z*n { C <- P2 mod n // C — зашифрованный текст return C }15.2. Шифрование в криптографической системе Рабина
Хотя исходный текст P может быть выбран из множества Zn, но чтобы сделать дешифрование более простым, мы определили множество, которое находится в Zn*.
Шифрование в криптосистеме Рабина очень простое. Операция нуждается только в одном умножении, что может быть сделано быстро. Это выгодно, когда ресурсы ограничены: например, при использовании карт с интегральной схемой, содержащей микропроцессор с ограниченной памятью, и при необходимости задействовать центральный процессор на короткое время.
Дешифрование
Боб может использовать алгоритм 15.3, чтобы расшифровать полученный зашифрованный текст.
Rabin_Decryption (p, q, C) // C — зашифрованный текст; p и q — секретные ключи a1 <- + (C(p+1)/4) mod p a2 <- - (C(p+1)/4) mod p b1 <- + (C(q+1)/4) mod q b2 <- - (C(q+1)/4) mod q // Алгоритм китайской теоремы об остатках вызывается четыре раза. P1 <- Китайский_остаток (a1, b1, p, q) P2 <- Китайский_остаток (a1, b2, p, q) P3 <- Китайский_остаток (a2, b1, p, q) P4 <- Китайский_остаток (a2, b2, p, q) return P1, P2, P3 и P415.3. Дешифрование в криптосистеме Рабина
Мы должны подчеркнуть здесь несколько моментов. Дешифрация базируется на решении квадратичного сравнения, которое рассмотрено в лекциях 12-13. Поскольку полученный зашифрованный текст — квадрат исходного текста, это гарантирует, что C имеет корни (квадратичные вычеты) в Zn*. Алгоритм китайской теоремы об остатке используется, чтобы найти четыре квадратных корня.
Самый важный пункт в криптосистеме Рабина — это то, что она недетерминирована. Дешифрование имеет четыре ответа. Задача получателя сообщения - точно выбрать один из четырех ответов как конечный ответ. Однако во многих ситуациях получатель может легко выбрать правильный ответ.
Пример 15.1
Вот очень тривиальный пример, чтобы проиллюстрировать идею.
1. Боб выбирает p = 23 и q = 7. Обратите внимание, что оба являются сравнениями 3 mod 4.
2. Боб вычисляет .
3. Боб объявляет n открытым и сохраняет p и q в секрете.
4. Алиса хочет передать исходный текст P = 24. Обратите внимание, что 161 и 24 являются взаимно простыми; 24 находится в Z161*. Она вычисляет C = от 242 = 93 mod 161 и передает зашифрованный текст 93 Бобу.
5. Боб получает 93 и вычисляет четыре значения:
а. a1 = + (93 (23+1)/4) mod 23 = 1 mod 23
b. a2 = – (93 (23+1)/4) mod 23 = 22 mod 23
с. b 1 = + (93 (7+1)/4) mod 7 = 4 mod 7
d. b2 = – (93 (7+l)/4) mod 7 = 3 mod 7
- Боб имеет четыре возможных ответа — (a1, b 1), (a1, b2),
- (a2, b 1), (a2, b2) и использует китайскую теорему об остатках, чтобы найти четыре возможных исходных текста: 116, 24, 137 и 45 (все из них взаимно простые к 161 ). Обратите внимание, что только второй ответ — исходный текст Алисы. Боб должен принять решение исходя из ситуации. Обратите внимание также, что все четыре ответа при возведении во вторую степень по модулю n дают зашифрованный текст 93, переданный Алисой.
1162 = 93 mod 161 242 = 93 mod 161 1372 = 93 mod 161 452 = 93 mod 161
Безопасность криптографической системы Рабина
Криптографическая система Рабина безопасна, пока p и q — большие числа. Сложность криптографической системы Рабина — такая же, как и у процедуры разложения на множители больших чисел n на два простых сомножителя p и q. Другими словами, криптографическая система Рабина так же безопасна, как и RSA.