# A Practical Implementation of Post-Quantum Cryptography for Secure Wireless Communication +
## 6 Evaluation
### Results and Discussion
#### 6.2.2 Performance Results of PQC Algorithm Encryption and Decryption  
In the hybrid protocol, AES-256 is used for data encryption/decryption. It was expected that the times for these operations should remain consistently low, meaning they should not vary significantly with the chosen PQC KEM, as the underlying symmetric cipher remains the same. To focus on the computational differences introduced by the PQC algorithms themselves, the subsequent figures present the encryption and decryption times specifically for the PQC-only protocol. Therefore, we evaluated the data encryption and decryption times for the PQC KEM algorithms. The encryption process was executed on the client system, while decryption was performed on the server system. Figure 4 shows the average encryption times for the BIKE, HQC, and CRYSTALS-Kyber algorithms when processing files of sizes 1 KB, 10 KB, and 100 KB. For BIKE-L1, as shown in Figure 4a, the encryption times remained stable across file sizes, with 0.20 ms for 1 KB, 0.199 ms for 10 KB, and 0.148 ms for 100 KB. However, BIKE-L3 exhibited higher encryption times for larger files, increasing from 0.47 ms (1 KB) to 0.63 ms (10 KB) before declining to 0.46 ms (100 KB), while BIKE-L5 ranged from 0.58 ms (1 KB) to 0.93 ms (10 KB) and 0.82 ms (100 KB). \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline \multirow{2}{*}{**PQC KEM Algorithm**} & \multicolumn{2}{c}{**Client**} & \multicolumn{2}{c}{**Server**} & \multirow{2}{*}{**Avg.**} \\  & **Avg.** & **Avg.** & **Decap.** & **Avg.** & **Avg.** & **Avg.** \\  & **Key Gen.** & **Encap.** & **Decap.** & **Key Gen.** & **Encap.** & **Decap.** \\  & **(ms)** & **(ms)** & **(ms)** & **(ms)** & **(ms)** & **(ms)** \\ \hline BIKE-L1 & 0.43 & 0.12 & 1.64 & 1.23 & 0.12 & 1.52 \\ BIKE-L3 & 0.80 & 0.21 & 5.68 & 2.63 & 0.19 & 5.79 \\ BIKE-L5 & 1.95 & 0.36 & 14.42 & 5.05 & 0.33 & 15.94 \\ HQC-128 & 3.45 & 5.76 & 10.23 & 5.60 & 4.03 & 8.44 \\ HQC-192 & 4.88 & 12.83 & 28.11 & 9.70 & 11.99 & 32.20 \\ HQC-256 & 8.73 & 17.96 & 49.77 & 14.32 & 1.81 & 53.40 \\ K512 & 0.92 & 0.10 & 0.17 & 1.83 & 0.10 & 0.11 \\ K768 & 0.19 & 0.09 & 0.16 & 0.37 & 0.10 & 0.10 \\ K1024 & 1.00 & 0.14 & 0.18 & 0.49 & 0.09 & 0.11 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Average times to generate PQC algorithm KEM keys. \begin{table}
\begin{tabular}{c c c c c c} \hline \hline \multirow{2}{*}{**PQC Signature**} & \multicolumn{2}{c}{**Client**} & \multicolumn{2}{c}{**Server**} & \multirow{2}{*}{**Avg.**} \\  & **Avg.** & **Avg.** & **Avg.** & **Avg.** & **Avg.** \\  & **Sig. Key** & **Signing** & **Ver.** & **Sig. Key** & **Signing** & **Ver.** \\  & **Gen. (ms)** & **(ms)** & **(ms)** & **Gen. (ms)** & **(ms)** & **(ms)** \\ \hline F512 & 7.01 & 0.33 & 0.28 & 9.68 & 0.37 & 0.82 \\ F1024 & 19.00 & 1.43 & 0.31 & 24.51 & 0.67 & 0.79 \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Average times to generate PQC algorithm signature keys. Conversely, the HQC encryption times scaled significantly with both security levels and file sizes, as shown in Figure 4b. HQC-128 averaged 6.13 ms (1 KB), 5.96 ms (10 KB), and 5.63 ms (100 KB), whereas HQC-256 averaged 32.82 ms (1 KB), 37.04 ms (10 KB), and 37.54 ms (100 KB). The CRYSTALS-Kyber algorithms, as shown in Figure 4c, demonstrated modest variations, with K768 achieving the fastest 1 KB encryption time of 0.10 ms, outperforming K512 (0.15 ms) and K1024 (0.13 ms). For 100 KB files, the CRYSTALS-Kyber encryption times remained low compared to those of the other algorithms, ranging from 0.10 ms (K768) to 0.17 ms (K1024). Figure 5 shows the average decryption times on the server system. The BIKE decryption times increased sharply as the security level increased, ranging from an average decryption time of 2.17 ms (1 KB) to 23.85 ms (100 KB). BIKE-L1 achieved the lowest decryption time across all file sizes, with 2.17 ms (1 KB), 2.94 ms (10 KB), and 2.32 ms for 100 KB.