I am interested in an algorithm (or irreducibility criterion) for testing whether a cubic polynomial $f \in \mathbb{Q}[x]$ is reducible or not. By Gauss's Lemma, we can work with cubics in $\mathbb{Z}[x]$. Let $f = ax^3+bx^2+cx+d$, where $a,b,c,d \in \mathbb{Z}$. Suppose $M = \mathrm{max}\{a,b,c,d\}$. I want the run time of the algorithm to be $\mathrm{poly}(\log M)$. This rules out the rational root test, which takes around $O(M)$ time.
There is a general algorithm to factor integral polynomials called LLL algorithm which indeed runs in $\mathrm{poly}(\log M)$ time. However, I do not wish to invoke this heavy machinery and factor any degree polynomial. Is there a direct and efficient irreducibility testing algorithm, specifically for cubics, that is known in literature? By efficient, I mean $\mathrm{poly}(\log M)$-time algorithm.
One approach I can think of is to reduce this problem to testing whether $f$ (mod $p$) is reducible for a suitable prime $p$ and for finite fields, we indeed have Rabin's efficient reducibility testing algorithm. This reduction will clearly fail for degrees greater than 3, as we have examples of degree 4 irreducible polynomials in $\mathbb{Z}[x]$ which are reducible (mod $p$) for every prime $p$ (see this post). As per the post, for any degree 3 irreducible polynomial $f \in \mathbb{Z}[x]$, there exists a prime $p$ such that $f$ (mod $p$) remains irreducible, but I don't know the bound on $p$. Can we show $p \leq \mathrm{poly}(M)$? That will suffice for a $\mathrm{poly}(\log M)$-time algorithm.