# AHC: Advanced Network-Hiding Access Control Framework
## 5 Experiments and Analysis
### Performance Testing and Analysis
#### 5.2.2 Performance Comparison  
To test the performance of AHAC, we constructed an experimental environment as shown in Figure 3. In the same experimental environment, we validated the load performance of AHAC and SPA. This environment consists of two core deployment areas: the Agent Deployment Area and the Network-Hiding Deployment Area. \begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{\begin{tabular}{c} **Security** \\ **Intensity (Bits)** \\ \end{tabular} } & \begin{tabular}{c} **SPA** \\ **(Minimum Public** \\ **Key Length (Bits))** \\ \end{tabular} & \
\begin{tabular}{c} **AHAC** \\ **(Minimum Public** \\ **Key Length (Bits))** \\ \end{tabular} &
\begin{tabular}{c} **AHAC vs. SPA** \\ **(Secret Key Key** \\ **Length Ratio)** \\ \end{tabular} & **Validity** \\ \hline
80 & 1024 & 160–223 & 1:6 & Until 2010 \\
112 & 2048 & 224–255 & 1:9 & Until 2030 \\
128 & 3072 & 256–383 & 1:12 & Beyond 2031 \\
192 & 7680 & 384–511 & 1:20 & \\
256 & 15,360 & 512+ & 1:30 & \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Comparison of RSA and ECC encryption algorithms in SPA and AHAC for cost-effectiveness. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Cycle Times** & **SPA** & **AHAC** \\ \hline
1 & 0.34 s & 687 μs \\
10 & 2.48 s & **3.60 ms** \\
100 & 27.54 s & **0.03 s** \\
200 & 61.18 s & **0.06 s** \\
500 & 136.23 s & **0.16 s** \\
1000 & 287.61 s & **0.32 s** \\
10,000 & 2832.42 s & **3.81 s** \\ \hline \hline \end{tabular}
\end{table} 
Table 3: Comparison of time overhead of AHAC vs. SPA. The Network-Hiding Deployment Area integrates two key components: the Network-Hiding Server (i.e., Server) and the Application Server. We specifically selected three machines with uniform configurations, each equipped with a 4-core CPU and 8 GB of RAM, to ensure the stability and consistency of the testing environment. On the agent server, we launched agent services that sent Port Knocking requests to the Server at a frequency of once per second. Meanwhile, on the Server, we deployed the JMeter component to simulate and monitor the performance of the Server. On the Application Server side, we launched JMeter services to monitor the data changes in performance resource consumption of the Server in real-time. We selected 1, 10, 20, 30, 40, and 50 Agents to conduct performance tests on AHAC and SPA. As shown in Figure 4, the horizontal axis represents the number of Agents selected in the experiment, and the vertical axis reflects the CPU usage rate during the tests. The experimental results reveal that as the number of Agents increases, the CPU load for both AHAC and SPA shows an upward trend. However, as the number of Agents increases, AHAC demonstrates a significant performance advantage, with its CPU load approximately maintaining half the level of SPA. Figure 4: Performance comparison results between AHAC and SPA. Figure 3: Performance testing deployment scenarios. The experimental results prove AHAC's superior performance in handling different numbers of Agents. Compared to SPA, AHAC achieves lower CPU load under the same experimental conditions, thereby enhancing overall operational efficiency. In summary, from a theoretical perspective, AHAC should be able to improve performance by about 1000 times compared to SPA. However, in the actual testing environment, its performance improvement was only about 1-fold compared to SPA. After analysis, the main reasons for the performance decline of AHAC in practical scenarios are as follows:  
First, network overhead significantly impacts performance. Second, garbage collection issues cannot be ignored. In a recent report, the White House Office of the National Cyber Director (ONCD) strongly recommended that developers adopt \"memory-safe programming languages\" and advised against using C and C++. Therefore, considering code security and the feasibility of implementing encryption algorithms, we chose the memory-safe Go language for development. However, the garbage collection mechanism of the Go language may cause some performance loss.