of 79 /79
Primalit` a Gregorio D’Agostino 11 Aprile 2017

Primalit a - gordion.casaccia.enea.itgordion.casaccia.enea.it/SicurezzaInformatica/Lectures/Lesson14... · bisogna trovare numeri primi molto grandi. ... l’attaccante si concentra

  • Author
    vanmien

  • View
    213

  • Download
    0

Embed Size (px)

Text of Primalit a -...

Primalita

Gregorio DAgostino

11 Aprile 2017

Metodi Esatti

Metodi indeterminati

Esercizi

Requisiti per la cifratura

I In molte applicazioni crittografiche (abbiamo visto RSA)bisogna trovare numeri primi molto grandi. Quindi dobbiamodisporre di metodi per verificare la primalita di un numero.

I I numeri primi devono essere presi a caso altrimentilattaccante si concentra sul nostro metodo per trovare i primie lo spazio delle chiavi diviene molto meno esteso. In altreparole la cifratura diviene piu debole.

I Il tempo per trovare i numeri deve essere ragionevole.

Requisiti per la cifratura

I In molte applicazioni crittografiche (abbiamo visto RSA)bisogna trovare numeri primi molto grandi. Quindi dobbiamodisporre di metodi per verificare la primalita di un numero.

I I numeri primi devono essere presi a caso altrimentilattaccante si concentra sul nostro metodo per trovare i primie lo spazio delle chiavi diviene molto meno esteso. In altreparole la cifratura diviene piu debole.

I Il tempo per trovare i numeri deve essere ragionevole.

Requisiti per la cifratura

I In molte applicazioni crittografiche (abbiamo visto RSA)bisogna trovare numeri primi molto grandi. Quindi dobbiamodisporre di metodi per verificare la primalita di un numero.

I I numeri primi devono essere presi a caso altrimentilattaccante si concentra sul nostro metodo per trovare i primie lo spazio delle chiavi diviene molto meno esteso. In altreparole la cifratura diviene piu debole.

I Il tempo per trovare i numeri deve essere ragionevole.

Metodo dellispezione

I Algoritmo: Dato un numero n per verificare se e primo, lo sidivide n per tutti i numeri minori della sua radice quadrataapprossimata per difetto.

a n,(k0 1)2 < n;

e calcola la differenza del quadrato rispetto ad n (k2 n).I Ad ogni passo si incrementa di uno il numero k (k k + 1) e

la procedura si arresta quando k2 n e un quadrato perfettoe quindi possiamo identificare k con s e k2 n con d2.

I p = k +k2 n, q = k

k2 n

I Esercizio: Scrivere un codice Octave che realizza lalgoritmodi Fermat.

I Lalgoritmo richiede pochissima memoria (5 interi) e unnumero di passi che dipende dalla differenza d .

Algoritmo di Fermat

I Lagoritmo di Fermat, parte dal numero k0 piu piccolo numeroil cui quadrato supera n:{

k20 > n,(k0 1)2 < n;

e calcola la differenza del quadrato rispetto ad n (k2 n).I Ad ogni passo si incrementa di uno il numero k (k k + 1) e

la procedura si arresta quando k2 n e un quadrato perfettoe quindi possiamo identificare k con s e k2 n con d2.

I p = k +k2 n, q = k

k2 n

I Esercizio: Scrivere un codice Octave che realizza lalgoritmodi Fermat.

I Lalgoritmo richiede pochissima memoria (5 interi) e unnumero di passi che dipende dalla differenza d .

Conseguenze dellesistenza dellalgoritmo di Fermat sullacifratura RSA

I Se nellalgoritmo di RSA scegliamo due fattori primi (p e q)vicini tra loro, d sara piccola e quindi lalgoritmo di Fermatfattorizzera n e si arrestera in pochi passi.

I Se invece scegliamo due numeri primi troppo diversi tra loroallora uno dei due sara piccolo ed il metodo dellispezionediretta si arrestera in pochi passi.

I Il cifratore deve prevenire da entrambi i possibili attacchi. Neconsegue che la differenza e la somma dei due numeri primi (pe q) devono essere dello stesso ordine di grandezza. Lacardinalita di questo spazio definira la complessita delle chiavi.In pratica basta limitare la scelta di p (e quindi q) ad esempioallintervallo (1/2

n, 3/4

n).

Conseguenze dellesistenza dellalgoritmo di Fermat sullacifratura RSA

I Se nellalgoritmo di RSA scegliamo due fattori primi (p e q)vicini tra loro, d sara piccola e quindi lalgoritmo di Fermatfattorizzera n e si arrestera in pochi passi.

I Se invece scegliamo due numeri primi troppo diversi tra loroallora uno dei due sara piccolo ed il metodo dellispezionediretta si arrestera in pochi passi.

I Il cifratore deve prevenire da entrambi i possibili attacchi. Neconsegue che la differenza e la somma dei due numeri primi (pe q) devono essere dello stesso ordine di grandezza. Lacardinalita di questo spazio definira la complessita delle chiavi.In pratica basta limitare la scelta di p (e quindi q) ad esempioallintervallo (1/2

n, 3/4

n).

Conseguenze dellesistenza dellalgoritmo di Fermat sullacifratura RSA

I Se nellalgoritmo di RSA scegliamo due fattori primi (p e q)vicini tra loro, d sara piccola e quindi lalgoritmo di Fermatfattorizzera n e si arrestera in pochi passi.

I Se invece scegliamo due numeri primi troppo diversi tra loroallora uno dei due sara piccolo ed il metodo dellispezionediretta si arrestera in pochi passi.

I Il cifratore deve prevenire da entrambi i possibili attacchi. Neconsegue che la differenza e la somma dei due numeri primi (pe q) devono essere dello stesso ordine di grandezza. Lacardinalita di questo spazio definira la complessita delle chiavi.In pratica basta limitare la scelta di p (e quindi q) ad esempioallintervallo (1/2

n, 3/4

n).

Variazioni sulla cifratura RSA

I Una delle idee piu naturali per complicare RSA consistenellusare una fattorizzazione a tre o piu primi.

n = p1p2p3.

I In realta, la situazione peggiorerebbe per il cifratore, perche ilminore dei fattori sarebbe necessariamente piu piccolo e quindibasterebbe applicare il crivello di Eratostene a tutti i numeriminori della radice cubica di n. Il metodo dellispezionerisulterebbe notevolmente semplificato.

I Inoltre anche la minima differenza tra due fattori sarebbe piupiccola, accelerando quindi convergenza del metodo diFermat. Anche in questo caso basterebbe studiare i k minoridi k0 + n

1/3.

Variazioni sulla cifratura RSA

I Una delle idee piu naturali per complicare RSA consistenellusare una fattorizzazione a tre o piu primi.

n = p1p2p3.

I In realta, la situazione peggiorerebbe per il cifratore, perche ilminore dei fattori sarebbe necessariamente piu piccolo e quindibasterebbe applicare il crivello di Eratostene a tutti i numeriminori della radice cubica di n. Il metodo dellispezionerisulterebbe notevolmente semplificato.

I Inoltre anche la minima differenza tra due fattori sarebbe piupiccola, accelerando quindi convergenza del metodo diFermat. Anche in questo caso basterebbe studiare i k minoridi k0 + n

1/3.

Variazioni sulla cifratura RSA

I Una delle idee piu naturali per complicare RSA consistenellusare una fattorizzazione a tre o piu primi.

n = p1p2p3.

I In realta, la situazione peggiorerebbe per il cifratore, perche ilminore dei fattori sarebbe necessariamente piu piccolo e quindibasterebbe applicare il crivello di Eratostene a tutti i numeriminori della radice cubica di n. Il metodo dellispezionerisulterebbe notevolmente semplificato.

I Inoltre anche la minima differenza tra due fattori sarebbe piupiccola, accelerando quindi convergenza del metodo diFermat. Anche in questo caso basterebbe studiare i k minoridi k0 + n

1/3.

Metodi indeterminati

I I metodi precedenti consentono di determinare la primalita delnumero n con certezza e consentono anche di determinarealmeno una fattorizzazione.

I Esistono dei criteri che non risolvono con certezza il problemadella primalita, ma che consentono in alcuni casi di escluderla.

I Tali metodi sono basati su condizioni necessarie di primalita,ma non sufficienti.

I I numeri che soddisfano alcuni criteri necessari di primalita manon suffienti di chiamano pseudo-primi

I Il metodo (gia visto) dalla primalita cinese e uno di questi: se2n 6= 1 (mod n) possiamo escludere che n sia primo, ma se larelazione e soddisfatta non possiamo esprimerci.

I Esercizio: scrivere un codice Octave che esegua il test diprimalita cinese.

Metodi indeterminati

I I metodi precedenti consentono di determinare la primalita delnumero n con certezza e consentono anche di determinarealmeno una fattorizzazione.

I Esistono dei criteri che non risolvono con certezza il problemadella primalita, ma che consentono in alcuni casi di escluderla.

I Tali metodi sono basati su condizioni necessarie di primalita,ma non sufficienti.

I I numeri che soddisfano alcuni criteri necessari di primalita manon suffienti di chiamano pseudo-primi

I Il metodo (gia visto) dalla primalita cinese e uno di questi: se2n 6= 1 (mod n) possiamo escludere che n sia primo, ma se larelazione e soddisfatta non possiamo esprimerci.

I Esercizio: scrivere un codice Octave che esegua il test diprimalita cinese.

Metodi indeterminati

I I metodi precedenti consentono di determinare la primalita delnumero n con certezza e consentono anche di determinarealmeno una fattorizzazione.

I Esistono dei criteri che non risolvono con certezza il problemadella primalita, ma che consentono in alcuni casi di escluderla.

I Tali metodi sono basati su condizioni necessarie di primalita,ma non sufficienti.

I I numeri che soddisfano alcuni criteri necessari di primalita manon suffienti di chiamano pseudo-primi

I Il metodo (gia visto) dalla primalita cinese e uno di questi: se2n 6= 1 (mod n) possiamo escludere che n sia primo, ma se larelazione e soddisfatta non possiamo esprimerci.

I Esercizio: scrivere un codice Octave che esegua il test diprimalita cinese.

Metodi indeterminati

I I metodi precedenti consentono di determinare la primalita delnumero n con certezza e consentono anche di determinarealmeno una fattorizzazione.

I Esistono dei criteri che non risolvono con certezza il problemadella primalita, ma che consentono in alcuni casi di escluderla.

I Tali metodi sono basati su condizioni necessarie di primalita,ma non sufficienti.

I I numeri che soddisfano alcuni criteri necessari di primalita manon suffienti di chiamano pseudo-primi

I Il metodo (gia visto) dalla primalita cinese e uno di questi: se2n 6= 1 (mod n) possiamo escludere che n sia primo, ma se larelazione e soddisfatta non possiamo esprimerci.

I Esercizio: scrivere un codice Octave che esegua il test diprimalita cinese.

Metodi indeterminati

I I metodi precedenti consentono di determinare la primalita delnumero n con certezza e consentono anche di determinarealmeno una fattorizzazione.

I Esistono dei criteri che non risolvono con certezza il problemadella primalita, ma che consentono in alcuni casi di escluderla.

I Tali metodi sono basati su condizioni necessarie di primalita,ma non sufficienti.

I I numeri che soddisfano alcuni criteri necessari di primalita manon suffienti di chiamano pseudo-primi

I Il metodo (gia visto) dalla primalita cinese e uno di questi: se2n 6= 1 (mod n) possiamo escludere che n sia primo, ma se larelazione e soddisfatta non possiamo esprimerci.

I Esercizio: scrivere un codice Octave che esegua il test diprimalita cinese.

Metodi indeterminati

I I metodi precedenti consentono di determinare la primalita delnumero n con certezza e consentono anche di determinarealmeno una fattorizzazione.

I Esistono dei criteri che non risolvono con certezza il problemadella primalita, ma che consentono in alcuni casi di escluderla.

I Tali metodi sono basati su condizioni necessarie di primalita,ma non sufficienti.

I I numeri che soddisfano alcuni criteri necessari di primalita manon suffienti di chiamano pseudo-primi

I Il metodo (gia visto) dalla primalita cinese e uno di questi: se2n 6= 1 (mod n) possiamo escludere che n sia primo, ma se larelazione e soddisfatta non possiamo esprimerci.

I Esercizio: scrivere un codice Octave che esegua il test diprimalita cinese.

Criterio di Eulero

I Anche questo criterio puo solo escludere la primalita, ma nongarantirla.

I Si basa sul piccolo teorema di Fermat.

I In realta, se per tutti gli a (non solo il 2) an1 = 1 (mod n) sipuo dire con certezza che n e primo [Bastano i numeri fino ad(n+1)/2].

I Nella realta questo sarebbe molto piu onerosocomputazionalmente del metodo di Eratostene (e perfinodellispezione diretta) e quindi si limita il test ad un insiemefinito di a. In tal modo il test garantisce una pseudoprimalita(puo solo escludere la primalita se siamo fortunati). In praticadiviene solo piu accurato del test cinese.

I Per un insieme selezionato di numeri a S , si verifica:

an12 = 1 (mod n)

Criterio di Eulero

I Anche questo criterio puo solo escludere la primalita, ma nongarantirla.

I Si basa sul piccolo teorema di Fermat.

I In realta, se per tutti gli a (non solo il 2) an1 = 1 (mod n) sipuo dire con certezza che n e primo [Bastano i numeri fino ad(n+1)/2].

I Nella realta questo sarebbe molto piu onerosocomputazionalmente del metodo di Eratostene (e perfinodellispezione diretta) e quindi si limita il test ad un insiemefinito di a. In tal modo il test garantisce una pseudoprimalita(puo solo escludere la primalita se siamo fortunati). In praticadiviene solo piu accurato del test cinese.

I Per un insieme selezionato di numeri a S , si verifica:

an12 = 1 (mod n)

Criterio di Eulero

I Anche questo criterio puo solo escludere la primalita, ma nongarantirla.

I Si basa sul piccolo teorema di Fermat.

I In realta, se per tutti gli a (non solo il 2) an1 = 1 (mod n) sipuo dire con certezza che n e primo [Bastano i numeri fino ad(n+1)/2].

I Nella realta questo sarebbe molto piu onerosocomputazionalmente del metodo di Eratostene (e perfinodellispezione diretta) e quindi si limita il test ad un insiemefinito di a. In tal modo il test garantisce una pseudoprimalita(puo solo escludere la primalita se siamo fortunati). In praticadiviene solo piu accurato del test cinese.

I Per un insieme selezionato di numeri a S , si verifica:

an12 = 1 (mod n)

Criterio di Eulero

I Anche questo criterio puo solo escludere la primalita, ma nongarantirla.

I Si basa sul piccolo teorema di Fermat.

I In realta, se per tutti gli a (non solo il 2) an1 = 1 (mod n) sipuo dire con certezza che n e primo [Bastano i numeri fino ad(n+1)/2].

I Nella realta questo sarebbe molto piu onerosocomputazionalmente del metodo di Eratostene (e perfinodellispezione diretta) e quindi si limita il test ad un insiemefinito di a. In tal modo il test garantisce una pseudoprimalita(puo solo escludere la primalita se siamo fortunati). In praticadiviene solo piu accurato del test cinese.

I Per un insieme selezionato di numeri a S , si verifica:

an12 = 1 (mod n)

Criterio di Eulero

I Anche questo criterio puo solo escludere la primalita, ma nongarantirla.

I Si basa sul piccolo teorema di Fermat.

I In realta, se per tutti gli a (non solo il 2) an1 = 1 (mod n) sipuo dire con certezza che n e primo [Bastano i numeri fino ad(n+1)/2].

I Nella realta questo sarebbe molto piu onerosocomputazionalmente del metodo di Eratostene (e perfinodellispezione diretta) e quindi si limita il test ad un insiemefinito di a. In tal modo il test garantisce una pseudoprimalita(puo solo escludere la primalita se siamo fortunati). In praticadiviene solo piu accurato del test cinese.

I Per un insieme selezionato di numeri a S , si verifica:

an12 = 1 (mod n)

Criteri basati sul piccolo teorema di Fermat

I Si possono scegliere a caso dei numeri ed eseguire il test diFermat su di essi. Chiameremo questo criterio Ispezionecasuale alla Fermat di dimensione m (m numero di valoritestati).

an1 1 ( mod n ).

I I numeri di Carmichael resistono a qualunque test di Fermat(esclusi i divisori dello zero cioe di n). Per definizione unnumero di Carmichael soddisfa le seguenti eguaglianze:

n : a < n : an a ( mod n ).

I Il piu piccolo numero di Carmichael e 341=11x31.

I Esercizio verificare con Octave che 341 e di Carmichael.Quanto fa 1131 e 3111 ? Che succede se a e un divisore di341?

Criteri basati sul piccolo teorema di Fermat

I Si possono scegliere a caso dei numeri ed eseguire il test diFermat su di essi. Chiameremo questo criterio Ispezionecasuale alla Fermat di dimensione m (m numero di valoritestati).

an1 1 ( mod n ).

I I numeri di Carmichael resistono a qualunque test di Fermat(esclusi i divisori dello zero cioe di n). Per definizione unnumero di Carmichael soddisfa le seguenti eguaglianze:

n : a < n : an a ( mod n ).

I Il piu piccolo numero di Carmichael e 341=11x31.

I Esercizio verificare con Octave che 341 e di Carmichael.Quanto fa 1131 e 3111 ? Che succede se a e un divisore di341?

Criteri basati sul piccolo teorema di Fermat

I Si possono scegliere a caso dei numeri ed eseguire il test diFermat su di essi. Chiameremo questo criterio Ispezionecasuale alla Fermat di dimensione m (m numero di valoritestati).

an1 1 ( mod n ).

I I numeri di Carmichael resistono a qualunque test di Fermat(esclusi i divisori dello zero cioe di n). Per definizione unnumero di Carmichael soddisfa le seguenti eguaglianze:

n : a < n : an a ( mod n ).

I Il piu piccolo numero di Carmichael e 341=11x31.

I Esercizio verificare con Octave che 341 e di Carmichael.Quanto fa 1131 e 3111 ? Che succede se a e un divisore di341?

Criteri basati sul piccolo teorema di Fermat

I Si possono scegliere a caso dei numeri ed eseguire il test diFermat su di essi. Chiameremo questo criterio Ispezionecasuale alla Fermat di dimensione m (m numero di valoritestati).

an1 1 ( mod n ).

I I numeri di Carmichael resistono a qualunque test di Fermat(esclusi i divisori dello zero cioe di n). Per definizione unnumero di Carmichael soddisfa le seguenti eguaglianze:

n : a < n : an a ( mod n ).

I Il piu piccolo numero di Carmichael e 341=11x31.

I Esercizio verificare con Octave che 341 e di Carmichael.Quanto fa 1131 e 3111 ? Che succede se a e un divisore di341?

Criteri basati sulle radici quadrate dellunitaI Esistono sempre due radici banali dellunita:{

12 1 (mod n),(n 1)2 = n2 2n + 1 1 (mod n);

I x2 = 1 equivale a x2 1 = 0. Se n e primo, Zn e un campo;(x 1)(x + 1) = 0 implica che uno dei due fattori sia nullo edunque le due soluzioni banali sono le uniche.

I Se n non e primo, possono esistere altre soluzioni. Inparticolare se n = pq (con p e q primi). x2 = 1 equivale (th.dei resti cinese) al sistema:{

x2 1 (mod p),x2 1 (mod q);

che a sua volta equivale a{x 1, p 1 (mod p),x 1, q 1 (mod q);

Criteri basati sulle radici quadrate dellunitaI Esistono sempre due radici banali dellunita:{

12 1 (mod n),(n 1)2 = n2 2n + 1 1 (mod n);

I x2 = 1 equivale a x2 1 = 0. Se n e primo, Zn e un campo;(x 1)(x + 1) = 0 implica che uno dei due fattori sia nullo edunque le due soluzioni banali sono le uniche.

I Se n non e primo, possono esistere altre soluzioni. Inparticolare se n = pq (con p e q primi). x2 = 1 equivale (th.dei resti cinese) al sistema:{

x2 1 (mod p),x2 1 (mod q);

che a sua volta equivale a{x 1, p 1 (mod p),x 1, q 1 (mod q);

Criteri basati sulle radici quadrate dellunitaI Esistono sempre due radici banali dellunita:{

12 1 (mod n),(n 1)2 = n2 2n + 1 1 (mod n);

I x2 = 1 equivale a x2 1 = 0. Se n e primo, Zn e un campo;(x 1)(x + 1) = 0 implica che uno dei due fattori sia nullo edunque le due soluzioni banali sono le uniche.

I Se n non e primo, possono esistere altre soluzioni. Inparticolare se n = pq (con p e q primi). x2 = 1 equivale (th.dei resti cinese) al sistema:{

x2 1 (mod p),x2 1 (mod q);

che a sua volta equivale a{x 1, p 1 (mod p),x 1, q 1 (mod q);

Le radici quadrate non banali dellunita

I Quindi ci sono quattro soluzioni distinte di cui due sono quellebanali:

{x 1 (mod p),x 1 (mod q);

{x p 1 (mod p),x q 1 (mod q);

e corrispindono alle soluzioni x = 1 e x = n 1 = pq 1. Mave ne sono altre due sono non banali:{

x 1 (mod p),x q 1 (mod q);

{x p 1 (mod p),x 1 (mod q).

I Conoscendo una delle due radici non banali:

x21 1 con 1 < x < n 1.I si ricava facilmente anche laltra (x2 = n x1):

x22 = (n x1)2 = n2 2nx1 + x21 1.

Le radici quadrate non banali dellunita

I Quindi ci sono quattro soluzioni distinte di cui due sono quellebanali:

{x 1 (mod p),x 1 (mod q);

{x p 1 (mod p),x q 1 (mod q);

e corrispindono alle soluzioni x = 1 e x = n 1 = pq 1. Mave ne sono altre due sono non banali:{

x 1 (mod p),x q 1 (mod q);

{x p 1 (mod p),x 1 (mod q).

I Conoscendo una delle due radici non banali:

x21 1 con 1 < x < n 1.

I si ricava facilmente anche laltra (x2 = n x1):

x22 = (n x1)2 = n2 2nx1 + x21 1.

Le radici quadrate non banali dellunita

I Quindi ci sono quattro soluzioni distinte di cui due sono quellebanali:

{x 1 (mod p),x 1 (mod q);

{x p 1 (mod p),x q 1 (mod q);

e corrispindono alle soluzioni x = 1 e x = n 1 = pq 1. Mave ne sono altre due sono non banali:{

x 1 (mod p),x q 1 (mod q);

{x p 1 (mod p),x 1 (mod q).

I Conoscendo una delle due radici non banali:

x21 1 con 1 < x < n 1.I si ricava facilmente anche laltra (x2 = n x1):

x22 = (n x1)2 = n2 2nx1 + x21 1.

Decomposizione tramite una radice quadrata dellunita

I Basta conoscere una radice quadrata non banale dellunita perdecomporre n:

x21 1 (x1 1)(x1 + 1) 0 (mod n).

I che in Z diviene:

(x1 1)(x1 + 1) = kn.

I Per il teorema dell unicita della decomposizione, uno deifattori x1 1 e multiplo di p e laltro di q.

I Quindi per calcolare p (o q) basta calcolare il massimocomune divisore tra x1 1 ed n.{

q = ((x1 1), n),p = ((x1 + 1), n).

Decomposizione tramite una radice quadrata dellunita

I Basta conoscere una radice quadrata non banale dellunita perdecomporre n:

x21 1 (x1 1)(x1 + 1) 0 (mod n).

I che in Z diviene:

(x1 1)(x1 + 1) = kn.

I Per il teorema dell unicita della decomposizione, uno deifattori x1 1 e multiplo di p e laltro di q.

I Quindi per calcolare p (o q) basta calcolare il massimocomune divisore tra x1 1 ed n.{

q = ((x1 1), n),p = ((x1 + 1), n).

Decomposizione tramite una radice quadrata dellunita

I Basta conoscere una radice quadrata non banale dellunita perdecomporre n:

x21 1 (x1 1)(x1 + 1) 0 (mod n).

I che in Z diviene:

(x1 1)(x1 + 1) = kn.

I Per il teorema dell unicita della decomposizione, uno deifattori x1 1 e multiplo di p e laltro di q.

I Quindi per calcolare p (o q) basta calcolare il massimocomune divisore tra x1 1 ed n.{

q = ((x1 1), n),p = ((x1 + 1), n).

Decomposizione tramite una radice quadrata dellunita

I Basta conoscere una radice quadrata non banale dellunita perdecomporre n:

x21 1 (x1 1)(x1 + 1) 0 (mod n).

I che in Z diviene:

(x1 1)(x1 + 1) = kn.

I Per il teorema dell unicita della decomposizione, uno deifattori x1 1 e multiplo di p e laltro di q.

I Quindi per calcolare p (o q) basta calcolare il massimocomune divisore tra x1 1 ed n.{

q = ((x1 1), n),p = ((x1 + 1), n).

Criteri basati sulle radici quadrate dellunita - cont

I Da quanto visto, e possibile definire un criterio dipseudoprimalita con i seguenti passi:

I Si scelgono a caso m numeri maggiori di n/2 e si elevano alquadrato (analogamente al metodo di Fermat).

I Se nessuno dei numeri e congruo allunita il numero epseudoprimo.

I Se scopriamo una radice dellunita possiamo decomporre n equindi decifrare RSA.

I Possiamo anche combinare i due metodi. Si eleva k alquadrato, poi se e congruo allunita o se differisce da n per unquadrato perfetto, il numero n e scomposto.

Criteri basati sulle radici quadrate dellunita - cont

I Da quanto visto, e possibile definire un criterio dipseudoprimalita con i seguenti passi:

I Si scelgono a caso m numeri maggiori di n/2 e si elevano alquadrato (analogamente al metodo di Fermat).

I Se nessuno dei numeri e congruo allunita il numero epseudoprimo.

I Se scopriamo una radice dellunita possiamo decomporre n equindi decifrare RSA.

I Possiamo anche combinare i due metodi. Si eleva k alquadrato, poi se e congruo allunita o se differisce da n per unquadrato perfetto, il numero n e scomposto.

Criteri basati sulle radici quadrate dellunita - cont

I Da quanto visto, e possibile definire un criterio dipseudoprimalita con i seguenti passi:

I Si scelgono a caso m numeri maggiori di n/2 e si elevano alquadrato (analogamente al metodo di Fermat).

I Se nessuno dei numeri e congruo allunita il numero epseudoprimo.

I Se scopriamo una radice dellunita possiamo decomporre n equindi decifrare RSA.

I Possiamo anche combinare i due metodi. Si eleva k alquadrato, poi se e congruo allunita o se differisce da n per unquadrato perfetto, il numero n e scomposto.

Criteri basati sulle radici quadrate dellunita - cont

I Da quanto visto, e possibile definire un criterio dipseudoprimalita con i seguenti passi:

I Si scelgono a caso m numeri maggiori di n/2 e si elevano alquadrato (analogamente al metodo di Fermat).

I Se nessuno dei numeri e congruo allunita il numero epseudoprimo.

I Se scopriamo una radice dellunita possiamo decomporre n equindi decifrare RSA.

I Possiamo anche combinare i due metodi. Si eleva k alquadrato, poi se e congruo allunita o se differisce da n per unquadrato perfetto, il numero n e scomposto.

Criteri basati sulle radici quadrate dellunita - cont

I Da quanto visto, e possibile definire un criterio dipseudoprimalita con i seguenti passi:

I Si scelgono a caso m numeri maggiori di n/2 e si elevano alquadrato (analogamente al metodo di Fermat).

I Se nessuno dei numeri e congruo allunita il numero epseudoprimo.

I Se scopriamo una radice dellunita possiamo decomporre n equindi decifrare RSA.

I Possiamo anche combinare i due metodi. Si eleva k alquadrato, poi se e congruo allunita o se differisce da n per unquadrato perfetto, il numero n e scomposto.

Soluzione esercizio Spia

I f(12)=6, f(10)=5, f(8)=4, f(6)=3, f(4)=7.

I La soluzione piu semplice e contare il numero di letterenecessario a scrivere il numero gridato dalla sentinella.

I dodici ha 6 lettere; dieci ne ha 5, otto ne ha quattro, sei ne hatre; ma quattro ne ha 7.

I Ovviamente esistono infiniti algoritmi che risolvono ilproblema, anche con algoritmi polinomiali (teorema diLagrange). Ma questo e sufficientemente semplice da esserericordato e calcolato rapidamente.

I Lesempio della spia mostra anche come un algoritmoapparentemente complicato (contare il numreo di lettere checompongono il numero) possa condurre, in casi particolari, asoluzioni semplici.

Soluzione esercizio Spia

I f(12)=6, f(10)=5, f(8)=4, f(6)=3, f(4)=7.

I La soluzione piu semplice e contare il numero di letterenecessario a scrivere il numero gridato dalla sentinella.

I dodici ha 6 lettere; dieci ne ha 5, otto ne ha quattro, sei ne hatre; ma quattro ne ha 7.

I Ovviamente esistono infiniti algoritmi che risolvono ilproblema, anche con algoritmi polinomiali (teorema diLagrange). Ma questo e sufficientemente semplice da esserericordato e calcolato rapidamente.

I Lesempio della spia mostra anche come un algoritmoapparentemente complicato (contare il numreo di lettere checompongono il numero) possa condurre, in casi particolari, asoluzioni semplici.

Soluzione esercizio Spia

I f(12)=6, f(10)=5, f(8)=4, f(6)=3, f(4)=7.

I La soluzione piu semplice e contare il numero di letterenecessario a scrivere il numero gridato dalla sentinella.

I dodici ha 6 lettere; dieci ne ha 5, otto ne ha quattro, sei ne hatre; ma quattro ne ha 7.

I Ovviamente esistono infiniti algoritmi che risolvono ilproblema, anche con algoritmi polinomiali (teorema diLagrange). Ma questo e sufficientemente semplice da esserericordato e calcolato rapidamente.

I Lesempio della spia mostra anche come un algoritmoapparentemente complicato (contare il numreo di lettere checompongono il numero) possa condurre, in casi particolari, asoluzioni semplici.

Soluzione esercizio Spia

I f(12)=6, f(10)=5, f(8)=4, f(6)=3, f(4)=7.

I La soluzione piu semplice e contare il numero di letterenecessario a scrivere il numero gridato dalla sentinella.

I dodici ha 6 lettere; dieci ne ha 5, otto ne ha quattro, sei ne hatre; ma quattro ne ha 7.

I Ovviamente esistono infiniti algoritmi che risolvono ilproblema, anche con algoritmi polinomiali (teorema diLagrange). Ma questo e sufficientemente semplice da esserericordato e calcolato rapidamente.

I Lesempio della spia mostra anche come un algoritmoapparentemente complicato (contare il numreo di lettere checompongono il numero) possa condurre, in casi particolari, asoluzioni semplici.

Soluzione esercizio Spia

I f(12)=6, f(10)=5, f(8)=4, f(6)=3, f(4)=7.

I La soluzione piu semplice e contare il numero di letterenecessario a scrivere il numero gridato dalla sentinella.

I dodici ha 6 lettere; dieci ne ha 5, otto ne ha quattro, sei ne hatre; ma quattro ne ha 7.

I Ovviamente esistono infiniti algoritmi che risolvono ilproblema, anche con algoritmi polinomiali (teorema diLagrange). Ma questo e sufficientemente semplice da esserericordato e calcolato rapidamente.

I Lesempio della spia mostra anche come un algoritmoapparentemente complicato (contare il numreo di lettere checompongono il numero) possa condurre, in casi particolari, asoluzioni semplici.

Nuovi esercizi

I Scrivere un codice Octave che esegua i crivello di Eratostene.

I Scrivere codice Octave che calcola una potenza di un numero(modulo n) nel minor numero di passi possibile.

I Scrivere un codice che verifichi la condizione dipseudoprimalita di Fermat con i primi n1/4 numeri primi.

Nuovi esercizi

I Scrivere un codice Octave che esegua i crivello di Eratostene.

I Scrivere codice Octave che calcola una potenza di un numero(modulo n) nel minor numero di passi possibile.

I Scrivere un codice che verifichi la condizione dipseudoprimalita di Fermat con i primi n1/4 numeri primi.

Nuovi esercizi

I Scrivere un codice Octave che esegua i crivello di Eratostene.

I Scrivere codice Octave che calcola una potenza di un numero(modulo n) nel minor numero di passi possibile.

I Scrivere un codice che verifichi la condizione dipseudoprimalita di Fermat con i primi n1/4 numeri primi.

Metodi EsattiMetodi indeterminatiEsercizi