On Sep 1, 2008, at 11:42 AM, Jeffrey Walton wrote: > I'm not sure what exactly you're trying to accomplish, but here > goes...
The goal is to generate a 192-bit ECC private key from a 96-bit secret value, such that a) anyone who starts with the same 96-bit secret value can regenerate the same 192-bit ECC private key, and b) anyone who doesn't start with the same 96-bit secret value can't. ;-) > * the library offers a NullRNG object if you need to satisfy an API, > but don't have a pseudo random source. It is located in cryptlib > classes. This would fail criterion b, of course. > * given a seed, you can use IncorporateEntropy (const byte *input, > size_t length) of RandomNumberGenerator to try and keep objects in > lock step. I suppose you would use this case if you are trying to > create the same key given the same inputs in different libraries > (similar to validation parameters?). See > http://cryptopp.com/docs/ref/class_random_number_generator.html If I recall correctly, I tried this first, and was surprised to learn that it actually went ahead and incorporated other entropy in addition to the seed I had given it, thus failing criterion a. Also, I looked at the source code of the built-in RNG, and it seemed like it would be potentially more complicated to document (e.g. to facilitate independent, compatible re-implementation) than the simpler algorithm that I posted in my previous note. The fact that Patrick came up with a very similar algorithm independently to solve a similar problem is encouraging in that way. By the way, we're having a contest in which anyone who finds a significant security flaw in our decentralized file-sharing system gets a customized t-shirt with their exploit printed on it and a big thank-you from us: http://hacktahoe.org Regards, Zooko --- http://allmydata.org -- Tahoe, the Least-Authority Filesystem http://allmydata.com -- back up all your files for $5/month --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [EMAIL PROTECTED] More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~---
