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



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

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

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

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



kennobi 16.05.2010г.

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


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