## 3 Proposed Chaos-Based Stream Ciphers Based on Secure PRNGs of Chaotic Sequences
### Architectures Description of the Proposed PRNGs-CS
#### 3.2.1 The Proposed LSP-PRNG  
Figure 6 shows the architecture of the proposed LSP-PRNG. Its internal state is formed by three weakly coupled discrete chaotic maps: Logistic map, Skew-Tent, and Piecewise Linear Chaotic Map (PWLCM). The output function is based on chaotic multiplexing techniques. The proposed LSP-PRNG takes a secret key \(K\) and an initialization vector \(IV\) as input and computes initial values \(XL(0)\), \(XS(0)\) and \(XP(0)\) of the three chaotic maps: Logistic, Skew-Tent, and PWLCM respectively. The \(IV\) of the system supplies the initial vectors of the three chaotic maps: \(IVL\), \(IVS\), and \(IVP\) each are of size N = 32 bits, and the secret key \(K\) provides all the initial conditions and parameters of the chaotic maps and the parameters of the coupling matrix M, as summarized in Table 3.  
Figure 5: A stream encryption/decryption system’s block diagram. Figure 6: LSP-PRNG design architecture proposed. The size of the secret key, noted \(|K1|\), of the proposed LSP-PRNG is given by  
\[|K1|=|XL0|+|XS0|+|XP0|+|P_{\text{s}}|+\big{|}P_{p}\big{|}+\big{(}6\times\big{|} \epsilon_{ij}\big{|}\big{)}=189\;bits \tag{10}\]  
(see below the form of the Matrix M containing \(\epsilon_{ij}\)) where \(|XL0|=|XS0|=|XP0|=|P_{\text{s}}|=32\;bits\), \(\big{|}P_{p}\big{|}=31\;bits\), and \(\big{|}\epsilon_{ij}\big{|}=5\;bits\). The key space of the secret key is \(2^{189}\) different combinations which are large enough to make the brute-force attack infeasible [38]. Indeed, it is commonly agreed upon that a key space of at least \(2^{128}\) is required to make the brute-force attack infeasible. The secret key K provides initial conditions and parameters for chaotic maps as follows:  
\[\left\{ \begin{array}{l}XL0=K(0\;to\;31)\\ XS0=K(32\;to\;63)\\ XP0=K(64\;to\;95)\\ P_{s}=K(96\;to\;127)\\ P_{p}=K(128\;to\;158)\\ \epsilon_{12}=K(159\;to\;163)\\ \epsilon_{13}=K(164\;to\;168)\\ \epsilon_{21}=K(169\;to\;173)\\ \epsilon_{23}=K(174\;to\;178)\\ \epsilon_{31}=K(179\;to\;183)\\ \epsilon_{32}=K(184\;to\;188)\\ \end{array} \right. \tag{11}\]  
The initial values \(XL(0)\), \(XS(0)\), and \(XP(0)\) of the three chaotic maps are calculated as follows:  
\[\left\{ \begin{array}{l}XL(0)=\text{mod}\;((XL0+IVin),\;2^{N})\\ XS(0)=\text{mod}\;((XS0+IVin),\;2^{N})\\ XP(0)=\text{mod}\;((XP0+IVin),\;2^{N})\\ \end{array} \right. \tag{12}\]  
where:  
\[IVin=IV\oplus IVS\oplus IVP \tag{13}\]  
and  
\[\left\{ \begin{array}{l}IVL=IV(0\;to\;31)\\ IVS=IV(32\;to\;63)\\ IVP=IV(64\;to\;95)\\ \end{array} \right. \tag{14}\]  
The function that controls the internal state creates a loose connection between the chaotic maps, generating future samples of \(XLC(n)\), \(XSC(n)\), and \(XPC(n)\). The output sequence \(X(n)\) is then created by applying a chaotic switching method to these samples (see Figure 6). This equation describes how the coupling system works:  
\[\left[ \begin{array}{l}XLC(n)\\ XSC(n)\\ XPC(n)\end{array} \right]=M\times\left[ \begin{array}{l}XL(n)\\ XS(n)\\ XP(n)\end{array} \right] \tag{15}\] \begin{table}
\begin{tabular}{l l} \hline
**Symbol** & **Definition** \\ \hline _XLO_, _XS0_, and _XP0_ & Initial conditions of the chaotic maps: Logistic, Skew-Tent, and PWLCM respectively, ranging from \(1\) to \(2^{N}-1\). \\ \(P_{s}\) & Skew-Tent map’s control parameter, in the range \([1,2^{N}-1]\). \\ \(P_{p}\) & PWLCM map’s control parameter, in the range \([1,2^{N-1}-1]\). \\ \(\epsilon_{ij}\) & The coupling matrix’s parameters, in the range \([1,2^{k}]\) where \(k\leq 5\). \\ \hline \end{tabular}
\end{table} 
Table 3: The initial conditions and parameters that form the secret key. where:  
\[M=\left[ \begin{array}{ccc}M_{11}&\epsilon_{12}&\epsilon_{13}\\ \epsilon_{21}&M_{22}&\epsilon_{23}\\ \epsilon_{31}&\epsilon_{32}&M_{33}\end{array} \right] \tag{16}\]  
with \(\epsilon_{ij}\) are the weakly coupling parameters, and \(M_{11}=(2^{N}-\epsilon_{12}-\epsilon_{13})\); \(M_{22}=(2^{N}-\epsilon_{21}-\epsilon_{23})\); \(M_{33}=(2^{N}-\epsilon_{31}-\epsilon_{32})\).