Решаем четыре системы сравнений


 

u = 709 (mod 997) u = 709 (mod 997) u = -709 (mod 997) u = -709 (mod 997)

u = 276 (mod 991), u = -276 (mod 991), u = 276 (mod 991) , u = -276 (mod 991).

 

Получаем четыре ответа: 93430, 1706, 986321, 894597 (mod 988027). Эти наборы цифр

следует дополнить цифрой «0» так, чтобы длина полученного блока равнялась шести.

Теперь видим, что второе число может быть преобразовано в блок «001706», который

отвечает исходному начальному блоку.

 

Раздел десятый

 

1. Вероятностная схема криптосистем с открытым ключом Голдвассера- Микели.

Идея вышеуказанной схемы состоит в том, чтобы сделать алгоритм шифрования вероятностным. Такой алгоритм ставит в соответствие открытому тексту М не один шифртекст С, а целое семейство шифртекстов . Таким образом, для каждого открытого сообщения М результат работы алгоритма Е(М) есть случайная величина, распределенная на множестве . Чтобы сделать возможным расшифрование , для любой пары различных сообщений и соответствующие им множества шифртекстов и не должны пересекаться. Более того, должен существовать эффективный алгоритм, позволяющий при использовании секретного ключа по любому определить М.

Такие системы считаются надежными, если для любой пары различных сообщений и одинаковой длины l случайные величины и невозможно отличить одну от другой с вероятностью большей, чем никаким вероятностным полиномиальным алгоритмом. То есть с незначительной вероятностью можно определить, отвечают ли эти шифртексты одному сообщению или разным. Такой уровень надежности недоступен детерминированным системам, где разным и всегда отвечают разные и . Здесь же решается и одна из проблем, связанных с тем, что некоторые открытые тексты (например, в RSA) не закрываются надлежащим образом.

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

 

2. Реализация вероятностной схемы на основе квадратичности.

Введем обозначение:

.

Пусть n = pq, где р и q – различные простые нечетные. Если множество квадратичных вычетов по модулю n обозначить через , то ясно, что .Так как включение здесь строгое, то множество оказывается непустым (в нем столько же элементов, как и в ). Это множество называется множеством псевдоквадратов по модулю n. Теперь рассмотрим криптосистему.

Генерирование ключей. Выбирают большие различные простые числа р и q и вычисляют их произведение n = pq. Выбирают случайный псевдоквадрат и полагают: открытый ключ – n, a, а секретный ключ – р и q.

Шифрование. Открытое сообщение записывают в двоичной форме, т.е.

, где .

Шифртекст получают в виде , где . Правило зашифрования выглядит так:

1) Для каждого независимо от остальных выбирают случайный элемент .

2) Полагают

Расшифрование. По шифртексту открытый текст получают по правилу:

Корректность процедуры очевидна, так как если , то в шифртексте получаем квадратичный вычет по модулю n, а если , то в шифртексте получаем произведение квадратичного вычета на псевдоквадрат по модулю n, что всегда является псевдоквадратом. Значит, открытое сообщение М однозначно определяется по шифртексту С независимо от выборов случайных элементов .

Эффективность алгоритма не подлежит сомнению, ибо все необходимые действия обслуживаются эффективными алгоритмами. Остановимся лишь на выработке случайного псевдоквадрата а. Так как простые р и q известны, то можно применить вероятностную процедуру выработки случайного квадратичного невычета по простому модулю, которая обсуждалась ранее (см. р.7). Выберем случайный квадратичный невычет и случайный квадратичный невычет , а затем остается решить систему сравнений

в соответствии с Китайской теоремой об остатках. Такое а, очевидно, будет случайным

псевдоквадратом по модулю n.

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

 

3. Реализация вероятностной схемы на основе RSA.

Рассмотрим кратко еще одну вероятностную схему.

Генерирование ключей. Эта процедура производится так же, как и в самой RSA.

Открытый ключ: е, n, где n = pq, .

Секретный ключ: d такое, что .

Шифрование. Открытое сообщение записывают в двоичной форме, т.е.

, где ,

и преобразуют в шифртекст , где , для каждого производя следующие вероятностные процедуры:

1) если , то в выбирают случайное четное число , а если , то выбирают случайное нечетное число ;

2) вычисляют .

Расшифрование. По шифртексту открытый текст получают по правилу:

 

Доказано, что надежность рассматриваемой системы равносильна допущению, что RSA может быть вскрыта полиномиальным алгоритмом.

 

4. Криптосистема ЭльГамала.

Эта вероятностная блочная система была предложена ЭльГамалом в 1985 г.

Генерирование ключей. Выбирают большое простое число р и целое число , которое в мультипликативной группе Z имеет большой порядок. В идеальном случае g является первообразным корнем по модулю р. Эти два числа не составляют тайны и находятся в общем пользовании абонентов информационной сети. Каждый абонент выбирает целое число и вычисляет . Полагают:

Открытый ключ: .

Секретный ключ: а.

Шифрование. Каждый блок открытого текста М представляют элементом множества Z .Сообщение преобразуют в шифртекст следующим образом:

1) Выбирают случайное целое число .

2) Вычисляют , где

Расшифрование. Имея секретный ключ и шифртекст , вычисляют

.

Корректность процедуры легко проверяется. Для любого выбранного r всегда из имеющегося шифртекста С, полученного в результате шифрования, однозначно восстанавливается открытое сообщение М.

Эффективность алгоритма обеспечивается бинарным методом и расширенным алгоритмом Евклида. Имеется трудность построения первообразных корней по модулю р. Поэтому следует пользоваться построением пары р и g, как описывалось в р.8.

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

Задано: где

для некоторых .

Вычислить: М.

Эта задача эквивалентна следующей задаче:

Задано: где

для некоторых .

Вычислить: .

Ясно, что вторая задача сводится к дискретному логарифмированию по модулю р. Поэтому следует при генерировании ключей исключить те варианты, при которых возможно эффективное дискретное логарифмирование. В частности, надо выбирать простое число р таким, чтобы число р - 1 содержало бы большой простой делитель. Такой выбор препятствует быстрой факторизации р-1 и не позволяет воспользоваться алгоритмом Силвера-Полига-Хеллмана. В настоящее время доказано, что если имеет лишь малые простые делители, то задача раскрытия системы ЭльГамала эквивалентна дискретному логарифмированию.

Приведем пример шифрования по системе ЭльГамала. Пусть задан открытый текст:

 

«TIMEO DANAOS ET DONA FERENTES».

 

Его цифровой эквивалент, разбитый на блоки длины шесть, выглядит так (здесь вновь

добавляется в конце текста буква «J»):

 

«190812 041426 030013 001418 260419 260314 130026 050417 041319 041809».

 

Пусть выбрано простое р = 994991. В качестве числа g выберем первообразный корень

по mod p: g = 7. Далее, выбираем число а = 475 и вычисляем h = 659454 (mod 994991).

Возьмем r = 211 общим на все блоки открытого текста. Тогда с = 073747. Цифра «0»

в начале приписана для того, чтобы с имел вид блока длины шесть. Вычисляя по опи-

санному выше правилу элементы вида с и собирая их вместе, получаем шифртекст,

где в начале записано с , служащее своеобразной подсказкой при расшифровке:

 

«073747 127613 201338 222776 758335 502424 595730 925985 939171 182708 742271».

 

Расшифруем второй блок полученного выше шифртекста.

 

.

 

Как видим, получился первый блок цифрового представления открытого текста. В этом примере одна величина с вычислена для всех блоков текста из соображений простоты демонстрации примера. На самом деле для каждого блока выбирается случайным образом свое r и вычисляется свое с . Действительно, если для разных и величина r общая, то , и может быть вычислено, если известно.

На сегодняшний день (2005 г.) критический размер p есть 1024 бита.

 

 



Дата добавления: 2016-07-22; просмотров: 1113;


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

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

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

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.017 сек.