# A Novel Encryption Scheme in Ship Remote Control against Differential Fault Attack
## 4 Results and Discussion
### Analysis of Experimental Results
The attacker lack the way to obtain \(\triangle T_{i}\), cannot recover the input \(T_{i}\) of S-box in the optimization scheme, and cannot continue to reverse the values of \(X_{32}\), \(X_{33}\), \(X_{34}\) and the corresponding difference value \(\triangle a_{i,j}\). The optimization scheme defends the DFA and double fault attack from the encryption algorithm. If the fault occurs at an intermediary stage, for example, the word \(X_{28}\) in the input \((X_{27},X_{28},X_{29},X_{30})\) of the 28-th round of encryption induces a failure. The output of the 28-th round is \((X_{28}^{*},X_{29},X_{30},X_{31}^{*})\). The output of the 29-th round is \((X_{29},X_{30},X_{31}^{*},X_{32}^{*})\). The output of the 30-th round is \((X_{30},X_{31}^{*},X_{32}^{*},X_{33}^{*})\) The output of the 31-st round is \((X_{31}^{*},X_{32}^{*},X_{33}^{*},X_{34}^{*})\). The output of the 32-nd round is \((X_{32}^{*},X_{33}^{*},X_{34}^{*},X_{35}^{*})\). Where, \(*\) indicates that the word has fault information. After simplification, the output difference is: \(\triangle X_{32}=\triangle X_{28}\oplus T(\triangle X_{31})\), \(\triangle X_{33}=T(\triangle X_{31}\oplus\triangle X_{32})\), \(\triangle X_{34}=T(\triangle X_{31}\oplus\triangle X_{32}\oplus\triangle X_{33})\), \(\triangle X_{35}=\triangle X_{31}\oplus T(\triangle X_{32}\oplus\triangle X_{33} \oplus\triangle X_{34})\). Where, \(\triangle X_{31}=\triangle X_{35}\oplus T(\triangle X_{32}\oplus\triangle X_{3 3}\oplus\triangle X_{34})=T(\triangle X_{28})\), and then \(\triangle X_{28}=\triangle X_{32}\oplus T(\triangle X_{31})\). Taking \(\triangle X_{28}\) as \(\triangle A\) and \(\triangle X_{31}\) as \(\triangle C\), the key of 28 rounds can be recovered when the difference table is known. After applying the combined transform, \(\triangle X_{35}=\triangle X_{31}\oplus T(\triangle X_{32}\oplus\triangle X_{3 3}\oplus\triangle X_{34})=\triangle X_{31}\oplus T(\triangle S_{32}\oplus \triangle S_{33}\oplus\triangle S_{34})\). At this time, since the original \(X_{32}\), \(X_{33}\) and \(X_{34}\) before the combination transform cannot be obtained, the value of \(S_{32}\), \(S_{33}\) and \(S_{34}\) cannot be derived, so the \(\triangle X_{31}\) cannot be obtained. The key also cannot be recovered. Figure 7 is a diagram for showing the influence on DFA after applying the combined transpose. The red part is the \(\triangle A\) calculated by correct ciphertext and wrong ciphertext in a certain round of DFA. The green part is the comparison between the rkj obtained by DFA and the correct \(rk_{j}\). The original \(X_{32}\), \(X_{32}\) and \(rk_{31}\) that induce the fault in the figure are the internal values of the algorithm, which cannot be obtained by the attacker. Here, in order to verify the optimization effect, it needs to be shown. The range of the fault difference is spread from \(Y_{0}\) to \((Y_{0},Y_{1},Y_{2})\), and the specific position is determined by the change rules of \(X_{i}\to T_{i}\) in the combination transform. If the fault difference still appears in \(Y_{1}\), according to the obtained \(\triangle A\) cannot recover the correct key information. If the fault difference appears in \((Y_{1},Y_{2})\), then there is no fault information in \(\triangle A\), it can only use  
Figure 6: Generate one of S-boxes. \(\bigtriangleup Y_{1}\) or \(\bigtriangleup Y_{2}\), but still unable to recover the correct ciphertext information. The board-shore communication management personnel can regularly change the S-box and the transform rule of \(X_{i}\to T_{i}\) at the same time, which increases the complexity of the algorithm being attacked. Compared with the infection scheme, the improved SM4 algorithm in this paper needs less computation cost. It can ensure the data security of CPS of intelligent ships. Disadvantages: Although the output \(F_{i}\) of the combined transform increases the difficulty of obtaining \(\bigtriangleup a_{ij}\), as the input of the next round of encryption, it needs to be stored in the storage unit and may be exposed to the attacker.