版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江南大学现代远程教育考试大作业
考试科目:《信息安全概论》
一、大作业题目(内容)
题目:基于信息隐藏的加密通信软件(或系统)
目的:当前人们在工作和生活中过度依赖QQ、微信等即时通信手段,甚至用其传输
商业和单位机密信息,这很容易造成信息泄漏。为此,急需一种保障类似通信安全的方法
和软件。
要求实现的功能:(1)实现基本通信;(2)实现加密传输,对待传输的敏感数据进行先
加密后隐藏。将加密后的敏感数据隐写到用户选定的图片中去,第三方无论通过什么途径
获得该图片,保证信息都是安全的,从而实现了对敏感信息通信传输的安全保障;(3)逆
向解密。获得图片加密特性,通过解密算法获取图片隐写信息。
大作业具体要求:
1.项目必须为一个基本完整的设计;
2.项目设计报告书旨在能够清晰准确地阐述(或图示)该项目(或方案);
3.作品报告采用A4纸撰写。除标题外,所有内容必需为宋体、小四号字、
1.25倍行距;
4.项目设计报告逻辑严明、条理清晰。
5.项目设计报告不少于5页;
6.在规定时间以报告形式提交。
基于加密的即时通信系统设计
1.1.系统功能概述
根据自己的实际水平,以及即时聊天的流程需求,基于安全的即时聊天系
统应该由服务器端模块、客户端模块、RSA加密解密模块、DES加密解密模块、
数字签名和验证模块5部分组成。
根据实际情况,服务端和客户端除了主界面的设计不一样之外,其余的
RSA加密解密模块、DES加密解密模块、数字签名和验证模块都采用一样的设
计。
各功能模块的设计如下:
(1)服务器模块服务端模块有消息显示文本框、消息发送文本框、显示
具体的加密消息等功能
(2)客户端模块客户端模块有消息显示文本框、消息发送文本框、显示
具体的加密消息,以及连接相应的服务器的IP地址等功能
(3)RSA加密解密模块RSA加密解密模块可以生成RSA密钥对,对数据
进行加密、解密,公钥、私钥的导出等功能。
(4)DES加密解密模块DES加密解密模块可以生成DES密钥,对数据进
行加密、解密,对密钥进行导出等功能。
(5)数字签名和验证模块数字签名和验证模块可以对数据利用
MD5WithRSA进行数字签名,并且对签名进行验证。
1.2.系统需求分析
关于即时通信方式,现在社会上流行很多软件,如风靡全中国的QQ,以
及世界上也广为流行的MSNo我们就暂且不谈论这些巨大商业型的即时通信
软件。
基于学习的原则,此次设计的基于安全的即时通信系统具有以下基本功
能:
良好的操作界面。界面设计良好,操作简单,容易上手,人机交互界面友
好。
实现加密解密功能。能够对数据进行RSA非对称加密解密,DES对称加密
解密。实现数字签名功能。
能够对数据进行数字签名,验证信息的完整性和安全性。系统运行稳定,
安全可靠,出现错误可以提示相应的错误信息。
系统退出。
该系统整体上看,分为五个模块:服务器模块、客户端模块、RSA加密解
密模块、DES加密解密模块、数字签名以及签名验证模块。整个基于安全的
即时通信软件的功能结构如下图所示:
服务器端结构客户湍端结构
2.各模块简介
2.1服务器端模块
服务器模块,实现对客户端的链接请求,可以显示发送的信息,发送的加
密信息等内容:
国赧势曲玉子安知郎外昨-□X
|泊口易示:
消息编粕:
服务器端实现密钥传递,消息传递,线程启动等代码:
定义输入输出流如下:
pubIickeyThread(SocketsRSA,SocketsDES)throwslOException{
ObjOSDES=newObjectOutputStream(sDES.getOutputStreamO);//DES
密钥的输出流
ObjOSRSA=newObjectOutputStream(sRSA.getOutputStream());//服务
器端的RSA公钥输出流
ObjISRSA=newObjectInputStream(sRSA.getInputStream());〃接收客
户端的RSA公钥输入流
)
初始化个通信端口,并启动接受监听线程:
try{
serverKeyRSA=newSKey_RSA();//生成服务器端RSA密钥
SKey_DESskeyDES=newSKey_DES();
keyDES=skeyDES.getSecretKey();//生成DES密钥
serverMsg=newServerSocket(msgPort);//通信端口
serverRSA=newServerSocket(RSAPort);〃RSA钥匙传递端口
serverDES=newServerSocket(DESPort);〃DES密钥传递端口new
keyThread(serverRSA.accept(),serverDES.accept()).start();
newrecThread(serverMsg.accept()).start();//启动接收监听线程
)
catch(Exceptione){
System,out.printIn(<6server.accept:+e);
1
服务器端选择“显示加解密信息”单选框时,消息显示框显示的经过加密
的消息的代码如下:
实现代码如下:if(detaiIShow,isSeIected()){
msgShowArea.append(“接》攵至U的力口密信息:”+byteToBinary(eData)+
“\n");
msgShowArea.append(“接收到的加密签名:"+byteToBinary(eSData)+
“\n");
msgShowArea.append(uMD5WithRSA签名信息:”+byteToBinary(sData)
+“\n”);
2.2客户端模块
客户端模块实现对服务器端的链接如下:
privatevoidconnectServer(StringserverAddress){//连接月艮务器
try(
clientMsg=newSocket(serverAddress,msgPort);
clientRSA=newSocket(serverAddress,RSAPort);
clientDES=newSocket(serverAddress,DESPort);
if(cIientMsg.isBound()==true&&
clientRSA.isBoundO==true&&
cIientDES.isBoundO==true){
msgShowArea.append("成功连接服务器!"+"\n");
newkeyThread(clientRSA,clientDES).start();//接收密钥线程
newrecThread(clientMsg).start();//接收信息线程}eIse{
msgShowArea.append("连接失败!”+“\n”);}
}catch(Exceptione){
System.out.println(连接出错:”+e);
)
客户端保存相应的密钥的代码如下,以下只是其中一个例子:
。侯4a尸8史塔:工件
Fikfl=MFilK滋购场蚊:因淑麟板
也的啦X峻fouu=*也出唬诲⑥):
洋广㈤子F筮丝
”U:LE»触好返辍器必燃g(。.矍典S蟆C):
foutlcloseO:/,S*S3Zf»»±^
S%:H8:思感£「保有害户疏纪钥至了件:,.门.滕鼎蜘殴0):
客尸疏鳏金iCSOT警的代08下,
岫比v°W螟爆麴典融蝴5》W3tWE£
R{
b/e匚diu«§e^«:0.:
b"•二装3"Sis^CheekSi5n(£吃淳嫂泰胺贬则C,d*3.
::二£?退0窝螃BST.“:,
bl・二。袅«懑RS.龈痣廖EC"四科
<5^iS$5(酗:
敢源贱如;*?:
期琏学:
毁底爆flusM
裁圆戏第9KMecl£y:■.联线刈•黑限0.3:
」K»:K.—
公•迂,信息..(颊♦\");
怒?2RI:9然;:曲&4:•反「'feMS&te蛔4•H;
典酶赃黔KURX三百维W"-双陲KK懒场-":
)
保存客户饿私钥到文件:F:\java\jiami\PrivateKey.datSSJ^te;极■公第敖忠129阑的♦闻啾C•lenrh。):
保存客户端公钥至j文件:F:\java\jiami\PublicKey.dat联幽至美■冬凝51";
保存服务器公钥到文存:F:\java\jiami\serverPBK.dat}e«tehCExc9tionb){
SystatoatS2ti2Sf浪」b);
保存DE5密主解及件:F:\java\jiand\keyDE5.dat♦
}:}
2.3RSA加密解密模块
该模块主要是利用JAVA自带的SECURITY安全库中的方法进行密钥的生成
和管理,以及对数据进行加密,解密。RSA对数据的加密如下:
2.4DES加密解密模块
DES密钥的生成如下:
—7/实现於Aimaj
public«ta:icbyte匚ic^e^deykey.Pwlicle^gublicle^)throwsExceprionf
〃金求Cipher对象,覆可Cipher的舞浪翅变万法并得受清来特关的名将传送看
它
Ciphercipher»
〃荀始化ci而er
ciph».ini^CCiiher.TOAPJDDE.盛煦蛉
return(citfier.■Rrapikey));
}
Rsa交筮揩的解答加下:
publicstaticley期以飒/〃实爽双解空
bE0
PrivstelerprivsteKey,
StringTrapcedXeyAlrxiThai.
in:鹫冽唠变然感物hronExcep:ion{
Ciphercipher=Cipher.§etlnstsnceCRSA,);
cipher,ini:(Cirher.INTHA^JfODH.privatelayj;
金名—bl:冬装的己色.
return(cicher.-XTrapiTraredKe/,vrsippedleyAlgcri:\vrap时dXe/T/pe');
}
2.5数字签名模块
对数据进行签名
publicstaticbrteZSign'^ivcrfe^k.bzt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 面膜促销广告语
- 拍卖公司员工劳动合同(31篇)
- 音乐课的教学反思
- 课题研究学习心得体会范文(32篇)
- 吉林省长春市(2024年-2025年小学五年级语文)统编版能力评测(下学期)试卷及答案
- 内蒙古呼和浩特市(2024年-2025年小学五年级语文)人教版摸底考试(上学期)试卷及答案
- 2024年苯酐催化剂项目资金需求报告代可行性研究报告
- 高二化学选修四第一次月考试卷教案
- 绿色建筑 被动式超低能耗公共建筑设计规范编制说明
- 上海市市辖区(2024年-2025年小学五年级语文)统编版小升初真题(下学期)试卷及答案
- 大学生如何遵守网络生活中的道德要求
- 给小朋友科普医学知识
- 最美老师评选述职报告
- 电气工程及其自动化生涯发展展示
- 俯卧位通气品管圈课件
- 2024学校所属企业国有资产管理的若干意见全文
- 我国中小企业战略管理中及对策研究
- 2024年三级物联网安装调试员技能鉴定考试题库(浓缩500题)
- 铸造铜及铜合金的熔炼
- 精神科护理技能5.3出走行为的防范与护理
- 《丝网印刷知识》课件
评论
0/150
提交评论