Hot answers tagged challenge-response
The intend appears to be that vector is secret and the main key; and version (that, we are told, is secret) is an extension of that key (or variant selector). 1) I could say that ResetCode is a MAC of quote with key vector and version. 2) Never met this particular one. Anyone with common sense should laugh at it as snake oil if it pretends to be ...
The Wikipedia article points out a good reason for using a random challenge value: preventing replay attacks. If the hash was always the same (as the hash of the symmetric key would be), then having listened in on one challenge-response cycle, a malicious listener could pass further handshake tests.
Whilst your altered vector value will influence the results, this extension of your script demonstrates that typically obtaining a single quote/reset pair is enough to reveal the secret version: def find_versions(quote,reset): """ Brute force search for version keys that produce reset from quote """ versions =  for version in range(256): ...
Only top voted, non community-wiki answers of a minimum length are eligible