## 3 Proposed Method
### Step 4. Binarization Based on the Collatz Conjecture  
The purpose of this block is to generate the data that will serve as input to the encryption algorithm based on RSA. For the generation of this data, it is proposed to use the Collatz conjecture for the binarization of integer values. From the conjecture, it is possible to obtain an alternative binary representation of positive integers. In each iteration of the reduction process, a bit is added depending \begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Value** \\ \hline Frame duration (ms) & 500 \\ Frame shift (ms) & 250 \\ Preemphasis coefficient & 0.97 \\ Number of filterbank channels & 20 \\ Number of cepstral coefficients & 12 \\ Cepstral sine lifter parameter & 22 \\ Lower frequency limit (Hz) & 300 \\ Upper frequency limit (Hz) & 3900 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: MFCC parameters. on which of the two expressions is used, i.e., when the operation applied is \(L/2\), a bit \"0\" is added, otherwise a bit \"1\" is added. Two additional values are obtained from the binary vector. The first is the number of iterations (\(IN\)) that the algorithm uses to reduces the integer to 1. The second is the Hamming weight (\(HW\)) of the binary vector, i.e., the number of ones in the vector. In the example shown in Table 2, the Collatz conjecture has been applied to reduce the number six. The results are the binary vector \"10000100\", \(IN=8\), and \(HW=3\). Given that the elements of the vector \(V\) are represented in integer format with a precision of \(b\) bits, in the binarization block, the objective is to obtain a set of \(IN\) and \(HW\) values that allow each of the possible values that \(V\) can take to be represented. In this case, this block provides \(2^{b}\)\(IN\) and \(HW\) values. Each pair of values is obtained through the algorithm shown in Algorithm 1. It is important to bear in mind that the vectors containing the \(IN\) and \(HW\) values are only generated once. ```
1:Input:\(X,L\gets 2,Cont\gets 0\). 2:Output:\(Vector\_Bin,IN,HW\). 3:\(Vector\_Bin\leftarrow[]\);
4:while\(X\
eq 1\)do
5:if\(X\) is eventhen
6:\(X\gets X/2\)
7:\(Vector\_Bin\leftarrow[0\) Vector\_Bin]
8:else
9:\(X\gets 3*X+1\)
10:\(Vector\_Bin\leftarrow[1\) Vector\_Bin]
11:endif
12:endwhile
13:\(IN\leftarrow\)length of Vector\_Bin
14:for\(i\gets 1\) to \(1N\)do
15:\(HW\gets HW+Vector\_Bin(i)\)
16:endfor
```  
**Algorithm 1** Collatz-Based Binarization. The next step is to replace each element in the vector \(V\) using the \(IN\) and \(HW\) values. To obtain the values corresponding to each \(V\) element, two multiplexers are used. In the first multiplexer, the \(b\) bits of the \(V\) element are used as select lines and each of the \(2^{b}\)\(IN\) values are the input lines; in the second multiplexer, the select lines are the same, while the input lines are the \(2^{b}\)\(HW\) values. This means that a value of \(j\) in \(V\), is replaced by the \(j^{th}\) position in \(IN\) and by the \(j^{th}\) position in \(HW\). Both the \(IN\) and \(HW\) values of each element in \(V\) will be used as input values for the encryption block. Continuing with the previous example, the sample value is replaced by two values: The number of iterations and the Hamming weight (see Figure 2). In this case, the value of the select lines of \begin{table}
\begin{tabular}{c c c} \hline \hline \(X=6\) & **Operation** & **Binary Vector** \\ \hline
6 & \(6/2=3\) & 0 \\
3 & \(3\times 3+1=10\) & 1 \\
10 & \(10/2=5\) & 0 \\
5 & \(5\times 3+1=16\) & 1 \\
16 & \(16/2=8\) & 0 \\
8 & \(8/2=4\) & 0 \\
4 & \(4/2=2\) & 0 \\
2 & \(2/2=1\) & 0 \\
1 & & 1 (MSB) \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Example of Collatz conjecture-based binarization. the upper multiplexer is 6, so the output value corresponds to the sixth element of the vector IN, i.e., the number of iterations for the number 6 in the Collatz-based binarization.