Return
Parallel Algorithm with Benchmark-Based Load Balancing for Rainbow Table Generation on Heterogeneous CPU Cluster
M
A
N
DOI:10.3390/electronics15163596.png)
Abstract
En 中文
Rainbow tables are precomputed tables used to cache the output of cryptographic hash functions in a collection of chains consisting of alternating password and hash values constructed using a cryptographic hash function and a reduction function. Generating these tables is computationally intensive, and several researchers have proposed utilizing parallel computing to speed up the generation process. However, very little work was done on heterogeneous CPU clusters in the rainbow tables generation context. In this paper, we bridge this gap by proposing a parallel MPI-based rainbow tables generation method designed for heterogeneous CPU environments. We utilized the static load balancing algorithm using a simple weighting scheme to assign a different number of chains to different processes based on their speeds and capabilities. The experiments were executed on a cluster with ten nodes with heterogeneous CPU architectures: five nodes with the i7-12700 architecture featuring a hybrid architecture of P-cores and E-cores and an additional five with the i7-6700 architecture. In the experiments, rainbow tables were generated for four different cryptographic hash functions: SHA-256, SHA-512, MD5 and NTLMv2, with 90,000 rows each with 50,000 entries. During the experiments, we observed lower execution times as more processes join the work compared to a naïve implementation that shows jumps in execution times. Also, the speedup gained is much higher compared to the equivalent naïve implementation. In addition, our benchmark-based load balancing strategy significantly reduces the load imbalance to below 6%.
Keywords:
rainbow tables
password cracking
parallel computing
MPI
heterogeneity
load balancing
cryptographic hash functions
Journal
IF:
2.6
Papers:
9.2K
Citations:
4.7W
