30 cifre (decimali) non e' un gran numero di cifre: e' circa 2^100
cioe' due interi a 64 bit
si inizia a ‘ragionare’ con numeri nell'ordine di 2^1024, 2^2048, 2^512.
QUI si che ti ‘siedi’ ;-)
sono questi gli ordini di grandezza della crittografia in chiave pubblica.
2^128 sono le chiavi usate nella crittografia a chiave simmetrica (AES), ma qui si usa un intero qualunque non uno con certe proprieta'
Come algo per la fattorizzazione: con la tabellina dei primi fino a 100_000, fattorizzi numeri a 32 bit
con quella fino a 1_000_000 numeri a 40 bit.
il tutto a velocita stratosferica.
Anche facendo il debugging del codice, stai tranquillo che non ci capiresti nulla, se non sai GIÀ quello che dovrebbe fare. E questo non c'entra NULLA con l'età, MA con la ‘conoscenza’.
acquistati qualche bel libro introduttivo di teoria dei numeri: trovi argomenti decisamente curiosi.
Ad esempio la funzione toziente, il teorema cinese del resto, le congruenza, le funzioni diofantee, …
.
Per il calcolo con gli interi, si appoggia a gmp (GNU Multi Precision library, robbbba binaria)
'sympy' e' una libreria per il calcolo simbolico.
Il ‘programmaore quadratico medio’ di simbolico vede solo lo stipendio ;-)