-
Junior Member
Reputation: 10
Relation between LM_SEED -> ENCRYPTION_KEY -> public/private keys
Hello everyone!
I've been trying to understand how the LM_SEEDx, VENDOR_KEYx and TRL_KEYx end up generating the private ECC key used to sign each feature.
I've read here hxxps://www.ljjyy.com/archives/2021/08/100678.html (use google translate) that the seeds initialize an "RNG".
But if it's an RNG, why would you need seeds? either you have seeds that produce a deterministic private key or you produce a fully random private key.
Also in the latest FlexNet Publisher, what are the uses of the ENCRYPTION_SEED?
Are the VENDOR_KEYS used at all in the signature generation/validation? I know that VENDOR_KEY5 is xorred with the first two ENCRYPTION_SEEDs but what about the rest of them?
And TRL_KEY? Are they "just" used as a key to the "secure storage"? Is this some kind of standard secure storage defined from Windows APIs or is it a custom implementation somehow?
Thank you!
-
2022-11-20 09:25 PM
# ADS
Circuit advertisement
-
Member
Reputation: 292
Re: Relation between LM_SEED -> ENCRYPTION_KEY -> public/private keys
CrackZ essay can help you about vk1/2/3/4/5, vendor name and trl/cro1/2
Encryption_seed1/2/3/4 is vendor dependent. Lm_seed1/2/3 random+sha hash if i'm right remember.
Also learn the flexlm/flexnet header file for understand your questions.
Last edited by BfoX; 2022-11-20 at 11:34 PM
-
Junior Member
Reputation: 10
Re: Relation between LM_SEED -> ENCRYPTION_KEY -> public/private keys
Thank you!
About the private key: It's generated using KDF IEEE P1363 (sha1) with the LM_SEEDs as input.
-
Member
Reputation: 292
Re: Relation between LM_SEED -> ENCRYPTION_KEY -> public/private keys
from l_prikey.c :
/*
* l_genseed
* hardware dependent. Generate random seeds.
* Exits with error message to stderr upon error
*/
int
l_genseed( void)
{.....
Bookmarks