EN / RU

Техническое описание программы "Модула"



В процессе криптографических расчетов очень часто приходится решать сравнения, тоесть модульные уравнения вида: А*j = x mod p, Причем р обычно заранее известно, j нужно найти, а величины А и х можно подставлять произвольно. Либо заранее могут быть заданы величины А и х, а перебирать можно j.
В криптографии обычно такие уравнения решают с использованием алгоритма Евклида, который обладает 100% - ной доказанной сходимостью. Но для прикидочных расчетов, которые обычно встречаются в студенческой практике, алгоритмом Евклида пользоваться не всегда удобно.

Особенно это становится заметно, когда модули не слишком большие, а адаптировать алгоритм Евклида под конкретную вычислительную задачу не очень хочется. Именно для таких случаев я написал этот калькулятор, который позволяет решать подобные уравнения прямым перебором. Благо мощность современных компьютеров вполне позволяет заниматься подобными вещами. Поскольку алгоритм Евклида в нем не используется, никаких гарантий сходимости он разумеется дать не может. Однако практика показывает, что если задать достаточно большое значение j, то решение сравнения достигается в 90% случаев.
Порядок использования следующий.

1. Вначале задаем модуль р и величину А. Потом определяемся с количеством перебираемых вариантов j. Величина j определяется только вашей фантазией и объемом памяти компьютера, однако чем большую величину вы задаете, тем сильнее компьютер будет задумываться :))

2. Нажимаем кнопку "расчет", затем в окошке "искомое число" задаем искомое значение х. Если среди различных вариантов решения данного сравнения встречается такой х, то программа его находит и показывает выделением строки. Если такого решения нет, выбрасывается соответствующая табличка. В этом случае можно попробовать увеличить количество вариантов перебора j.



kennobi 16.05.2010г.

Обсудить эту статью на форуме





Комментарии пользователей:

Valeria2012-04-12 10:45:53
When you think about it, that\'s got to be the right anwesr.

Mahaley2016-10-22 01:16:49
Deep thought! Thanks for cotbrinuting.



Добавить комментарий:

Имя:   
Текст:




Внимание! При перепечатке эта ссылка обязательна!