24小时热门版块排行榜    

查看: 847  |  回复: 0

轻叹12321

新虫 (初入文坛)

[求助] AES CPA

编写了AES加密算法的利用汉明距离模型的CPA攻击代码,现在仅可以攻击出第一,第五,第九,第十三字节的正确密钥(攻击位置为最后一轮S盒的输入),其余字节的密钥有错,求助大神到底哪里出错,改了好几天了,万分感谢~全部代码附上,其中original_data是利用另一段代码获得的功耗所做的表格。

keySize=8;
expectKey=17;
blockSize=128;
traceNum=1000;
startPoint=1;
endPoint=148002;
traceDir='..\mat';
matName='original_data'; % mat文件名  T3259_for_hspice_cf.mat
txtName='cipher1.txt'; % 明文或者密文文件名
load('../InvSbox.mat');
load('../HW8.mat');


%%
%
% 装载功率曲线, 生成有效功耗矩阵NxT
%
disp('Loading the power trace to generate NxT matrix ...');
eval(strcat('load(''',traceDir,'/',matName,''');'));
eval(strcat('AxT=',matName,';'));
eval(['clear ',matName,';']);
NxT=AxT(1:traceNum,startPoint:endPoint);%在所有的功耗曲线中取出我们要观测的矩阵,即实测能量迹
clear AxT;

%%
%
% 装载明文输入, 生成有效明/密文矩阵NxB
%
disp('Loading the plaintext to generate NxB matrix ...');
eval(strcat('fp = fopen(''',traceDir,'/',txtName,''',''r'');'));
db = fscanf(fp, '%s', 1);
FSIZE = length(db);
frewind(fp);
db = fscanf(fp, '%s');
fclose(fp);
NFILE = length(db) / FSIZE;
db = reshape(db,FSIZE,NFILE)';
NxB=zeros(traceNum,blockSize);
for i=1:traceNum
    FILELIST=db(i,;
    POS =  1;
    for j=1blockSize/4)
        NxB(i,j*4-3:j*4) = bitget(hex2dec(FILELIST(POS+j-1)), [4 3 2 1]);
    end
end
clear db;

%%
%
% 建立汉明距离或重量模型, 生成猜测功耗矩阵NxK
%
disp('Building the hypothetical power model to generate NxK matrix ...');
[N,T] = size(NxT);
K=2^keySize;
HD=zeros(N,K);
for candidate=1:K
    for trace_index=1:N
        DFFt2=NxB(trace_index,9:16);
        preXOR=bitxor(bitget((candidate-1),keySize:-1:1), NxB(trace_index,9:16));
        preSBOX=InvSbox(preXOR*[128 64 32 16 8 4 2 1]'+1);%转换成10进制,因为matlab从1开始,所以此处要加1
        DFFt1=bitget(preSBOX,keySize:-1:1);
        HD(trace_index,candidate)=bitxor(DFFt1,DFFt2)*[128 64 32 16 8 4 2 1]';
    end
end
NxK=HW8(HD+1);
clear HD;

%%
%
% 计算Pearson相关系数, 生成相关系数矩阵KxT
%
disp('Calculating the correlation to generate KxT matrix ...');
KxT=zeros(K,T);
chunksize=50;
chunks=T/50;
first=1;
last=K;
for i=first:last % 遍历密钥搜索空间
    for j=1:chunks
        cmatrix= corrcoef([NxT(:,1+(j-1)*chunksize:j*chunksize)  NxK(:,i)]);
        KxT(i,1+(j-1)*chunksize:j*chunksize) =cmatrix(chunksize+1,1:chunksize);
    end
end
%clear NxK;

%%
%
% 进行统计分析
%
TxK=KxT';
clear KxT
[max_corr_each_key,max_index_each_key]=max(TxK);
[max_corr,max_index]=max(max_corr_each_key);
point_of_max_corr=max_index_each_key(max_index);

%%
%
% 打印结果
%
fprintf('\n--------------- RESULT @%d TRACES FROM %s --------------\n',traceNum,matName);
fprintf('RK = %d%d%d%d_%d%d%d%d\n',bitget(max_index-1,8:-1:1));
fprintf('Max correlation = %d\n',max_corr);
fprintf('The index of point sequence of max correlation = %d\n',point_of_max_corr+startPoint-1);
fprintf('Percentage = %d %%\n',(point_of_max_corr/T)*100);
toc;
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 轻叹12321 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 279求调剂 +5 红衣隐官 2026-03-21 5/250 2026-03-21 14:59 by lature00
[考研] 286求调剂 +5 Faune 2026-03-21 5/250 2026-03-21 14:37 by lature00
[考研] 299求调剂 +4 shxchem 2026-03-20 6/300 2026-03-21 11:54 by 无际的草原
[考研] 070300化学319求调剂 +7 锦鲤0909 2026-03-17 7/350 2026-03-21 03:46 by JourneyLucky
[考研] 一志愿天津大学化学工艺专业(081702)315分求调剂 +12 yangfz 2026-03-17 12/600 2026-03-21 03:30 by JourneyLucky
[考研] 265求调剂 +3 Jack?k?y 2026-03-17 3/150 2026-03-21 03:17 by JourneyLucky
[考研] 化学求调剂 +4 临泽境llllll 2026-03-17 5/250 2026-03-21 02:23 by JourneyLucky
[考研] 华东师范大学-071000生物学-293分-求调剂 +3 研究生何瑶明 2026-03-18 3/150 2026-03-21 01:30 by JourneyLucky
[考研] 一志愿南昌大学,327分,材料与化工085600 +9 Ncdx123456 2026-03-19 9/450 2026-03-20 23:41 by lovewei0727
[考研] 考研调剂求学校推荐 +3 伯乐29 2026-03-18 5/250 2026-03-20 22:59 by JourneyLucky
[考研] 324求调剂 +5 lucky呀呀呀鸭 2026-03-20 5/250 2026-03-20 22:30 by 促天成
[考研] 290求调剂 +7 ^O^乜 2026-03-19 7/350 2026-03-20 21:43 by JourneyLucky
[考研] 一志愿中国海洋大学,生物学,301分,求调剂 +5 1孙悟空 2026-03-17 6/300 2026-03-19 23:46 by zcl123
[考研] 266求调剂 +5 阳阳哇塞 2026-03-14 10/500 2026-03-19 15:08 by 阳阳哇塞
[考研] 化学工程321分求调剂 +15 大米饭! 2026-03-15 18/900 2026-03-18 14:52 by haxia
[考研] 0703化学调剂 +3 妮妮ninicgb 2026-03-17 3/150 2026-03-18 10:29 by macy2011
[考研] 085601求调剂 +4 Du.11 2026-03-16 4/200 2026-03-17 17:08 by ruiyingmiao
[考研] 一志愿,福州大学材料专硕339分求调剂 +3 木子momo青争 2026-03-15 3/150 2026-03-17 07:52 by laoshidan
[考研] 326求调剂 +3 mlpqaz03 2026-03-15 3/150 2026-03-16 07:33 by Iveryant
[考研] 070305求调剂 +3 mlpqaz03 2026-03-14 4/200 2026-03-15 11:04 by peike
信息提示
请填处理意见