La fattorizzazione e la phi di Eulero

Documenti analoghi
Fattorizzazione e curve ellittiche polinomi di II, II e IV grado

1. Esistono numeri della forma , ottenuti cioè ripetendo le cifre 2006 un certo numero di volte, che siano quadrati perfetti?

Soluzioni di alcuni esercizi degli esoneri e di due esercizi dei fogli di esercizi. 1 2 n + 5 n 10 n n + 1.

Tutti i numeri qui considerati sono interi. Se si tratta in particolare di numeri Naturali (quindi non negativi) verrà specificato.

Lezione 3 - Teoria dei Numeri

Università del Piemonte Orientale

A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5.

Esercizi di Algebra. 25 marzo Soluzione Si tratta di trovare una soluzione del sistema di equazioni congruenziali

ALGEBRA I: SOLUZIONI TERZA ESERCITAZIONE 11 aprile 2011

Soluzioni delle Esercitazioni II 24 28/09/2018 = 1 2 = 1±3 4. t = 1± 1 4

A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 4.

Crittografia ed Aritmetica Modulare IV incontro

Aritmetica 2009/10 Compitino 1/12/2009. (a) Contare gli elementi nilpotenti di A. (b) Contare gli elementi zero-divisori di A.

Ancora sui criteri di divisibilità di Marco Bono

una possibile funzione unidirezionale

Compito di MD 13 febbraio 2014

ANALISI VETTORIALE COMPITO IN CLASSE DEL 8/11/2013

Analisi Matematica I modulo Soluzioni prova scritta preliminare n. 2

L1 L2 L3 L4. Esercizio. Infatti, osserviamo che p non può essere un multiplo di 3 perché è primo. Pertanto, abbiamo solo due casi

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Capitolo 5 Campi finiti

Studieremo le congruenze lineari, cioe le equazioni del tipo

c A (a c = b) Le ipotesi che abbiamo ci dicono che esistono h, k A tali che:

Teoria dei numeri e Crittografia: lezione del 9 gennaio L algoritmo del crivello quadratico di Pomerance.

LUISS Laurea specialistica in Economia e Finanza Anno Accademico 2010/2011

ANNO ACCADEMICO 2017/2018 CORSO di LAUREA in BIOTECNOLOGIE MATEMATICA I appello 29/5/2018 1

Metodo delle curve ellittiche ECM. Sia n un numero intero. Sia E una curva ellittica su Z n. Y 2 = X 3 + AX + B, = 4A B 2 Z n.

una possibile funzione unidirezionale

A titolo di esempio proponiamo la risoluzione del sistema sia con il metodo della matrice inversa sia con il metodo di Cramer.

Esercizi 3, 1. Prof. Thomas Parisini. Esercizi 3, 3 Regola:

Stabilità per sistemi a tempo continuo

Compito di MD 1 0 aprile 2014

TEOREMA DEL RESTO E REGOLA DI RUFFINI

Esercizi di Algebra. 3 aprile 2006

NUMERI PRIMI E TEORMA FONDAMENTALE DELL ARITMETICA Definizione 1. Sia p Z, p ±1. Si dice che p è primo se

Proposizione 2 Il polinomio minimo di t corrisponde all annullatore minimale di M V.

Teoria dei numeri 2. Alberto Saracco. Università di Parma Udine, 18 ottobre 2015

Metodi per la risoluzione di sistemi lineari

04 - Numeri Complessi

UNIVERSITÀ DEGLI STUDI DI TERAMO FACOLTÀ DI SCIENZE POLITICHE CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Istituzioni di Matematiche Modulo A (ST)

Istituzioni di Matematiche, Integrali fratti. corso di laurea in Scienze geologiche. Mauro Costantini

Sappiamo che una funzione definita in un intervallo aperto I ed ivi derivabile è anche differenziabile, ossia che, fissato x 0 I, si ha.

Sol. Sia P = (x, y) un punto che soddisfa l equazione Y 2 = X 3 + ax + b. Ricordiamo che per definizione P = (x, y) è un punto regolare di E se

24 : 3 = 8 con resto 0 26 : 4 = 6 con resto 2

La funzione esponenziale e logaritmica

Lezione 3 - Teoria dei Numeri

Il coefficiente angolare è 3/2 mentre Q ha coordinate (0;0). La retta passa per l origine.

Risoluzione del compito n. 4 (Giugno 2014)

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

Soluzioni ottava gara Suole di Gauss

Appunti di Teoria dei numeri e algebra modulare

1 Ampliamento del piano e coordinate omogenee

SCUOLA GALILEIANA DI STUDI SUPERIORI CLASSE DI SCIENZE NATURALI ESAME DI AMMISSIONE, PROVA DI MATEMATICA 13 SETTEMBRE 2011

LAUREA IN INGEGNERIA CIVILE ED AMBIENTE-TERRITORIO Corso di Matematica 2 Padova TEMA n.1

UNIVERSITÀ DEGLI STUDI DI TERAMO FACOLTÀ DI SCIENZE POLITICHE CORSO DI LAUREA IN ECONOMIA BANCARIA FINANZIARIA ED ASSICURATIVA

Soluzioni della verifica scritta 1 B Scientifico 24/01/2009

una possibile funzione unidirezionale

Successioni ricorsive

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

y + P(x) y + Q(x) y = 0 y(x) = c 1y 1(x) + c 2 y 2(x).

TEORIA DEI NUMERI. Progetto Giochi matematici. Mail:

m = a k n k + + a 1 n + a 0 Tale scrittura si chiama rappresentazione del numero m in base n e si indica

Parte II. Incontro del 20 dicembre 2011

CONGRUENZE. proprietà delle congruenze: la congruenza è una relazione di equivalenza inoltre: Criteri di divisibilità

E := 2. a k := 2(2n 1) (2n 1) + 1 ( 1)n+1 = ( 1) n+1( 2 1 ) 1 2m 1 ;

Università degli Studi di Roma La Sapienza

Applicazioni dell Algoritmo di Euclide

Scomposizione di un numero primo come somma di due quadrati

Funzioni derivabili (V. Casarino)

Analisi Matematica 3/Analisi 4 - SOLUZIONI (20/01/2016)

NUMERI PRIMI E CRITTOGRAFIA

Prima lezione. Gilberto Bini. 16 Dicembre 2006

Temi di Aritmetica Modulare

11. Misure con segno.

1 Il polinomio minimo.

Numeri Perfetti: gioco, estetica e pragmatica. Andrea Previtali

Corso di Calcolo Numerico

Esercizi Proposti - 7 Gli o-piccoli - seconda parte T1] Derivabilità e piccoli: Come è noto una funzione reale ( ) è continua in seesoloseper!

Liceo Scientifico Statale S. Cannizzaro Palermo Classe III D EQUAZIONI POLINOMIALI Divisione di polinomi, teorema del resto e teorema di Ruffini

Preparazione Olimpiadi della Matematica

Corso di GEOMETRIA Dipartimento di Ingegneria ed Architettura Università degli Studi di Trieste Prof. Fabio Perroni. 3. Sistemi di equazioni lineari

Funzioni implicite - Esercizi svolti

INSIEME N. L'insieme dei numeri naturali (N) è l'insieme dei numeri interi e positivi.

Metodi per la risoluzione di sistemi lineari

EQUAZIONI DISEQUAZIONI

Il nano sulle spalle del gigante

Elementi di Algebra e di Matematica Discreta Numeri interi, divisibilità, numerazione in base n

2.1 Numeri naturali, interi relativi, razionali

MATEMATICA DISCRETA CLAUDIA MALVENUTO PRIMA PROVA IN ITINERE 24 APRILE 2014

A =, c d. d = ad cb. c d A =

Lezione 3 - Teoria dei Numeri

3/10/ Divisibilità e massimo comun divisore

Si calcoli prezzo e quantitá d equilibrio quando il reddito R = 25 e quando il reddito è R = 50.

Francesco Zumbo

MATEMATICA PER LO STUDIO DELLE INTERAZIONI STRATEGICHE: TEORIA DEI GIOCHI. Anna TORRE

Allenamenti di matematica: Algebra e Teoria dei Numeri

Lezione 3 - Teoria dei Numeri

Transcript:

La fattorizzazione e la phi di Eulero Di Cristiano Armellini, cristiano.armellini@alice.it Supponiamo di voler trovare i fattori p, q del numero intero n (anche molto grande). Dalla Teoria dei numeri sappiamo che 11 è la phi di Eulero che rappresenta il numero interi minori di n e primi con n. Essendo p, q numeri primi saranno sicuramente dispari quindi p-1, q-1 sono numeri pari e ovviamente il loro prodotto (p-1)(q-1) sarà divisibile per 4 in quanto è il prodotto di due numeri pari. Ora osserviamo che 1111, dove s = p+q. Allora 1. Tuttavia è noto che se 0,,, deve essere 2 e quindi avremo che 12 e questo implica che 412. In realtà secondo una importante proprietà deve essere ma data la particolarità di n = pq abbiamo potuto ridurre questo limite inferiore. Tra le numerose proprietà dimostrate della funzione phi di Eulero è noto che (detta la costante di Eulero- Mascheroni ):,6,2 3 log log

Dunque se pongo max, 3 loglog loglog Allora abbiamo trovato che 12. Ora ci rimane solo da verificare quali numeri divisibili per 4 contenuti in questo intervallo sono tali,che posto 1 l equazione 0, ci dà soluzioni intere che sono proprio i fattori di n. Infatti,. E ovvio che più è piccolo l intervallo più è veloce la ricerca dei fattori. L obiettivo futuro è quello di trovare delle relazioni per la phi di Eulero che restringano ulteriormente questo range. In effetti dato che non è altro che il numero dei primi con n e minori di n sicuramente in questo insieme ci saranno tutti i numeri primi minori di n ovvero, per il teorema dei numeri primi, o anche. Ovviamente sarà. Tale approssimazione vale comunque per n sufficientemente grande. Quindi possiamo supporre di considerare il nuovo intervallo 2 1 dove,. Nel casi specifico dei problemi RSA, la chiave pubblica è determinata da una coppia di valori (e,n) dove n è il numero da fattorizzare n = pq ed e è un numero intero positivo tale che,1. Quindi in questo caso possiamo escludere dal range di possibili valori di tutti i numeri multipli di 4 e tali che il loro massimo comun divisore con e sia diverso da 1 ovvero tutti i numeri

del range della forma 4 ove m è un intero e è un divisore di e (che per forza di cose deve essere un numero dispari). Questa considerazione (crivello) ci aiuta ad affinare ulteriormente la nostra ricerca. Un altra importante proprietà della funzione phi è la seguente:! ovvero nel caso dei numeri RSA n = pq, p q numeri primi abbiamo 11111 cioè in latri termini 1. Questo vuol dire che 1. Chiamando con allora possiamo considerare l equazione di II grado per trovare,, ovvero p, q: 10, cioè e imponendo il delta maggiore di zero ho 4440 ovvero, dopo semplici passaggi sapendo che Q > 0, 2 1. Allo stesso risultato si poteva facilmente pervenire così: 11 2 cioè 22 quindi 2 1. Facendo variare Q (Q è sempre un numero pari perché è la somma di due numeri pari) si arriverà a quel valore che fornisce valori interi dell equazione di II grado che altro non sono che 1,1, quindi troviamo p, q. Osserviamo che, a titolo di curiosità, dalle relazione 111 discende 12 ovvero otteniamo la relazione già nota 12. Infine ricordiamo che vale dove la funzione sigma è proprio! e in generale ma nel caso degli RSA è vero che 12.

Ricordiamo anche che nei numeri RSA tipicamente, k è un numero razionale compreso tra 1 e 3 (nel 95% dei casi). Allora 1111 ma dato che q essendo il più piccolo dei fattori deve essere 2 allora quindi dopo semplici passaggi algebrici 11. Avere una stima anche di tipo statistico di k, ovvero del rapporto tra il fattore maggiore e il minore può ridurre io range per. Ai risultati precedenti si poteva anche giungere partendo dalla relazione 111 11 ovvero 1 quindi / e ponendo, allora la relazione diventa 1 ovvero 10 e imponendo il delta maggiore di zero abbiamo 211 0 soddisfatta per 12 12 (il primo vincolo è quello che utilizziamo per i problemi RSA come estremo superiore della funzione ). Come pure se 1;1 allora 2 e n=pq porta a 20 dove. Ma ponendo sempre il delta maggiore di zero troviamo che 2 2 in accordo con quanto avevamo già scoperto. Se ci poniamo nel caso del problemi RSA allora possiamo scrivere 111 1 e questo ci porta a pensare che ed n sono in realtà molto vicini. Facendo esempi anche con numero molto piccoli già stimiamo che 0,9. Se in

generale calcoliamo una buona stima di k sapendo che 2 1 quindi. Allora basterà prendere e considerare un numero di cifre di k pari alla parte intera b/2 ove b è il numero di cifre del numero intero n da fattorizzare. Quindi 2 1. Con questo procedimento, specifico per i problemi RSA dove i fattori p, q sono molto grandi ma hanno all incirca le stesse dimensioni (lo stesso numero di cifre intere) l algoritmo di fattorizzazione descritto sopra è molto veloce perché si giunge subito alla stima almeno della prima metà delle cifre di. Basterà poi selezionare gli multipli di 4 e compresi nell intervallo 2 1: quello che 2 1 (teorema di Eulero) sarà il valore cercato di. Una volta fatto ciò si ricava la somma di p+q quindi con l equazione di II grado associata i valori di p, q sapendo il valore di n. Osserviamo inoltre che 3,, allora, ovvero 1 1 1,, ovvero 1 1 1 quindi moltiplicandi per n otteniamo 1 1 1 11 1 cioè 1 1 1 1. In generale se, / allora 1 1 1 1 dove ovviamente R > 3. Resta sempre il problema di capire che valore dare ad R. Se p, q hanno le stesse dimensioni allora R potrebbe essere una potenza di 10 delle stesse dimensioni di p e di q (se n ha 100 cifre p, q avranno 50 cifre quindi R10. Dal momento che abbiamo provato 2 1

possiamo porre il limite superiore 1 1 2 1 per cercare di trovare un R ottimale che limiti il range delle soluzioni nel caso dei numeri RSA. Sviluppando in R si ha 2 1 quindi possiamo pensare di adottare 1 2 11 Un altro modo per calcolare la phi di Eulero consiste nell applicare proprio il teorema di Eulero: se a è intero coprimo con n, MCD(a,n)=1 allora 1. Questo vuol dire che deve esistere un k intero positivo tale che 1 ovvero log 1. Quindi senza perdere di generalità volendo trovare il minimo valore di k che soddisfa tale relazione potremmo pensare di prendere a = 2. Dalle considerazioni precedentemente fatte sul range della funzione phi sappiamo che dovrà essere: log 1 Quindi 2 1/ per n > 6. Ma è anche vero che nel nostro caso log 12 1 quindi 2 1/.Per questioni abbastanza semplici k deve essere dispari. Per finire qualche programma in C++ che sintetizza gli algoritmi descritti

#include <stdio.h> #include <iostream.h> #include <math.h> void main(void) { double n; double x, y; double s; cout << "inserisci il numero n "; cin >> n; s= 2*floor(sqrt(n)-1)+2; x = (s+2-sqrt(pow(s+2,2)-4*n))/2.0; while (floor(x)!= x){ s = s+2; x = (s+2-sqrt(pow(s+2,2)-4*n))/2.0; y = (s+2+sqrt(pow(s+2,2)-4*n))/2.0; cout << "primo fattore " << x; cout << " "; cout << "secondo fattore " <<y ;

#include <stdio.h> #include <iostream.h> #include <math.h> void main(void) { double n; double x, y; double s; double phi; cout << "inserisci il numero n "; cin >> n; phi = floor(n-2*sqrt(n)+1); while (phi/4.!= floor(phi/4)){ phi = phi-1; s = n-phi+1; x = (s-sqrt(pow(s,2)-4*n))/2.; while (x!= floor(x)){ phi = phi -4; s = n-phi+1; x = (s-sqrt(pow(s,2)-4*n))/2.; y = (s+sqrt(pow(s,2)-4*n))/2.; cout << "primo fattore " << x; cout << " "; cout << "secondo fattore " << y; #include <stdio.h> #include <iostream.h> #include <math.h> void main(void) { double n; double x, y; double s; double phi; cout << "inserisci il numero n "; cin >> n; phi = floor(n/(1.7*log(log(n)+3/log(log(n))))); while (phi/4.!= floor(phi/4)){ phi = phi-1; s = n-phi+1; x = (s-sqrt(pow(s,2)-4*n))/2.; while (x!= floor(x)){ phi = phi +4; s = n-phi+1; x = (s-sqrt(pow(s,2)-4*n))/2.; y = (s+sqrt(pow(s,2)-4*n))/2.; cout << "primo fattore " << x; cout << " "; cout << "secondo fattore " << y;