Algebraic Persistent Fault Analysis of SKINNY_64 Based on S_Box Decomposition
Abstract
:1. Introduction
1.1. Related Works
1.2. Our Contributions
- For the SKINNY block cipher, its S_box is the four-in-four-out type, and the output four-bit value can be represented by an algebraic equation of the four-bit input value. When there is a fault in the S_box lookup table, the original algebraic equation cannot represent the output result, and an algebraic representation using the changed set of algebraic equations is required. We give the distribution of the number of variables in the algebraic equations of S_box by traversing all possible single faults in the S_box;
- In this paper, we propose an algebraic persistent fault analysis method based on known plaintexts(KP-APFA) with all rounds encryption. The attack is first attempted using the original faulty S_box algebraic expression. The experimental results show that the attack cannot complete key-recovery within the specified time;
- To achieve key-recovery of the SKINNY cipher, we introduce the S_box decomposition method and combine it with the KP-APFA method to analyze the SKINNY cipher, which can solve the key in 2000 swith at least 11 pairs of plaintext and faulty ciphertext. This reduces the number of fault samples by more than 100 times compared to the EPFA method;
- A constraint-based algebraic persistent fault analysis method was proposed by Zhang Fan et al. In this paper, the S_box decomposition is combined with this method (referred to as SD-APFA), and the experimental results show that the solving speed and the success rate of solving in the specified time are improved, and the best case can improve the solving speed by more than 10 times. In addition, the relationship between key residual entropy, fault depth, and number of faults is further investigated in this paper.
2. Algorithmic Description of SKINNY
- SubcellsSubcells are the only non-linear operation in the entire encryption process. The hexadecimal notation of this S_box is given by the following Table 1.
X 0 1 2 3 4 5 6 7 8 9 a b c d e f S[X] c 6 9 0 1 a 2 b 3 8 5 d 4 e 7 f Observation of Equation (1) reveals that the original S-box algebraic equation uses a total of eight quadratic and quadratic+ variables, which are , , , , , , , .
- AddconstantsThe constants of the SKINNY block cipher are generated through a 6-bit affine LFSR (Linear Feedback Shift Register), whose state is updated by following definition:The initial value of these 6 bits is set to 0, which are updated before use in a given round. The bits from the LFSR are arranged into a 4 × 4 array (only the first column of the state is affected by the LFSR bits):
- AddRoundTweakeyThe first and second rows of all tweakey arrays are extracted and bitwise exclusive-oredto the cipher internal state, respecting the array positioning. The specific subkey generation method can be found in Ref. [2].
- ShiftRowsThis operation can be represented as a permutation. A permutation P is applied on the cells positions of the cipher internal state cell array: for all , the operation can be showed as .
- MixColumnsThis operation can mix each column by multiplication. The matrix M of the multiplication is shown as follows:
3. Persistent Fault Injection in S_Box
Algorithm 1: Pseudocode for calculating the number of higher-order variables in a system of equations for an S_box |
Algorithm 2: The fault ciphertext generation of SKINNY_64 |
Algorithm 3: The KP-APFA for SKINNY_64 |
4. S_Box Decomposition of SKINNY
- Rewriting as , one needs to search only for all possible quadratic functions for . This is then used to compute the other quadratic functions as .
- Rewriting as where and . We assume that and get the other decompositions directly by substituting 15 nonzero values for . Therefore, we only need to vary the 10 nonconstant coefficients in the ANF and the search space is reduced to .
- We first iterate through all combinations of coefficients of function . For each combination of coefficients we iterate through all possible values of X and check whether the Boolean equation is balanced. If the combination is balanced we then add it to a set B for all possible coefficients, otherwise it is discarded;
- The corresponding equation is calculated iteratively for each balanced coefficient in the set B in a group of four;
- Check whether the computed is a quadratic permutation or not. If yes, we compute the , otherwise we discard it;
- Check whether the computed is a quadratic function or not. If yes, add both the and functions to the set P of all the possible decompositions, otherwise discard them. By doing the above, we can obtain the possible decomposition of 19,862 pairs;
- Considering 15 other possible constant terms, we finally get 317,777 possibilities for the S-box decomposition of the SKINNY block cipher using the above steps.
5. Applying Another Persistent Algebraic Analysis of SKINNY
Algorithm 4: The SD-APFA for SKINNY_64 |
6. Experimental Setup and Results
6.1. Experimental Setup
6.2. Results
7. Conclusions
Author Contributions
Funding
Institutional Review Board Statement
Data Availability Statement
Conflicts of Interest
References
- Vaithiyanathan, M.P. A survey on lightweight ciphers for IoT devices. In Proceedings of the International Conference on Technological Advancements in Power and Energy (TAP Energy), Kollam, India, 21–23 December 2017; pp. 1–4. [Google Scholar]
- Beierle, C.; Jean, J.; Kölbl, S.; Leander, G.; Moradi, A.; Peyrin, T.; Sasaki, Y.; Sasdrich, P.; Sim, S.M. The SKINNY family of block ciphers and its low-latency variant MANTIS. In Advances in Cryptology—CRYPTO 2016, Part II; Springer: Berlin/Heidelberg, Germany, 2016; pp. 123–153. [Google Scholar]
- Jovanovic, P.; Kreuzer, M.; Polian, I. A fault attack on the led block cipher. In International Workshop on Constructive Side-Channel Analysis and Secure Design; Springer: Berlin/Heidelberg, Germany, 2012; pp. 120–134. [Google Scholar]
- Courbon, F.; Loubet-Moundi, P.; Fournier, J.J.; Tria, A. Adjusting laser injections for fully controlled faults. In International Workshop on Constructive Side-Channel Analysis and Secure Design; Springer: Berlin/Heidelberg, Germany, 2014; pp. 229–242. [Google Scholar]
- Canivet, G.; Maistri, P.; Leveugle, R.; Clediere, J.; Valette, F.; Renaudin, M. Glitch and laser fault attacks onto a secure aes implementation on a sram-based fpga. J. Cryptol. 2011, 24, 247–268. [Google Scholar] [CrossRef]
- Kutzner, S.; Nguyen, P.H.; Poschmann, A.; Wang, H. On 3-share Threshold Implementations for 4-bit S-boxes. In Proceedings of the International Workshop Constructive Side-Channel Analysis Secure Design, Paris, France, 6–8 March 2013; Springer: Berlin/Heidelberg, Germany, 2013; pp. 99–113. [Google Scholar]
- Bilgin, B.; Nikova, S.; Nikov, V.; Rijmen, V.; Stütz, G. Threshold implementations of all 3 × 3 and 4 × 4 S-boxes. In Proceedings of the CHES, Leuven, Belgium, 9–12 September 2012; Springer: Berlin/Heidelberg, Germany, 2012; pp. 76–91. [Google Scholar]
- Jati, A.; Gupta, N.; Chattopadhyay, A.; Sanadhya, S.K.; Chang, D. Threshold Implementations of GIFT: A Trade-Off Analysis. IEEE Trans. Inf. Forensics Secur. 2020, 15, 2110–2120. [Google Scholar] [CrossRef]
- Amiel, F.; Clavier, C.; Tunstall, M. Fault analysis of dpa-resistant algorithms. In International Workshop on Fault Diagnosis and Tolerance in Cryptography; Springer: Berlin/Heidelberg, Germany, 2006; pp. 223–236. [Google Scholar]
- Poschmann, A.; Moradi, A.; Khoo, K.; Lim, C.-W.; Wang, H.; Ling, S. Side-channel resistant crypto for less than 2300 GE. J. Cryptol. 2011, 24, 322–345. [Google Scholar] [CrossRef]
- Knudsen, L.R.; Miolane, C.V. Counting equations in algebraic attacks on block ciphers. Int. J. Inf. Secur. 2010, 9, 127–135. [Google Scholar] [CrossRef]
- Zhang, F.; Lou, X.; Zhao, X.; Bhasin, S.; He, W.; Ding, R.; Qureshi, S.; Ren, K. Persistent fault analysis on block ciphers. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2018, 150–172. [Google Scholar] [CrossRef]
- Zhang, F.; Zhang, Y.; Jiang, H.; Zhu, X.; Bhasin, S.; Zhao, X.; Liu, Z.; Gu, D.; Ren, K. Persistent fault attack in practice. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2020, 172–195. [Google Scholar] [CrossRef]
- Carré, S.; Guilley, S.; Rioul, O. Persistent Fault Analysis with Few Encryptions. In Constructive Side-Channel Analysis and Secure Design, COSADE; Lecture Notes in Computer, Science; Bertoni, G.M., Regazzoni, F., Eds.; Springer: Cham, Switzerland, 2021; Volume 12244. [Google Scholar]
- Pan, J.; Zhang, F.; Ren, K.; Bhasin, S. One Fault is All it Needs: Breaking Higher-Order Masking with Persistent Fault Analysis. In Proceedings of the 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE), Florence, Italy, 25–29 March 2019; pp. 1–6. [Google Scholar]
- Joshi, P.; Mazumdar, B. ExtPFA: Extended Persistent Fault Analysis for Deeper Rounds of Bit Permutation Based Ciphers with a Case Study on GIFT. In Security, Privacy, and Applied Cryptography Engineering. SPACE; Lecture Notes in Computer Science; Batina, L., Picek, S., Mondal, M., Eds.; Springer: Cham, Switzerland, 2020; Volume 12586. [Google Scholar]
- Zheng, S.; Liu, X.; Zang, S.; Deng, Y.; Huang, D.; Ou, C. A Persistent Fault-Based Collision Analysis Against the Advanced Encryption Standard. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 2021, 40, 1117–1129. [Google Scholar] [CrossRef]
- Zhang, F.; Guo, S.; Zhao, X.; Wang, T.; Yang, J.; Standaert, F.-X.; Gu, D. A Framework for the Analysis and Evaluation of Algebraic Fault Attacks on Lightweight Block Ciphers. IEEE Trans. Inf. Forensics Secur. 2016, 11, 1039–1054. [Google Scholar] [CrossRef]
- Zhang, F.; Feng, T.; Li, Z.; Ren, K.; Zhao, X. Free Fault Leakages for Deep Exploitation: Algebraic Persistent Fault Analysis on Lightweight Block Ciphers. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2022, 2, 289–311. [Google Scholar] [CrossRef]
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F[0] | 11 | 11 | 11 | 11 | 11 | 11 | 10 | 11 | 11 | 11 | 10 | 11 | — | 8 | 11 | 11 |
F[1] | 11 | 11 | 11 | 11 | 11 | 10 | — | 8 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 |
F[2] | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 9 | — | 7 | 10 | 10 | 10 | 10 | 9 |
F[3] | — | 9 | 10 | 9 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
F[4] | 8 | — | 9 | 10 | 10 | 10 | 10 | 9 | 10 | 10 | 10 | 9 | 10 | 10 | 10 | 10 |
F[5] | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | — | 8 | 10 | 10 | 10 | 10 |
F[6] | 9 | 8 | — | 8 | 8 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 |
F[7] | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 8 | — | 9 | 9 | 9 | 9 |
F[8] | 9 | 11 | 10 | — | 11 | 11 | 11 | 11 | 11 | 10 | 11 | 11 | 11 | 11 | 11 | 11 |
F[9] | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | — | 10 | 11 | 11 | 11 | 11 | 11 | 11 |
F[a] | 10 | 10 | 10 | 10 | 10 | — | 8 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
F[b] | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | — | 10 | 10 |
F[c] | 10 | 10 | 10 | 10 | — | 10 | 10 | 9 | 10 | 10 | 10 | 10 | 10 | 10 | 9 | 10 |
F[d] | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | — | 10 |
F[e] | 9 | 9 | 9 | 9 | 8 | 9 | 9 | — | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 |
F[f] | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | — |
X | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
F[X] | 0 | 1 | 6 | 7 | d | c | f | e | 5 | 4 | 3 | 2 | 9 | 8 | b | a |
H[X] | c | 6 | d | 5 | 8 | 3 | 9 | 0 | e | 4 | f | 7 | a | 1 | b | 2 |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
F[0] | — | 10 | 11 | 11 | 10 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 | 11 |
F[1] | 9 | — | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 9 |
F[2] | 8 | 8 | 7 | 8 | 8 | 8 | — | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
F[3] | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | — | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
F[4] | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 6 | 7 | 7 | 6 | — | 7 | 7 |
F[5] | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | — | 6 | 6 | 6 |
F[6] | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 4 | 5 | 5 | 5 | — |
F[7] | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | — | 4 |
F[8] | 8 | 8 | 8 | 8 | 7 | — | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
F[9] | 6 | 6 | 6 | 6 | — | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
F[a] | 6 | 6 | 6 | — | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
F[b] | 4 | 4 | — | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
F[c] | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 4 | — | 5 | 5 | 5 | 5 | 5 | 5 |
F[d] | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | — | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
F[e] | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | — | 4 | 4 | 4 | 4 |
F[f] | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | — | 3 | 3 | 3 | 3 | 3 |
X | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f |
F[X] | 0 | 1 | 6 | 7 | d | c | f | e | 5 | 4 | 3 | 2 | 9 | 8 | b | e |
X | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | a | b | c | d | e | f |
S[X] | c | 6 | 9 | 0 | 1 | a | 2 | b | 3 | 8 | 5 | d | 4 | e | 7 | b |
N( Number) | (Seconds) of Original S_Box | (Seconds) of New S_Boxes | Success Rate of Original S_Box | Success Rate of New S_Boxes |
---|---|---|---|---|
30 | - | 784.9 | 0% | 100% |
20 | - | 496.2 | 0% | 100% |
18 | - | 409.6 | 0% | 100% |
16 | - | 450.6 | 0% | 100% |
N (Number) | (Seconds) of New S_Boxes | Success Rate of New S_Boxes |
---|---|---|
14 | 833.0 | 94% |
13 | 2739.2 | 84% |
12 | 3040.6 | 54% |
N | FD | (Seconds) of Original S_Box | (Seconds) of New S_Boxes | Success Rate of Original S_Box | Success Rate of New S_Boxes |
---|---|---|---|---|---|
30 | 6 | 16.78 | 1.97 | 100% | 100% |
30 | 4 | 14.24 | 0.78 | 100% | 100% |
20 | 8 | 29.82 | 18.05 | 100% | 100% |
20 | 7 | 24.80 | 18.26 | 100% | 100% |
20 | 6 | 19.28 | 18.05 | 100% | 100% |
18 | 8 | 46.06 | 20.63 | 100% | 100% |
18 | 7 | 36.36 | 20.64 | 100% | 100% |
18 | 6 | 28.23 | 19.77 | 100% | 100% |
17 | 8 | 62.13 | 21.61 | 100% | 100% |
17 | 7 | 44.48 | 25.21 | 100% | 100% |
17 | 6 | 30.43 | 21.27 | 100% | 100% |
16 | 8 | 90.53 | 33.12 | 100% | 100% |
16 | 7 | 59.36 | 23.23 | 100% | 100% |
16 | 6 | 40.86 | 26.17 | 100% | 100% |
14 | 12 | 59.36 | 23.23 | 100% | 100% |
14 | 10 | 332.79 | 128.73 | 100% | 100% |
14 | 8 | 183.90 | 83.42 | 100% | 100% |
13 | 12 | 1112.10 | 508.57 | 96% | 100% |
13 | 10 | 656.31 | 338.52 | 94% | 98% |
12 | 14 | 1972.54 | 847.60 | 44% | 68% |
12 | 12 | 1255.55 | 760.94 | 56% | 72% |
12 | 10 | 1334.56 | 956.65 | 76% | 86% |
N | FD | Key Residual Entropy = 0 | Success Rate of New S_Boxes |
---|---|---|---|
30 | 6 | 100% | 100% |
30 | 4 | 84% | 100% |
20 | 8 | 100% | 100% |
20 | 7 | 100% | 100% |
20 | 6 | 96% | 100% |
18 | 8 | 100% | 100% |
18 | 7 | 100% | 100% |
18 | 6 | 96% | 100% |
17 | 8 | 100% | 100% |
17 | 7 | 98% | 100% |
17 | 6 | 86% | 100% |
16 | 9 | 100% | 100% |
16 | 8 | 96% | 100% |
16 | 6 | 76% | 100% |
14 | 12 | 100% | 100% |
14 | 10 | 98% | 100% |
14 | 8 | 88% | 100% |
13 | 12 | 100% | 100% |
13 | 10 | 98% | 98% |
12 | 14 | 68% | 68% |
12 | 12 | 72% | 72% |
12 | 10 | 76% | 86% |
Methods | Precondition | FD | Minimum Number of Faults | Key Residual Entropy |
---|---|---|---|---|
PFA | Ciphertext only | 1 | ≈100 | 32 |
EPFA | Ciphertext only | 4 | 1500–1600 | 0 |
APFA | Ciphertext only | 6–14 | 10 | 0 |
KP-APFA (this paper) | Known plaintext/ciphertext | 32 | 11 | 0 |
SD-APFA (this paper) | Ciphertext only | 6-14 | 10 | 0 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Fang, X.; Zhang, H.; Wang, D.; Yan, H.; Fan, F.; Shu, L. Algebraic Persistent Fault Analysis of SKINNY_64 Based on S_Box Decomposition. Entropy 2022, 24, 1508. https://doi.org/10.3390/e24111508
Fang X, Zhang H, Wang D, Yan H, Fan F, Shu L. Algebraic Persistent Fault Analysis of SKINNY_64 Based on S_Box Decomposition. Entropy. 2022; 24(11):1508. https://doi.org/10.3390/e24111508
Chicago/Turabian StyleFang, Xing, Hongxin Zhang, Danzhi Wang, Hao Yan, Fan Fan, and Lei Shu. 2022. "Algebraic Persistent Fault Analysis of SKINNY_64 Based on S_Box Decomposition" Entropy 24, no. 11: 1508. https://doi.org/10.3390/e24111508
APA StyleFang, X., Zhang, H., Wang, D., Yan, H., Fan, F., & Shu, L. (2022). Algebraic Persistent Fault Analysis of SKINNY_64 Based on S_Box Decomposition. Entropy, 24(11), 1508. https://doi.org/10.3390/e24111508