论文笔记:Systematic Approach to Horizontal Clustering Analysis on Embedded RSA Implementation
Fanyu Shi, Jizeng Wei, Dazhi Sun, Wei Guo
Tianjin Key Laboratory of Advanced Networking Division of intelligence and computing,Tianjin University
代码均由论文作者提供,侵删
Contribution
- 提出了一种使用希尔伯特·黄变换(HHT)进行段边界检测和降噪的方法。
- 使用聚类来恢复密钥,结果表明密钥恢复的成功率可以达到98%。
- 提出相应的防护策略(交换操作数)
Target
HHT
预处理:比特位对齐(手动切)
用经验模式(EMD)分解每个子迹到多个固有模式函数(IMF)
模幂处(exp)会产生突变,由此找到开始点j(上表11th),结束点同法。
降噪&重建子迹
虚拟高斯白噪声通过EMD分解为IMF,还计算了每个IMF的平均频率。 每个白噪声的IMF与功耗的相应IMF之间的平均周期的比较用于选择应过滤哪些分量。 下图描述了白噪声与功耗之间的对比,分析白噪声和功率迹线的平均周期的差异从第六个IMF出现。 功率迹线的平均周期明显长于这些IMF中相应的白噪声的周期。 新数据通过累加这些从第6~14的IMF来重建。
Cluster attack(kmeans)
# 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0(原密钥)
import pandas as pd
import numpy as np
from sklearn.cluster import KMeans
x = pd.read_csv('E:/end/keyc1b9/confusion/35_17111(0.5).csv', header=None)
y = np.array(x)
km = KMeans(n_clusters=2, init='k-means++', random_state=1)
label = km.fit_predict(y)
print(label)
center0 = km.cluster_centers_[0]
center1 = km.cluster_centers_[1]
print(center0)
print(center1)
运行结果:
E:\APP\Python352\venv\Scripts\python.exe E:/end/keyend9999/noderpreses.py
Label:[0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0]
center0:[-0.00194 -0.00059556 -0.00250889 ... -0.00109111 -0.00086889
0.00041778]
Center1:[-0.00169647 -0.00060235 -0.00261647 ... -0.00093412 -0.00080941
0.00058588]
Process finished with exit code 0
Countermeasure
for(i=0...n-1)
for(j=0...n-1)
内:XjYi
外:Zi += XjYj
64bit * 64 (Zi寄存器),即000...01分布在64个寄存器中
若Y=000...01,则红框区域为0;
若X=000...01,则黄色阴影为0。(0的功耗图比1小)
上图上一行被认作0,下一行被认作1,若交换则生成迹改变(前图红黄区域改变)
不改变值,通过改变操作数来改变功耗图,没有额外开销。
举个栗子(通过跑和走区分人{走}与狗{跑}):
跑跑走走走跑跑——狗狗人人人狗狗
防护后(交换操作数后):
跑跑走走走跑跑——人人狗狗狗人人
来源:CSDN
作者:jeanlu
链接:https://blog.csdn.net/jeanlu/article/details/104431779