--- /dev/null
+from operator import xor
+from itertools import product
+from sys import argv
+N=eval(argv[-2])
+n=eval(argv[-1])
+
+for s in product(range(2**N), repeat=n):
+ S=s*20
+ for x in range(4):
+ print str(s)+",",
+ for k in range(25):
+ print x,
+ x = xor(x,S[k])
+ print
year = {2007},
}
-
+@inproceedings{Sidorenko:2005:CSB:2179218.2179250,
+ author = {Sidorenko, Andrey and Schoenmakers, Berry},
+ title = {Concrete Security of the Blum-blum-shub Pseudorandom Generator},
+ booktitle = {Proceedings of the 10th International Conference on Cryptography and Coding},
+ series = {IMA'05},
+ year = {2005},
+ isbn = {3-540-30276-X, 978-3-540-30276-6},
+ location = {Cirencester, UK},
+ pages = {355--375},
+ numpages = {21},
+ url = {http://dx.doi.org/10.1007/11586821_24},
+ doi = {10.1007/11586821_24},
+ acmid = {2179250},
+ publisher = {Springer-Verlag},
+ address = {Berlin, Heidelberg},
+}
as an integer having $\mathsf{N}$ bits too). More precisely, the $k-$th
component of this state (a binary digit) changes if and only if the $k-$th
digit in the binary decomposition of $S^n$ is 1.
+\begin{color}{red}
+Obviously, when $S$ is periodic of period $p$, then $x$ is periodic too of
+period either $p$ or $2p$, depending of the fact that, after $p$ iterations,
+the state of the system may or not be the same than before these iterations.
+\end{color}
The single basic component presented in Eq.~\ref{equation Oplus} is of
ordinary use as a good elementary brick in various PRNGs. It corresponds