Encyrpted data sample

John Vokey vokey at uleth.ca
Thu Apr 10 13:55:00 EDT 2003


On Thursday, April 10, 2003, at 10:05  AM, Glen Yatesm wrote:

> Unbreakable! Ha, famous last words of an overconfident cryptologist!
>
> While I agree that a non-repeating key is the strongest form of 
> encryption,
> it is not neccessarily unbreakable, you have to look at how the key was
> generated, are the numbers truly random or not? If you use your 
> computer as
> you have done in the sample code to generate the key then they are not
> random but rather psuedo-random numbers. If that is the case, then the 
> code
> breaker can use knowledge of how the key was generated to help in 
> decrypting
> the data.
>
> To be more secure, you should use a truly random source of random 
> numbers,
> such as measurements of radioactive decay.
>
That's probably overkill.  It is true that LCG RNGs are relatively easy 
to ``break'' (i.e., solve for the constants in the equation), but even 
they require the knowledge that it *is* an LCG RNG (although, most 
computer RNGs these days are).  However, even that problem is easily 
solved if you have more than one available (.e.g., use one to determine 
which of another will be chosen next, and so on).  Unless that precise 
knowledge was also available to the code-breaker, the code should be as 
secure as a truly random source.

Given that, rather than create and send the whole file of random 
numbers on both computers, why not just prepare both computers to use 
the same randomSeed (or set of randomSeeds, for multiple RNGs)?  In 
fact, it could even be encoded as the first, say, 5 bytes of the 
encrypted message.

-- 
John R. Vokey




More information about the metacard mailing list