Rabin

=Криптосистема Рабина=

**Криптосистема Рабина** – [|криптографический алгоритм с открытым ключом]. Ее безопасность, как и у [|RSA], связана с трудностью [|разложения на множители].

**Безопасность схемы Рабина** опирается на сложность поиска [|квадратных корней] по модулю составного числа. Сложность этого алгоритма аналогична проблеме разложения на множители.

**Главным неудобством практического применения криптосистемы Рабина** является то, что при расшифровке текста получается четыре различных сообщения. И нужно применить дополнительные усилия для нахождения истинного исходного текста.

История
Данный алгоритм был опубликован в январе 1979 [|Майклом О. Рабином]. Криптосистема Рабина была первой асимметричной криптосистемой, для которой было доказано, что восстановление исходного текста от зашифрованного столь же трудно как [|факторизация] больших чисел. Точнее, она связана с трудностью извлечения [|квадратного корня] по модулю составного числа N = р • q. Эти две задачи эквивалентны, т. е. - зная простые делители числа N, мы можем извлекать квадратные корни по модулю N, - умея извлекать квадратные корни по модулю N, мы в состоянии разложить N на простые множители.

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

Скорость вычислений
Алгоритм Рабина похож на кодирование RSA, но вместо возведения сообщения в степень //е// при шифровании используется операция возведения блока сообщения в квадрат, что благоприятно сказывается на скорости выполнения алгоритма без ущерба криптостойкости. Для декодирования китайская теорема об остатках применена вместе с двумя возведениями в степень по модулю. Здесь эффективность сопоставима RSA. Выбор нужного текста из четырех приводит к дополнительным вычислительным затратам. И это послужило тому, что криптосистема Рабина не получила широкого практического использования.

Безопасность
Большое преимущество криптосистемы Рабина состоит в том, что случайный текст может быть восстановлен полностью от зашифрованного текста только при условии, что дешифровщик способен к эффективной факторизации открытого ключа n. Криптосистема Рабина является [|доказуемо стойкой] к атаке на основе подобранного открытого зашифрованного текста в рамках подхода “все или ничего”, тогда и только тогда, когда задача о разложении целого числа на простые множители является трудноразрешимой. Стойкость по принципу “все или ничего” заключается в том, что, имея текст, зашифрованный определенным алгоритмом, атакующий должен восстановить блок исходного текста, размер которого, как правило, определяется параметром безопасности криптосистемы. Имея исходный и зашифрованный текст, атакующий должен восстановить целый блок секретного ключа. При этом атакующий либо добивается полного успеха, либо не получает ничего. Под словом «ничего» подразумевается, что атакующий не имеет никакой секретной информации ни до, ни после безуспешной атаки. Криптосистема Рабина является абсолютно беззащитной перед атакой на основе выбранного шифротекста. Как правило, атакующий использует все имеющие у него возможности. Он вступает в контакт с атакованным пользователем, посылают ему зашифрованный текст для последующей расшифровки и требуют вернуть исходный текст. К примеру, при добавлении избыточности, например, повторение последних 64 бита, можно сделать корень единственным. Алгоритм расшифрования в этом случае выдает единственный корень, который уже известен атакующему. Процесс дополнительно уязвим, так как при кодировании используются только квадратные остатки. В примере при n = 77 только используется только 23 из 76 возможных состояний.

====В 1984 году Майкл Рабин разработал первую **асимметричную криптосистему**, сложность взлома которой сравнима с проблемой факторизации целых чисел. Rabin- криптографический алгоритм с открытым ключом. Ее безопасность, как и у RSA, связана с трудностью разложения на множители. Безопасность схемы Рабина опирается на сложность поиска квадратных корней по модулю составного числа. Сложность этого алгоритма аналогична проблеме разложения на множители. Главным неудобством практического применения криптосистемы Рабина является то, что при расшифровке текста получается четыре различных сообщения. И нужно применить дополнительные усилия для нахождения истинного исходного текста.====

**Схема Рабина**
====В цифровой подписи по схеме Рабина отправитель выполняет над контрольной суммой такие действия, которые сделать может только он сам, зная как раскладывается на сомножители //р// и //q// его открытый ключ //п.// Это действие - извлечение квадратного корня в поле натуральных чисел [0; n — 1] (по модулю n). При отправке абонент вычисляет квадратный корень из контроль­ной суммы, на принимающей стороне получателю остается только возвести ее в квадрат и проверить, совпало ли полученное значение с контрольной суммой подписанного ею документа. Схема ЭЦП по методу Рабина приведена на рис. 18.8.====

__[|http://kiev.convdocs.org/docs/690/index-1335389-7.html]__
====Проблема с этой, казалось бы, очень простой схемой в том, что не всякое число имеет квадратный корень в поле по модулю простого числа. Наличие квадратного корня высоко вероятно, но не обязательно. Для решения этой задачи существуют два способа. Согласно первому в подписываемом значении резервируют несколько бит и перебирают все возможные их комбинации, добиваясь наличия квадратного корня у сгенерированного таким образом числа. По теории вероятностей из 4 попыток хотя бы одно из числа будет иметь квадратный корень с очень большой вероятностью. На приемной стороне добавленные биты игнорируются. Второй способ носит на­звание //модифицированная ЭЦП по схеме Рабина// и гарантирует наличие квадратного корня у подписываемого числа. Однако по сложности он дале­ко выходит за рамки данной книги.====

Литература
1. []

2.[] 3.[] 4.[]