A simple password cracker in C
One way to encrypt a password is using a cryptographic hash function. As the name suggests, it is a hash function that takes an input and returns a fixed-size alphanumeric string. Ideally, it should be extremely computationally difficult to regenerate the password given only the hashed text. One example of the usage of such cryptographic hash function is password management in Operating Systems. Instead of storing the password in plain text, the OS encrypts (computes hash) and saves it. As a result, even if someone steals the password information (for instance /etc/shadow file containing the hashes of the password), he/she doesn’t immediately learn the passwords. For our project we would use the Ubuntu Linux distribution and it uses SHA-512 algorithm to store the encrypted passwords.
This project uses MPI to alphabtically divided password combinations to worker processes, and any remaning combinations are cracked by the master process.
gcc ./crackhead_serial.c
- Compile:
gcc -lcrypt ./crackhead_serial.c cryptS
- Run:
sudo ./cryptS