Hola, Richard
En general, el pequeño teorema de Fermat dice
\( a^{p}\equiv a(mod\,p) \) con “a” y “p” coprimos.
Al ser coprimos, podemos dividir a ambos lados de la congruencia por “a” y queda
\( a^{p-1}\equiv1(mod\,p) \)
donde “a”, la base, puede ser 2, como has puesto tú, o cualquier otro número.
Básicamente, una de las cosas que ocurre, entonces, es que se puede probar la congruencia con varias bases (dado un candidato a primo “p”) y, si la congruencia falla para alguna base, ya no es primo. Miller inventó un test basado en esto que no era seguro del todo, pero Rabin lo perfeccionó para que fuera más eficiente; con este test se comprueban primos con total seguridad, pero no siempre se puede, hay casos en los que a lo mejor no es seguro del todo para un cierto número, y ahí se dice que pasa eso; o sea, cuando una cosa no es segura, no se afirma que es primo (pero eso no suele pasar, es muy raro, la inmensa mayoría de las veces se determinan). Y ese test se llama Miller-Rabin. Lo tienes aquí explicado (creo, porque no lo he leído ahora, hace mucho que lo leí).
https://es.wikipedia.org/wiki/Test_de_primalidad_de_Miller-Rabin*(Normalmente, cuando se usa “P vs NP”, se hace referencia una conjetura famosa donde esa P se refiere a un tiempo de computación polinómico, no a números primos).
Saludos.