TY - JOUR
T1 - 基于持续性故障的分组密码算法 S 盒表逆向分析
AU - Wang, An
AU - Gu, Rui
AU - Ding, Yao Ling
AU - Zhang, Xue
AU - Yuan, Qing Jun
AU - Zhu, Lie Huang
N1 - Publisher Copyright:
© 2023 Chinese Institute of Electronics. All rights reserved.
PY - 2023/3/25
Y1 - 2023/3/25
N2 - Reverse-engineering based on fault analysis works by inducing abnormal ciphertexts by injecting faults in⁃ to the equipment running a secret cipher, and then restoring its internal structure and parameters. This paper proposes a method of reverse-engineering the S-box table based on persistent fault, when the structure of round function except the S-box table is known. We take advantage of the fact that when S-box operations use the fault element, intermediate state er⁃ rors appear, leading to ciphertext errors. Therefore, we construct special plaintexts and keys in order to induce errors in the S-box operation of the second round. Then, outputs of the S-box operation in the first round can be derived, i.e. one element of the S-box table is recovered. All elements of the S-box table can be recovered by using different plaintexts and keys. Tak⁃ ing AES-128 (Advanced Encryption Standard-128) algorithm as example, our method restores the complete S-box table by 1 441 792 encryptions. Compared with existing methods, our approach has obvious advantages in number of fault injections and complexity of computations. In addition, we applies this method to a SM4-like algorithm, and recovered its S-box table with an average of 1 900 544 encryptions. Finally, we discuss the universality of the new method, by considering two typi⁃ cal structures of block ciphers, Feistel and SPN (Substitution Permutation Network) structures respectively, and summarize conditions of our method.
AB - Reverse-engineering based on fault analysis works by inducing abnormal ciphertexts by injecting faults in⁃ to the equipment running a secret cipher, and then restoring its internal structure and parameters. This paper proposes a method of reverse-engineering the S-box table based on persistent fault, when the structure of round function except the S-box table is known. We take advantage of the fact that when S-box operations use the fault element, intermediate state er⁃ rors appear, leading to ciphertext errors. Therefore, we construct special plaintexts and keys in order to induce errors in the S-box operation of the second round. Then, outputs of the S-box operation in the first round can be derived, i.e. one element of the S-box table is recovered. All elements of the S-box table can be recovered by using different plaintexts and keys. Tak⁃ ing AES-128 (Advanced Encryption Standard-128) algorithm as example, our method restores the complete S-box table by 1 441 792 encryptions. Compared with existing methods, our approach has obvious advantages in number of fault injections and complexity of computations. In addition, we applies this method to a SM4-like algorithm, and recovered its S-box table with an average of 1 900 544 encryptions. Finally, we discuss the universality of the new method, by considering two typi⁃ cal structures of block ciphers, Feistel and SPN (Substitution Permutation Network) structures respectively, and summarize conditions of our method.
KW - block cipher
KW - persistent fault
KW - reverse analysis
KW - substitution-box table
UR - http://www.scopus.com/inward/record.url?scp=85158003228&partnerID=8YFLogxK
U2 - 10.12263/DZXB.20211032
DO - 10.12263/DZXB.20211032
M3 - 文章
AN - SCOPUS:85158003228
SN - 0372-2112
VL - 51
SP - 537
EP - 551
JO - Tien Tzu Hsueh Pao/Acta Electronica Sinica
JF - Tien Tzu Hsueh Pao/Acta Electronica Sinica
IS - 3
ER -