Квадраты и псевдоквадраты.

Пусть n – модуль RSA, то есть n=pq, p, q – различные большие простые числа.

Возьмем произвольное число a: (a,n)=1. Возможны следующие случаи:

1) . Тогда число a является квадратичным вычетом, или квадратом, по модулю n.

2) , , или , . Тогда , и a не является квадратом по модулю n. То есть, не зная разложения модуля RSA на простые сомножители и получив отрицательное значение символа Якоби, можем с определенностью сказать, что a – не квадрат по модулю n.

3) , тогда a не является квадратом по модулю n, но символ Якоби, как и для квадрата по модулю n, равен единице: . То есть, не зная разложения модуля n на простые сомножители и получив положительное значение символа Якоби, не можем наверняка определить, является ли a квадратом по модулю n. Числа a: называются псевдоквадратами по модулю n=pq. Множество псевдоквадратов по модулю n обозначается .

Утверждение (о мощности множеств квадратов и псевдоквадратов по модулю RSA).

n=pq, p, q – различные простые числа |Q(n)|=| |=φ(n)/4.

Доказательство:

Согласно доказанной в п.1. теореме о числе кавдратичных вычетов, |Q(p)|=| |=(p—1)/2, |Q(q)|=| |=(q—1)/2. В силу взаимной простоты чисел p и q, среди чисел 0,1, 2, … , n—1 окажется ровно |Q(p)|·|Q(q)|=φ(n)/4 квадратов и | |·| |=φ(n)/4 псевдоквадратов.

Задача различения квадратов и псевдоквадратов не сложнее задачи факторизации, так как, зная разложение n на простые сомножители, сможем вычислить и с помощью полиномиального алгоритма.

На момент написания этого пособия не имелось никакой информации о том, проще ли задача различения квадратов и псевдоквадратов, чем задача факторизации.

 

Числа Блюма.

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

Пусть n – число Блюма, и a Q(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 – число Блюма).

Начальное состояние (ключ генератора): s0 Q(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=xi zi, i=1,2,…,m. Шифрограмма, которая пересылается обладателю секретного ключа, есть (y1,y2,…,ym, sm+1). После формирования шифрограммы последовательность si, i=0,1,…,m уничтожается, и при следующем сеансе связи отправитель выбирает новое s0.

Получатель шифрограммы восстанавливает по sm+1 последовательность главных корней sm, … , s1 и последовательность их младших бит z1, z2, …, zm, а затем расшифровывает шифрограмму: xi=yi zi , 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.









Дата добавления: 2015-11-28; просмотров: 2167;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.009 сек.