"Человек - самое уязвимое место в системе безопасности.."

Схема Рабина

Схема Рабина — эта схема очень похожая на алгоритм RSA, но при этом сообщение m возводит не в большую степень е, а только в квадрат: c = (m2mod n). Число n так как и в схеме RSA есть произведением двух больших простых чисел p и q. На приемной же стороне можно декодировать сообщение с помощью RSA, но чаще всего используется другое быстрое извлечение квадратного корня по модулю n.

Схема извлечения квадратного корня при заранее известном разложении n на сомножители нужно некоторое время. Если q и p выбраны таким образом, что остаток от деления на 4 и чисел равен — трем(3), то расчет квадратного корня решается:

  • алгоритмом Евклида решается уравнение a × p + b × q = 1;
  • r = c(p+1)/4mod p;
  • s = c(p+1)/4mod p;
  • x = (a × p × s + b × q × r)mod n;
  • y = (a × p × s — b × q × r)mod n;
  • корнями числа c есть 4 значения: (±x mod n) и (±y mod n).

В качестве плюсов такой схемы Рабина можно отметить уменьшение открытого ключа. Ключ состоит из одного числа n, что сильно ускоряет процесс шифрования. Все же есть и недостатки, это получение четырех различных значений на приемной стороне: m1, m2, m3, m4. Одно из этих значений есть зашифрованный текст, три других же издержки модульной арифметики. Такая особенность требует перед процессом шифрования в сообщение добавлять метки, или применять избыточное кодирование, что бы при розшифровании с большой вероятностью могли определить сообщение. Схема Рабина показана на рис.1.

Схема Рабина

Рисунок — 1

Также смотрите: