实验10密码学和数据加密技术 .doc

实验10密码学和数据加密技术 .doc

ID:61425937

大小:30.00 KB

页数:6页

时间:2021-01-29

实验10密码学和数据加密技术 .doc_第1页
实验10密码学和数据加密技术 .doc_第2页
实验10密码学和数据加密技术 .doc_第3页
实验10密码学和数据加密技术 .doc_第4页
实验10密码学和数据加密技术 .doc_第5页
资源描述:

《实验10密码学和数据加密技术 .doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、GDOU-B-11-112广东海洋大学学生实验报告书实验名称实验:密码学和数据加密课程名称网络安全技术成绩学院(系)职业技术学院专业网络班级101学生姓名冯琪学号9实验地点软件3实验日期2012.11.07一、实验目的1.使用DES算法对“”加密,密钥为0x2D562AE11。加密后的密文为多少。2.第九章课后习题7,编写程序实现恺撒密码加密及解密算法,程序能够对输入的字符串进行加密,输出加密和解密后的结果。二、实验过程a.使用DES算法对“”加密,密钥为0x2D562AE11。加密后的密文为多少.1.编程思想初始置

2、换:其功能是把输入的64位数据块按位重新组合,并把输出分为L0、R0两部分,每部分各长32位,其置换规则为将输入的第58位换到第一位,第50位换到第2位……依此类推,最后一位是原来的第7位。L0、R0则是换位输出后的两部分,L0是输出的左32位,R0是右32位.逆置换:经过16次迭代运算后,得到L16、R16,将此作为输入,进行逆置换,逆置换正好是初始置换的逆运算,由此即得到密文输出。2.实验代码packagecom.test;importjava.security.SecureRandom;importjavax.

3、crypto.Cipher;importjavax.crypto.SecretKey;importjavax.crypto.SecretKeyFactory;importjavax.crypto.spec.DESKeySpec;/***实现DES加密、解密的工具类*/publicclassDES{/**密钥*/privatestaticfinalStringDES_CRYPT_KEY="0x2D562AE11";/**加密方法*/privatefinalstaticStringDES="DES";/***加密·*@p

4、aramsrc数据源*@paramkey密钥,长度必须是8的倍数*@return返回加密后的数据*@throwsException*/publicstaticbyte[]encrypt(byte[]src,byte[]key)throwsException{//DES算法要求有一个可信任的随机数源SecureRandomsr=newSecureRandom();//从原始密匙数据创建DESKeySpec对象DESKeySpecdks=newDESKeySpec(key);//创建一个密匙工厂,然后用它把DESKeyS

5、pec转换成//一个SecretKey对象SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance(DES);SecretKeysecurekey=keyFactory.generateSecret(dks);//Cipher对象实际完成加密操作Ciphercipher=Cipher.getInstance(DES);//用密匙初始化Cipher对象cipher.init(Cipher.ENCRYPT_MODE,securekey,sr);//现在,获取数据并加密

6、//正式执行加密操作returncipher.doFinal(src);}/***解密*@paramsrc数据源*@paramkey密钥,长度必须是8的倍数*@return返回解密后的原始数据*@throwsException*/publicstaticbyte[]decrypt(byte[]src,byte[]key)throwsException{//DES算法要求有一个可信任的随机数源SecureRandomsr=newSecureRandom();//从原始密匙数据创建一个DESKeySpec对象DESKey

7、Specdks=newDESKeySpec(key);//创建一个密匙工厂,然后用它把DESKeySpec对象转换成//一个SecretKey对象SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance(DES);SecretKeysecurekey=keyFactory.generateSecret(dks);//Cipher对象实际完成解密操作Ciphercipher=Cipher.getInstance(DES);//用密匙初始化Cipher对象cipher

8、.init(Cipher.DECRYPT_MODE,securekey,sr);//现在,获取数据并解密//正式执行解密操作returncipher.doFinal(src);}/***密码解密*@paramdata*@return*@throwsException*/publicfinalstaticStringdecrypt(Stringd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。