Matematica nascosta, qualche esempio di matematica che usiamo

Transcript

Matematica nascosta, qualche esempio di matematica che usiamo
Liceo Michelangelo, 5 novembre 2010
Matematica
nascosta
Qualche esempio di
matematica che usiamo tutti
i giorni senza saperlo
Riccardo Ricci, Università di Firenze
Dipartimento di Matematica “U. Dini”
Un copilota
intelligente
ESP acronimo per Electronic Stability Program
Il segreto dell'ESP è un computer
che controlla costantemente
dei sensori (accelerometri).
Quando rileva il pericolo di
ribaltamento reagisce agendo
selettivamente su uno o più freni
delle ruote anteriori o posteriori,
riducento o aumentendo la spinta
del motore.
1997 M. Classe A
Fotografia digitale
Al posto della pellicola c’è un SENSORE che
reagisce alla luce
e trasforma il segnale luminoso in segnale
elettrico
che viene poi convertito in un formato
“digitale”
(una serie di 1 e 0, detti bit)
PIXEL
alla base della codifica digitale c’è il
pixel che registra le informazioni
provenienti da tre sensori per i tre
colori fondamentali (rosso verde e
giallo)
ogni colore viene registrato con una
certa intensità
p.e. 8 bit per colore (immagine a 24
bit)
RGB (red-green-blue)
Compressione dei dati
i dati raccolti nei pixel (immagine raw)
occupano una enorme quantità di
memoria e sono difficilmente
trasferibili (immagini in Internet)
(una fotocamera media odierna
associa 10 Megapixel, ovvero
1048578 pixel, a ogni foto)
occorre COMPRIMERE questi dati
la matematica in azione
il formato più noto di compressione
per le foto è il formato JPEG, da Joint
Photographic Experts Group, nome
del comitato che definì lo standard
sfrutta una tecnica di rappresentazione
matematica delle “funzioni” in termini di funzioni
fondamentali (Analisi di Fourier, in questo caso
le funzioni sono dei coseni) che rileva le
variazioni spaziali delle informazione e permette
di eliminare le “ripetizioni”
inoltre si “buttano via” le informazioni a cui l’organo
della vista è meno sensibile.
JPEG
si ha quindi un doppio processo:
Immagazzinamento dell’immagine
tramite la compressione
immagine raw
file .jpeg
(trasformata discreta del coseno, riordinamento dei dati per
“importanza” ,
eliminazione dei dati “poco importanti”)
Visualizzazione dell’immagine
tramite decompressione dei dati
file .jpeg
immagine sullo
schermo
(anti-trasformata discreta del coseno)
livelli di compressione
10% 3,2 Kb
90% 30,2 Kb
50% 6,7 Kb
100% 87,7 Kb
c’è poca differenza visiva tra queste due (ma molta di dimensione)
i terrorismo matematico! un esempio di trasformata discreta del coseno bidimen
confronto tra formati
jpeg
png (un formato con minor perdita di informazioni, specialmente
nei contorni)
MP3 e dintorni
Anche la trasformazione della musica in formato digitale è basata
sull'Analisi di Fourier (o qualche sua variante moderna, wavelet, ..)
Il processo è più complesso in quanto il suono è un fenomeno
intrinsecamente “analogico” (vibrazioni dell'aria, della membrana
dell'orecchio, etc) mentre la vista è “quasi” digitale (nell'occhio c'è
una sorta di matrice di ricettori simili ai pixel)
All'origine della moderna musica digitale c'è la codifica del suono per
lo standard dei CD (campionamento 44.1 Khz, ovvero 44100 “saggi”
al secondo, con una risoluzione di 16-bit per canale).
Anche qui abbiamo una quantità enorme di dati (un CD registra 80
minuti di musica in 700Mb di dati) e il formato è poco adatto alla
circolazione della musica in Internet.
Sono così nati gli standard MP3, Ogg, etc. per la compressione di
questi dati, basata principalmente su studi di “psicoacustica” per
individuare quali componenti del segnale possono essere eliminate.
La computer graphics
(ovvero geometria proiettiva + analisi numerica + equazioni
integrali)
Costruzione delle
superfici
Una griglia di punti e delle funzioni che definiscono le superfici
sopra la griglia in modo da garantire certe proprietà
geometriche il cui equivalente visivo è la creazione di una
superficie “liscia”
Le funzioni sono
note con il nome
di NURSB
Non Uniform
Rational B-Splines
Nascondere le parti che
non si vedono
Questo è relativamente semplice per
figure “convesse” (l'algoritmo si
chiama backface culling)
La superficie è rimossa se la normale
(esterna) e la direzione dello sguardo
formano un angolo acuto.
Rimozione di altre parti
Per oggetti non convessi si pone il problema delle
parti che vengono nascoste da altre parti
dell'oggetto
Lo stesso problema si ha se una parte dell'oggetto è
nascosta da un altro oggetto
In questo caso si usa l'algoritmo detto “del pittore”
che consiste nel rappresentare prima gli oggetti
più lontani e poi “dipingendoci sopra” quelli più
vicini (Z-sorting)
Si deve decidere “matematicamente” quali sono gli
oggetti “più lontani”!
Ora bisogna “fare luce”
Trasmissione dati e
numeri primi
Un problema fondamentale oggi è la
trasmissione (tramite Internet) di
informazioni che devono restare
segrete a tutti tranne che al
destinatario
Ovviamente è un vecchio problema,
una volta di quasi esclusivo interesse
militare e diplomatico.
La disciplina che se ne occupa è nota
con il nome di CRITTOGRAFIA
Nell'approccio classico chi invia il
messaggio e chi lo riceve possiedono
entrambi un codice comune (chiave)
che funziona sia per la codifica che
per la decodifica del messaggio
(crittografia simmetrica)
La “chiave” può essere sia “astratta”
(p.e. un algoritmo matematico) che
“fisica” (una macchina) o un
combinazione delle due
Cifrario di Cesare
Alfabeto
abcdefghilmnopqrstuvz
Una trasposizione ciclica delle lettere dell'alfabeto (di tre posizioni)
Alfabeto “cifrato”
defghilmnopqrstuvzabc
La macchina ENIGMA usata dai tedeschi durante
La seconda guerra mondiale e “decodificata”
dall'Intelligence inglese (tra cui Alan Turing)
La crittografia simmetrica non
basta!
La crittografia simmetrica ha un difetto
fondamentale: per farla funzionare si deve PRIMA
condividere la chiave.
Questo va bene per situazioni “istituzionalizzate”
(p.e. lo scambio di messaggio tra uno stato e le
proprie ambasciate) me non funziona per i
“rapporti occasionali”, come può essere il
commercio elettronico: non è pensabile che chi fa
acquisti in Internet debba prima procurarsi
“segretamente” una chiave per cifrare lo scambio
di informazioni con il venditore.
Abbiamo quindi bisogno di un sistema cifratura che
permetta di comunicare la chiave di cifratura e
La crittografia a chiave
pubblica
Il problema viene risolto negli anni '70 con
l'introduzione della la crittografia asimettrica,
dove la chiave di codifica e di decodifica sono
diverse.
Si arriva a definire il concetto di chiave “pubblica” :
la chiave di codifica può essere comunicata
pubblicamente, ma la decodifica del messaggio
resta possibile solo per chi possiede la chiave di
decodifica.
Da questo principio nasce la RSA
(dalle iniziali di Rivest, Shamir e
Il principio base è una semplice
osservazione sulla pratica
matematica:
è “facile” moltiplicare due numeri
(anche grandi)
è difficile trovare i divisori
(fattorizzare) di un numero grande
(soprattutto se anche loro sono
Ingredienti della
RSA
L'ingrediente matematico
fondamentale è l'algebra
modulare, cioè quella dei “resti”
delle divisioni
Vediamo quelle per i resti “modulo” 3
+
0
1
2
0
0
1
2
1
1
2
0
2
2
0
1
*
1
2
1
1
2
2
2
1
3 è un caso “speciale”, la
+
0
1
2
3
0
0
1
2
3
1
1
2
3
0
2
2
3
0
1
3
3
0
1
2
*
1
2
3
1
1
2
3
2
2
0
2
3
3
2
1
Tabellina del 4: notare che c'è un “divisore dello zero”
Come funziona la RSA:
Immaginiamo che A debba spedire un messaggio segreto a B.
Occorrono i seguenti passaggi:
B sceglie due numeri primi molto grandi (per esempio da 300
cifre) e li moltiplica con il suo computer (impiegando meno
di un secondo).
B invia il numero che ha ottenuto ad A. Chiunque può vedere
questo numero.
A usa questo numero per cifrare il messaggio
A manda il messaggio cifrato a B, chiunque può vederlo ma
non decifrarlo
B riceve il messaggio e utilizzando i due fattori primi che
solo lui conosceva lo decifra.
A e B hanno impiegato pochi secondi a cifrare e decifrare, ma
chiunque avesse intercettato le loro comunicazioni
impiegherebbe troppo tempo per scoprire i due fattori
primi, con cui si può decifrare il messaggio.
In realtà questo sistema non è così semplice e per trasmettere
grandi quantità di dati occorre molto tempo, quindi A e B si
L'RSA in matematica
1)
Si scelgono due numeri p e q primi, diversi tra loro e
grandi.
2)
si calcola n=p*q , detto modulo
3)
si sceglie un numero e (esponente pubblico) coprimo e più
piccolo del prodotto (p-1)*(q-1)
4)
si calcola il numero d tale che e*d ≡1 mod (p-1)*(q-1) (cioè
il resto di e*d diviso (p-1)*(q-1) fa 1)
La coppia di numeri (n,e) sarà la chiave pubblica, mentre la
coppia (n,d) la chiave privata
La forza di questa cifratura sta nel fatto che per calcolare d
conoscendo e NON basta conoscere n, dobbiamo
conoscere (p-1) e (q-1)
Il messaggio (sotto forma di un numero m ), viene
codificato tramite l’operazione
c = m^e mod(n)
il simbolo ^ sta a indicare l’elevamento a potenza
e decodificato tramite l’operazione
c^d = m^(ed) =m^1 mod(n)
nota che se m è minore di n allora m mod (n) è proprio m
Detto così sembra un mistero! In realtà si può dimostrare tutto
abbastanza facilmente usando due risultati classici di algebra
modulare:
il piccolo teorema di Fermat e il teorema cinese del resto.
Esempio
p=3, q=11 (p-1)*(q-1)=20
n=p*q=33
Possiamo scegliere e =7 che non ha fattori comuni con
20, avremo
d = 3 (infatti d*e =1 mod(20) )
(33,7) chiave pubblica, (33,3) chiave privata
Messaggio m =15
c = m^e mod (n) = 15^7 mod (33) = 27 messaggio
codificato
m = c^d mod (n) = 27^3 mod (33) = 15 messaggio
decodificato