После некоторых моих исследований простых чисел, я обнаружил интересную связь с иррациональными числами. Эта связь дает ответ на вопрос, почему простые числа расположены столь «хаотично» и почему они так сложно устроены. Под катом объяснение этой связи и вариант улучшенного алгоритма RSA.
Введение
Рассмотрим множество . Теперь попробуем его упорядочить. То есть найти способ найти следующую пару чисел n и m, зная предыдущую. Очевидно, что: 2 + 2 + 2 = 3 + 3 и 2 + 2 > 3, 2 < 3. Таким образом, пары чисел распределены следующим образом:
(1,0), (0,1), (2,0), (1,1), (3,0), (2,1), (4,0), (3,1), (5,0)…
Заметим, что четко прослеживается порядок и, соответственно, способ получения следующей пары чисел. Здесь нет никаких проблем и задача тривиальна.
Теперь рассмотрим множество . К сожалению или к счастью, но это множество не получиться упорядочить в том смысле, как предыдущее:
(1,0), (0,1), (2,0), (1,1), (3,0), (0,2), (2,1), (4,0), (3,1), (0,3)…
Если вы решили, что нашли точный порядок, то достройте эти пары дальше и увидите, что он нарушается. «Хаос» этих пар чисел напрямую связан с иррациональностью числа , доказанная Иоганном Ламбертом в 1761 году. Действительно, чтобы выстроить пары в ряд, мы вначале пытаемся уложить отрезок длиной 2 в отрезок длинной . Полученный остаток мы пытаемся уложить в отрезок длиной 2. Он вместится только один раз. Это означает, что наш остаток «сыграет» свою роль уже на отрезке длиной , где вместится уже не два отрезка длинной 2, а три. Проделывая такую операцию и далее, становиться понятно, что как только у нас складывается впечатление, что мы нашли порядок, он сломается через какое-то число шагов. Так как последний, еще не используемый, остаток рано или поздно «сыграет» свою роль и порядок поменяется. Стало быть, вопрос о нахождении «хорошего» алгоритма для этой задачи остается открытым.
Немного определений
Пусть , где — изоморфизм такой, что:
И, соответственно, для — обратной к :
.
Теперь определим интересующее нас множество:
И пусть . Тогда:
И — образ множества для отображения .
И, наконец, — множество простых чисел для операции .
Теперь легко пояснить эти определения на привычном нам примере. Для операции умножения, . А множество — это . Тут стоит остановиться и объяснить, почему это важно.
Сама связь
На самом деле, мы, используя изоморфизм, получили, что сложность всех задач про простые числа эквивалента задачам про суммы логарифмов, которые являются иррациональными. То есть, как мы убедились на примере с множеством из чисел и 2, именно иррациональность вносит хаос. Так же и тут, иррациональность логарифмов распределяет простые числа на числовой прямой практически хаотичным способом. Возникает сложность в упорядочивании пар n и m во множестве, например, . Другими словами, простота какого-нибудь числа напрямую зависит от, например, какого-то знака после запятой в числе . Но мы определили простые числа не только для умножения, а вообще для произвольной бинарной операции. Я это сделал для того, чтобы показать, что наши простые числа ничем не уникальны.
RSA
Для бинарной операции x + xy + y:
.
Хаотичность данного множества характеризуется иррациональными значениями изоморфизма на натуральных числах. К тому же, изоморфизм, по-видимому, не выражается через элементарные функции. Здесь мы по операции построили другие простые числа, распределение которых очевидным образом не зависит от распределения обычных простых чисел. Это дает нам возможность построения RSA на произвольной бинарной операции такой, чтобы изоморфизм был иррационален. Ведь функция логарифма слишком «хорошая» для криптоаналитиков. А здесь она ведет себя абсолютно непредсказуемым образом. Можно же и наоборот, построить изоморфизм, по которому будет определена коммутативная бинарная операция.
Взяв за основу произвольные простые числа, мы меняем задачу разложения составного числа на множители на задачу разложения практически произвольного иррационального числа на сумму двух других из заданного множества. Что-то мне подсказывает, что это задача должна относиться к классу NP.
В заключение
Человечество еще не решило много задач про простые числа, как математика подкидывает еще бесконечное число подобных задач. Естественно будет задаться вопросом, что с этим делать? Мое предложение заключается в том, чтобы рассматривать все теоремы из Теории чисел не для сложения и умножения, а для сложения и произвольной коммутативной бинарной операции, замкнутой на натуральных числах. Тогда каждое утверждение про простые числа, было бы лишь следствием определенных свойств операции. Например, бесконечность простых чисел была бы следствием монотонности операции и достаточно быстрым ее ростом. Но это уже тема для отдельной статьи. Спасибо за внимание.
Автор: ia_androsov