<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>
\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}
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}
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}
\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)
(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 :