Return to Blowfish ( Edit)
Uni.Blowfish History
Hide minor edits - Show changes to output
Changed line 19 from:
%lframe%Attach:schemablowfish.png|'''Immagine presa da wikipedia...'''
to:
%lframe%Attach:Blowfish.png|'''Un semplice schema di Blowfish'''
Added lines 37-38:
Così come per il [[DES]], è possibile dimostrare che la decrittografia in effetti funziona per tornare ai blocchi originali a partire dai blocchi crittati con le chiavi schedulate nel giusto ordine. Un consiglio è quello di provare a farlo manualmente, visto che si tratta di un esercizio dei compiti:)
Added lines 40-42:
!!Nota di colore Nella serie televisiva '''24''', viene citato Blowfish, e immediatamente cercano di craccarlo, dicendo che loro hanno un algoritmo '''proprietario''' per romperlo: PROVARE TUTTE LE PASSWORD!:D
Added lines 32-37:
La '''decrittografia''' è identica, ma le chiavi sono schedulate in ordine inverso. In particolare, le chiavi vanno da 18 a 3, per ognuna delle 16 fasi "standard". Poi, il blocco di sinistra viene XORato con la chiave P'_1_' e quello di destra con la chiave P'_2_': * crittografia: 1, 2, ...16, 18, 17 * decrittografia: 18, 17, ... 3, 1, 2
'''OCIO''': l'immagine '''va sostituita''' perché poco felice, non si capisce bene!
Changed line 19 from:
%lframe%attach:schemablowfish.png|'''Immagine presa da wikipedia...'''
to:
%lframe%Attach:schemablowfish.png|'''Immagine presa da wikipedia...'''
Added lines 1-33:
(:title Blowfish:) %titolo%''':: Blowfish ::'''
[[Torna alla pagina di Crittografia -> Crittografia]]
!!Che cos'è Blowfish è un cifrario a blocchi inventato nel 1993 e ''libero da brevetti'', quindi utilizzabile da chiunque in qualunque luogo della terra. Non è conosciuta una crittanalisi degna per Blowfish.\\ Usa una [[rete di Feistel -> DES]], anche se in una versione leggermente diversa rispetto a quella usata per il [[DES]].
!!Caratteristiche * Blocco = 64 bit * Chiave = da 32 a 448 bit * Sottochiavi = 18 * Fasi = 16
La cosa interessante è che le S-Box non sono predeterminate: esse vengono calcolate a partire dalla chiave. Infatti, per ogni chiave nuova, l'algoritmo Blowfish stesso viene eseguito 521 volte per riempire l'array delle sottochiavi e l'array delle S-Box. Per calcolare le sottochiavi e le S-Box, si inizializzano gli array con i numeri decimali di π.
!!Come funziona %lframe%attach:schemablowfish.png|'''Immagine presa da wikipedia...'''
Come vedete, il blocco LE'_0_' viene XORato con la sottochiave, ed infilato nella funzione F. La funzione F fa uso delle S-Box, e il risultato della funzione F viene a sua volta XORato con il blocco RE'_0_'.\\ In questo modo, tutti e due i blocchi vengono modificati in ogni fase, mentre nella [[rete di Feistel normale -> DES]] un blocco finiva direttamente nella fase successiva.
Si può scrivere la '''crittografia''' di Blowfish in questo modo:
for (i = 1; i < 16: i++) { RE'_i_' = LE'_i-1_' XOR P'_i-1_' LE'_i_' = RE'_i-1_' XOR RE'_i_' } LE'_17_' = RE'_16_' XOR P'_18_' RE'_17_' = LE'_16_' XOR P'_17_'
[[Torna alla pagina di Crittografia -> Crittografia]]
|