猜测熵
猜测熵
最近开始着手复现论文,但发现猜测熵我写不出来,看着公式我用代码推出来的结果跟作者的猜测熵出入很大,怀疑自己对猜测熵的真实含义有些误解,在这里重新记录下来猜测熵的计算。
时隔一个月来填坑, 果然我写的有错,有时候看别人的论文真不如直接去看代码,但能有多少人把自己的论文开源呢?
以ASCAD固定密钥的数据集为例
- 将测试集输出概率按十个一组划分,(1 000个分为100组) ,此时概率对应的是Sbox(Plaintext ^ key) -> 中间值的概率
- 初始化概率数组 值全为0,长度为256,$$ 2^8 $$也就是计算一字节密钥值,此时我们拿到的是前十个输出的概率分布,对应模拟出密钥从1到256,将概率log,按次序排放
- 将十个计算出来的概率分布对应累加,从大到小排序(这里不改变之前的概率分布的排序,只是算出来排序来计算),最后计算得到真实密钥的排名
- 重复第二、三步,但是不需要初始化概率数组,直接用上一个的就行
图中rank也就是之前算出来的排名, 下边的number of trace就是需要多少条能量迹的概率分布累加计算得到对应的rank
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 全世界的面我都吃一遍!
评论