首页 > 其他分享 >2000 Using Second-Order Power Analysis to Attack DPA Resistant Software

2000 Using Second-Order Power Analysis to Attack DPA Resistant Software

时间:2022-11-10 20:33:06浏览次数:59  
标签:frac Power Resistant 重量 Second DPA 汉明 oplus 位设

一、高阶 DPA 攻击

  • 一个 n 阶 DPA 攻击利用能量迹中 n 个对应于不同中间值的点

  • 攻击背景:对随机掩码异或(B 操作)后的明文或密文再进行白化(C 操作),则一阶 DPA 攻击无法成功

image-20201212190410230 ### 二、DPA 攻击过程

1 一阶 DPA

  • 对于 N 位处理器的每一位,分别设定第 i 位值为 b = 0 或 1,计算平均能量信号 \(A_b[j]\)

    • 将输入 PTI 第 i 位设为 b
    • 输入 PTI 其它位设为随机值
    • 采集能量迹
  • 计算 DPA 差值 \(T[j] = A_0[j]-A_1[j]\),若产生正尖峰则该位为 0,否则为 1(汉明重量模型下)

  • 汉明重量模型下 \(P=dε+L+n\),其中 d 为汉明重量,L 为常量,n 为噪声

    \(E[d|k_i\oplus p_i=0]=\frac{N-1}{2}\)
    \(E[d|k_i\oplus p_i=1]=\frac{N+1}{2}\)

    • \(k_i=0\) 时

      \(A_0[j]=E[P|k_i=0,p_i=0]=E[dε+L+n|k_i=0,p_i=0]=\frac{N-1}{2}ε+L\)

      \(A_1[j]=E[P|k_i=0,p_i=1]=E[dε+L+n|k_i=0,p_i=1]=\frac{N+1}{2}ε+L\)

      此时 \(T[j]=A_0[j]-A_1[j]=-ε\)

    • \(k_i=1\) 时

      \(A_0[j]=E[P|k_i=1,p_i=0]=E[dε+L+n|k_i=1,p_i=0]=\frac{N+1}{2}ε+L\)

      \(A_1[j]=E[P|k_i=1,p_i=1]=E[dε+L+n|k_i=1,p_i=1]=\frac{N-1}{2}ε+L\)

      此时 \(T[j]=A_0[j]-A_1[j]=ε\)

2 二阶 DPA

  • 对于 N 位处理器的每一位,分别设定第 i 位值为 b = 0 或 1,计算 \(S_b=|P_B-P_C|\)

    • 将输入第 i 位设为 b
    • 输入其它位设为随机值
    • 采集运行到与两个中间值相关代码 B 和 C 时的能量消耗值 \(P_B\) 和 \(P_C\)
  • 计算 DPA 差值 \(T = S_0-S_1\),若 T < 0 则该位为 0,否则为 1(汉明重量模型下)

  • 汉明重量模型下 \(P_B=d_Bε_C+L_B\),\(P_C=d_Cε_C+L_C\),假定 \(L_B=L_C\) 以及 \(ε_B=ε_C\)

    \(|P_B-P_C|=ε|d_B-d_C|\)

    \(E[d_B|r_i=1]=E[d_C|r_i\oplus k_i\oplus p_i=1]=\frac{N+1}{2}\) \(E[d_B|r_i=0]=E[d_C|r_i\oplus k_i\oplus p_i=0]=\frac{N-1}{2}\)

标签:frac,Power,Resistant,重量,Second,DPA,汉明,oplus,位设
From: https://www.cnblogs.com/buaa19231055/p/16878651.html

相关文章