13. HASH: limpronta digitale dellinformazione
un algoritmo matematico che mappa dei dati di lunghezza arbitraria
(messaggio) in una stringa binaria di dimensione fissa chiamata valore
di hash
Il gatto
Il gatto 竪 sotto
la sedia
Il gatto 竪
sopra la sedia
007bd863e59df4f300700
b75741f0e4bcd3307b3
4f7cb5243826ad75a9da0
7b8d0292b6a0b34282d
d18ab72682eea2d6bc310
0cc6c76137bae111d00
messaggio hash
X Egidio Casati 11-2017
14. HASH: limpronta digitale dellinformazione
4 propriet fondamentali:
1. statisticamente improbabile che due messaggi differenti abbiano
lo stesso hash (collisione improbabile);
2. Lo stesso messaggio si traduce sempre nello stesso hash;
3. Calcolare lhash da un qualunque tipo di dato e semplice e veloce;
4. estremamente difficile generare un messaggio a partire dal suo
valore hash se non provando tutti i messaggi possibili
(computazionalmente impraticabile)
E vero? Verifichiamo
Egidio Casati 11-2017
16. Crittografia
la sicurezza di un sistema crittografico non deve dipendere dal tenere
celato lalgoritmo ma solo dal tenere celata la chiave
Auguste Kerchoffs (1880)
Vuoi una
pizza?
007bd863e59df4f300700
b75741f0e4bcd3307b3
Messaggio in chiaro Messaggio cifratoAlgoritmo
Chiave
Egidio Casati 11-2017
17. Crittografia Simmetrica
Un messaggio in chiaro viene trasformato
utilizzando una chiave e un algoritmo. La
stessa chiave, applicata al messaggio cifrato
permette, tramite il medesimo algoritmo di
ottenere il messaggio originale in chiaro
Ho finito gli
spinaci!
Messaggio
in chiaro
Messaggio cifrato
jlkaYDP嘆NZ嘆MK嘆au9嘆xql
nxaHPO嘆Lqwhdox/oqw
Ho finito gli
spinaci!
Messaggio
in chiaro
Egidio Casati 11-2017
18. Distribuzione delle chiavi simmetriche: un bel
problema
Per n utenti occorrono
n*(n-1)/2 chiavi
Ad esempio:
per 4 utenti servono 6 chiavi
Per 1000 utenti servono
499500 chiavi
Le chiavi inoltre devono
essere distribuite in modo
sicuro, al riparo da Bruto!
Egidio Casati 11-2017
19. Infrasruttura a chiave pubblica (PKI)
Ciascun utente possiede:
Una chiave pubblica (che pu嘆
divulgare senza remore)
Una chiave privata (che deve
proteggere assolutamente)
Ci嘆 che una delle due chiavi
cifra, solo la gemella pu嘆
decifrare.
Per N utenti sono sufficienti
N coppie di chiavi
Egidio Casati 11-2017
20. Crittografia Asimmetrica e PKI
Ci嘆 che viene cifrato con una chiave, pu嘆 essere decifrato solo con la sua gemella
Tutti possono cifrare un messaggio per Popeye, utilizzando la sua chiave pubblica
Solo Popeye pu嘆 decifrare I messaggi tramite la sua chiave privata
Ho finito gli
spinaci!
jlkaYDP嘆NZ嘆MK嘆au9嘆xql
nxaHPO嘆Lqwhdox/oqw
Ho finito gli
spinaci!
X
Chiave pubblica di Popeye
Chiave privata Popeye
Egidio Casati 11-2017
21. Dalla Cifratura alla Firma elettronica di un
messaggio
La firma elettronica non 竪 la foto dellautografo!
Se Olivia cifra un messaggio con la propria chiave privata, tutti sono in grado di decifrarlo.
La riservatezza quindi non 竪 garantita, ma la paternit del messaggio s狸, dato che solo
Olivia controlla la propria chiave privata.
Il mio colore
preferito 竪 il blu!
jlkaYDP嘆NZ嘆MK嘆au9嘆xqlnxa
HPO嘆Lqwhdox/oqw
Chiave pubblica di Olivia
Chiave privata Olivia
Il mio colore
preferito 竪 il blu!
Il mio colore
preferito 竪 il blu!
Egidio Casati 11-2017
22. Firma Elettronica delle transazioni Bitcoin
La firma elettronica garantisce:
La paternit del messaggio (solo Olivia, possedendo la chiave privata, pu嘆
firmare il messaggio)
Lintegrit del messaggio (se la chiave pubblica decifra il messaggio, questa
竪 la prova che non 竪 stato modificato)
In Bitcoin, la non reversibilit della transazione (una volta inviata la
transazione ala rete, non 竪 possibile annullarla)
La firma elettronica NON garantisce la riservatezza (tutti possono vedere il
mio conto in BlockChain ammesso che conoscano I miei indirizzi)
Egidio Casati 11-2017
24. I Wallet sono un oggetto internamente
complesso
Seed = 12/24 Parole che
permettono di gererare (e
rigenerare alloccorrenza)
lintero wallet.
Tutte le chiavi sono derivate
dal seed
Come best practice:
Ogni transazione viene firmata
utilizzando (una sola volta) una
distinta coppia di chiavi
Un indirizzo Btc non viene pi湛
utilizzato dopo che la relativa
chiave privata 竪 stata utilizzata
per spendere Btc
Egidio Casati 11-2017
26. Seed = Bitcoin
Seed = 12/24 Parole che permettono di gererare
(e rigenerare alloccorrenza) lintero wallet.
Tutte le coppie di chiavi sono derivate dal seed
Ogni transazione viene firmata utilizzando (una
sola volta) una distinta coppia di chiavi
Lindirizzo Bitcoin quindi cambia ad ogni
transazione
Perdere il controllo delle proprie chiavi
significa perdere I propri Bitcoin
Egidio Casati 11-2017
27. Limportanza del SEED (Seme)
Tramite lo stesso SEED io stesso e chiunque altro pu嘆 SPENDERE I miei
Bitcoin.
possibile creare diversi Wallet con iI medesimo SEED. Ciascun Wallet
sar in grado di SPENDERE I Bitcoin associati alla chiave Pubblica.
Egidio Casati 11-2017
28. Transazione bitcoin
Effettuare una transazione in Bitcoin non 竪 molto diverso dal firmare
un assegno non trasferibile
Chiave pubblica (o indirizzo Bitcoin)
di Luigi Bianchi
Firma effettuata tramite chiave privata
di Mario Rossi
Egidio Casati 11-2017
29. Blockchain: il registro delle transazioni
Vediamo una simulazione:
https://anders.com/blockchain/
previous block hash
Current block hash
{Transactions}
Block header: nonce
Block number
previous block hash
Current block hash
{Transactions}
Block header: nonce
Block number
previous block hash
Current block hash
{Transactions}
Block header: nonce
Block number
utxo
Address 1: 0.323
Address 2: 2.324
Address 3: 11.2343
Address 4: 13,,7342
Address N: 23,,3423
Egidio Casati 11-2017
35. Conclusioni: Cosa (non) 竪 Bitcoin
come Il Denaro Contante
come lOro
come una Banca
come il Denaro del Monopoli
come GIT
come BitTorrent
come la libert di parola
il magico Denaro di Internet
Non 竪 come il Denaro Contante
Non 竪 come lOro
Non 竪 come una Banca
Non 竪 come il Denaro del Monopoli
Non 竪 come GIT
Non 竪 come BitTorrent
Non 竪 come la libert di parola
Si, 竪 proprio il magico Denaro di
Internet
Cit. http://blog.oleganza.com/post/85111558553/bitcoin-is-like