As NIST is putting the final touches on the standardization of PQC (Post Quantum Cryptography) public key algorithms, it is a racing certainty that peskier cryptographic attacks undeterred by those new PQC algorithms will surface. Such a trend in turn will prompt more follow-up studies of attacks and countermeasures. As things stand, from the attackers' perspective, one viable form of attack that can be implemented thereupon is the so-called "side-channel attack". Two best-known countermeasures heralded to be durable against side-channel attacks are: "masking" and "hiding". In that dichotomous picture, of particular note are successful single-trace attacks on some of the NIST's PQC then-candidates, which worked to the detriment of the former: "masking". In this paper, we cast an eye over the latter: "hiding". Hiding proves to be durable against both side-channel attacks and another equally robust type of attacks called "fault injection attacks", and hence is deemed an auspicious countermeasure to be implemented. Mathematically, the hiding method is fundamentally based on random permutations. There has been a cornucopia of studies on generating random permutations. However, those are not tied to implementation of the hiding method. In this paper, we propose a reliable and efficient verification of permutation implementation, through employing Fisher-Yates' shuffling method. We introduce the concept of an n-th order permutation and explain how it can be used to verify that our implementation is more efficient than its previous-gen counterparts for hiding countermeasures.
翻译:随着NIST即将完成PQC(后量子密码)公钥算法的标准化工作,可以确定的是,这些新型PQC算法无法抵御的更加棘手的密码攻击将会涌现。这一趋势将促使更多关于攻击及其对策的后续研究。就目前而言,从攻击者的角度来看,一种可行的攻击形式就是所谓的"侧信道攻击"。两种被广泛认为能够持久抵御侧信道攻击的对策是:"掩码"和"隐藏"。在这一二分格局中,尤为值得注意的是对NIST部分PQC候选算法成功的单迹线攻击,这些攻击削弱了前者——"掩码"的有效性。本文我们将聚焦于后者——"隐藏"。隐藏被证明能够同时抵御侧信道攻击和另一种同样强大的攻击类型——"故障注入攻击",因此被认为是一种有前景的待实现对策。从数学角度看,隐藏方法从根本上基于随机排列。已有大量关于生成随机排列的研究,但这些研究并非针对隐藏方法的实现。本文通过采用Fisher-Yates洗牌方法,提出了一种可靠且高效的排列实现验证方案。我们引入了n阶排列的概念,并阐明如何利用它来验证我们的实现在隐藏对策方面比前代方法更高效。