Теория остатков

Такое число существует, поскольку $ (e,\phi(m))=1$, и притом единственно. Здесь и далее символом $ (a,b)$будет обозначаться наибольший общий делитель чисел $ a<p>$и $ b$. Классическая теорема Эйлера, см. [3], утверждает, что для каждого числа $ x$, взаимно простого с $ m$, выполняется сравнение $ x^{\phi(m)}\equiv1\pmod m$и, следовательно,

\begin{displaymath}a^d\equiv x^{de}\equiv x \pmod m.\end{displaymath}

(4)

Таким образом, в предположении $ (a,m)=1$, единственное решение сравнения (2) может быть найдено в виде

\begin{displaymath}x\equiv a^d\pmod m.\end{displaymath}

(5)

Если дополнительно предположить, что число $ m$состоит из различных простых сомножителей, то сравнение (5) будет выполняться и без предположения $ (a,m)=1$. Действительно, обозначим $ r=(a,m)$и $ s=m/r$. Тогда $ \phi(m)$делится на $ \phi(s)$, а из (2) следует, что $ (x,s)=1$. Подобно (4), теперь легко находим $ x\equiv a^d\pmod s$. А кроме того, имеем $ x\equiv 0\equiv a^d \pmod r$. Получившиеся сравнения в силу $ (r,s)=1$дают нам (5).

Функция (1), принятая в системе RSA, может быть вычислена достаточно быстро. Как это сделать, мы обсудим чуть ниже. Пока отметим лишь, что обратная к $ f(x)$функция $ f^{-1}\colon x\mapsto x^d\pmod m$вычисляется по тем же правилам, что и $ f(x)$, лишь с заменой показателя степени $ e$на $ d$. Таким образом, для функции (1) будут выполнены указанные выше свойства а) и б).

Для вычисления функции (1) достаточно знать лишь числа $ e$и $ m$. Именно они составляют открытый ключ для шифрования. А вот для вычисления обратной функции требуется знать число $ d$, оно и является ``секретом'' , о котором речь идет в пункте в). Казалось бы, ничего не стоит, зная число $ m$, разложить его на простые сомножители, вычислить затем с помощью известных правил значение $ \phi(m)$и, наконец, с помощью (3) определить нужное число $ d$. Все шаги этого вычисления могут быть реализованы достаточно быстро, за исключением первого. Именно разложение числа $ m$на простые множители и составляет наиболее трудоемкую часть вычислений. В теории чисел несмотря на многолетнюю ее историю и на очень интенсивные поиски в течение последних 20 лет, эффективный алгоритм разложения натуральных чисел на множители так и не найден. Конечно, можно, перебирая все простые числа до $ \sqrt{m}$, и, деля на них $ m$, найти требуемое разложение. Но, учитывая, что количество простых в этом промежутке, асимптотически равно $ 2\sqrt{m}\cdot(\ln m)^{-1}$, находим, что при $ m$, записываемом 100 десятичными цифрами, найдется не менее $ 4\cdot10^{42}$простых чисел, на которые придется делить $ m$при разложении его на множители. Очень грубые прикидки показывают, что компьютеру, выполняющему миллион делений в секунду, для разложения числа $ m>10^{99}$таким способом на простые сомножители потребуется не менее, чем $ 10^{35}$лет. Известны и более эффективные способы разложения целых чисел на множители, чем простой перебор простых делителей, но и они работают очень медленно. Таким образом, название статьи М. Гарднера вполне оправдано.

Авторы схемы RSA предложили выбирать число $ m$в виде произведения двух простых множителей $ p$и $ q$, примерно одинаковых по величине. Так как

\begin{displaymath}\phi(m)=\phi(pq)=(p-1)(q-1),\end{displaymath}

(6)

Страница:  1  2  3  4  5  6  7  8  9  10  11  12  13  14 


Другие рефераты на тему «Математика»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы