Score:3

Algorithm used to generate a BitLocker recovery key

bw flag

I know exactly how a generated BitLocker recovery key works and I can write a code to brute-force it.

How is the recovery key generated though?

I could think of some answers:

  1. it is generated using an algorithm which generates a random number using a specific seed;

  2. it is generated using some information extracted from the hard drive or the computer (like some characteristics in TPM module) and a specific algorithm.

But I don't know which ones is correct, if any.

SAI Peregrinus avatar
si flag
AFAIK they're just randomly chosen, using the HWRNG of the TPM (or CPU). There's no set seed, and no practical way to brute force them.
abbas avatar
bw flag
see bitcracker coed. it is an open source software to brute force recovery key(48 digit)
abbas avatar
bw flag
SAI Peregrinus you are wrong. if it is random so why it can be devided by 11?
Maarten Bodewes avatar
in flag
Quite often the key is first random generated and then one or more checksum digits are added. Checking if an entered key is dividable by 11 (a prime number) would be a good way to check if any copying mistakes were made. If I look at the BitLocker white paper I see a recovery key of 8 x 6 decimal digits, or 48 digits. That's $48 \times ~3.2 \approx 153$ bits to play around with. As for the BitCracker software: "By means of a dictionary attack, BitCracker tries to find the correct User **Password** or Recovery **Password** to decrypt the encrypted storage device." A password is not a key.
Maarten Bodewes avatar
in flag
"generated using an algorithm which generates a random number using a specific seed" If no random data is used then the algorithm would be deterministic and no use whatsoever. If the seed itself was randomly generated then there is no difference between your #1 and #2. Microsoft seems to claim that the key is randomly generated; that's not the same as generating it e.g. from a user name.
abbas avatar
bw flag
thank you Maarten Bodewes. is it possible that the key is generated using a seed (at most 64 bit) and an algorithm so as a result it is possible to brute force the seed practically?
Maarten Bodewes avatar
in flag
I'd probably take the code to check if that is the case, but from a development perspective it would be almost harder to do than to directly generate the key using the system PRNG.
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.