# Password Cracking with Brute Force Algorithm and Dictionary Attack Using Parallel Programming
## 2 Literature Review
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Ref.** & **Dataset** & \
\begin{tabular}{c} **Number of** \\ **Samples** \\ \end{tabular} &
\begin{tabular}{c} **Number of** \\ **Threads/Processors** \\ \end{tabular} & **Techniques** & **Best Result** \\ \hline
[12] & None. & \begin{tabular}{c} 100 plain texts \\ of length 4. \\ \end{tabular} & 16 processors/threads. & \
\begin{tabular}{c} Parallel implementation of \\ a brute force algorithm for \\ the Epiphany co-processor. \\ \end{tabular} &
\begin{tabular}{c} Speedup of up to \\ 16 times that of the \\ serial version. \\ \end{tabular} \\ \hline
[6] & None. & None. & 2560. &
\begin{tabular}{c} They used several \\ optimization techniques: \\ combination of passwords, \\ repetition of \\ register utilization, \\ faster instructions execution, \\ and meet-in-middle. \\ \end{tabular} & 1055 M hash/s. \\ \hline
[13] & None. & None. & \begin{tabular}{c} Each node of Tianhe-1A \\ supercomputer has two \\ CPUs, one GPU. The CPU \\ has 6 cores while the GPU \\ has 448 cores operating. \\ \end{tabular} & \
\begin{tabular}{c} Using both the CPUs and \\ the GPU on one single node. \\ \end{tabular} &
\begin{tabular}{c} 326,000 MD5 hashes are \\ searched per second, \\ which is 5.6 times faster \\ than the performance of \\ the CPU-only version. \\ \end{tabular} \\ \hline
[14] & None. & 2. &
\begin{tabular}{c} The computer has an Intel \\ i7-4710 HQ processor \\ (2.50 GHz, 4 physical \\ cores, 8 threads). The \\ multi-core version was \\ tested on a different \\ computer (Intel i7-2630 \\ QM, 2 GHz, 4 cores, \\ 8 threads) using Ubuntu \\ 12.04. The GPU used was \\ a GeForce GTX 860 M. \\ \hline
[15] & None. & N/A. & \begin{tabular}{c} The server has two 16-core \\ CPUs, 192 GB memory, \\ and four GeForce GTX \\ 1080 graphics chips, each \\ with 8 GB video memory. \\ \end{tabular} & \
\begin{tabular}{c} Hybrid parallel processing \\ using Multi-CPU-GPU for \\ calculations. \\ \end{tabular} &
\begin{tabular}{c} The performance of \\ a single-core GPU is \\ about 80 times higher \\ than that of \\ a single-core CPU. \\ \end{tabular} \\ \hline
[16] & 1 M. & N/A. & 8 GPUs. &
\begin{tabular}{c} Parallel brute force using the \\ GPU with MPI and CUDA. \\ \end{tabular} & 17\(\times\) speedup. \\ \hline
[17] & None. & 5. & \begin{tabular}{c} The Tesla C1060 has \\ 240 cores with 1.3 GHz \\ clock speed; the Tesla \\ C2050 has 480 cores and \\ runs at 1.15 GHz. \\ \end{tabular} & \
\begin{tabular}{c} Parallel brute force using \\ the GPU. \\ \end{tabular} &
\begin{tabular}{c} They could crack \\ a 6-character password \\ in less than a second. \\ \end{tabular} \\ \hline
[20] & None. & None. & NVIDIA GTX 1060 GPU. & \
\begin{tabular}{c} Dual-granularity data path \\ adjustment strategy. \\ \end{tabular} &
\begin{tabular}{c} Dual-granularity data path \\ 3.3 speedup in \\ energy efficiency. \\ \end{tabular} \\ \hline
[18] & None. & \begin{tabular}{c} There were \\ three sample \\ passwords to \\ be cracked. \\ \end{tabular} & \begin{tabular}{c} The FPGA they utilized, \\ the Virtex-7, contains \\ three sample \\ passwords to \\ and eight flip-flops are \\ found on each slice of the \\ Xilinx 7 series FPGA. \\ \end{tabular} & \
\begin{tabular}{c} Cracking a hashed \\ password using their \\ architecture-3 (Arch-3) with \\ 26 instances, and it deals \\ with passwords of alphabets \\ only on Virtex-7 FPGA. \\ \end{tabular} &
\begin{tabular}{c} They were able to crack \\ a hashed password with \\ 7 digits within 156 s. \\ \end{tabular} \\ \hline \hline \end{tabular}
\end{table} 
Table 1: _Cont._