The task of factoring polynomials modulo a prime has a satisfactory, usually efficient, solution which depends on random choices and can be slow if we are very unlucky. An idea of Kayal and Poonen would remedy this situation if a family of algebraic curves is found, whose members can be distinguished by their zeta functions. We will explain this and set it in a general context of distinguishing algebraic curves by L-functions. In particular, we present a family of curves that allows us to be 99.999% confident that we have a deterministic polynomial time algorithm for factoring polynomials modulo a prime. Joint work with A. Sutherland.