## 5 Experimentation and Performance Evaluation of Obfuscation Methods
### Performance Evaluation  
To offer a more lucid assessment of the specific performance of obfuscation tools, this paper proposes the following criteria for evaluation:  
* Equivalence: Examining whether the circuit functions and data paths remain equivalent compared to the original RTL code. * Obfuscation Rate: Determining the proportion of the original code that has been obfuscated. * Security: Assessing the degree to which the obfuscated code can be reasonably concealed and the difficulty an attacker faces in attempting to crack it. * Cost: The additional cost of code obfuscation [19]. * Time: The time required to complete all obfuscation methods. In the proposed evaluation criteria, equivalence is assessed by comparing the functionality and logic between the original and obfuscated circuits. In real development scenarios, users do not want the obfuscation to modify the data path and control logic of the original circuit. Therefore, a formal verification tool is used to map and compare the nodes of the obfuscated code and the original code, specifically through the reduced-order binary decision diagram (ROBDD) used to express the logical paths of the nodes [20]. If the ROBDDs of both mapped nodes are the same, then the function of the node has not been changed after the obfuscation. Therefore, for formal verification, identical node information indicates the equivalence between the obfuscated circuit and the original circuit. The obfuscation rate is assessed by calculating the percentage of the original code that undergoes obfuscation. The obfuscation rate reflects the comprehensiveness of the obfuscation tool, and whether the tool takes into account the adverse effects of macro definition parameters. A higher obfuscation rate implies a reduced impact of macro definitions and a diminished exposure of the original code. The security assessment is conducted by analyzing obfuscation methods within the tool. Layout obfuscation hides all the information, and the one-way substitution of information makes it impossible for the attacker to decipher the original information. Parameter obfuscation conceals all parameters, utilizing a substantial volume of data and false parameters, making it nearly impossible for attackers to discern the original parameters' location and the data. Consequently, attackers remain uninformed about the project's configuration information. Critical path obfuscation is not the insertion of meaningless modules. The modules inserted into critical path obfuscation have actual operations, making it challenging to arouse suspicion among attackers. Even if an attacker is resolute to remove these modules, the process incurs substantial costs, establishing this method as highly resistant to compromise. Code increment obfuscation also add a lot of trouble to the attacker's analysis. The cost evaluation involves comparing the variance in circuit overhead between the obfuscated code and the original code. The anticipated scenario is that the circuit incurs minimal additional overhead when critical path obfuscation is not employed. In contrast, when critical path obfuscation is applied, the circuit's metrics undergo changes, with a more noticeable impact on timing metrics, as a way to ensure that the obfuscation objective is reached. This aligns with the specific requirements of actual development. The assessment of the time required to complete obfuscation operations is straightforward: it involves measuring the duration from the initiation of the obfuscation tool to its completion. The experimental evaluation specifically selected four open-source IP cores from the OpenCore [21] website. After the obfuscation of these IP cores, the tool's performance was assessed using the metrics outlined earlier. Table 2 shows the obfuscation effectiveness of the tool. From the table, it clearly indicates that the obfuscation operation performed by the tool maintains the equivalence of the original code logic.