Чтобы раскусить любой шифр с открытым ключем или найти прообраз для конечного алгоритма, достаточно уметь находить целые решения диофантового уравнени:

.

- скалярное произведение,

- положительно определенная. Лучше уметь определять: существует ли вообще решение. (Это co-NP полная задача.)
Кто знает как решать такие уравнения, сумеет решить любую разумно поставленную математическую задачу.
Таким образом, центральная проблема математики сводится к исследованию диофантовых уравнений второго порядка от многих переменных.
Изначально вопрос об обратимости алгоритма сводится к уравнению, в котором число переменных, числа, стоящие на главной диагонали матрицы

, элементы вектора

и число

- величины порядка числа шагов алгоритма, числа не на главной диагонали

- по модулю 0, 1 или 2.
К сожалению, никак не удается привести

к диагональному виду.
Можно решая уравнение

привести уравнение к системе вида

,

. Но толку мало.
А вот привести положительно определенную квадратичную форму к диагональному виду (матрицу

) преобразованиями, сохраняющими решетку целых чисел, похоже нельзя.
Предварительный вывод: никак не упростить и не свести к факторизации,
скорее всего задача факторизации не NP-полная.
Ведь для факторизации достаточно решать уравнения второго порядка от двух переменных, хоть и с большими коэффициентами.