Improve the report.
authorUmmon <greg.burri@gmail.com>
Sat, 29 Nov 2014 17:31:28 +0000 (18:31 +0100)
committerUmmon <greg.burri@gmail.com>
Sat, 29 Nov 2014 17:31:28 +0000 (18:31 +0100)
labo2-fsharp/CryptoFileTests/Tests.fs
labo2-fsharp/labo2-fsharp.userprefs
rapport/main.tex

index 95ede04..eb8a290 100644 (file)
@@ -62,7 +62,7 @@ let doSomeTests () =
     with
         | error -> assert (error :? UnableToDecryptAESKeys)
 
-    printfn "== Altering the cyphering..."
+    printfn "== Altering the cyphertext..."
     encrypt ()
     incrementByteCipherFileAt (32L + 256L + 256L)
     try
index f66caaa..40ddddc 100644 (file)
@@ -1,21 +1,24 @@
 <Properties>
   <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug|x86" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="CryptoFile/API.fs">
+  <MonoDevelop.Ide.Workbench ActiveDocument="CryptoFileTests/Tests.fs">
     <Files>
-      <File FileName="CryptoFile/UnitTests.fs" Line="1" Column="1" />
+      <File FileName="CryptoFile/UnitTests.fs" Line="9" Column="9" />
       <File FileName="CryptoFile/Crypto.fs" Line="1" Column="1" />
       <File FileName="CryptoFile/Types.fs" Line="1" Column="1" />
       <File FileName="run_tests.sh" Line="1" Column="1" />
-      <File FileName="CryptoFileTests/Program.fs" Line="1" Column="1" />
-      <File FileName="CryptoFile/API.fs" Line="47" Column="47" />
+      <File FileName="CryptoFileTests/Program.fs" Line="17" Column="17" />
+      <File FileName="CryptoFile/API.fs" Line="17" Column="17" />
       <File FileName="CryptoFileTests/AssemblyInfo.fs" Line="1" Column="1" />
-      <File FileName="CryptoFileTests/Tests.fs" Line="1" Column="1" />
+      <File FileName="CryptoFileTests/Tests.fs" Line="21" Column="21" />
     </Files>
     <Pads>
       <Pad Id="ProjectPad">
         <State expanded="True">
           <Node name="CryptoFile" expanded="True" />
-          <Node name="CryptoFileTests" expanded="True" selected="True" />
+          <Node name="CryptoFileTests" expanded="True">
+            <Node name="References" expanded="True" />
+            <Node name="Tests.fs" selected="True" />
+          </Node>
         </State>
       </Pad>
     </Pads>
index 7aea5a7..7a603ce 100644 (file)
@@ -10,6 +10,7 @@
 \usepackage{url}
 \usepackage{upquote} 
 \usepackage{color}
+\usepackage[usenames,dvipsnames]{xcolor}
 
 %%% URLs %%%
 \urldef{\dotnetcrypto}\url{http://msdn.microsoft.com/en-us/library/System.Security.Cryptography%28v=vs.110%29.aspx}
@@ -31,13 +32,13 @@ mutable, if, then, else, cloud, async, static, use, abstract, interface, inherit
   xleftmargin=\parindent,
   aboveskip=\bigskipamount,
         tabsize=4,
-  morecomment=[l][\color{greencomments}]{///},
-  morecomment=[l][\color{greencomments}]{//},
-  morecomment=[s][\color{greencomments}]{{(*}{*)}},
+  morecomment=[l][\color{OliveGreen}]{///},
+  morecomment=[l][\color{OliveGreen}]{//},
+  morecomment=[s][\color{OliveGreen}]{{(*}{*)}},
   morestring=[b]",
   showstringspaces=false,
   literate={`}{\`}1,
-  stringstyle=\color{redstrings},
+  stringstyle=\color{red},
 }
 
 \begin{document}
@@ -136,6 +137,8 @@ Les méta-données (\texttt{meta-data}) peuvent contenir, par exemple, le nom du
 
 Le type \texttt{vint} correspond à un entier de taille variable, initialement occupant un octet.
 
+Comme les clefs (\emph{AES} et \emph{HMAC-SHA256}) sont différentes à chaque chiffrement, que le \emph{MAC} dépend de sa clef et des données chiffrées et que la signature dépend du \emph{MAC} alors l'ensemble des octets des différentes parties du fichier résultat va être fortement différent d'un chiffrement à l'autre pour le même fichier en entrée.
+
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \section{processus}
@@ -230,8 +233,15 @@ La \emph{ĺibrary} \emph{CryptoFile} est composée de trois fichiers :
 
 \subsubsection{API}
 
+Voici la partie publique de la \emph{library} \emph{CryptoFile}.
+
+\begin{minipage}{\linewidth} % Pour éviter que le listing soit séparé sur deux pages.
 \begin{lstlisting}[language=FSharp, frame=single, basicstyle=\ttfamily\footnotesize]
 module API =
+    (* Generate a key pair (public * private)
+       for using in the next two functions. 
+       You have the reponsability to keep
+       the private part secret *)
     let generatKeysPair : Key * Key
     
     let encryptFile (inputFilePath : string)
@@ -244,11 +254,12 @@ module API =
                     (signaturePubKey: Key)
                     (decryptPrivKey : Key)
 \end{lstlisting}
+\end{minipage}
 
 
 \subsection{Mesures de performance}
 
-Quelques mesures sur un fichier de 871 MiB. Sous \emph{Linux} avec \emph{Mono} 3.10.0. Des résultats similaire ont été obtenus sous \emph{Windows 8} avec \emph{Visual Studio 2012}.
+Quelques mesures sur un fichier de 871 MiB. Sous \emph{Linux} avec \emph{Mono} 3.10.0. Des résultats similaires ont été obtenus sous \emph{Windows 8} avec \emph{Visual Studio 2012}.
 
 Chiffrement :