Na teoría computacional de números, unha base de factores é un pequeno conxunto de números primos que se usan habitualmente como ferramenta matemática en algoritmos que implican unha gran criba de factores potenciais dun número enteiro dado.
Unha base de factores é un conxunto P relativamente pequeno de números primos distintos, ás veces xunto con -1.[1] Digamos que queremos factorizar un número enteiro n. Xeramos, dalgún xeito, un gran número de pares de enteiros (x, y) para os que , , e pódese factorizar completamente sobre a base de factores escollida, é dicir, todos os seus factores primos están en P.
Na práctica, atópanse varios números enteiros x tal que ten todos os seus factores primos na base de factores preescollida. Representamos cada expresión como un vector dunha matriz con entradas enteiras estando os expoñentes dos factores na base de factores. As combinacións lineares das filas corresponden á multiplicación destas expresións. Unha relación de dependencia linear mod 2 entre as filas conduce a unha congruencia desexada . [2] Isto esencialmente reformula o problema nun sistema de ecuacións lineares, que se pode resolver usando numerosos métodos como a eliminación de Gauss; na práctica utilízanse métodos avanzados como o algoritmo de bloque de Lanczos, que aproveita certas propiedades do sistema.
As bases de factores utilízanse, por exemplo, na factorización de Dixon, na criba cadrática e na criba xeral de corpos numéricos. A diferenza entre estes algoritmos son esencialmente os métodos utilizados para xerar candidatos (x, y). As bases de factores tamén se usan no algoritmo de cálculo do índice para calcular logaritmos discretos.[3]