Dear editor, Security integrated circuits play important roles in trusted platform modules [1], embedded devices, etc. However, invasive attacks [2] are serious threats on such circuits. Active shield is regarded as an effective method against invasive attacks. Active shield is a mesh of dense metal wires covering the surface of an integrated circuit (IC) [3]. The security level of IC increases with the geometric difficulty of the mesh. The active shield proposed in [4, 5] has a complex geometry based on random Hamiltonian path. Given this randomness, it is difficult to recognize the geometry of the shield. However, the available generation algorithms are agonizingly slow. In this letter, a highefficient generation algorithm of random Hamiltonian path is proposed using a divide-and-conquer and dynamic programming optimized algorithm (DCDPOA). This algorithm has high execution efficiency and wide adaptability for large integrated circuits, while keeping good randomness. Cycle merging algorithm. Cycle merging algorithm (CMA) is a generation algorithm described in [5]. The rationale of the CMA is the merging of small cycles to form a bigger cycle. In the beginning, several squares are formed. In each merging step, two cycles are randomly selected from the squares or already-merged cycles. If the selected cycles have parallel edges, they will be merged together. However, this selection is completely random and without control. Thus, as the area of the shield increases, the probability that the two selected cycles have parallel edges decreases quickly, which significantly reduces the efficiency. To improve the efficiency, the random selection procedure needs to be optimized. High-efficient generation algorithm. Dynamic programming (DP) algorithm divides the original complicated problem into several related easier subproblems. By solving the subproblems recursively in order, DP algorithm finds a solution to the original problem [6]. Applying the rationale of DP algorithm to Hamiltonian path generation, the dynamic programming optimized algorithm (DPOA) is obtained. The steps of the DPOA are described in Algorithm 1 and also shown in Figure 1(a). Here, S(i, j) stands for the square whose lower-left vertex coordinate is (i, j). CM(S) stands for the Hamiltonian path generated by the CMA, and S is a set of optional cycles. These cycles are merged into one path by the CMA. The inputs are the width W and the height H of the needed Hamiltonian path PF . Steps 1 and 2 generate a basic random Hamiltonian path by the CMA. In Step 1, sixteen squares form a cycle set SB. In Step 2, based on SB, a basic Hamiltonian path PB is generated by the CMA. In Step 3, the parameters w and h, which stand for the width and height of PB, respectively, are both initialized to eight. If W is equal or greater than H , Steps 5–14 are executed. In Step 6, a row of new squares, which form the extended cycle set SER, are generated over PB. In Step 7, PB and SER form a new bigger path by employing the
[1]
Ronald L. Rivest,et al.
Introduction to Algorithms
,
1990
.
[2]
Assia Tria,et al.
Invasive Attacks
,
2005,
Encyclopedia of Cryptography and Security.
[3]
Zhenfu Cao,et al.
Survey of information security
,
2007,
Science in China Series F: Information Sciences.
[4]
David Naccache,et al.
3D Hardware Canaries
,
2012,
CHES.
[5]
Sylvain Guilley,et al.
Cryptographically Secure Shield for Security IPs Protection
,
2017,
IEEE Transactions on Computers.
[6]
David Naccache,et al.
Random Active Shield
,
2012,
2012 Workshop on Fault Diagnosis and Tolerance in Cryptography.