-
Notifications
You must be signed in to change notification settings - Fork 0
/
Storia_di_AES.tex
186 lines (125 loc) · 9.87 KB
/
Storia_di_AES.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
% ================================ STORIA DI AES ======================================
\chapter{Storia di AES}
% ======================================================================================
% ---------------------------- SECTION: INTRODUZIONE ----------------------------------
%\newpage
\section{Introduzione}
\index{AES} \index{DES} \index{Rijndael}
\textsf{\small \textbf{AES} (\emph{\textbf{A}dvanced \textbf{E}ncryption \textbf{S}tandard}) è un cifrario a blocchi simmetrico, inventato da due matematici belgi, Vincent Rijmen e Joan Daemen, da cui viene il nome \emph{Rijndael}, nel 1998 per sostituire il precedente standard: DES (\emph{\textbf{D}ata \textbf{E}ncryption \textbf{S}tandard}).}
% ---------------------------- SECTION: STORIA DI AES ---------------------------------
%\newpage %TODO: questo newpage da problema, è da fixare
\section{Breve storia di AES}
\index{DES} \index{NIST} \index{NSA} \index{IBM} \index{NBS} \index{S-BOX}
\textsf{\small DES era divenuto lo standard dopo un bando del NBS (\emph{\textbf{N}ational \textbf{B}ureau of \textbf{S}tandards}), oggi NIST \emph{(\textbf{N}ational \textbf{I}nstitute for \textbf{S}ecurity and \textbf{T}echnology)} per trovare un buon e sicuro algoritmo per proteggere le comunicazioni private dei cittadini americani.}
\index{Lucifer}
%TODO: "rettificandone" o "alterandone"
\textsf{\small Venne così proposto un algoritmo chiamato \emph{Lucifer}, sviluppato dall'\emph{IBM} che dopo esser stato modificato dall'NSA (\emph{\textbf{N}ational \textbf{S}ecurity \textbf{A}gency}), riducendone la grandezza della chiave da 128 a 56 bits e rettificandone le funzioni contenute nell'S-box, venne designato come \emph{Data Encryption Standard} (\textbf{DES}).}
%TODO: "in lungo e in largo" magari è poco raffinata come espressione.
%TODO: questa è da rivedere! Mi sembra abbia poco senso compiuto
\index{DES}
\textsf{\small DES regnò per 20 anni, venne studiato in lungo e in largo dagli accademici e criptoanalisti di tutto il mondo, grazie a ciò, ci fu finalmente per la prima volta un cifrario certificato che tutti potessero studiare: nacque così il moderno campo della crittografia.} %TODO: potevano
\index{DES}
\textsf{\small Negli anni, molti sfidarono DES e dopo diverse battaglie fu finalmente sconfitto.} %TODO: ampliare come venne sconfitto?
\index{3DES} \index{DES}
%TODO: "fermare" o "ovviare"
%TODO: magari spiegare perché era lento più nel dettaglio. (perché combinevamo il des tre volte)
\textsf{\small L'unico modo per ovviare a questi attacchi era quello di combinare DES tre volte, formando il 3DES (\emph{Triplo DES}). Il problema di questo però era la sua lentezza.} %TODO: estremamente lento
\index{NIST}
%TODO: "indire" è il verbo corretto?
\textsf{\small Per questo, nel 1997, il NIST indisse un nuovo bando per cercare un nuovo algoritmo di cifratura, forte come il triplo-DES, ma veloce e flessibile.}
\begin{figure}[H]
\centering
\includegraphics[width=1\textwidth, height=1\textheight, keepaspectratio]{./images/des_vs_aes/aes-vs-des.png}
\caption{AES vs DES}
\label{fig:aes_vs_des}
\end{figure}
\index{Rijndael} \index{Serpent} \index{Twofish} \index{MARS} \index{RC6}
%TODO: "spuntò" o "emerse" ?
%TODO: "semplicità"? Approfondire un po' di più magari
\textsf{\small Vari algoritmi competerono: Serpent, Twofish, MARS, RC6, ma alla fine spuntò Rijndael per la sua semplicità e velocità.} %TODO: magari aggiungere i link a pagine su questi algoritmi? con il footnote anche?
% ---------------------------- SECTION: AES VS RIJNDEAL ------------------------------
%\newpage
\section{AES vs Rijndeal}
\index{AES} \index{Rijndael}
\textsf{\small AES è un'implementazione di Rijndael, divenuto l'algoritmo di cifratura standard del governo degli Stati Uniti d'America.}
\textsf{\small Una differenza tra i due è che AES utilizza blocchi di dati da 128 bits, mentre Rijndael permette oltre a blocchi da 128, anche blocchi da 192 e 256 bits.} %TODO: "blocchi di dati"?
\index{AES} \index{Rijndael}
\textsf{\small Sia AES che Rijndael permettono una grandezza della chiave di 128, 192 o 256 bits, da cui ne ricaviamo il numero di rounds: 10, 12 o 14 rispettivamente.}
% ------------------------ SECTION: SYMMETRIC VS ASYMMETRIC? --------------------------
%\newpage
\section{Cifratura simmetrica vs asimmetrica}
\index{cifratura} \index{decifratura}
\textsf{\small Nella cifratura simmetrica viene usata una chiave sia per la cifratura che per la decifratura di un messaggio.}
\index{messaggio} \index{chiave}
\textsf{\small La cifratura asimmetrica è basata sul concetto di chiave pubblica e chiave privata. Vengono, quindi usate due chiavi sia per la cifratura che per la decifratura. Usiamo la chiave pubblica per cifrare il messagio e la chiave privata per decifrarlo.} %TODO: qui sto facendo un po' di controsenso.
\textsf{\small Ulteriori differenze: }
\index{DES} \index{3DES} \index{DSA} \index{RSA} \index{AES} \index{RC4} \index{Diffie-Hellman} \index{ECC} \index{El Gamal} \index{decifratura} \index{cifrare} \index{decifrare}
\begin{tabular}{|c|c|}
\hline
\textbf{Simmetrico} & \textbf{Asimmetrico} \\
\hline
\textsf{\small Richiede una sola } & \textsf{\small Richiede due chiavi, } \\
\textsf{\small chiave sia} & \textsf{\small una pubblica e una privata,} \\
\textsf{\small per la cifratura } & \textsf{\small una per cifrare e } \\
\textsf{\small che la decifratura.} & \textsf{\small una per decifrare.} \\ %TODO: una per cifrare e una per decifrare?
\hline
\textsf{\small Lo spazio del testo cifrato è } & \textsf{\small Lo spazio del testo cifrato è } \\
\textsf{\small lo stesso o più piccolo } & \textsf{\small lo stesso o più grande } \\
\textsf{\small del messaggio originale.} & \textsf{\small del messaggio originale.} \\
\hline
\textsf{\small Il processo di cifratura } & \textsf{\small Il processo di cifratura } \\
\textsf{\small è molto veloce.} & \textsf{\small è molto lento.} \\
\hline
\textsf{\small È usato quando un } & \textsf{\small È usato per trasferire } \\
\textsf{\small grosso ammontare di dati} & \textsf{\small piccole quantità} \\
\textsf{\small deve essere trasferito.} & \textsf{\small di dati.} \\
\hline
\textsf{\small Fornisce solamente } & \textsf{\small Fornisce confidenzialità, } \\ %TODO: non ripudio
\textsf{\small la confidenzialità.} & \textsf{\small autenticità e non ripudio.} \\ %TODO: approfondire non ripudio?
\hline
\textsf{\small La chiave usata è di solito } & \textsf{\small La lunghezza della chiave } \\
\textsf{\small di lunghezza 128 o 256 bits.} & \textsf{\small è di 2048 o più bits.} \\
\hline
\textsf{\small L'utilizzo delle risorse è basso.} & \textsf{\small L'utilizzo di risorse è alto.} \\
\hline
\textsf{\small Esempi: DES, 3DES, } & \textsf{\small Esempi: DSA, RSA, } \\
\textsf{\small AES, RC4} & \textsf{\small Diffie-Hellman, ECC, El Gamal} \\
%\textsf{\small } & \textsf{\small } \\
\hline
\end{tabular}
\begin{figure}[H]
\centering
\includegraphics[width=1\textwidth, height=1\textheight, keepaspectratio]{./images/types_of_encryptions/types_of_encryption.png}
\caption{Tipi di cifratura}
\label{fig:encryption_types}
\end{figure}
\index{AES} \index{cifrare} \index{messaggio}
\textsf{\small AES è di tipo simmetrico, quindi useremo la stessa chiave sia per cifrare il nostro messaggio sia per decifrarlo. }
\begin{figure}[H]
\centering
\includegraphics[width=1\textwidth, height=1\textheight, keepaspectratio]{./images/types_of_encryptions/symmetric_vs_asymmetric/symmetric-key-what-is-cryptography.png}
\caption{Cifratura a chiave simmetrica}
\label{fig:symmetric_encryption}
\end{figure}
% ------------------------ SECTION: STREAM VS BLOCK CIPHER ----------------------------
\section{Stream vs Block Ciphers}
\index{stream} \index{block cipher} \index{block} \index{a flusso} \index{blocchi} \index{AES} \index{cifrario} \index{messaggio}
\textsf{\small \textbf{Cifrario a flusso}: Il testo in chiaro viene separato in singoli bits che vengono poi singolarmente cifrati.}
\textsf{\small \textbf{Cifrario a blocchi}: Un cifrario a blocchi prende un messaggio in chiaro e lo suddivide in blocchi di bytes.}
\textsf{\small AES è un cifrario a blocchi che prende un blocco di grandezza fissa di 16 bytes (o 4 words).}
% ------------------------ SECTION: PRINCIPIO DI KERCKHOFFS ---------------------------
\section{Principio di Kerchoffs}
\index{Kerckhoffs}
\textsf{\small L'olandese Auguste Kerckhoffs elaborò, nel 1883, due articoli riguardanti la crittografia. Nel primo enunciò sei principi, di cui il più famoso (il numero 2) sostiene che la sicurezza di un sistema crittografico non deve risiedere nella segretezza del suo algoritmo, ma soltanto nel mantenere la sua chiave segreta.} %TODO: [scrisse/redisse/stilò/compose/elaborò]
\textsf{\small I sei principi di Kerckhoffs:}
%TODO: citare fonte.
%TODO: \cite{} Wikipedia e video.
\begin{enumerate}
\item \textsf{\small Il sistema deve essere praticamente, se non matematicamente, indecifrabile.} %TODO:
\item \textsf{\small Non dovrebbe richiedere segretezza e non dovrebbe essere un problema se cade nelle mani nemiche.} %TODO: [del nemico]
\item \textsf{\small Deve essere possibile comunicare e ricordare la chiave, senza utilizzare note scritte e i corrispondenti devono essere in grado di modificarla a piacimento.} %TODO: Deve essere possibile comunicare e ricordare la chiave, senza utilizzare note scritte e i corrispondenti devono essere in grado di modificarla a volere/a piacimento.
\item \textsf{\small Deve essere applicabile a comunicazioni attraverso il telegrafo.} %TODO:
\item \textsf{\small Deve essere portabile, e non dovrebbe richiedere diverse persone per poterlo utilizzare.} %TODO:
\item \textsf{\small Il sistema dovrebbe essere facile da usare e non dovrebbe essere stressante o richiedere ai propri operatori di seguire una lunga lista di procedure.} %TODO: utenti
\end{enumerate}
% -------------------------------- FINE CAPITOLO --------------------------------------