# Chaos-Based Physical Unclonable Functions
## 3 Behavioral Modeling
\begin{array}{llll}\delta_{k=K,n=0}[0],&\delta_{k=K,n =0}[1],&\delta_{k=K,n=0}[2],&\cdots&\delta_{k=K,n=0}[M]\\ \delta_{k=K,n=1}[0],&\delta_{k=K,n=1}[1],&\delta_{k=K,n=1}[2],&\cdots&\delta_ {k=K,n=1}[M]\\ \delta_{k=K,n=2}[0],&\delta_{k=K,n=2}[1],&\delta_{k=K,n=2}[2],&\cdots&\delta_ {k=K,n=2}[M]\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ \delta_{k=K,n=N}[0],&\delta_{k=K,n=N}[1],&\delta_{k=K,n=N}[2],&\ldots&\delta_ {k=K,n=N}[M].\\ \end{array} \right.\]  
This way, we obtained \(N\times K\) bit-strings of \(\delta\) variable series sets and analyzed the standard deviations of the \(\delta_{K,N}[0]\), \(\delta_{K,N}[1]\),..., \(\delta_{K,N}[M]\) sets. After that, we were able to analyze the fluctuations of \(\delta\) standard deviation in time \((\sigma_{\delta}(t))\), depending on the inter-class tolerance of circuit parameters. Figure 6 shows the \(\delta\) standard deviation as a function of time (and \(m\in M\)) for particular instances (\(k\in K\)). One can see that the standard deviation of \(\delta\) rapidly rises at a certain moment of time \((m)\); however, the moment of rapid \((\sigma_{\delta}(t))\) increase depends on the particular system's parameter set (tolerance). The simulation results in Figure 6 clearly show that the time or the number of PD classifications \((0<m<M)\) is a variable that distinguishes instances of the circuit, whereas this particular moment \((m)\) divides the chaotic operation of the circuit in Figure 1 to either deterministic \((\sigma_{\delta}=0)\) or non-deterministic \((\sigma_{\delta}>0)\) operation. Results in Figure 6 show the random behavior of the circuit's state variable \(\delta\). Figure 6: Standard deviation of \(\delta\) as a function of time \((m)\) for 50 different instances of circuit model (\(K=50\)). The proposed chaotic circuit is asynchronous; therefore, \(\delta\) is a continuous variable. In order to easily determine the moment of the abrupt change of the circuit's mode of operation (i.e., from deterministic to non-deterministic), it would be much easier to assess its mode according to the bit-string produced at the output of the PD block (see Figure 1). It is obvious that, when \(\delta\) starts to act as a random variable, the PD circuit produces a random bit-string. An example of such a PD operation obtained in Simulink for a single instance is shown in Figure 7.  
One can see that the PD bit-string generated in multiple realizations (within a single instance) can be divided into two regions, the first, in which each \(m\)-th element is independent from the realization, and the second, where the \(m\)-th bit-string element depends on the realization number (circuit run). In the first case, the Shanon entropy (calculated vertically) is approximately 0, whereas the second case yields Shannon entropy close to 1. Example results in Figure 7 show that the iteration number \((m)\) that distinguishes the deterministic from non-deterministic operation could act as a PUF response. A complete simulation according to (3) has been performed, whereas the Shannon entropy of bit-strings (see Figure 7) was used to determine the critical \(m\) iteration number (PUF response). The results of Monte Carlo simulation (with a use of a Savitzky-Golay filter due to sudden changes in values) are shown in Figure 8. The vertical lines indicate the moments dividing the deterministic from non-deterministic chaotic operations. Figure 8: Shannon entropy \((H)\) as a function of \(m\) for 50 instances. Figure 7: Bit-strings obtained for multiple realization in a single instance. The results in Figure 8 clearly show that, for an arbitrarily chosen \(H\) threshold (e.g., \(H_{th}=0.5\)), the \(m\) value dividing types of operation acts as a PUF response (e.g., \(\{m\mid H(m)=0.5\}\)). During simulations in Simulink, we have obtained critical \(m\) values ranging from 16 to 53, which yields 5.2 bits of a single PUF response. We have also checked the temperature impact on the modeled device.