a = 
      (x^8) + (x^6) + 3  (x^5) - 9  (x^4) + 6  (x^3) - 13  (x^2) + 11  x - 
        2

Clear[SymmetricPolynomialMod];
SymmetricPolynomialMod[0, x_, p_] := 0;
SymmetricPolynomialMod[a_, x_, p_] := 
      Module[{n}, 
n = 
          Exponent[a, 
            x]; 
(∑_(k = 0)^n) Mod[
              Coefficient[a, x, k], p, -(p/2)] 
            (x^k)
]

SymmetricPolynomialMod[a, x, 9]

Clear[ZassenhausSchranke];
ZassenhausSchranke[a_, x_, m_] := 
      Module[{n, M, R}, 
n = 
          Exponent[a, x]; 
M = 
          Max[Table[(((Abs[Coefficient[a, x, n - k]])^(1/k))/Binomial)[n, k], {k, n}]]; 
R = (M/((2^(1/n)) - 1)); 
Max[
          Table[Binomial[m, k] (R^k), {k, n}]]
]

z = ZassenhausSchranke[a, x, 2]

N[z]

liste = Table[N[ZassenhausSchranke[a, x, m]], {m, 1, 4}]

Max[liste]

Clear[NextPrime];
NextPrime[n_] := n + 1 /; PrimeQ[n + 1]
NextPrime[n_] := NextPrime[n + 1]

p = NextPrime[Ceiling[2 Max[liste]]]

fac = Factor[PolynomialMod[a, p], Modulus -> p]

b = Map[SymmetricPolynomialMod[#, x, p] &, fac]

\(Map[Together[a\/#\ ] &, Apply[List, b]]\)

Factor[a]