## 3 Proposed LAO-3D Block Cipher
### Encryption Algorithm
\begin{table}
\begin{tabular}{c c c c c c c c c c c c c c} \hline \hline  & & & & & & & & & & & & & & \\ \hline
0 & 13 & 62 & 51 & 4 & 29 & 58 & 35 & 5 & 45 & 19 & 12 & 61 & 50 & 3 \\
16 & 9 & 46 & 55 & 20 & 25 & 42 & 39 & 24 & 41 & 38 & 23 & 28 & 57 & 34 & 7 \\
24 & 41 & 38 & 23 & 28 & 57 & 34 & 7 & 32 & 5 & 30 & 59 & 36 & 21 & 26 & 43 \\
32 & 5 & 30 & 59 & 36 & 21 & 26 & 43 & 37 & 22 & 44 & 53 & 18 & 11 \\
40 & 37 & 22 & 27 & 44 & 53 & 18 & 11 & 48 & 11 & 48 & 11 & 47 & \\
48 & 1 & 14 & 63 & 52 & 17 & 10 & 47 & 10 & 47 & 10 & 47 & \\
56 & 33 & 6 & 31 & 60 & 49 & 2 & 15 & 15 & 15 & 15 & 15 & 15 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: The 3D Bit Rotation Permutation Table (_Z-_axis.). Figure 8: Cipher State of the 3D Bit Rotation (_Z_-axis). Figure 9: LAO-3D Key Schedule Process. #### 3.3.1 NonceXOR

In the initial stage of the key scheduling algorithm, the secret key \(S=\{(s_{127},\ldots,s_{0})\)\(:s_{j-1}\in S\) for \(j=(128,\ldots,1)\}\) is XOR with a Nonce \(N=\{(n_{127},\ldots,n_{0}):n_{j-1}\in N\) for \(j=(128,\ldots,1)\}\) to obtain the key state \(V=\{(v_{127},\ldots,v_{0}):v_{j-1}\in V\) for \(j=(128,\ldots,1)\}\) as defined in Equation (5). The Nonce are random 128 bits of data that are stored in the algorithm. \[V=S\oplus N \tag{5}\]

The introduction of the Nonce in the algorithm can improve the confusion of RoundKey generation. Additionally, the Nonce could remove the correlation between the secret key and the generated RoundKeys. By implementing different Nonce, a secret key will not be able to generate the same set of RoundKeys, which provide extra security to the users. #### 3.3.2 RoundKeyExtraction

LAO-3D cipher utilizes a 128-bit key that generates a set of 21 RoundKeys, including an initial RoundKey. The key schedule algorithm requires extracting 64 bits from the key state. Let \(V=\{(v_{0},\ldots,v_{127}):v_{j-1}\in V\) for \(j=(1,\ldots,128)\}\), defining the key state. Every 32 bits are arranged in reverse order to obtain the RowKey as displayed in Figure 10.

In order to generate 64 bits of the \(i^{th}\) round key \(K_{i}\) for \(i=(0,\ldots,20)\), 16 rightmost columns of \(RowKey_{3}\), \(RowKey_{2}\), \(RowKey_{1}\), and \(RowKey_{0}\) are appended, as shown in Figure 11. During the encryption and decryption processes, these round keys will be used in the AddRoundKey function. #### 3.3.3 KeySubColumn

Upon completion of the RoundKeyExtraction function, the KeySubColumn will be used to modify the RoundKey value in each round. The S-box is used to reconstruct four uppermost rows and eight rightmost columns of the key state, i.e., \((k^{\prime}_{3,j},\ldots,k^{\prime}_{0,j})=S(k_{3j},\ldots,k_{0,j})\) for \(j=(7,\ldots,0)\) as depicted in Figure 12.

Figure 10: RowKey. #### 3.3.4 RowTransformation

The new key state, known as the updated round key produced from the KeySubColumn output, is rearranged into RowKeys representation and revised using the following RowTransformation, as displayed in Figure 13.

### Test Vectors

Test vectors specify the output of a cryptographic algorithm from a given input to provide a copy of the verification data for developers and executors [26]. The input and its corresponding output data of the proposed LAO-3D block cipher are presented in Table 4.

## 4 Security Analysis, Performance Test, and Application

This section presents the security analyses performed in assessing the full 20 rounds of the proposed LAO-3D block cipher. The evaluation methods were implemented to distinguish the strength of the lightweight block cipher and possibly be used in various cryptographic primitives. A decent algorithm must establish a complex relationship between the plaintext, ciphertext, and key, which is called confusion. The encryption method must also scatter the plaintext modifications over the entire ciphertext, which is called diffusion [27].