# Tag Info

7

This allows for an easy distinguishing attack: Let $R\colon\;\{0,1\}^n\to\{0,1\}^m$ denote a pseudo-random generator, that is, if $x$ and $y$ are uniformly distributed random variables in $\{0,1\}^n$ resp. $\{0,1\}^m$, there is no polynomial-time algorithm that distinguishes $R(x)$ from $y$ with non-negligible probability. Let ...

4

If you define pseudorandom as (computationally) indistinguishable from random, then your proposal breaks the pseudorandom property. Here is why, given all the previous bits, can you predict (with significantly better than 0.5 probability) what the next bit will be? The answer is yes, you can predict it 100% of the time.

2

First, you should not write your own CSPRNG - there are plenty of well vetted ones from which you may pick. Second, your text and your pseudo code do not match (rotate key or rotate the seed). Third, as I understand this algorithm it doesn't even give good randomness properties. For example: Main> let seed = `0x82398eeaf74239 : [64] Main> let key = ...

Top 50 recent answers are included