О первом вопросительном предложении вопроса:
почему он должен быть отрицательным?
читать буквально и с "it" относительно количества $A_i$ и $B_i$.
Второй набор уравнений действительно является (или может быть изменен) $k_i+{A_i}\,d+B_i\equiv0\pmod n$ куда $A_i=-s_i^{-1}\,r_i\bmod n$ и $B_i=-s_i^{-1}\,H(m)\bmod n$. $\bмод п$ подразумеваются. Поэтому в этом $A_i$ и $B_i$ неотрицательны.
Это по определению $\bmod$ оператор:
- $х\bмод п$ это $z$ в диапазоне $[0,n)$ с $ х \ эквив г \ pmod n $.
- $x^{-1}\bmod n$ это $z$ в диапазоне $[0,n)$ с $x\,z\equiv1\pmod n$
- $-x^{-1}\,y\bmod n$ это $z$ в диапазоне $[0,n)$ с $x\,z\equiv-y\pmod n$
Напомним, что $ х \ эквив г \ pmod n $ определяется как означающее, что $x-z$ является кратным $n$.
Мы можем переписать первое уравнение как $s_i^{-1}\,r_i+s_i^{-1}\,H(m)\equiv k_i\pmod n$. Концепция атаки на решетку должна оставаться в силе: если вектор решетки мал, алгоритм сокращения базиса должен генерировать ответ. Что я сделал не так?
Я смутно предполагаю, что проблема в том, что используемый код сокращения решетки требует ввода в матричной форме. Мы можем сопоставить это, переписав уравнение как $s_i^{-1}\,r_i+s_i^{-1}\,H(m)+k'_i\equiv 0\pmod n$ с $k'_i=n-k_i$. Но помните, что атака вращается вокруг возможности выбора с помощью атаки по времени $я$ такой, что $k_i$ маленький. Тот же метод отбора не даст малых $k'_i$; и я не уверен, что подходящий метод вообще возможен.