This program try to find the password of a LUKS encrypted volume for people who forget a part of it. It uses CUDA to accelerate testing password candidates.
Passsearcher-luks <device> <expression>
Try to find the password of the LUKS encrypted volume 'device'.
'expression' defines password candidates.
A '[' and ']' block is corresponding to a charactor in a password. Each charactors and charactor ranges inside '[' and ']' are used to generate password candidates.
abc[0-2]
This expression generates following password candidates.
abc0
abc1
abc2
xy[w3B][a-c]z
generates:
xywaz
xy3az
xyBaz
xywbz
xy3bz
xyBbz
xywcz
xy3cz
xyBcz
[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]
This expression generates all 4 characters password candidates consist of upper and lower case alphabets and numbers.
If you created LUKS volumes /dev/sda1 with password "Password16", but you forget first 1 character and last 2 numbers.
Passsearcher-luks /dev/sda1 [A-Z]assword[1-9][0-9]
- CUDA runtime
- g++
- CUDA toolkit
- sudo apt-get install libgcrypt20-dev
- sudo apt-get install libdevmapper-dev
- sudo apt-get install uuid-dev
- sudo apt-get install libboost-program-options-dev
make
Currently implemented hash function is only sha1. It is a default hash function of cryptsetup before version 1.7.0.
Supported maximum password length is 63.