"bruteforce-luks" can be used to crack Luks encrypted volumes. 2 methods...
- try all the possible passwords given a charset
- try all the passwords in a file
All you need to do is create a file with words to try and break it. If you remember the length of the password or parts of the password it will speed things up. Finding a 20+ length password with no clues is going to take long. Very long.
sudo apt-get install dh-autoreconf sudo apt-get install libcryptsetup-dev
Download the zipfile, unzip and do the normal configure, make, make install. There are some examples in the link too; the one the use could be ...
Try to find the password of a LUKS encrypted volume using 6 threads, trying the passwords contained in a dictionary file:
bruteforce-luks -t 6 -f dictionary.txt /dev/sdd1
Now all you need is to create the dictionay.txt (and change sdd1 to the device you need to break).
Here is a script to generate words; "abc" and all the combinations of 3 letters:
import itertools res = itertools.product('abc', repeat=3) for i in res: print ''.join(i)
3 letter, 3 ways = 3**3 = 27 words.
Not knowing any letters in your password and assuming letters and digits (so no other characters) is going to be impossible .. If 26 letters, capitals and small, and digits with a word up to 20 characters long = 62 ** 20 = 7,044234255xc3x9710xc2xb3xe2x81xb5
That last link also has a reference to crunch; a tool to create a dictionary.