Смысл создания коэффициентов $ г (х) $ small не для того, чтобы усложнить жизнь злоумышленнику, а для того, чтобы сделать жизнь возможной для предполагаемого получателя.
Напомним, что $ч(Х)$ выбирается в форме
$$h(X)\equiv \frac{g(X)p}{f(X)}\pmod q$$
где коэффициенты $ф(Х)$ и $г(Х)$ маленькие и секретные, $р$ является простым малым относительно $q$ и $q$ велика по сравнению со всеми малыми величинами.
Теперь рассмотрим расшифровка который начинается с умножения $с(Х)$ к $ф(Х)$ дать
$$c(X)f(X)\equiv r(X)g(X)p+m(X)f(X)\pmod q$$
если коэффициенты $f$, $г$, $м$ и $г$ все малы, то с большой вероятностью можно написать
$$c(X)f(X)= r(X)g(X)p+m(X)f(X)$$
над целыми числами без редукции по модулю $q$ путем округления коэффициентов в сторону 0 (т.е. приведения в интервал $[-q/2,q/2]$). С другой стороны, если $ г (Х) $ имеет любое большое (относительно $q$) коэффициентов, мы почти наверняка не сможем этого сделать.
Если наш процесс округления прошел успешно, мы можем удалить вклад $ г (Х) $ путем уменьшения по модулю $р$ а потом восстановить $м(Х)$.
Обратите внимание, что успешность процесса округления не гарантируется по мере роста степени, поэтому NTRUEncrypt имеет вероятность сбоя, зависящую от размера коэффициента и степени, которую мы должны стараться поддерживать на низком уровне. Отметим также, что отказ может зависеть от выбора $м(Х)$ что может позволить злоумышленнику активно получать информацию о закрытом ключе (опять же с вероятностью, которую мы пытаемся сохранить небольшой).
Вы правы, что $r(X)\pmod q$ могут быть восстановлены путем решения CVP, независимо от размера его коэффициентов (при условии, что коэффициенты $м(Х)$ маленькие).