论文笔记:Systematic Approach to Horizontal Clustering Analysis on Embedded RSA Implementation

China☆狼群 提交于 2020-02-24 10:51:43

论文笔记: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,若交换则生成迹改变(前图红黄区域改变)
不改变值,通过改变操作数来改变功耗图,没有额外开销。

举个栗子(通过跑和走区分人{走}与狗{跑}):
跑跑走走走跑跑——狗狗人人人狗狗
防护后(交换操作数后):
跑跑走走走跑跑——人人狗狗狗人人

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!