Puncte:6

Găsirea numerelor prime mari ocolitoare

drapel jp

Sună un prim $p$ viclean dacă $(p-1)/2$ este o numărul Carmichael. Ele sunt numite vicleni, deoarece superficial arată ca prime sigure, dar nu sunt. În special, Diffie-Hellman care folosește un astfel de prim ar putea fi vulnerabil la Algoritmul Pohlig Hellman.

Există numere prime abate. Un mic exemplu este $4931$. Un exemplu mai interesant este

$$1947475860046218323 = 2(973737930023109161) + 1 = 2(220361)(1542521)(2864681) + 1.$$

Cu siguranță, astfel de numere prime trebuie să apară în literatură, dar eforturile mele de căutare au scos un gol, posibil pentru că se numesc altceva (eu tocmai am inventat „scărcăcios” în scopul acestei întrebări). Stie cineva vreo referinta pentru ele?

Sunt interesat să generez exemple mari de astfel de lucruri. Instrumentul principal pe care îl cunosc pentru a genera exemple de numere mari Carmichael (căutați $k$ pentru care 6k+1$, 12k+1, 18k+1$ sunt toate prime, apoi ia produsul lor) pare să nu reușească să producă astfel de exemple. Primele deviate, presupunând că există unele mari, sunt fără îndoială extrem de rare, așa că pur și simplu pescuitul pentru ele nu este o abordare promițătoare. În această etapă am rămas fără idei.

fgrieu avatar
drapel ng
Primele sunt 1123, 4931, 303060803, 348705283, 1368212803, 1879894019, 12195557923. Acea secvență este [nu este în prezent la OEIS](https://o93?2803).
John Coleman avatar
drapel jp
@fgrieu Interesant că nu este în OEIS. Există desigur două secvențe strâns legate, cea a primelor acestei forme și cea a numerelor Carmichael care le dau naștere (pseudo-sophie germains?).
Puncte:5
drapel ru

Problema cu utilizarea expresiei lui Chernick $(6k+1)(12k+1)(18k+1)$ iar generalizările sale sunt că numărul este întotdeauna congruent cu 1 mod 3, astfel încât de două ori numărul plus unu este divizibil cu și, prin urmare, nu prim. Nu totul este însă pierdut și metodele de Loh și Niebur „Un nou algoritm pentru construirea de numere mari Carmichael” (care a inspirat celebrul Alford, Granville și Pomerance „Există infinit de multe numere Carmichael” rezultat) poate fi folosit pentru a produce numere Carmichael mari care sunt 2 mod 3 și care au mulți factori (făcându-le potrivite pentru aplicația dvs. abuzivă).

Inspirându-ne de la algoritmul C al lui Loh și Niebur (p. 285), adăugăm mici condiții suplimentare:

  1. Alegeți un produs al puterilor prime $\Lambda\leftarrow 2^{h_1}q_2^{h_2}\cdots q_r^{h_r}$ unde $h_i$ sunt toate pozitive și niciunul dintre $q_i$ sunt 3. (Construcția funcționează cel mai bine dacă $q_i$ sunt numere prime mici, deci luând $q_2=5$, $q_3=7$ și așa mai departe este o alegere bună).
  2. Testează totul $p(\alpha_1,\ldots,\alpha_r)\leftarrow 2^{\alpha_1}q_2^{\alpha_2}\cdots q_r^{\alpha_r}+1$ cu $0\le \alpha_i\le h_i$ pentru primalitate. Colectarea valorilor de succes într-un set $\mathcal S$ (omitând $\Lambda+1$). Ați putea dori să omiteți primul 3 în cazul în care a avea un prim putativ divizibil cu 3 este puțin evident sau pentru că este o alegere probabilă pentru o bază pentru un test Fermat.
  3. Calcula $\prod_{p\in\mathcal S}\pmod\Lambda$ și numiți acest reziduu $s$.
  4. Subseturile de testare $\mathcal T\subset\mathcal S$ a cărui cardinalitate are paritate diferită de $\mathcal S$ până când găsim un submult astfel încât $\prod_{p\in\mathcal T}p\equiv s\pmod\Lambda$
  5. A stabilit $N=\prod_{p\in\mathcal S\backslash\mathcal T}p$. Acesta va fi un număr Carmichael, va avea un număr impar de factori primi și va fi congruent cu 2 mod 3.

Ar trebui să existe suficientă varietate în alegerile $\mathcal T$ pentru a obține un număr Carmichael de o dimensiune adecvată. Apoi puteți înmulți cu doi și adăugați unul. Deoarece numărul rezultat este congruent cu $3\pmod\Lambda$, nu va fi divizibil cu nicio împărțire prime $\Lambda$ și are șanse mult mai mari decât media de a fi prim (ceea ce este frumos).

John Coleman avatar
drapel jp
Multumesc pentru asta. Motivația mea este să am un exemplu interesant pentru un curs de introducere la criptografie pe care îl predau. Am menționat clasei cum PGP a folosit (încă?) un simplu test Fermat pentru a găsi numere prime mari. Am remarcat că de fapt era suficient de rezonabil pentru numerele generate aleatoriu, dar ar eșua pentru un număr conceput să-l învingă. Vreau să arăt că ar putea fi, de asemenea, problematic pentru un *prime* conceput să submineze DH. Sper că weekendul acesta voi avea timp să experimentez asta.
John Coleman avatar
drapel jp
$p = 19248540273487192628727638093418570989399483505551360003$ este un prim deformat de 56 de cifre pe care l-am putut genera folosind ideea ta. $(p-1)/2$ este un număr Carmichael cu 19 factori primi. Jurnalele discrete pentru acest $p$ pot fi recuperate într-o fracțiune de secundă. Algoritmul tău pare destul de sensibil la alegerea primelor și puterilor inițiale. Odată ce trec de un anumit prag, se pare că nu pot găsi candidatul $\mathcal T$.
John Coleman avatar
drapel jp
After letting my (non-optimized) code churn away for about an hour, I found `p = 535528299911273231318261682611857786128733492376235786223632658066997780843716220764905747558932241929032637097264301018240352003`, which is a 129-digit devious prime for which $(p-1)/2$ is a Carmichael number with 37 prime factori.Lucrarea Loh-Neibuhr conține referințe la metode de producere a numerelor Carmichael mari cu un număr mic de factori. S-ar putea să mă uit la acestea pentru a încerca să construiesc numere prime mari, care ar putea rezista încercărilor ocazionale de factorizare $p-1$.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.