## 3 Symmetric Random Function Generator (SRFG)  
The mathematical model of Symmetric Random Function Generator (SRFG) is shown in [34]. It produces the balanced and symmetric outputs in consideration of number of 1's and number of 0's in the output string with variable input patterns. In this section we have mentioned some important mathematical expression as shown in [34] to make a clear understanding of propagation and immunity characteristic in next sections. The generalized mathematical expression for SRFG is given as:  
\[f()=\otimes f_{i}^{L} \tag{1}\]  
where \(i\) is number of gates (here, AND, OR, NOT and XOR GATEs are used with randomized selection) used in SRFG; \(L\) represents the expression length. Expression length is defined as the number of the combined terms used in \(f\) and \(\otimes\) symbolizes the random combination. We show the logical model of SRFG in Figure 1.  
As randomness is the main criteria for a random number generator [35], the SRFG generalized equation can be further granulated with \(N\) input variables' following a random selection as shown in Equation (2).  
\[f(V_{1},V_{2}...,V_{N})=\otimes f_{i}^{L}\left[rand(V_{1},V_{2}...,V_{N})\right] \tag{2}\]  
The expanded structure and chaining of functions is shown in Figure 2.  
As per the shown model of SRFG in the literature, it uses a finite field \(F_{2}^{0,1}\) and \(\otimes\) denoted an operation on the field. SRFG inputs \(N\) variables, each of \(n\) bit vector \(V=v_{1},v_{2},...,v_{n}\). As the values in the vector is either 1 or 0, \(V_{i}\) is a binary vector.  
Furthermore, SRFG embodies a set of functions it generates as \(B_{N}\) is. All the functions map the elements from \(F_{2}^{N}\) into \(F_{2}\) where \(F_{2}^{N}=\left\{(V_{1},V_{2},...,V_{N})\left|V_{i}\in F_{2}\right.\right\}\). The output of SRFG is a vector which is a combination of \(2^{N}\) with \(N\) variables. This vector is comprised  
Figure 1: Logical block structure of SRFG.  
Figure 2: Chaining of randomization.  
of all the values \(f(y),y\in F_{2}^{N}\) as the variables are randomly selected and represented as polynomial form of Algebraic Normal Form (ANF) [36]. It is mathematically interpreted as:  
\[\begin{split} f(V_{1},V_{2},...,V_{N})&=\otimes \lambda_{u}\,\left(\prod_{i=1}^{N}rand(V_{i})^{u_{i}}\right)^{L},\\ \lambda_{u}&\in F_{2},\;u\in F_{2}^{N}\;and\;L\in \mathbb{Z}\end{split} \tag{3}\]  
with,  
\[\lambda_{u}=\otimes f(v),\;v\preceq u\;,\;\forall\;V_{i}=\{v_{i_{1}},v_{i_{2} },...,v_{i_{n}}\} \tag{4}\]  
where  
\[(v_{i_{1}},v_{i_{2}},...,v_{i_{n}})\preceq(u_{1},u_{2},...,u_{n})\;\;\Longleftrightarrow \;\forall i,j,v_{i_{j}}\leq u_{i} \tag{5}\]  
In coding theory and in cryptography, ANF considers a Boolean function as a multivariate polynomial. As the N inputs contain values in \(F_{2}\), modulo \(X^{2}+X\) must be considered. Therefore, this polynomial has degree at most 1 in each input variable following that any monomial of this polynomial is the product of some input variables. For any \(u\in F_{2}^{N}\), \((V_{i})^{u_{i}}\) defines monomial as: \(\left(\prod_{i=1}^{N}(V_{i})^{u_{i}}\right)\). Extending this monomial for L terms and random basis we obtain \(\left(\prod_{i=1}^{N}(V_{i})^{u_{i}}\right)^{L}\).The proofs are given in [36].  
In SRFG, the outputs and input mapping correspond to a function \(g:0,1,\ldots,n\to F_{2}\) such that \(\forall x\in F_{2}^{N}\), \(f(x)=g(w(x))\). Following this, Equation (3) is reconstructed as in Equation (6).  
\[f(V_{1},V_{2},...,V_{N}) =\otimes\lambda_{f}\,(j)\otimes\left(\prod_{i=1}^{N}\;rand(V_{i}) ^{u_{i}}\right)^{L} \tag{6}\] \[=\otimes\lambda_{f}\,(j)X_{j,N} \tag{7}\]  
where \(\lambda_{f}(j),u\in F_{2}^{N}\) and \(L\in\mathbb{Z}\), \(j=1,...,N\). \(X_{j,N}\) is the elementary polynomial of degree \(j\) with \(N\) variables. \(\lambda(f)=\lambda_{f}(0),\lambda_{f}(1),...,\lambda_{f}(N)\) known as a simplified vector.