Jump to content

Irrational Numbers as CSPRNG ?

Featured Replies

I've been thinking about this problem for a few months now, are irrational numbers feasable as Cryptographically Secure PseudoRandom Number Generators (CSPRNG). I know on their own the digits of an irrational number would do a terrible job of this, because of the predictability once anyone found what number was being used. I also know that irrational numbers become periodic when expressed as continued fractions.

 

Also, calculating more than a few thousand digits of even a square root costs a lot of computer power.

 

But what if you only use a few digits from a number of irrationals, and not the first few digits either, and then transposed those digits so that they were in a completely different order.

Would that be a feasable psudeorandom number generator for encryption? I don't think so, but how would one go about predicting it?

 

I had something like this in mind:

 

If you only used about 200 digits from each of x irrationals, not neccessarily the first digits (and different lengths for each one), and added them together in such a way that you ended up with a string of length roughlly 200^x before it repeated (by taking the sum of the first digits of each string, then the second, and so on looping back for each string when it finishes so that the loops don't line up again until 200^x digits have been produced),

 

Transposition could work according to another irrational number, which each digit being a key for how many spaces a digits should be moved ahead or back.

 

Links:

http://en.wikipedia.org/wiki/CSPRNG

http://en.wikipedia.org/wiki/Continued_fractions

[Not an expert]

 

But as you say, an irrational number alone is too predictable. Any transposition system (ie, encoding) that does not use a CSPRNG to encode it will itself be insecure, and using one makes the irrational number as a CSPRNG redundant.

 

Any larger method you are describing doesn't seem to include orders of magnitude more complexity, and even if it did, you are keying the encoding with something not a suitable CSPRNG, so again it will be weak unless you use unfeasibly large numbers of keys (irrational numbers).

Archived

This topic is now archived and is closed to further replies.

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.