X-Git-Url: http://git.euphorik.ch/?p=crypto_lab2.git;a=blobdiff_plain;f=rapport%2Fmain.tex;h=2addf9208a66ea8341211f7791122957e28f09a3;hp=508355dcc84c20d08af00c241e2c26fd08b99115;hb=cec3ba87beeee522369d8f6fe85aa05cb9c78175;hpb=61a8b3492e89e883b23c158eb52ba2b070234df8 diff --git a/rapport/main.tex b/rapport/main.tex index 508355d..2addf92 100644 --- a/rapport/main.tex +++ b/rapport/main.tex @@ -123,18 +123,18 @@ container = header, ciphertext ; header = mac[256], signature[2048], keys[2048] ; ciphertext = AES(plaintext) ; plaintext = meta-data, file-content ; -meta-data = meta-data-size[int32], { key-value-pair } ; +meta-data = nb-meta-data[byte], { key-value-pair } ; key-value-pair = key[string], value[string] ; string = size[vint], content-utf8 ; \end{lstlisting} -\texttt{meta-data-size} permet de connaître la taille des méta-données afin de les déchiffrer au préalable du contenu du fichier. +\texttt{nb-meta-data} est le nombre de pair clef-valeur des méta-données. \texttt{keys} correspond aux clefs $k_c$ et $k_a$ ainsi qu'a l'\emph{IV} le tout chiffré avec \emph{RSA-2048}. La taille des données chiffrées est égale à $k_c + k_a + iv = 256 + 256 + 128 = 640\,bits$. Les méta-données (\texttt{meta-data}) peuvent contenir, par exemple, le nom du fichier, sa date de création, ses droits, ou tout autres données associées. -Le type \texttt{vint} correspond à un entier de taille variable, initialement occupant un octets. +Le type \texttt{vint} correspond à un entier de taille variable, initialement occupant un octet. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -223,9 +223,9 @@ La \emph{ĺibrary} \emph{CryptoFile} est composé de trois fichiers : \begin{itemize} \item \emph{Types.fs} : Quelques types publics. - \item \emph{Crypto.fs} : Contient toutes les primitives cryptographique nécessaire. - \item \emph{UnitTests.fs} : Contient quelques tests unitaires du module \emph{Crypto}. - \item \emph{API.fs} : Contient l'interface publique de la \emph{library}. Elle est détaillée ci après. + \item \emph{Crypto.fs} : Toutes les primitives cryptographique nécessaire. + \item \emph{UnitTests.fs} : Quelques tests unitaires du module \emph{Crypto}. + \item \emph{API.fs} : L'interface publique de la \emph{library}. Elle est détaillée ci-après. \end{itemize} \subsubsection{API} @@ -246,9 +246,25 @@ module API = \end{lstlisting} +\subsection{Mesures de performance} -17 Mo de mémoire et 19 s pour chiffrer un fichier de 404 Mo +Quelques mesures sur un fichier de 871 MiB. +Chiffrement : + +\begin{itemize} + \item Temps : 42 s. + \item Mémoire utilisée : 15 MiB. + \item Taux \emph{CPU} : un cœur à 100 \% +\end{itemize} + +Déchiffrement : + +\begin{itemize} + \item Temps : 55 s. + \item Mémoire utilisée : 20 MiB. + \item Taux \emph{CPU} : un cœur à 100 \% +\end{itemize} \section{Analyse de la sécurité de l'implémentation}