-
Notifications
You must be signed in to change notification settings - Fork 2
/
FinalProjWriteup.tex
73 lines (45 loc) · 3.37 KB
/
FinalProjWriteup.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
\documentclass[12pt]{article}
\usepackage{underscore}
% ========================================================================
% preamble
% ========================================================================
% (stuff that you don't have to mess with or worry about right now.)
% margins, size, formatting
\oddsidemargin=.05in
\evensidemargin=.05in
\topmargin=-.5in
\textwidth=6in
\textheight=9in
\pagestyle{empty}
% packages for fancy fonts, symbols, thm/proof environments, etc
\usepackage{amsmath,amssymb,amsthm}
\begin{document}
% header =================================================================
% PLEASE FILL IN THE CORRECT COURSE (e.g., MATH 311W),
% THE CORRECT ASSIGNMENT NUMBER, THE CORRECT PROBLEM TYPE
%(i.e., 10pt problems or 20 pt problems), AND YOUR NAME HERE
{Nathan Hourt, Jen Karkoska, and Mike Moore\\ \indent April 30, 2014\\ \indent Cryptography and Network Security II}\vspace{\baselineskip}
\begin{center}
\textbf{Final Project User Manual}
\end{center}
\textbf{Introduction}\\
The final project is an implementation of a scheme to search an encrypted database, based on Song, Wagner, and Perrig's paper ``Practical Techniques for Searches on Encrypted Data''. An encrypted database allows a client to store data on an untrusted server without the server ever seeing the plaintext. The client can query the database and use a private key to decrypt the resulting cipher text returned from the server. The homomorphic Paillier encryption algorithm is used so that the server can perform all calculations solely on the cipher text. Our work builds on the first project implementation by Patrick Biernat, Nathan Hourt, and Samuel Rhody.\\
\textbf{Supported Queries}\\
The program supports six computational queries from the command line. Note that all IP addresses must be given in hex.
\begin{enumerate}
\item \textit{SourceIP_Average_Msg_Len(Source IP Addr)}
The database will sum the length of each message sent by the given input source IP address and return the average message length. The homomorphic property of the Paillier encryption system is used because the sum of plaintext message lengths is equal to the multiplication of the cipher text message lengths.
\item \textit{DestinationIP_Average_Msg_Len(Destination IP Addr)}
Similar to SourceIP_Average_Msg_Len(Source IP Addr), but computes the average message length sent to a given IP address.
\item \textit{From_To_Total$\#$ofMsgs(Source IP Addr, Destination IP Addr)}
Calculates the total number of messages sent from a given source IP address to a destination IP address.
\item \textit{Total$_\#$of_Outbound_Msgs(Source IP Addr)}
Calculates the total number of messages sent from a given IP address.
\item \textit{Total$_\#$of_Inbound_Msgs(Destination IP Addr)}
Calculates the total number of messages sent to a given IP address.
\newpage
\item \textit{Pearson_Corr_Coeff(IP Addr1, IP Addr2)}
The Pearson Correlation Coefficient $r$ is a measure of the linear relationship between two variables $X$ and $Y$, where $r\in[-1,1]$. A value of +1 denotes a positive correlation, 0 denotes no relationship between $X$ and $Y$, and -1 denotes a negative correlation. In this case, the value returned determines how correlated two IP addresses are, based on a proprietary algorithm.
\end{enumerate}
Source code can be found at \textit{https://github.com/nathanhourt/cryptdb}.
\end{document} % every document must end with this.