# A Finite State Machine-Based Improved Cryptographic Technique
## 4 Results and Analysis of Proposed Work
### Security Checks for Cryptographic Module According to FIPS 140-2  
FIPS-140-2 is also known as the Federal Information Processing Standard. Four statistical examinations are carried out by the FIPS-140-2 during a binary sequence that is 20,000 bits in length. The mono-bit test, the poker test, the run test, and the long-run test are the names of these respective tests. A minimum of one hundred binary random sequences are required to be used to carry out the test in an appropriate manner. In each experiment, the value of the statistical parameter that has been supplied is calculated for the binary sequence that has been defined. When the value of the test parameter has been calculated, it is then compared to the range of acceptable values that has been established for that specific test. If it falls within the acceptable range the test is considered successful. If the parameter being evaluated is found to fall within a range that is considered acceptable, the binary sequence will provide a positive result. For the random binary sequence to be eligible for use in cryptography it is required to fulfil all the prior requirements. Failing to do so will result in the sequence not being regarded as suitable for use. The following is a list of the tests that are included in the FIPS-140-2 certification. 1. Frequency/Monobit test: It is reasonable to anticipate that, in a sequence of ones and zeros that was created at random, approximately half of the bits in the sequence should be ones, and the other half should be zeros. This is because one is the binary representations of the values one and zero is the binary representation of the value zero. The frequency test verifies that the total number of ones and zeros that constitute the sequence do not significantly differ from one another. This guarantees that there is a natural flow to the sequence. \[T_{p}=\frac{16}{5000}{\sum_{i=1}^{16}aF(i)}^{2}-5000\] (19)
2. Poker test: The bitstream that is going to be analyzed has been sectioned up into subcomponents that each comprise four bits, considering that \(F(i)\) stands for the count of each of the four-bit values. 3. Run test: A run is the term used to describe an unbroken string of bits that are all the same. With the run test, a tally is taken of the number of runs of ones and zeros of varied lengths that are present in the input sequence. These runs may be of varying lengths. The value of the test parameter known as Tr is determined by the number of ones and zeros that are present in a certain bitstream. 4. Long run test: \begin{table}
\begin{tabular}{c c} \hline
**Secret Key (\(k_{s}\))** & **Normalized Dispersion (\(\gamma\))** \\ \hline
15,512 & 0.8221 \\
51,855 & 0.8225 \\
1351 & 0.8050 \\
98,581 & 0.8012 \\
58,111 & 0.8080 \\
51,232 & 0.8209 \\
22,981 & 0.8012 \\
52,983 & 0.8080 \\
25,139 & 0.8215 \\
15,322 & 0.8051 \\
12,851 & 0.8225 \\ Average & 0.1478 \\ \hline \end{tabular}
\end{table} 
Table 6: Comparison of dispersion for MCTC with different values of secret key \(k_{s}\). The value of the test parameter TI must be more than or equal to 26, and it is determined by counting the number of consecutive ones or zeros that are not broken up in any way. If the bitstream does not include any runs of this sort, then the test may be regarded to have been successful. Estimates were made for the test parameters for each of the four tests based on around one-hundred different binary sequences that were generated by the MCTC that was recommended. During the generation process, a one-of-a-kind private key was used to construct each binary sequence of length 20,000 utilizing that sequence. The binary sequence was created by converting each of the random numbers that were produced by the MCTC into a bit, bi, by utilizing the binary representation of the numbers that were obtained by calculating  
\[ \begin{array}{l}b_{i}=1,\text{ {if}}\ \
u>N/2\\ =0,\text{ {if}}\ \
u<N/2\end{array}