Testor de numere prime (Miller-Rabin)

Introducere număr

Exemple de numere:

Rezultatul testului

Introduceți un număr și faceți clic pe "Începeți verificarea"

Explicația algoritmului Miller-Rabin:

Principiul algoritmului: Miller-Rabin este un test de primalitate probabilistic bazat pe o extensie a teoremei mici a lui Fermat. Pentru un număr impar n, scrieți n-1 ca 2^r × d, apoi testați dacă satisface:
a^d ≡ 1 (mod n) 或 a^(2^i × d) ≡ -1 (mod n) 对某个 0 ≤ i < r
Numărul de runde de testare și precizia:
  • Testare probabilistică:Selectați aleator o bază a; fiecare rundă de testare reduce rata de eroare la 1/4
  • k runde de testare:Rata de eroare teoretică ≤ (1/4)^k, rata de eroare reală este mult mai mică
  • Testare deterministă:Pentru n < 3.317.044.064.679.887.385.961.981, utilizând setul specific de baze {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37} se obțin rezultate 100% precise
Cazuri speciale:
  • Numere prime mici:Numere precum 2, 3, 5, 7 sunt identificate direct
  • Numere pare:Toate numerele pare, cu excepția lui 2, sunt compuse
  • Numere Carmichael:Numerele care trec testul Fermat, dar sunt de fapt compuse (de exemplu, 561) pot fi identificate corect de Miller-Rabin

Scenarii de aplicare:

  • Criptografie: Determinarea rapidă a numerelor prime mari la generarea cheilor RSA
  • Cercetare în teoria numerelor: Căutarea numerelor prime Mersenne, numere prime duble, numere prime gemene etc.
  • Programare competitivă: Testare rapidă a primalității cu complexitate temporală O(k log³n)
  • Generarea numerelor aleatoare: Generarea numerelor prime mari care îndeplinesc criterii specifice