欢迎来到天天文库
浏览记录
ID:59206578
大小:188.00 KB
页数:10页
时间:2020-09-10
《实习一瀵嗛挜鍒嗛厤.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实习一密钥分配一、实习目的1.理解密钥管理的重要性;2.掌握对称密码和公钥密码密钥管理的不同特性;3.掌握密钥分发基本方法,能设计密钥分发方案二、实习要求1.实习前认真预习第2章的有关内容;2.复习对称密码和公钥密码相关内容;3.熟悉Java平台的JCE包有关类。三、实习内容假定两个用户A、B,用户A、B的通讯密钥为K,他们的公私钥对分别是KPUa、KPRa和KPUb、KPRb,他们要进行安全通讯,密钥分发与通信过程如1所示。(1)根据图1所示,实现利用公钥密码算法分发对称密钥的过程。实现的阶梯任务如下:①
2、以本地两个目录模拟两个用户,采用变量方式直接实现密钥的分发;②实现算法的图形化方式,用户可以选择算法、参数、工作模式等;③以文件方式管理密钥及明文、密文;④采用SSL,建立安全通信过程;⑤将方案移植到某个web应用中。(2)按照(1)的阶梯任务,实现基于DH密钥协定的密钥分发。四、算法分析及流程图对称密码一般要求:1、加密解密用相同的密钥2、收发双方必须共享密钥安全性要求:1、密钥必须保密2、没有密钥,解密不可行3、知道算法和若干密文不足以确定密钥公钥密码一般要求:1、加密解密算法相同,但使用不同的密钥2、
3、发送方拥有加密或解密密钥,而接收方拥有另一个密钥安全性要求:1、两个密钥之一必须保密2、无解密密钥,解密不可行3、知道算法和其中一个密钥以及若干密文不能确定另一个密钥StartDES生成密钥KRSA生成公钥密钥对RSA加密算法使用公钥对密钥K加密RSA解密算法使用私钥解密End五、程序运行结果1、利用DES算法生成对称密钥Key,运行程序后生成Key.dat文件2、利用RSA算法生成公钥密钥对,将公钥存入Pubkey文件夹下,将私钥存入Privkey文件夹下,运行程序后在Pubkey文件夹下生成Skey_R
4、SA.dat文件,在Privkey文件夹下生成Skey_RSA.dat文件:3、利用RSA加密算法对对称密钥加密,将加密后文件保存为Enc_RSA.dat文件,运行程序后:4、利用RSA解密算法对密文进行解密,将解密后的文件Key.dat写入文件夹下,运行程序后文件夹下生成Key.dat文件:六、实验总结通过本次实习,加深了对DES和RSA的了解,通过使用DES算法和RSA算法实现密钥分发与通信过程,同时加深对电子商务安全的认识。在当今社会中电子商务安全将会有更广阔的应用前景。附录:源程序packageco
5、m.skey;importjava.security.*;importjava.io.*;importjavax.crypto.*;publicclassSecretKey_DES{publicstaticvoidmain(Stringarge[])throwsException{KeyGeneratorkg=KeyGenerator.getInstance("DESede");//创建密钥生成器kg.init(168);//初始化密钥生成器SecretKeyk=kg.generateKey();//生成密
6、钥//通过对象序列化方式将密钥保存在文件中FileOutputStreamf1=newFileOutputStream("Key.dat");ObjectOutputStreamb1=newObjectOutputStream(f1);b1.writeObject(k);}}packagecom.rsaskey;importjava.io.*;importjava.security.*;publicclassSecretKeyRSA{publicstaticvoidmain(String[]args)thr
7、owsException{//密钥对生成器KeyPairGenerator工厂,非对称加密算法:RSA,DSAKeyPairGeneratorkpg=KeyPairGenerator.getInstance("RSA");//制定密钥长度kpg.initialize(1024);//生成密钥对KeyPairkp=kpg.genKeyPair();PublicKeypbkey=kp.getPublic();PrivateKeyprkey=kp.getPrivate();FileOutputStreamf1=n
8、ewFileOutputStream("Pubkey/Skey_RSA.dat");ObjectOutputStreamb1=newObjectOutputStream(f1);b1.writeObject(pbkey);FileOutputStreamf2=newFileOutputStream("Privkey/Skey_RSA.dat");ObjectOutputStreamb2=newObjectOutp
此文档下载收益归作者所有