a pseudorandom number generator (PRNG)\index{PRNG}, or by a physical nondeterministic
process having all the characteristics of a random noise, called a truly random number
generator (TRNG). In this chapter, we focus on
-reproducible generators, useful for instance in MonteCarlo-based
+reproducible generators, useful for instance in Monte Carlo-based
simulators. These domains need PRNGs that are statistically
irreproachable. In some fields such as in numerical simulations,
speed is a strong requirement that is usually attained by using
parallel architectures. In that case, a recurrent problem is that a
deflation of the statistical qualities is often reported, when the
parallelization of a good PRNG is realized. This
-is why adhoc PRNGs for each possible architecture must be found to
+is why ad hoc PRNGs for each possible architecture must be found to
achieve both speed and randomness. On the other hand, speed is not
the main requirement in cryptography: the most important point is to
define \emph{secure} generators able to withstand malicious
These generators are finally experimented in Section~\ref{sec:experiments}.
-\section{Basic remindees}
+\section{Basic reminders}
\label{section:BASIC RECALLS}
This section is devoted to basic definitions and terminologies in the fields of
In Listing~\ref{algo:seqCIPRNG} a sequential version of the proposed PRNG based
on chaotic iterations is presented, which extends the generator family
-formerly presented in~\cite{bgw09:ip,guyeux10}. The xor operator is represented by
+formerly presented in~\cite{bgw09:ip,guyeux10}. The \texttt{xor} operator is represented by
\textasciicircum. This function uses three classical 64-bit PRNGs, namely the
\texttt{xorshift}, the \texttt{xor128}, and the
\texttt{xorwow}~\cite{Marsaglia2003}. In the following, we call them ``xor-like
store internal variables in InternalVarXorLikeArray[threadIdx]\;
}
\end{small}
-\caption{Main kernel for the chaotic iterations based PRNG GPU efficient
+\caption{main kernel for the chaotic iterations based PRNG GPU efficient
version\label{IR}}
\label{algo:gpu_kernel2}
\end{algorithm}