1: \documentclass[12pt,titlepage,a4paper]{article}
2: \usepackage{fancyheadings}
3: %\usepackage{hyperref}
4: \usepackage{epsfig}
5: \usepackage{amssymb}
6: \usepackage{amsmath}
7: \linespread{1.5}
8: \usepackage{amsfonts}
9: \usepackage{color,graphicx}
10: \newtheorem{thm1}{Theorem}
11:
12: \addtolength{\oddsidemargin}{-.750in}% Controls page offset - Left
13: \addtolength{\voffset}{-0.35in} % Controls page offset - Top
14: \addtolength{\textwidth}{1.0in} % Controls Text width
15: \addtolength{\textheight}{1.125in} % Controls Text height
16: \renewcommand{\baselinestretch}{1.0} % Controls line spacing
17:
18: %
19: \pagestyle{fancy} \lhead{\sc } \rhead{\sc B-Exponential Map}
20: \title {\sc {\bf The B-Exponential Map: \\ A Generalization of the Logistic Map, \\ and Its Applications In Generating \\ Pseudo-random Numbers}}
21: \author{Mahesh C Shastry \\ Dept. of Electrical and Electronics Engineering \\ National Institute of Technology Karnataka Surathkal \\ {\bf mahesh.shastry@gmail.com} \\ \\ Nithin Nagaraj \\ School of Natural and Engineering Sciences \\ National Institute of Advanced Studies\\ {\bf nithin\_nagaraj@yahoo.com} \\ \\ Prabhakar G Vaidya \\ School of Natural and Engineering Sciences \\ National Institute of Advanced Studies\\ {\bf pgvaidya@nias.iisc.ernet.in}}
22: \date {July 13, 2006}
23: \begin{document}
24: \maketitle
25: \begin{abstract}
26: A 1-dimensional generalization of the well known Logistic Map is
27: proposed. The proposed family of maps is referred to as the
28: B-Exponential Map. The dynamics of this map are analyzed and found
29: to have interesting properties. In particular, the B-Exponential
30: Map exhibits {\it robust chaos} for all real values of the
31: parameter $B \geq e^{-4}$.
32: \par We then propose a pseudo-random number generator based on the B-Exponential
33: Map by chaotically hopping between different trajectories for
34: different values of B. We call this BEACH (B-Exponential
35: All-Chaotic Map Hopping) pseudo-random number generator. BEACH
36: successfully passes stringent statistical randomness tests such as
37: ENT, NIST and Diehard. An implementation of BEACH is also
38: outlined.
39: \end{abstract}
40:
41: \section{Introduction}
42: A function which has the same domain space and range space will be
43: called a map. A chaotic map $x_{n+1}=F(x_n)$ is typically a
44: non-linear discrete dynamical iteration equation, which exhibits
45: some sort of chaotic behavior. Chaos is characterized by
46: deterministic nonlinearity, non-periodicity, sensitive dependence
47: on initial conditions, boundedness and topological
48: transitivity~\cite{yorke}. One of the well known 1-dimensional
49: iterative maps which exhibits chaotic properties is the Logistic
50: Map~\cite{yorke}. The Logistic Family is defined by the iteration
51: $x_{n+1}=ax_n(1-x_n)$. The parameter $a$ controls the dynamics of
52: this map. The map attains full chaos at $a=4$ since it becomes
53: surjective at this value. Henceforth, we shall refer to the map
54: $x_{n+1}=4x_n(1-x_n)$ as the Logistic Map. The Logistic Map was
55: first proposed as a demographical model and was later applied to
56: study population dynamics of species considering the twin effects
57: of reproduction and starvation. The parameter $a$ is a positive
58: number and represents a combined rate for reproduction and
59: starvation.
60:
61: \par In this report, we propose a generalization of the Logistic Map.
62: The generalized family of maps is referred to as the B-Exponential
63: Map. Characteristics of the B-Exponential Map such as return maps,
64: bifurcation diagram, Lyapunov exponents, Schwarzian derivatives
65: are investigated. The investigations reveal interesting
66: properties, in particular we show that the B-Exponential Map
67: exhibits {\it robust chaos} for a large range of B.
68:
69: \par One of the interesting features of Chaotic systems from an application point of view is that
70: they statistically mimic random white noise while remaining
71: deterministic. This property along with others (such as
72: topological transtivity and Ergodicity, robust chaos) provide the
73: necessary requirements for Chaotic systems to design strong
74: pseudo-random number generators (PRNG). The B-Exponential Map,
75: exhibits these properties (as we shall soon show) and hence can be
76: utilized to build a PRNG. An implementation of the B-Exponential
77: Map as a PRNG is outlined.
78:
79: \section{The B-Exponential Map}
80: The B-Exponential Map $GL(B,x)$ is defined as follows.
81:
82: \begin{equation}
83: GL(B,x)=\frac{B-xB^x-(1-x)B^{1-x} } {B-\sqrt{B}} \label{eq:gl}
84: \qquad 0\leq x \leq 1 \textrm{~and~} B \in \mathbb{R}^+.
85: \end{equation}
86: \\Here, $B$ is the adjustable parameter. Note that
87: $x_{n+1}=GL(B,x_n)$ is the iteration function. A plot of $GL(B,x)$
88: is shown in Figures \ref{fig:many maps} and \ref{fig:many
89: maps_nonchaos} for different values of $B$. $GL(B,x)$ is unimodal
90: for $e^{-4} \leq B < \infty$.
91:
92: Consider the interval $[0,1]$. $GL(B,x)$ is a linear combination
93: of $f(x) = xB^x$ and $f(1-x) = (1-x)B^{1-x}$ which are both
94: single-hump maps for all $B$. The critical point of $f(x)$ is
95: $\frac{-1}{\ln(B)}$ and that of $f(1-x)$ is $1 +
96: \frac{1}{\ln(B)}$. If $B>1$, these are negative and greater than
97: one respectively. Hence, we know that $GL(B,x)$ is unimodal for
98: $B>1$. For $B<1$, these two critical points lie within $[0,1]$ on
99: either sides of $x=0.5$. Consider $0<B<e^{-4}$. We show in
100: Appendix A that in this case, we lose surjectivity, $x=0.5$ is a
101: local minimum and hence $GL(B,x)$ is no longer unimodal. For all
102: $B \ge e^{-4}$, we know that $x=0.5$ is a local maximum (at
103: $B=e^{-4}$, it is a point of inflexion). We know that $GL(B,0)=0$
104: and $GL(B,0.5) = 1$. Assume that there is a critical point in
105: $[0,0.5)$ and it is a local maximum. In such a case, there has to
106: be another critical point in $[0,0.5]$. This would mean that
107: $GL(B,x)$ will have at least 5 critical points in $[0,1]$ owing to
108: symmetry around $x=0.5$. Hence, $GL(B,x)$ is unimodal for $B \geq
109: e^{-4}$.
110:
111: In this section, we explain some results concerning the
112: B-Exponential Map.
113:
114: \begin{figure}[!hbp]
115: \centering
116: \includegraphics[scale=.6]{many_maps.eps}
117: \caption{The B-exponential map for various values of $B$. The blue
118: curves are are the maps for $B<1$, and the red ones for $B>1$, the
119: black curve is the logistic map. All the curves are for $B \geq
120: e^{-4}$.} \label{fig:many maps}
121: \end{figure}
122: %
123: \begin{figure}[!hbp]
124: \centering
125: \includegraphics[scale=.6]{many_non_chaotic.eps}
126: \caption{The B-exponential map for various values of positive
127: $B<e^{-4}$.} \label{fig:many maps_nonchaos}
128: \end{figure}
129: %
130: %\begin{figure}[!hb]
131: %\centering
132: %\includegraphics[scale=.6]{first_ret_map.eps}
133: %\caption{The first return maps for various values of $B \geq
134: %e^{-4}$.} \label{fig:first return maps}
135: %\end{figure}
136: %
137: \newpage
138: The B-Exponential Map is a generalization of the Logistic Map
139: because of the following property:
140: %
141: \begin{equation}
142: \lim_{B \rightarrow 1} GL(B,x)=4x(1-x). \label{eq:g2}
143: \end{equation}
144: %%%
145: \\This interesting property can be derived by applying
146: L'Hospital's rule. The derivation is given in Appendix A.
147:
148: The B-exponential map is concave for a wide range of $B$. We state
149: and prove the following properties.
150: \begin{thm1}
151: The B-Exponential Map is topologically conjugate to the Logistic
152: Map for $e^{-4} \leq B < \infty $. \label{thm:thm0}
153: \end{thm1}
154: \noindent {\bf Proof:~} There is only one critical point for
155: $GL(B,x)$ at $x=0.5$ for $e^{-4} \leq B < \infty $. We can define
156: a diffeomorphism of $GL(B,x)$ to the line $2x$ (standard Tent-map)
157: for $0 \leq x < 0.5$ by associating the appropriate heights.
158: Similarly, we can define another diffeomorphism to the line $2-2x$
159: for $0.5 \leq x \leq 1$. This establishes that $GL(B,x)$ is
160: topologically conjugate to the standard Tent-map which we know to
161: be topological conjugate to the Logistic Map. Thus, by transitive
162: relation of topological conjugacy, we know that $GL(B,x)$ is
163: topologically conjugate to the Logistic Map ($e^{-4} \leq B <
164: \infty $).
165: %
166: %
167: %\begin{thm1}
168: %The B-Exponential map is ergodic for all $B > e^{-4} $.
169: %\label{thm:thm1}
170: %\end{thm1}
171: %\noindent {\bf Proof:~} We know that the Logistic Map is ergodic
172: %for an invariant measure $\mu$. ??
173: %
174: %
175: \\
176: \par The Lyapunov exponents of the B-Exponential map appears to be
177: constant for all $B \geq e^{-4} $ and equal to $\ln{2}$. The
178: Lyapunov exponents are defined as follows~\cite{yorke}:
179: \begin{equation}
180: \lambda(B) = \lim_{T \rightarrow \infty} \frac{1}{T}
181: \sum_{t=0}^{T} \Big| \Big| \frac{d}{dx} GL(B,x) \Big|_{x=x_t}
182: \Big|.
183: \end{equation}
184: %
185: It is a difficult task to evaluate the above expression
186: analytically. We resort to numerical estimation of the Lyapunov
187: exponent. The plot of Lyapunov exponents of the B-Exponential Map
188: is shown in Figure \ref{fig:figlyap}. As it can been seen, the
189: Lyapunov exponent is ln2 for $B \geq e^{-4}$. The number of
190: iterations we used for computing the exponent is 10,000.
191: %
192: \begin{thm1}
193: The B-Exponential Map is chaotic for all real $B \geq e^{-4}$.
194: \label{thm:thm2}
195: \end{thm1}
196: \noindent {\bf Proof:~} There is no universal definition of Chaos.
197: We use the following conditions as necessary and sufficient for
198: Chaos:
199: \begin{itemize}
200: \item Determinism: $GL(B,x)$ is a deterministic map of $[0,1]
201: \rightarrow [0,1]$ for $B \geq e^{-4}$.%
202: \item Surjective and Boundedness: $GL(B,x)$ is
203: bounded for all $0 \leq x \leq 1$. $GL(B,x)$ is surjective on
204: $[0,1]$ for $B \geq e^{-4}$ (see Appendix A). %
205: \item Sensitive dependence on initial conditions: $GL(B,x)$
206: exhibits sensitive dependence on initial conditions
207: (continuously). This is characterized by positive Lyapunov
208: exponents. $GL(B,x)$ seems to have a Lyapunov exponent of ln2=0.6931 (almost everywhere) for every $B \geq e^{-4}$ (refer to Figure~\ref{fig:figlyap}). %
209: \item Positive Topological Entropy: The symbolic dynamics of
210: $GL(B,x)$ is such that all possible transitions (0 to 0, 0 to 1, 1
211: to 0 and 1 to 1) are achieved. Here the Markov partitions are 0
212: (if $0 \leq x < 0.5$) and 1 (if $0.5 \leq x \leq 1$). Hence
213: topological entropy is ln2
214: which is positive. %
215: \item Topological transitivity: Successive iterations of $GL(B,x)$
216: mixes the domain. For every pair of open sets $A,B \subseteq
217: [0,1]$, there is a $k>0$ such that $T^{(k)}(A) \cap B \neq \O$. %
218: \item Periodic points are dense in $[0,1]$: This follows by the
219: fact that $GL(B,x)$ is topological conjugate to the Logistic Map.
220: \end{itemize}
221: %
222: \subsection{Robust Chaos}
223: Robust Chaos is defined by the absence of periodic windows and
224: coexisting attractors in some neighborhood of the parameter
225: space~\cite{Banerjee}. Barreto~\cite{Barreto} had conjectured that
226: robust chaos may not be possible in smooth unimodal
227: one-dimensional maps. This was shown to be false with
228: counter-examples by Andrecut~\cite{Andrecut} and
229: Banerjee~\cite{Banerjee}. Banerjee demonstrates the use of robust
230: chaos in a practical example in electrical engineering. Andrecut
231: provides a general procedure for generating robust chaos in smooth
232: unimodal maps.
233:
234: As observed by Andrecut~\cite{Andrecut2}, robust chaos implies a
235: kind of ergodicity or good mixing properties of the map. This
236: makes it very beneficial for cryptographic purposes. The absence
237: of windows would mean that the these maps can be used in hardware
238: implementation as there would be no {\it fragility} of chaos with
239: noise induced variation of the parameters. We shall demonstrate
240: that the B-Exponential Map exhibits robust chaos and this property
241: makes it highly beneficial for generating pseudo-random number
242: generators.
243: %
244: \begin{thm1}
245: The B-Exponential Map exhibits {\it robust chaos}~ $B \geq
246: e^{-4}$. \label{thm:thm2}
247: \end{thm1}
248: \noindent {\bf Proof:~} We know that $GL(B\geq e^{-4},x)$ has only
249: one critical point at $x = 1/2$. We numerically find that the
250: Schwarzian derivative which is given by
251: \begin{equation}
252: S(f)(x)=\frac{f'''(x)}{f'(x)}-\frac{3}{2}\Big(\frac{f''(x)}{f'(x)}\Big)^2
253: \qquad whenever~f'(x)\neq 0.
254: \end{equation}
255:
256: is negative (Figures~\ref{fig:figschw3d} and \ref{fig:figschw2d}).
257: Since $GL(B,x)$ is smooth and unimodal in the range $[e^{-4},
258: \infty]$, we invoke the theorem in \cite{yorke} to say that there
259: can be at most one attracting periodic orbit with the critical
260: point in its basin of attraction. Since $x=0.5$ is the only
261: critical point and it ends in the value 0 after two iterates, we
262: end up on an {\it unstable fixed point} (one can verify that
263: $|GL'(B,0)| > 1$). Hence, we infer that $GL(B,x)$ does not have
264: any attracting periodic orbits
265: for $B$ in $[e^{-4}, \infty]$.\\
266: %
267: \begin{figure}[!hbp]
268: \centering
269: \includegraphics[scale=.6]{schwarzian3d.eps}
270: \caption{Schwarzian derivative of $GL(B,x)$ plotted for $B=0$ to
271: $10^6$.} \label{fig:figschw3d}
272: \end{figure}
273: %
274: \begin{figure}[!hbp]
275: \centering
276: \includegraphics[scale=.6]{Schwarzian.eps}
277: \caption{Schwarzian derivative of $GL(B,x)$ for $B=1000$. It can
278: be observed that the value is always negative.}
279: \label{fig:figschw2d}
280: \end{figure}
281: %
282: It is interesting to observe that one can derive a generalization
283: of the standard Tent Map by noting that there is a conjugacy
284: between the Tent Map and Logistic Map. The Generalized Tent Map is
285: described in Appendix A. By means of topological conjugacy, one
286: could potentially generate a number of maps, all of which exhibit
287: {\it robust chaos}. These could also be used for designing PRNG,
288: but we shall restrict our attention to the B-Exponential Map in
289: this report.
290: %
291: %
292: \begin{figure}[!hbp]
293: \centering
294: \includegraphics[scale=.6]{bif_diagram_huge.eps}
295: \caption{The bifurcation diagram of the B-exponential map for B
296: ranging from near 0 to 10000. The transition to chaos at $e^{-4}$
297: is not visible because of the large range of B.}
298: \label{fig:figbif}
299: \end{figure}
300:
301: \begin{figure}[!hbp] \centering
302: \includegraphics[scale=.6]{chaos_break.eps}
303: \caption{The bifurcation diagram of the B-exponential map for B
304: ranging from close to 0 to 0.1. The breakdown of chaos is clearly
305: visible at $e^{-4}$, i.e about $0.018316$.} \label{fig:figbif
306: break}
307: \end{figure}
308:
309: \begin{figure}[!hbp]
310: \centering
311: \includegraphics[scale=.4,angle=270]{lyap_plot_to_report.eps}
312: \caption{A plot of the Lyapunov exponents of the B-exponential map
313: against the parameter B.}
314: \label{fig:figlyap}
315: \end{figure}
316:
317: The bifurcation diagram of the B-Exponential Map is shown in
318: Figures \ref{fig:figbif} and \ref{fig:figbif break}. It is clear
319: from the bifurcation diagram that the map is chaotic for a large
320: range of B. This property is very interesting. This is a unique
321: continuous map in that respect. There is full chaos, with
322: surjective mapping, for an infinite range of $B$. A property such
323: as this can be very useful in generating pseudo-random numbers. We
324: explore this application in Section \ref{sec:prng}.
325:
326: Another interesting property of the B-exponential Map tends to a
327: constant function (with value 1) as B tends to $\infty$, for all
328: $x$.
329: \subsection{The Numerator Term}
330: The numerator term of the B-exponential map,
331: $G(B,x)=B-xB^x-(1-x)B^{1-x}$ has interesting properties. It
332: becomes topologically conjugate to the logistic map at $B=\phi^2$
333: where $\phi$ is the golden mean ($\phi = \frac{1+\sqrt 5}{2}$).
334: Thus, it becomes fully chaotic at $B=\phi^2$. The bifurcation
335: diagram of the numerator term is shown in Figure \ref{fig:bif
336: num}. Figure~\ref{fig:fig:bif num1} shows the period doubling
337: route to chaos of the numerator term.
338: %
339: \begin{figure}[!hbp]
340: \centering
341: \includegraphics[scale=.6]{bif_numer.eps}
342: \caption{Bifurcation diagram of the numerator term $G(x)$. The end
343: of chaos can be seen at $B=\phi^2\approx2.6180$.} \label{fig:bif
344: num}
345: \end{figure}
346: %
347: \begin{figure}[t]
348: \centering
349: \includegraphics[scale=.6]{bif_numer_exp.eps}
350: \caption{A blown up version of the bifurcation diagram of the
351: numerator term $G(x)$. Full-chaos is achieved at
352: $B=\phi^2\approx2.6180$}. \label{fig:fig:bif num1}
353: \end{figure}
354:
355: \section{A Pseudo-random Number Generator based on the B-Exponential Map}
356: \label{sec:prng} A random number is \emph{a number chosen as if by
357: chance from some specified distribution such that selection of a
358: large set of these numbers reproduces the underlying distribution}
359: \cite{mathworld}. An ideal random number generator is a discrete
360: memoryless information source that generates equiprobable symbols.
361: In this report, the phrase \emph{random numbers} refers to
362: uniformly distributed random numbers. Pseudo-random number
363: generators are algorithms implemented on digital systems that can
364: generate sequence of numbers which are random-like in their
365: statistical properties. Due to limitations in computation and
366: precision, pseudo-random number sequences are necessarily
367: periodic. Sequences generated by pseudo-random number generator
368: algorithms are expected to have large periods and pass a number of
369: statistical randomness tests.
370:
371: Chaotic dynamical systems exhibit unpredictability, ergodicity and
372: mixing properties. This suggests that chaotic maps can be used in
373: generating random numbers. The relationship between chaos and
374: cryptography have been discussed by Kocarev~\cite{kocarev 1}.
375: Various one-dimensional chaotic maps have been proposed for
376: generating random numbers, e.g: PL1D~\cite{kocarev 2},
377: LOGMAP~\cite{logmap},etc. In their study of the Logistic Map as a
378: random number generator, Pathak and Rao~\cite{logmap} propose the
379: logistic map as a pseudo-random number generator which has a
380: period of about $10^8$ when implemented in double precision. This
381: period is quite small when compared to many other `good' random
382: number generators in the literature. They conjecture that such a
383: period is due to the fact that the value of $a$ in $y=ax(1-x)$
384: becomes slightly less than $4$ (which corresponds to full chaos),
385: because of which the map goes into periods. The fact that full
386: chaos exists only for a small set of parameters is a major
387: hindrance in using chaotic maps as pseudo-random number
388: generators. The limitations of computation and precision cause the
389: parameters to deviate from full chaos values and this result in
390: periodicity. Another major disadvantage of using chaotic maps
391: directly is that the the successive points are strongly
392: correlated. This shows up in the 2-dimensional phase space which
393: will be the plot of the mapping function.
394:
395: To overcome some of the problems mentioned above, one of the
396: strategies might be to take iterates from different maps and use
397: them as a sequence of random numbers. As shown in Theorem
398: \ref{thm:thm2}, the B-exponential Map shows full chaos for all
399: values of B greater than $e^{-4}$. This provides us with a
400: theoretically infinite number of maps to choose from. We
401: \emph{hop} from map to map, picking iterates on each hop to
402: generate random numbers. Figure~\ref{fig:nth ret map} shows the
403: 10th return maps for a large number of B's $>e^{-4}$. It can be
404: seen that the maps almost fill the space even with just ten
405: iterates. This gives evidence that an algorithm based on map
406: \emph{hopping} on $B$ has the potential to yield a uniformly
407: distributed set of numbers between 0 and 1.
408: %
409: \begin{figure}[!hbp]
410: \centering
411: \includegraphics[scale=.6]{tenth_ret_map.eps}
412: \caption{The tenth return map for various values of $B \geq
413: e^{-4}$. } \label{fig:nth ret map}
414: \end{figure}
415:
416: \subsection{BEACH}
417: We propose a PRNG based on B-Exponential Map with the name BEACH
418: (B-Exponential All-Chaotic map-Hopping). As the name suggests, the
419: pseudo-random number generator is based on the principle of
420: hopping from map to map to extract numbers for the generator. Such
421: a scheme has been studied by Rowlands~\cite{rowlands} and
422: Zhang~\cite{mmohocc}. Their methods were limited by the choice of
423: maps and the kind of hopping mechanism. MMOHOCC of
424: Zhang~\cite{mmohocc} uses a finite number of arbitrarily
425: predefined chaotic maps. They use pre-defined hopping patterns to
426: extract points from the trajectories. We propose a different
427: hopping mechanism, one that is deterministically chaotic. We also
428: have the advantage of choosing from a very large number of fully
429: developed chaotic maps. Zhang's MMOHOCC also has the problem of
430: not having {\it robust chaos} for any of their maps. The maps they
431: use (Chebyshev and Logistic) are not full-chaos for all values of
432: the parameter. They use the fully chaotic value of $a=4$ for the
433: Logistic Map. However, such a method would have the draw-back of
434: not being fully chaotic when implemented in hardware. It is
435: impossible to maintain a constant value for a parameter exactly in
436: hardware owing to noise. Another problem they have to worry about
437: is the presence of periodic orbits for some values of the
438: parameters even in the chaotic regime (this is indicated by the
439: windows in the bifurcation diagrams). Our method eliminates all
440: these problems.
441:
442: We showed in Theorem 4 that B-exponential Map exhibits {\it robust
443: chaos} for all values of $B \geq e^{-4}$. In other words, for no
444: value of $B \geq e^{-4}$ does the B-exponential map settle into
445: periodic orbits (except for a measure zero set of initial
446: conditions). The BEACH uses this property to parametrically
447: generate many maps exhibiting full chaos. In the following
448: section, we discuss the BEACH algorithm.
449:
450: \subsection{The Algorithm}
451: The seed to the BEACH pseudo-random number generating algorithm is
452: any number between 0 and 1. This number forms the initial value of
453: the iteration. Let $x_0$ denote the seed. We assume that the seed
454: itself is generated using a {\it random} procedure like the
455: movement of the mouse, the speed of typing on the keyboard or some
456: physical characteristic (like heat dissipation) in the hardware.
457: In BEACH, each random number is picked from a particular map. The
458: maps are generated parametrically using a sequence of $B$'s,
459: $\{B_1,B_2,....,B_M\}$ where $M$ is the number of maps we wish to
460: use for hopping. In our implementation, we pick one iterate from
461: each of the maps. Thus $M$ becomes equal to the length of the
462: pseudo-random number sequence we intend to generate (however the
463: $B$s are not necessarily distinct though there are a potentially
464: infinite number of them). Let $x_n$ denote the $n^{th}$ iterate of
465: the map corresponding to $B=B_m$. Since BEACH takes one value from
466: each iterate, the sequence of random numbers will be
467: $\{x_1,x_2,x_3,....,x_m\}$.
468: \\Let,
469: \begin{equation}
470: f(B_m,x_n)=
471: \frac{B_m-{x_n}B^{x_n}-(1-x_n){B_m}^{1-x_n}}{B_m-\sqrt{B_m}}\label{eq:beach}
472: \end{equation}
473: \\Where $B_m$ is the $m^{th}$ value of the
474: sequence $\{B_1,B_2,....,B_M\}$. This sequence of $B$'s can be
475: generated in many ways. We only need to ensure that successive
476: $B$'s are not sufficiently close with a high frequency so that any
477: two consecutive maps differ considerably. One way of varying $B$
478: is by using the Logistic Map. Alternatively, $B$ can also be
479: varied using a simple, weak PRNG like Linear Congruential
480: Generator. Such a scheme ensures that successive $B$'s are not
481: close to each other on the real line for most of the times. We
482: could also vary $B$ using the orbit of BEACH itself. We use the
483: Logistic Map for generating $B$'s, with slight modifications for
484: effective implementation. We explain the modifications in the
485: subsequent sections. Although varying $B$ according to the
486: logistic map does not give a random sequence of $B$'s, it is
487: sufficient for the purpose of hopping maps. The logistic map is
488: periodic because of limitations in precision. But this does not
489: bring about periodicity in the pseudo-random number sequence
490: because for each of the $B$'s, the previous iterate is different.
491:
492: For a particular $B_m$, $f(B_m,x_{m-1})$ is iterated on $x_{m-1}$,
493: keeping $B_m$ constant. $R$ such iterations make sure that $x_{m}$
494: is considerably different from $x_{m-1}$, especially for $x_m$'s
495: close to the fixed points of the $B_m$ map. Now, the $R^{th}$
496: iterate is extracted as the new random number $x_m$. The same is
497: repeated for a new, updated value of $B$, $B_{m+1}$, i.e
498: $f(B_{m+1},x_{m})$ is iterated on $x_{m}$, $R$ times, with
499: $B_{m+1}$ remaining constant, and the $R^{th}$ iterate will be
500: $x_{m+1}$ and so on. $R$ is chosen such that there is a good
501: trade-off between time of computation and departure from previous
502: iterate. A value of $R=20$ should be sufficient to ensure good a
503: departure from $x_{m-1}$ even when $x_{m-1}$ is close to the fixed
504: point of $B_{m}$. The pseudo-code of BEACH is given below. We
505: limit the value of $B$ because for large values of $B$, as seen
506: from Figure \ref{fig:many maps}, the maps become flat in shape.
507: This may result in periodicity or fixed points owing to
508: limitations of precision on a computer (values very near to 1 may
509: be rounded off to 1 which becomes 0 in the next iterate).
510:
511: \begin{tabbing}
512: ~~~~~~~~~~~~~~~~~~~~~~~~$x_{old}=SEED$; \\
513: ~~~~~~~~~~~~~~~~~~~~~~~~$y_{old}=SEED$;\\
514: ~~~~~~~~~~~~~~~~~~~~~~~~for\_1(i\==1;$i<LEN/32$;i++) \\
515: \> $y_{new}=4y_{old}(1-y_{old})$; \\
516: \> $y_{old}=y_{new}$; \\
517: \> for\_2(j\==1;$j<R$;j++)\\
518: \>\>
519: $x_{new}=\frac{B-{x_{old}}B^{x_{old}}-(1-x_{old})B^{1-x_{old}} }
520: {B-\sqrt{B}}$;\\
521: \>\> $x_{old}=x_{new}$;\\
522: \>\> $x_{newint}=x_{new}\times{2^{52}}$;\\
523: \> end\_for\_2\\
524:
525: \> if\_1($y_{new}\leq \frac{1}{BLIMIT}$)\\
526: \>\> if\_2(\=$x_{new}\geq \frac{1}{BLIMIT}$)\\
527: \>\>\> $y_{new}=x_{new}$;\\
528: \>\> else\\
529: \>\>\> $y_{new}=\frac{1}{BLIMIT}$;\\
530: \>\> end\_if\_2\\
531: \> end\_if\_1\\
532: ~~~~~~~~~~~~~~~~~~~~~~~~ end\_for\_1\\
533: \end{tabbing}
534:
535: \par The $SEED$ is the initial {\it random} seed input to the
536: program. In this particular implementation, $SEED$ cannot be
537: initialized to 0.75 since this is a fixed point of the Logistic
538: Map. The other disallowed seeds are 0 and 1 for obvious reasons.
539: $LEN$ is the number of bits which we wish to generate using the
540: PRNG. $BLIMIT$ refers to the maximum value of $B$ allowed.
541: %
542: \subsection{Period of BEACH}
543: It is very hard to analytically determine the period of BEACH.
544: Theoretically, robust chaos implies that there are no stable
545: periodic orbits and we also know that the measure of periodic
546: orbits is zero (in full chaos). However, when implemented on a
547: computer, all orbits are periodic owing to limited precision.
548: Since we have implemented BEACH in double precision arithmetic,
549: the number of chaotic maps available for hopping is around
550: $10^{300}$. As we are hopping in a chaotic fashion, consecutive
551: maps from which random numbers are extracted will be considerably
552: different. Given this, we believe that the period of BEACH will be
553: at least $10^{300}$.
554: %
555: \section{Implementation}
556: The implementation of the algorithm was written in ANSI C in
557: double precision. Theoretically, a chaotic iteration may visit any
558: point in the interval $(0,1)$. This poses some problems in
559: practical implementations. If an iterate goes very close to zero,
560: less than the precision, it will be truncated to zero. We use a
561: \emph{zero-trap} to prevent such a thing from happening. The
562: \emph{zero-trap} traps values which are very close to zero and
563: replaces them with arbitrary iterates of the Logistic Map. These
564: are the same iterates which are used to generate $B$.
565:
566: As stated earlier, $B$ is generated using the Logistic Map
567: recursion. The initial value for the recursion on $B$ is set equal
568: to the seed of the generator. The B-Exponential Map is quite
569: \emph{flat} for large values of $B$, as shown in Figure
570: \ref{fig:many maps}. It is desirable to limit the value of $B$ for
571: generating pseudo-random numbers. We choose the upper limit of $B$
572: as $10,000$. Hence, $B$ is extracted $10,000$ times from the
573: iterate of the Logistic Map with the seed as the initial value. If
574: an iterate is lesser than $10^{-4}$, it is replaced by an iterate
575: of the B-Exponential Map. If the iterate of B-Exponential Map is
576: less than $10^{-4}$, the Logistic Map iterate is set to $10^{-4}$.
577: Thus, we ensure that $B$ does not exceed $10,000$. The
578: B-exponential map iteration gives a value between 0 and 1, in
579: double precision in our implementation. To convert this to
580: integers, we multiply the iterate by $2^{52}$ (similar to Zhang's
581: method).
582:
583: The 2-dimensional phase space of 3,000 random numbers generated
584: using BEACH is shown in Figure \ref{fig:phase space 2d} (i.e.
585: $x_{n}$ vs. $x_{n+1}$). The 3-dimensional phase space (i.e.
586: $x_{n}$ vs. $x_{n+1}$ vs. $x_{n+2}$) is shown in Figure
587: \ref{fig:phase space 3d}. It can be seen from the 2-dimensional
588: phase space that the numbers seem to randomly fill the entire area
589: between 0 and $2^{32}$ and the $2^{32}$ by $2^{32}$ by $2^{32}$
590: cube in the 3-dimensional phase space. This seems to provide a
591: strong evidence that the pseudo-random numbers are not correlated
592: in either 2 or 3-dimensions. Weak generators like the linear
593: congruential generator, distinctly settle in patterns in the
594: 3-dimensional phase space.
595:
596: \begin{figure}[t]
597: \centering
598: \includegraphics[scale=.6,angle=270]{to_report_2d.eps}
599: \caption{The 2-dimensional phase space of a sequence of 3000
600: integers generated using BEACH.} \label{fig:phase space 2d}
601: \end{figure}
602:
603: \begin{figure}[!hbp]
604: \centering
605: \includegraphics[scale=.6,angle=270]{t3dwgrid.eps}
606: \caption{The 3-dimensional phase space of a sequence of 3000
607: integers generated using BEACH.} \label{fig:phase space 3d}
608: \end{figure}
609: %
610: \section{Randomness Evaluation of BEACH pseudo-random number generator}
611: The BEACH pseudo-random number generator was tested using 3
612: standard tests- The National Institute of Standards in
613: Technology's Statistical Test Suite (NIST)~\cite{nist, nist
614: manual}, George Marsaglia's Diehard Battery of
615: tests~\cite{diehard}, and the ENT test~\cite{ent test}. The BEACH
616: pseudo-random number generator successfully passed all the 15
617: tests of NIST and all the 18 tests of Diehard Battery.
618: \subsection{Entropy, Chi-square and Mean} Entropy (Shannon
619: entropy) is defined as $H(X)=-\sum_{x}P(x)\log_2{P(x)}$, where
620: $P(x)$ is the probability that the random variable $X$ is in the
621: state $x$. Thus, entropy is a measure of the \emph{information
622: density} of the data. We created a binary file with the random
623: numbers (taken as 32 bit integers). Thus, the entropy of such a
624: file would be defined based on the states 0 and 1. An optimal
625: compression of the file using the ENT Pseudo-random Number
626: Sequence Test Program (by John Walker)~\cite{ent test}, resulted
627: in an entropy of 1 per symbol. Thus, the program was unable to
628: compress the file. This gives strong evidence that BEACH is a good
629: pseudo-random number generator. This is supported by the fact that
630: the file also passed the Lempel-Ziv Compression test which is a
631: part of the NIST Statistical Testing Suite.
632:
633: The chi-square test is a very basic test of randomness.
634: Knuth~\cite{knuth taocp 2} gives a detailed treatment of the
635: chi-square test. The chi-square distribution is for a sequence
636: file and expressed as an absolute number and a percentage which
637: indicates how frequently a truly random sequence would exceed the
638: value calculated. This percentage is a measure of the randomness.
639: If the percentage is less than 1\% or greater than 99\%, then the
640: sequence is not random. Percentages between 90\% and 95\% and 5\%
641: and 10\% indicate the sequence is ``almost suspect'' ~\cite{knuth
642: taocp 2}. Sequences generated by BEACH were within 25\% to 75\%
643: consistently.
644:
645: The mean of 1 billion bit sequences was consistently at 0.5 for 1
646: bit word length and 127.5 for 8 bit word length. The serial
647: correlation was also very low, of the order of $10^{-5}$ for a
648: billion bit sequence. In addition to this, ENT program carried out
649: Monte Carlo Value of Pi test. Each successive sequence of 24 bits
650: are used as X and Y co-ordinates within a square. If the distance
651: of the randomly-generated point is less than the radius of the
652: circle inscribed within the square, the 24-bit sequence is
653: considered a \emph{hit}. The percentage of hits is used to
654: calculate the value of $\pi$. For very large streams (this
655: approximation converges very slowly), the value will approach the
656: correct value of $\pi$ if the sequence is close to random. For
657: BEACH, the error percentage was almost 0.00\%, consistently. For
658: the complete ENT test results, visit
659: $http://mahesh.shastry.googlepages.com/beach$.
660: %
661: The following table gives the value of these parameters for
662: different lengths of random bits. \\
663: \begin{table}
664: \begin{tabular}{|c|c|c|c|c|c|}
665: \hline
666: % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
667: Length & Entropy & Chi-square & Arithmetic & Monte Carlo & Serial\\
668: &(per bit)&distribution(\%)& mean & value of $\pi$ (error \%)&correlation coeff
669: \\
670: \hline
671: 100 $Mb$ & 1.000000 & 50.00 & 0.5000 & 0.01 & 0.000151 \\
672: 500 $Mb$ & 1.000000 & 50.00 & 0.5000 & 0.00 & 0.000024 \\
673: 1 $Gb$ & 1.000000 & 75.00 & 0.5000 & 0.01 & 0.000035 \\
674: \hline
675: \end{tabular}
676: \vspace{0.1in} \caption{Results of ENT on 3 bitstreams. }
677: \label{tab:tabent}
678: \end{table}
679: %
680: \subsection{NIST Statistical Test Suite} BEACH random numbers also
681: passed the NIST Statistical Test Suite~\cite{nist}. The input was
682: given as an ASCII file consisting of 1's and 0's. The
683: pseudo-random number sequence passed all the 15 tests of the NIST
684: Suite. NIST checked the uniformity of p-values of 1000 streams of
685: 1 million bits each and returns a p-value of the p-values. The
686: p-values of all the $15$ tests for each of the 1000 streams were
687: greater than 0.01 which is the limit for passing a test. It was
688: found that the p-values of p-values were all higher than 0.001.
689: This meant that the p-values are all uniform. \emph{Passing} of a
690: test in NIST Suite implies a confidence level of 99{\%}. In other
691: words, when the p-value is more than the passing level, the test
692: is considered passed with a confidence level of 99{\%}. The
693: details of all the 15 the tests and their interpretation is given
694: in~\cite{nist manual}. The histogram of p-values for the Block
695: Frequency Test are given in Figure~\ref{fig:hist nist blok freq}.
696: A plot of the proportion of bit-streams passing the NIST tests is
697: given in Figure~\ref{fig:nist threshold}, with the 2 thick lines
698: indicating the passing values.
699: %
700: \begin{figure}[!hbp]
701: \centering
702: \includegraphics[scale=.6]{hist_nist_blok_freq.eps}
703: \caption{The histogram of p-values of the block-frequency test of
704: NIST Suite. It indicates that the p-values are uniform.}
705: \label{fig:hist nist blok freq}
706: \end{figure}
707: %
708: %
709: \begin{figure}[!hbp]
710: \centering
711: \includegraphics[scale=.6]{nist_threshold.eps}
712: \caption{The proportion of templates passing the test. The black
713: lines indicate the threshold for the passing value. The threshold
714: for passing is given approximately by $\alpha\pm
715: 3\sqrt{\alpha(1-\alpha)/M}$ here, $\alpha=0.01$ is the passing
716: value. $M$ is the number of bitstreams.} \label{fig:nist
717: threshold}
718: \end{figure}
719: %
720: \subsection{Diehard Battery of Tests} The Diehard Battery of
721: \label{sec:diehard} Tests of George Marsaglia are collectively
722: considered to be one of the most stringent tests for randomness.
723: Ten streams of 1 billion bits each were generated using ten
724: different random seeds. Each of the seed was chosen randomly from
725: 10 equally spaced intervals of (0,1). The criteria for passing a
726: Diehard test is that the p-value should not be 0 or 1 up to 6
727: decimal places. BEACH passed all the 18 tests recommended in the
728: Diehard Battery. The test results are tabulated in the table
729: below.
730: \\~~~
731: \begin{table}
732: \centering
733: \begin{tabular}{|c|c|c|c|c|c|c|c|c|c|c|c|}
734:
735: \hline
736: % after \\: \hline or \cline{col1-col2} \cline{col3-col4} ...
737: Test & Seed & Seed & Seed & Seed & Seed & Seed & Seed & Seed & Seed & Seed \\
738: No. & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\
739: \hline
740: 1 & .871 & .221 & .250 & .922 & .014 & .154 & .069 & .050 & .790 & .515 \\
741: 2 & .971 & .527 & .701 & .273 & .448 & .946 & .292 & .460 & .902 & .113 \\
742: 3 & .761 & .942 & .321 & .679 & .407 & .585 & .519 & .587 & .448 & .962 \\
743: 4 & .374 & .801 & .193 & .098 & .799 & .117 & .651 & .437 & .105 & .015 \\
744: 5 & .419 & .665 & .317 & .324 & .040 & .876 & .678 & .507 & .468 & .075 \\
745: 6 & .925 & .199 & .869 & .401 & .978 & .998 & .427 & .930 & .901 & .268 \\
746: 7 & .005 & .192 & .935 & .611 & .505 & .621 & .729 & .339 & .125 & .773 \\
747: 8 & .516 & .549 & .634 & .539 & .092 & .483 & .842 & .053 & .171 & .576 \\
748: 9 & .445 & .542 & .080 & .964 & .724 & .773 & .807 & .136 & .383 & .806 \\
749: 10 &.244 & .084 & .982 & .779 & .355 & .088 & .678 & .324 & .185 & .059 \\
750: 11 &.717 & .440 & .045 & .269 & .280 & .376 & .542 & .873 & .589 & .952 \\
751: 12 &.566 & .702 & .008 & .900 & .145 & .065 & .427 & .784 & .292 & .065 \\
752: 13 &.544 & .636 & .096 & .376 & .768 & .922 & .324 & .903 & .987 & .677 \\
753: 14 &.804 & .835 & .845 & .302 & .390 & .791 & .235 & .567 & .802 & .746 \\
754: 15 &.082 & .512 & .523 & .875 & .713 & .604 & .704 & .909 & .482 & .119 \\
755: \hline
756: \end{tabular}
757: \vspace{0.1in}
758: \caption{Results of Diehard battery of tests on 10 bitstreams of 1 Gb each. The names of the tests are given in Appendix B.} \label{tab:tabdiehard}
759: \end{table}
760: %
761: %
762: The full results, for all the seeds, of the Diehard Tests are
763: available at
764: \\
765: $http://mahesh.shastry.googlepages.com/beach$.
766: \newline{A very few of the results were close to 0.9999. For those
767: seeds, longer sequences were tested. The results of the Diehard
768: Tests for longer sequences showed that such p-values close to
769: 1.00000 were one-off occurrences. We have found that BEACH passes
770: all the tests of Diehard and NIST for extremely large sequences
771: (up to 10 Gb).}
772: %
773: %
774: \section{Summary and Future Research Directions}
775: We have for the first time explored the utility of {\it robust
776: chaos} for the generation of pseudo-random numbers. By chaotically
777: hopping across maps which are fully chaotic, BEACH appears to be a
778: strong candidate for pseudo-random number generators for
779: cryptographic purposes with very long periods. The fact that BEACH
780: successfully passes stringent statistical tests even for extremely
781: long sequences is a testimony to this statement.
782: %
783: The existence of one of the following, a secure pseudo-random
784: number generator, a secure block encryption algorithm, and a
785: secure one-way function, implies that the other two also
786: exist~\cite{kocarev 1}. This makes a strong case for the search of
787: strong pseudo-random number generators and we believe that {\it
788: robust chaos} will have an important role to play. Our future
789: research would focus on developing a strong stream cipher based on
790: BEACH. To this end, we wish to perform security analysis on BEACH.
791: %
792: %
793: \section*{Acknowledgements}
794: We would like to thank Sutirth Dey of the Jawaharlal Nehru Centre
795: for Advanced Scientific Research for stimulating discussions on
796: the B-Exponential Map. Nithin Nagaraj would like to express his
797: sincere gratitude to the Department of Science and Technology
798: Ph.D. fellowship program and to Timothy Poston, National Institute
799: of Advanced Studies for discussions on topological conjugacy.
800:
801: \begin{thebibliography}{1}
802: \bibitem{yorke}
803: K T Alligood, J A Yorke, T D Sauer: Chaos: An Introduction to
804: Dynamical Systems; Springer-Verlag Inc., 1997
805: \bibitem{Barreto}
806: E Barreto, B R Hunt, C Grebogi, J A Yorke: From High Dimensional
807: Chaos to Stable Periodic Orbits: The Structure of Parameter Space,
808: Physics Review Letters, VOL. 78, NO. 24, June 1997
809: \bibitem{Banerjee}
810: S Banerjee, J A Yorke, C Grebogi: Robust Chaos, Physics Review
811: Letters, VOL. 80, NO. 14, April 1998
812: \bibitem{Andrecut}
813: M Andrecut, M K Ali: Robust chaos in smooth unimodal maps,
814: Physical Review E, VOL. 64, No. 025203, July 2001
815: \bibitem{Andrecut2}
816: M Andrecut, M K Ali: Example of robust chaos in a smooth map,
817: Europhyics Letters, VOL. 54 NO. 3, May 2001
818: \bibitem{knuth taocp 2}
819: D Knuth: The Art of Computer Programming, Volume 2: Seminumerical
820: Algorithms, Third Edition; (Reading, Massachusetts:
821: Addison-Wesley, 1997), xiv+762pp. ISBN 0-201-89684-2
822: \bibitem{kocarev 1}
823: L Kocarev: Chaos Based Cryptography: A Brief Overview, Circuits
824: and Systems Magazine; IEEE, 2001
825: \bibitem{logmap}
826: S C Pathak, S Suresh Rao: Logistic Map, A possible random number
827: generator; Physical Review E, VOL. 51, NO. 4, April 1995
828: \bibitem{kocarev 2}
829: T Stojanovski, L Kocarev: Chaos-Based Random Number
830: Generators—Part I: Analysis; IEEE Transactions on Circuits and
831: Systems-I: Fundamental Theory and Applications, VOL. 48, NO. 3,
832: March 2001
833: \bibitem{kocarev 3}
834: L Kocarev, G Jakimoski: Pseudorandom Bits Generated By Chaotic
835: Maps; IEEE Transactions on Circuits and Systems-I: Fundamental
836: Theory and Applications , VOL. 50, NO. 1, January 2003
837: \bibitem{finland rngs}
838: I Vattulainen, K Kankaala, J Saarinen, and T Ala-Nissila: A
839: Comparitive Study of Some Pseudorandom Number Generators;
840: arXiv:hep-lat/9304008 v2 10 Aug 1993
841: \bibitem{rowlands}
842: T Rowlands, D Rowlands: A More Resilient Approach to Chaotic
843: Encryption, ICITA2002
844: \bibitem{mmohocc}
845: X Zhang, L Shu, K Tang: Multi-Map Orbit Hopping Chaotic Stream
846: Cipher; http://www.arxiv.org/ftp/cs/papers/0601/0601010.pdf
847: \bibitem{mathworld}
848: W E Weisstein: ``Random Number'', From MathWorld--A Wolfram Web
849: Resource, http://mathworld.wolfram.com/RandomNumber.html
850: \bibitem{nist}
851: National Institute of Standards and Technology, Random Number
852: Generation and Testing; http://csrc.nist.gov/rng
853: \bibitem{nist manual}
854: A Rukhin {\it et. al.}: A Statistical Test Suite for Random and
855: Pseudorandom Number Generators for Cryptographic Applications;
856: NIST Special Publication 800-22, with revisions dated May 15, 2001
857: \bibitem{ent test}
858: John Walker: ENT: A Pseudorandom Number Sequence Test Program;
859: http://www.fourmilab.ch/random/
860: \bibitem{diehard}
861: G Marsaglia: The Diehard Battery of Tests of Randomness, available
862: online at: http://www.csis.hku.hk/~diehard/index.html
863: %
864: %
865: \end{thebibliography}
866: \newpage
867: \section*{Appendix}
868: \appendix
869: \section{Derivation of certain results}
870: \subsection{Derivation of generalization of the
871: Logistic Map} To prove that
872: \begin{equation}
873: \lim_{B \rightarrow 1} GL(B,x)=4x(1-x).
874: \end{equation}
875: i.e.;
876: \begin{equation}
877: \qquad \lim_{B \rightarrow 1} \frac{B-xB^x-(1-x)B^{1-x} }
878: {B-\sqrt{B}}=4x(1-x).
879: \end{equation}
880: \\ Consider the LHS; by applying L'Hospital's rule;
881: \begin{equation}
882: \lim_{B \rightarrow 1} \frac{B-xB^x-(1-x)B^{1-x} }
883: {B-\sqrt{B}}=\lim_{B \rightarrow 1}
884: \frac{1-x^2B^{x-1}-(1-x)^2B^{-x} } {1-1/2\sqrt{B}}=4x(1-x).
885: \end{equation}
886: \subsection{B-exponential map loses surjectivity at $1/e^4$}
887: For surjectivity, the local maximum of the map in the
888: interval $x=(0,1)$ should be equal to 1. Using this condition, we
889: show that the map loses surjectivity for $B<e^{-4}$. The condition
890: for extremum of $GL(x)$ with respect to $x$ is:
891: \begin{equation}
892: \frac{\partial{GL(B,x)}}{\partial{x}}=0.
893: \end{equation}
894: Now, we know that the B-exponential map is symmetric and concave.
895: Hence, $x=0.5$ should be a maximum or a minimum point. Thus, we
896: get:
897: \begin{equation}
898: \frac{\partial{GL(B,x)}}{\partial{x}} \Big|
899: _{x=0.5}=0\qquad
900: \forall~B \in \mathbb{R^+}.
901: \end{equation}
902: i.e:
903: \begin{equation}
904: \frac{\partial{ \Big(\frac{B-xB^x-(1-x)B^{1-x} } {B-\sqrt{B}}
905: \Big) }}{\partial{x}} \Big| _{x=0.5}=0\qquad \forall ~ B \in
906: \mathbb{R^+}.
907: \end{equation}
908: But, when $0.5$ is a local minimum in any interval, then
909: $GL(B,0.5)=1$ will be a local minimum and the map will no longer
910: be surjective. We use this condition to find $B$ for which the map
911: loses surjectivity.
912: \begin{equation}
913: \frac{\partial^2{GL(B,x)}}{\partial{x}^2} \Big| _{x=0.5}>0.
914: \end{equation}
915: Applying this, we get for $B<e^{-4}$, B-exponential map is not
916: surjective.
917:
918: This also shows that the second derivative of the function with
919: respect $x$, is negative for all values of $x$ only when
920: $0<B<e^{-4}$.
921: \subsection{The B-exponential Map becomes constant at 1 as B tends to $\infty$}
922: To find;
923: \begin{equation}
924: \lim_{B \rightarrow \infty} \frac{B-xB^x-(1-x)B^{1-x} }
925: {B-\sqrt{B}}.
926: \end{equation}
927: rearranging the terms, we get;
928: \begin{equation}
929: \lim_{B \rightarrow \infty} \frac{1-xB^{(x-1)}-(1-x)B^{-x} }
930: {1-1/\sqrt{B}}=1.
931: \end{equation}
932: Hence proved.
933: %
934: %
935: %\subsection{The B-exponential Map is bounded by the Logistic Map from below}
936: %We shall prove here that the B-exponential Map is bounded by the
937: %Logistic Map from below. This means that for every $B > e^{-4}$,
938: %the curve of $GL(B,x)$ is above the Logistic Map.
939: %
940: %
941: %
942: \subsection{Generalized Tent Map}
943: We know that the Logistic Map is conjugate to the Tent
944: Map~\cite{yorke}. We can use the explicit conjugacy map on
945: $GL(B,x)$ to obtain a generalization of the Tent Map. We know that
946: the conjugate map $C(x)$ is given by~\cite{yorke}:
947: \begin{equation}
948: C(x) = \frac{(1-cos~\pi x)}{2} = sin^2 {\Big(} \frac{\pi x}{2}
949: {\Big)}.
950: \end{equation}
951: %
952: The Generalized Tent Map is given by:
953: \begin{equation}
954: GT(B,x) = \frac{2}{\pi} sin^{-1} {\Big(} \frac{ B -
955: sin^2(\frac{\pi x}{2})B^{sin^2(\frac{\pi x}{2})} -
956: (1-sin^2(\frac{\pi x}{2}))B^{(1-sin^2(\frac{\pi x}{2}))} }{B -
957: \sqrt{B}} {\Big)^{\frac{1}{2}}}.
958: \end{equation}
959: with the following property:
960: \begin{equation}
961: \lim_{B \rightarrow 1} GT(B,x) = 1-2 {\Big|} x-\frac{1}{2} {\Big|}
962: .
963: \end{equation}
964: The Generalized Tent Map is plotted below for a few values of B.
965: \begin{figure}[!hbp]
966: \centering
967: \includegraphics[scale=.4]{GT1.eps}
968: \caption{The Generalized Tent Map for three values of $B$. Black:
969: $B=2$, Red: $B=200$, Green: $B=2 \times 10^{10}$.}
970: \label{fig:gtent}
971: \end{figure}
972: %
973: %
974: \par The Generalized Tent Map also exhibits {\it robust chaos}
975: property (since it is topologically conjugate to the B-Exponential
976: Map) and could also be used for generating PRNG.
977: %
978: %
979: %
980: \newpage
981: \section{List of tests included in NIST and Diehard suites}
982: \subsection{NIST tests:}
983: \begin{enumerate}
984: \item Frequency
985: \item Block-Frequency
986: \item Cumulative-Sums
987: \item Runs
988: \item Longest-Run
989: \item Rank
990: \item FFT
991: \item Nonperiodic-Templates
992: \item Overlapping-Templates
993: \item Universal
994: \item Approximate Entropy
995: \item Random-Excursions
996: \item Random-Excursions-Variant
997: \item Serial
998: \item Linear-Complexity
999: \end{enumerate}
1000: %
1001: \subsection{Diehard tests:}
1002: \begin{enumerate}
1003: \item Birthday Spacings Test
1004: \item Overlapping 5-Permutation Test
1005: \item Binary Rank Test For $31 \times 31$ Matrices and $32 \times 32$ Matrices
1006: \item Binary Rank Test For $6 \times 8$ Matrices
1007: \item Bitstream Test
1008: \item Tests OPSO, OQSO And DNA
1009: \item Count-The-1'S Test On A Stream Of Bytes
1010: \item Count-The-1'S Test For Specific Bytes
1011: \item Parking Lot Test
1012: \item Minimum Distance Test
1013: \item 3Dspheres Test
1014: \item Squeeze Test
1015: \item Overlapping Sums Test
1016: \item Runs Test
1017: \item Craps Test
1018: \end{enumerate}
1019:
1020: \end{document}
1021: