Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Рожков_Ниссенбаум_ТЧМК_лекции.doc
Скачиваний:
1302
Добавлен:
27.03.2016
Размер:
2.55 Mб
Скачать

5.9. Числа Блюма.

Числа вида n=pq, p, q – различные простые числа, причем p≡3(mod 4), q≡3(mod 4), называются числами Блюма.

Пусть n – число Блюма, и aQ(n). Тогда сравнение x2a(mod n) имеет четыре решения, которые можно представить в виде системы: . Заметим, что. Аналогично получим. То есть один корень из парыb,b является, а другой не является квадратом по модулю p, один корень из пары c, c является, а другой не является квадратом по модулю q.

Таким образом, если n – число Блюма, то один из четырех корней сравнения x2a(mod n) является квадратом и один – псевдоквадратом по модулю n. Корень, являющийся квадратом по модулю n, называется главным корнем.

Итак, мы только что показали важное свойство квадратичных сравнений по модулю чисел Блюма: извлекая квадратный корень по модулю Блюма, получаем 4 решения, из одного из которых в свою очередь можно извлечь квадратный корень, и т. д. На этом важном свойстве построено несколько криптосистем.

BBS-генератор (генератор Blum-Blum-Shub):

Параметры генератора: n=pq, p, q – различные простые числа, причем p≡3(mod 4), q≡3(mod 4) (то есть n – число Блюма).

Начальное состояние (ключ генератора): s0Q(n)

Генерируемая последовательность: BBS(s0)=z1, z2, …, zm, где zi=si mod 2, i=1,2,…,m, si+1=si2 mod n, i ≥ 0.

Теорема (об условной стойкости BBS-генератора)

Если существует алгоритм, вычисляющий z0=s0 mod 2 по BBS(s0) за полиномиальное время с вероятностью не меньше ½+ε, ε>0, то для любого δ, ½<δ<1, существует вероятностный алгоритм, который различает квадраты и псевдоквадраты по модулю n за полиномиальное время с вероятностью не меньшей δ.

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

Криптосистема Блюма-Гольдвассер (Blum-Goldwasser).

Пусть x1, x2, … , xm – последовательность бит открытого текста. В качестве параметров криптосистемы выбираем n=pq – число Блюма, s0 – случайное число из Zn, взаимно простое с n.

В качестве открытого ключа для шифрования выступает n, в качестве секретного ключа для расшифрования – пара (p, q).

Для того, чтобы зашифровать открытый текст, обладатель открытого ключа выбирает s0. На основе BBS-генератора по ключу s0 получает последовательность квадратов s1, s2, … , sm, по которой получает последовательность младших бит z1, z2, …, zm. Путем гаммирования с этой последовательностью битов открытого текста получает шифрованный текст yi=xizi, i=1,2,…,m. Шифрограмма, которая пересылается обладателю секретного ключа, есть (y1,y2,…,ym, sm+1). После формирования шифрограммы последовательность si, i=0,1,…,m уничтожается, и при следующем сеансе связи отправитель выбирает новое s0.

Получатель шифрограммы восстанавливает по sm+1 последовательность главных корней sm, … , s1 и последовательность их младших бит z1, z2, …, zm, а затем расшифровывает шифрограмму: xi=yizi , i=1,2,…,m.

Криптосистема Гольдвассер-Микали.

Параметры системы: n=pq – число Блюма, z – случайное число из .

Открытый ключ для шифрования – пара (n,z), секретный ключ для расшифрования – пара (p,q).

Пусть x1, x2, … , xm – последовательность бит открытого текста. Бит шифрованного текста вычисляем по биту открытого текста как , гдеai – случайное число из Zn.

В итоге шифрования получается последовательность не бит, а чисел, причем yi является псевдоквадратом по модулю n, если xi =1, и квадратом, если xi=0.

Адресату, обладающему секретным ключом, отправляется последовательность чисел шифртекста y1, y2, …, ym , после чего параметр z может быть уничтожен.

Адресат осуществляет расшифрование следующим образом:

, i=1,2,…,m.

Условная стойкость криптосистемы Гольдвассер-Микали основана на предположительной сложности алгоритма распознавания квадратов и псевдоквадратов по модулю Блюма без знания разложения модуля на простые сомножители.

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