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.
-~----------~----~----~----~------~----~------~--~---

Reply via email to