- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
信息编码技术实验报告四
题目:DES数据加密
院系:计算机科学与工程学院
班级:
姓名:
学号:
【实验目的】
1. 理解对称加密算法的原理和特点。
2. 理解DES算法的加密原理。
【实验条件】
仪器设备:PC机,应用软件:Matlab。
【实验内容】
DES算法的加密流程图:
DES算法的参数:密钥长度56比特,输入明文64比特,输出密文64比特。
根据DES算法的介绍,自己创建明文信息,并选择一个密钥,编写DES密码算法的实现程序,实现加密和解密操作。
【程序代码】
% Full D.E.S.
clear all
clc
%Mensaje:
M = hex2bin(0123456789ABCDEF);
Llaves = GenKeys(hex2bin(133457799BBCDFF1));
L0R0 = IP(M);
L = ; R = ;
L = cat(1, L, L0R0(1:32));
R = cat(1, R, L0R0(33:64));
fprintf(-------------------------------------------------\n);
for i=2:1:17
Ex = E(R(i-1,:));
Kn = Llaves(i-1,:);
Xrs= xorS(Ex, Kn);
BCajas = SBoxes(Xrs);
Fn = F(R(i-1,:),i-1,Llaves);
Rn = xorS(L(i-1,:),Fn);
fprintf(E(R%i) : ,i-2); disp(Ex);
fprintf(K%i : ,i-1); disp(Kn);
fprintf(E(R%i)+K%i: ,i-2,i-1); disp(Xrs);
fprintf(S-Boxes : ); disp(BCajas);
fprintf(f(R%i,K%i): ,i-2,i-1); disp(Fn);
fprintf(L%i=R%i : ,i-1,i-2); disp(Rn);
L = cat(1, L, R(i-1,:));
R = cat(1, R, Rn);
fprintf(-------------------------------------------------\n);
end
Cipher = iIP(cat(2,R(size(R,1),:),L(size(L,1),:)));
LetraBin = ; TextoCifHex = ;
for i=1:4:size(Cipher,2)
LetraBin = Cipher(i:i+3);
TextoCifHex = cat(2, TextoCifHex, dec2hex(bin2dec(LetraBin))) ;
end
fprintf(\n Texto Cifrado en Hexadecimal: %s \n, TextoCifHex);
【实验结果】
E(R0) : 011110100001010101010101011110100001010101010101
K1 : 000110110000001011101111111111000111000001110010
E(R0)+K1: 011000010001011110111010100001100110010100100111
S-Boxes : 01011100100000101011010110010111
f(R0,K1): 00100011010010101010100110111011
L1=R0 : 11101111010010100110010101000100
-------------------------------------------------
E(R1) : 011101011110101001010100001100001010101000001001
K2 : 011110011010111011011001110110111100100111100101
E(R1)+K2: 00001100010001001000110111101
文档评论(0)