Hello all, first of all thanks tateu for your program OTFBrutus!. Very nice work, well done! I hope you still continue development? Mainly i want to discuss here how to improve the speed of OTFBrutus. I myself worked on another brute force tool recently and some of the ideas apply here too. Lets start with one thing concerning the xts mode (please correct me if i am wrong): When a key is to be tested, the full tc header (512 bytes) is decrypted. If then the magic string "TRUE" (which is located at byte 64..67 in the header) is not found, the further processing (crc32 calculation etc.) is skipped for this key. Now, shouldn't it be possible to only decrypt the 1st block (for AES its size is 16 bytes) then check for magic and do the remaining decryption only if magic is found? As the magic is the first data in the encrypted section, i assume it is decrypted first (the xts loop in XTS.c looks like its counting from low to high block numbers). If this works, the decryption part would be 512/16 = 32 times faster. For the moment i think decrypting the remaining data can just be skipped because the probability for the magic to be correct "by accident" is very low (2^32) and collisions with the current speed only happen within years. What do you think?