# Securing IoT Devices against Differential-Linear (DL) Attack Used on Serpent Algorithm
## 4 Research Methodology
\begin{table}
\begin{tabular}{c c c} \hline \hline \(X\) & \(S_{\mathbf{4}}(X)\) & \(InvS_{\mathbf{4}}(X)\) \\ \hline
0 & 21038e4 da & 10 fc22f87 \\
1 & 1016b6 cf64 & a13 ee8f72 \\
2 & 91377 da1f & b146544c5 \\
3 & 411264f80 & 8130124 cc \\
4 & d1552 af6b & c14 dbfa18 \\
5 & 10 fc22f87 & f16401a11 \\
6 & c14 dbfa18 & 7128 af679 \\
7 & 7128a6f79 & e15c964 be \\
8 & 310a79a2d & 411264f80 \\
7 & 7128a6f79 & e15c964 be \\
8 & 310a79a2d \\
9 & 41126480 & 411264f80 \\ A & f16401a11 & 7128 af679 \\ B & 91377d1 af1 & e15c964 be \\ C & e15c964 be & 61213 ba26 \\ D & 7128a6f79 & 91377d1 af \\ E & 8130124 cc & b146544c5 \\ F & 21038e4 da & 8130124 cc \\ \hline \hline \end{tabular}
\end{table} 
Table 14: New generated 32-bit output S-Box to replace Table 5. \begin{table}
\begin{tabular}{c c c} \hline \hline \(X\) & \(S_{\mathbf{5}}(X)\) & \(InvS_{\mathbf{5}}(X)\) \\ \hline
0 & 1016b6 cf64 & 1552 af6b \\
1 & 61213 ba26 & a13 ee8f72 \\
2 & 310a79a2d & 1016b6 cf64 \\
3 & c14 dbfa18 & 5119d0d43 \\
4 & 5119d04d3 & c14 dbfa18 \\
5 & b146544c5 & f16401a11 \\
6 & a13 ee8f72 & 21038e4 da \\
7 & d1552 af6b & 310 af9a2d \\
8 & 10 fc22f87 & 10 fc22f87 \\
9 & 41126480 & 411264f80 \\ A & f16401a11 & 7128 af679 \\ B & 91377d1 af & e15c964 be \\ C & e15c964 be & 61213 ba26 \\ D & 7128a6f79 & 91377d1 af \\ E & 8130124 cc & b146544c5 \\ F & 21038e4 da & 8130124 cc \\ \hline \hline \end{tabular}
\end{table} 
Table 15: New generated 32-bit output S-Box to replace Table 6.  
The output of a Blocker Function is not fixed unlike in S-Boxes where a look-up table is implemented with defined inputs and outputs. 2. The output of a Blocker Function is secreted and calculated unlike in the Serpent S-Boxes where the output is remarkable on a look-up table. 3. A Blocker Function is inevitable. If one recognizes an output of a Blocker Function that does not signify an input, it can be reversely estimated and retrieved. The intention is that a Blocker Function is composed of several quantities of random numbers and XOR operators. 4. Chosen magic numbers (such as \(P\), \(Q\), and \(M\)) used in a Blocker Function are unfactorizable. Refer to Figure 1.
5. All functions appropriated to comprise a Blocker Function are non-linear. 6. The input of a Blocker Function is 32-bit long, and the intruder cannot easily create the \(DLCT\) of 23 using a computer or any processor since a lot of memory is required. 7. A Blocker Function acquires the output of 32-bit S-Boxes and manipulates them as its input. Then, an outstanding output value is produced in order to be utilized in the Magic Serpent algorithm. A new distinct output value is unpredictable; hence, it confuses the intruders. 8. The output of 32-bit S-Boxes is determined as \(state32 hold\). A Blocker Function receives this output as its input and returns an unpredictable variable called \(statehold\). Refer to Figure 1.
9. After executing a Blocker Function, all functions in the Serpent algorithm recalling S-Boxes have to identify or employ a Blocker Function because S-Boxes are mathematically preserved and unalterable in a Blocker Function. 10. A Blocker Function provides tamper-proof 32-bit output S-Boxes. Let us suppose that the positions of 32-bit output S-Boxes are altered or the 32-bit S-Boxes are displaced. In that case, Mag_Serpent will not produce the anticipated results. This study applies a Blocker Function to create a new 32-bit S-Box suitable for the new Magic Serpent Algorithm, and this distracts the attacker since it contains many mathematical random numbers and XOR operators. Additionally, most mathematical random numbers and XOR operators are irreversible. Unlike the traditional S-Boxes employed in Serpent algorithms, a Blocker Function has supplemented robustness against a DL attack. A Blocker Function works favorably in both and is suitable with respect to the new 32-bit S-Boxes and prevents a DL attack of a new Magic Serpent algorithm. Mathematically, a Blocker Function is created as follows.