Inside Windows Product Activation

Product Key to Product ID

The three most significant digits, i.e. 583, of the Raw Product Key's nine-digit decimal representation directly map to the BBB component of the Product ID described above.

To obtain the CCCCCCC component, a check digit is appended to the remaining six digits 728439. The check digit is chosen such that the sum of all digits - including the check digit - is divisible by seven. In the given case, the sum of the six digits is 7 + 2 + 8 + 4 + 3 + 9 = 33 which results in a check digit of 2, since 7 + 2 + 8 + 4 + 3 + 9 + 2 = 33 + 2 = 35 which is divisible by seven. The CCCCCCC component of the Product ID is therefore 7284392.

For verifying a Product Key, more than one public key is available. If verification with the first public key fails, the second is tried, and so forth. The DD component of the Product ID specifies which of the public keys in this sequence was successfully used to verify the Product Key.

This mechanism might be intended to support several different parties generating valid Product Keys with different individual private keys. However, the different private keys might also represent different versions of a product. A Product Key for the 'professional' release could then be signed with a different key than a Product Key for the 'server' release. The DD component would then represent the product version.

Finally, a valid Product ID derived from our example Product Key might be 55034-583-7284392-00123, which indicates that the first public key (DD = index = 0) matched and 123 was chosen as the random number EEE.

The randomly selected EEE component is the reason for msoobe.exe presenting a different Installation ID at each invocation. Because of the applied encryption this small change results in a completely different Installation ID.

So, the Product ID transmitted during activation will most probably differ in the last three digits from your Product ID as displayed by Internet Explorer or as stored in the registry.