Corso di Crittografia Prof. Dario Catalano. Advanced Encryption Standard

Documenti analoghi
Histórico e criação do acordo TRIPS/OMC

Il formato BITMAP. Introduzione. Il formato BITMAP

Le tossicodipendenze in Canton Ticino

Il diritto penitenziario in canton Berna

Responsabilidade Civil do Médico no Tocante à Culpa Médica e à Liquidação dos Danos

Anche il nascituro e i suoi fratelli hanno diritto al risarcimento dei danni causati dall omessa diagnosi di malformazioni congenite


Servizio ISEE Invio comandi alla carta

Report proprietà CAdES [ProtocolloDintesaAmbientiConfinatiINAILRegionePuglia...

Recurso especial: Análise do Erro na Valoração das Provas

Os novos direitos da empregada doméstica

Direito do Turismo: Legislação específica aplicada

Droghe, proibizionismo e prevenzione in kantonappenzell ausserrhoden

José Geraldo da Fonseca, Efeitos Jurídicos da Eleição do Empregado a Cargo de Diretor da Empresa

Converte una chiave di al più 14 word a 32 bit (K-array) in un array di 18 sottochiavi a 32 bit (P-array) Genera 4 S-box, ognuna con 256 word a 32 bit

I SISTEMI DI NUMERAZIONE (esercizi svolti)

Tar Campania, Napoli, n. 873 ISSN Pubblicato dal 11/03/2010

! La crittoanalisi è invece la scienza che cerca di aggirare o superare le protezioni crittografiche, accedendo alle informazioni protette

BLOWFISH. Introduzione Algoritmo. Prestazioni Cryptanalysis of Vaundenay. Egizio Raffaele

SHA %&'(& lunghezza arbitraria. 160 bit

Gruppi, Anelli, Campi

soluzione in 7 step Es n 221

Cap. OPERE DA LATTONIERE

Fondamenti di Informatica

Mutui e conti correnti in corso e tassi di interesse usurari. Torna in auge la vexata questio dellўїusurarietё sopravvenuta!

Corso di Crittografia Prof. Dario Catalano. Cifrari Asimmetrici: Il cifrario Paillier

Italia e Polonia: un'analisi comparata di diritto commerciale

Note di economia politica

CRITTOGRAFIA 2014/15 Appello del 13 gennaio Nome: Cognome: Matricola:

Corso di Crittografia Prof. Dario Catalano. Firme Digitali

!" #$%$&'(& )*('+,+ *(-. /(0+12'2). 3+#4%.,'56+' /(0+12'(& #2'9 :. ;. /(0+12'9

IPSSAR "PIETRO PIAZZA" - PALERMO Orario provvisorio dal 06/10/ BB

Differenza in punti percentuali 25,0 20,0 15,0 10,0 5,0 0,0 -5,0 -10,0 -15,0 -20,0. B3_a. A5_f. B3_d. B3_b. A5_i. A5_a. A5_e. A5_h. A5_d. A5_b.

Rivola F. - Manucci A. [1:0] Bruschi M. - Zavatta T. [0:1] Rossi C. - Evengelisti F. [0:1] Gasperini G. - Giorgi S Turno 1 Partite del 21/11/2008

STRUTTURE ISOSTATICHE REAZIONI VINCOLARI ED AZIONI INTERNE

ISSN Pubblicato dal 27/12/2013

CALCOLO COMBIN I A N T A O T RIO

CALCOLO COMBINATORIO

Tar Lazio, Roma, n ISSN Pubblicato dal 25/02/2010

CAMPIONE DELL URSS MKKKKKKKKN PLLLLLLLLO

Forme Normali. Forma normale di Chomsky. E caratterizzata da regole di due tipi. A! BC dove A, B, C $ V N A! a con a $ V T. Forma normale di Greibach

Forma Normale di Chomsky

DISPLAY REMOTO PILOTATO DALLA SERIALE. LCD_SERv10

APPLICAZIONI LINEARI

Stream cipher. Cifrari simmetrici. Stream cipher. Stream cipher. I cifrari simmetrici possono essere:! Cifrari a blocchi: !

Capitolo 8 La sicurezza nelle reti

Cammini minimi fra tutte le coppie

CRITTOGRAFIA SIMMETRICA: IL SISTEMA AES

Funzioni di hash sicure: MD5 e SHA-1

La mediazione fiscale obbligatoria ex art. 17-bis D. Lgs. 546/92

Laboratorio di Programmazione I Compitino (Vers. C)

Progetto Matematica in Rete - Geometria euclidea - Triangoli - I triangoli

$7'2*2!!1! < )'#()88*1'7!3*%(=' *7)'1*&3*1 *((!<!1 -'!3*('!() '**>!13/! 7!!1!!)'!!)!,3*1!17'?"18!'7*-'-('!3788''!!)'

A B AC D EFA B C BF F D A AA D A B E C B DD A C CC A B A E A A A C BF F A BACDB EDF BA E F B D AC F B EAF A B ABFD D ED DF BA FF B D D ABFD D ED

Il campionamento statistico. prof. C.Guida

Espressioni e Comandi

Aritmetica in Floating Point

!"### "$ " Applicazioni. Autenticità del messaggio M Integrità del messaggio M. Stelvio Cimato DTI Università di Milano, Polo di Crema

Ottimizzazione Combinatoria

Corso di Geometria BIAR, BSIR Esercizi 2: soluzioni

(G, ) un gruppo moltiplicativo di ordine n l ordine di un elemento g G, o(g), è il minimo intero positivo m tale che g m = 1

TABELLA CODICI ALT CARATTERI SIMBOLI NUMERI SEGNI FORME OMBRE DECORATIVI

Altri cifrari a blocchi

In molte applicazioni sorge il problema di sapere in quanti modi possibili si può presentare un certo fenomeno.

!"#$!%#&'(')* )!&+#+#&,#)(!-#.'(')"',#+#&-# &-'"/'( #( 0',-#&'!)1 /!"%#!,'02 -#(' )!)+!%#&'(' )# ('!!) * + % ',- ). +!! / (!) ' ' *0!

è un parallelogrammo Dimostrazione Per dimostrare che AA 1 BB 1 è un parallelogrammo occorre dimostrare che ha i lati opposti paralleli, cioè che:

Corso di Network Security a.a. 2012/2013. Soluzione dei quesiti sulla prima parte del corso

Ambiguità delle parole. Ambiguità. Omografia e ambiguità. Ambiguità grammaticale. Le lingue sono, per loro natura ambigue e sfumate:

RETI DI CALCOLATORI. Crittografia. La crittografia

Corso di Matematica per la Chimica

Esercitazioni di Algebra e Geometria

Tempo e spazio di calcolo (continua)

Precorso di Matematica

INFOSTAT Piattaforma per la raccolta delle informazioni MANUALE UTENTE

ALCUNE LINEE GUIDA PER LA DIMOSTRAZIONE DEI TEOREMI

Insegnamento Informatica CdS Scienze Giuridiche

Capire gli ECM/EMM - Seconda Edizione -

Note per il corso di Geometria e algebra lineare Corso di laurea in Ing. Elettronica e delle Telecomunicazioni

CIG Oggetto Lotto Importo C6 LOTTO 1 - AGO DI VERRES MONOUSO STERILE 3.600,00

Ottimizzazione dei Sistemi Complessi

I quadrati sono 5. Esercizio pagina 198 numero 119 Calcola la misura del perimetro dell'area del trapezio in figura

Raggiungibilità, Controllabilità, Osservabilità e Determinabilità

Corso di Geometria BIAR, BSIR Esercizi 10: soluzioni

Anno 1. Quadrilateri

DISTANZA TRA DUE PUNTI NEL PIANO CARTESIANO

Vettori e matrici. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

A.A. 2016/17 Graduatoria corso di laurea in Scienze e tecniche di psicologia cognitiva

Propedêutica do direito financeiro

2. ALGORITMO DEL SIMPLESSO

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

Le matrici. Sia K un campo con elemento neutro dell addizione 0 ed elemento neutro della moltiplicazione 1.

Raccolta dati via Internet

Inversa. Inversa. Elisabetta Colombo

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

CONVENZIONI STIPULATE PRIMA DEL 7 SETTEMBRE 2010 E PRIMA DELLA PREDISPOSIZIONE SISTEMA SIMOG

Crittografia. Una Panoramica

E necessaria la chiave segreta? RSA. Funzioni One-way con Trapdoor. Un secondo protocollo

Sintesi di reti logiche multilivello. Sommario. Motivazioni. Sommario. M. Favalli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Banca d Italia Manuale d'uso Infostat per le segnalazioni Direct Reporting versione 1.0 INFOSTAT. Piattaforma per la raccolta delle informazioni

Transcript:

Corso di Crittografia Prof. Dario Catalano Advanced Encryption Standard

Perche un nuovo standard? n Quando si è deciso di sostituire DES, questo era ancora sicuro. n Sorge naturale la questione del perche sostituirlo. n La sicurezza di un cifrario a blocchi dipende anche dalla dimensione del blocco. n Un cifrario a blocchi puo essere rotto in tempo 2 n/2 (n dimensione del blocco) n Il DES non e abbastanza rapido (in software)

Mission Impossible n Sostanzialmente vogliamo un nuovo cifrario che: n Abbia dimensioni del blocco e della chiave piu grandi rispetto al DES n Sia piu veloce del DES

Un po di storia n 1998: Il National Institute of Standards end Technology (NIST) annuncia una competizione per un nuovo cifrario a blocchi. n A differenza del DES, il nuovo cifrario deve essere costruito dal pubblico. n 15 sottomissioni n 2001: Dopo due anni di studi, la scelta cade sull algoritmo Rijndael (Vincent Rijmen & Joan Daemen).

Qualche informazione su AES n La lunghezza del blocco e n=128 n La dimensione della chiave e variabile: 128, 192 o 256 bit. n Per questo motivo lo standard specifica tre cifrari a blocchi differenti: AES128, AES192 e AES256. n Nel seguito indicheremo con AES l algoritmo AES128.

n AES è il principale cifrario a blocchi per molte app. commerciali n Nel 2003 l NSA ha annunciato che avrebbe utilizzato AES per cifrare documenti classificati n Fino al livello SECRET per ogni dimensione della chiave n TOP SECRET per chiavi di 196 o 256 bit. n Nessun algoritmo pubblico era mai stato precedentemente utilizzato per questi scopi.

Breve descrizione di AES n AES si compone di tre livelli fondamentali (layers) n Ogni layer manipola tutti i bit dello stato. n Key Addition layer In cui lo stato attuale viene aggiornato usando una chiave di round di 128 bit. n Byte Substitution layer (S-Box) Lo stato modificato utilizzando una trasformazione non lineare.

Breve descrizione di AES (II) n Diffusion layer. Diffonde le trasformazioni effettuate su tutti i bit dello stato. n Consiste di due procedure (entrambe effettuano operazioni lineari)

L algoritmo AES AES k (M) // M =128 e K =128 (K 0,,K 10 ) ß Espandi_Chiave (K) // K i =128 s ß M K 0 // s e chiamato lo stato for r=1 to 10 do s ß S (s) s ß Shift_Rows (s) if r 9 then mix_cols (s) s ß s K r Return s

Descrizione generale di AES n Descriveremo AES in termini delle 4 funzioni: expand, S, shift-rows e mix-cols n Il valore s e chiamato lo stato. n Tale valore e inizializzato a quello del messaggio M. Lo stato finale e il crittotesto C n Cio che avviene in ogni iterazione del ciclo for e detto round. n AES consiste di 10 rounds

La funzione expand n E la funzione di espansione della chiave. n Prende in input una stringa di 128 bit e produce 11 sotto chiavi di 128 bit ciascuna. n Adesso ripassiamo un po di matematica

La S-box di AES - I n Ogni elemento (tranne 0) a ammette un inverso inv(a)=a -1. n Un inverso e quell elemento tale che a inv(a)=1 n Cerchiamo di capire come calcolare tali inversi.

La S-box di AES - II n Consideriamo la seguente trasformazione e chiamiamola AFF (l aritmetica e in GF(2)) x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 = NB: L indicizzazione dei bytes e al contrario

La S-box di AES - III Definiamo S:{0,1} 8 à {0,1} 8 I S(a) a ß inv (a) a ß AFF (a) Return a

Non abbiamo ancora finito (!) n Ora che sappiamo come calcolare la funzione di base, estendiamo la funzione S (senza cambiar nome) in modo che possa prendere input piu grandi. n Data una stringa di m bytes A=A[1] [A[m], poniamo S(A)=S(A[1]) S(A[m]) n Dunque S prende in input uno stato s (16 bytes) e lo modifica secondo le procedure descritte.

Ottimizzazioni n Con molti (ma non tutti) gli elementi del campo di Galois di Rijndael e possibile percorrere tutti gli elementi del campo (tranne lo zero) via esponenziazione. n Tali elementi vengono detti generatori.

I generatori di Rijndael (inf. presa da internet) 3 5 6 9 11 14 17 18 19 20 23 24 25 26 28 30 31 33 34 35 39 40 42 44 48 49 60 62 63 65 69 70 71 72 73 75 76 78 79 82 84 86 87 88 89 90 91 95 100 101 104 105 109 110 112 113 118 119 121 122 123 126 129 132 134 135 136 138 142 143 144 147 149 150 152 153 155 157 160 164 165 166 167 169 170 172 173 178 180 183 184 185 186 190 191 192 193 196 200 201 206 207 208 214 215 218 220 221 222 226 227 229 230 231 233 234 235 238 240 241 244 245 246 248 251 253 254 255 n Oppure, in esadecimale 03 05 06 09 0b 0e 11 12 13 14 17 18 19 1a 1c 1e 1f 21 22 23 27 28 2a 2c 30 31 3c 3e 3f 41 45 46 47 48 49 4b 4c 4e 4f 52 54 56 57 58 59 5a 5b 5f 64 65 68 69 6d 6e 70 71 76 77 79 7a 7b 7e 81 84 86 87 88 8a 8e 8f 90 93 95 96 98 99 9b 9d a0 a4 a5 a6 a7 a9 aa ac ad b2 b4 b7 b8 b9 ba be bf c0 c1 c4 c8 c9 ce cf d0 d6 d7 da dc dd de e2 e3 e5 e6 e7 e9 ea eb ee f0 f1 f4 f5 f6 f8 fb fd fe ff

Algoritmo Inverso(a) 1. Utilizzando la tavola calcoliamo b=log g a 2. Poniamo c=255-b 3. L inverso cercato e dunque g c. n Adesso chiamiamo inv la funzione inv completata con inv (0)=0.

Calcolando S(0), S(1),,S(256) ecco cosa otteniamo 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76 ca 82 c9 7d fa 59 47 f0 ad d4 a2 af 9c a4 72 c0 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84 53 d1 00 ed 20 fc b1 5b 6a cb be 39 4a 4c 58 cf d0 ef aa fb 43 4d 33 85 45 f9 02 7f 50 3c 9f a8 51 a3 40 8f 92 9d 38 f5 bc b6 da 21 10 ff f3 d2 cd 0c 13 ec 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73 60 81 4f dc 22 2a 90 88 46 ee b8 14 de 5e 0b db e0 32 3a 0a 49 06 24 5c c2 d3 ac 62 91 95 e4 79 e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea 65 7a ae 08 ba 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 bb 16

La funzione shift-rows Sia s=s 0 s 1 s 15 stato shift-rows(s 0 s 1 s 15 )=s 0 s 5 s 10 s 15 s 4 s 9 s 14 s 3 s 8 s 13 s 2 s 7 s 12 s 1 s 6 s 11

Funzione mix-cols n Consideriamo la matrice (s=s 0 s 1 s 15 stato) s 0 s 4 s 8 s 12 s 1 s 5 s 9 s 13 s 2 s 6 s 10 s 14 s 3 s 7 s 11 s 15 n Definiamo mix-cols su parole di 4 bytes n La funzione prende ciascuna delle colonne e applica la la stessa trasformazione a ciascuna di esse.

La trasformazione mix-cols a 0 a 1 a 2 a 3 02 03 01 01 = 01 02 03 01 01 02 02 03 03 01 01 02 a 0 a 1 a 2 a 3

Osservazioni n Sorprendentemente AES non contiene feistel rounds n Abbiamo piu informazioni disponibili (rispetto al DES). n La sicurezza dei sistemi a blocchi considerati affidabili, tuttavia, si basa sul fatto che non siamo riusciti a romperli.

Limiti della Sicurezza basata su Key Recovery I n Fino ad ora abbiamo analizzato la sicurezza dei sistemi a blocchi carcando di curare la seguente domanda. n Date q coppie msg-crittotesto, quanto difficile e ritrovare la chiave? n Abbiamo considerato sicuro un sistema a blocchi capace di resistere ad un tale attacco (security against key recovery)

Limiti della Sicurezza basata su Key Recovery II n Consideriamo il seguente cifrario a blocchi E:{0,1} 128 x {0,1} 256 à {0,1} 256 E K (M)=AES K (M[1]) M[2]