





























1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。
度是建立在具有大素数因子的合数,其因子分解完全问题这数学难题的基础上的,因此算法具有很强的保密性。
算法研制的最初目标是解决算法秘密密钥利用公开信道传输分发困难的难题,而实际结果不但很好地解决了这个难题还可利用来完成对消息的数字签名以防对消息的抵赖同时还可以利用数字签名发现攻击者对消息的非法篡改,以保护数据信息的完整性。
算法是第个能同时用于加密和数字签名的算法,也易于理解和操作。
是被研究得最广泛的公钥算法,普遍认为是目前最优秀的公钥方案之。
得到了世界上的最广泛的应用,并于年国际标准化组织在其颁发的国际标准中,将算法正式纳入国际标准。
线程池在传统的模型中,当个进程需要另个实体来完成事时,它就个子进程并让子进程去执行处理。
上的大多数网络服务器程序就是这么编写的,父进程个连接,个子进程,该子进程处理与该连接对端的客户之间的通信。
尽管这种范式多少年来直良好地服务着,调用却存在些问题是昂贵的。
要把父进程的内存映象拷贝到子进程,并在子进程中复制所有描述字,如此等等。
返回之后父进程之间信息的传递需要进程间通信机制。
调用之前父进程向尚存在的子进程传递信息相当容易。
因为子进程将从父进程数据空间及所有描述字的个拷贝开始运行。
然而从子进程往父进程返回信息却比较费力。
线程有助于解决这两个问题。
线程有时称为轻权进程,因为线程比进程权重轻些。
也就是说,线程的创建可能比进程的创建快倍。
线程池是指在服务器启动阶段预先创建系列线程阻塞于调用,每个客户由当前可用线程池中的个闲置线程处理。
这种处理方式比通常的客户连接到来时临时创建线程为其服务要快得多。
可以获得很好的性能加速。
系统需求分析聊天程序功能分析注册功能通常聊天程序需要用户名和密码才能使用,所以需要实现注册功能,这样用户可以很方便的通过网站注册自己的用户名并取得密码,还可以在服务器上存储个人相关信息以便他人查看。
登陆功能用户在聊天之前需要输入用户名和密码进行登陆以便获取自身相关信息和好友相关信息,故登陆过程中服务器需对用户名和密码进行必要的核对。
聊天功能这是聊天程序的主要功能。
用户之间的相互通信必须及时快速的由服务器转发。
加密算法由于是加密聊天程序,故对聊天明文的加密算法应选取加密速度相对较快的对称加密算法如,又由于的加密密钥是不能公开的秘密密钥,故对的密钥应加密传送,所以应采用非对称的公钥加密算法如用以分发密钥。
加密算法作为对称加密算法中的加密算法由于其加密过程是固定不变的,故应考虑其密钥的生成。
由于弱密钥存在的可能性,还应该考虑如何避免生成弱密钥。
因为差分分析法的提出可以快速的破解少于轮迭代的算法,故应保证其迭代次数至少为轮。
加密算法由于是基于大素数因子分解这数学难题提出的,故中公钥和私钥的产生应重点考虑。
又由于的运算强度较大,故还应考虑如何加速其运算速度。
系统总体设计和模块划分系统总体设计图系统设计如图所示,本系统采用模式。
用户通过应用程序注册帐号,然后用注册的帐号登陆聊天程序服务器。
客户端产生生成密钥,服务器端在启动时初始化产生公钥和私钥。
当客户端向服务器发起连接时,服务器送出公钥,客户端用取得的公钥加密产生的私钥回传服务器。
最后服务器与客户端双方的通信均由加密算法加密通信明文。
模块划分算法模块加密算法个主要步骤第步,初始置换图初始置换表图为初始置换表,输入明文经过该表完成初始置换。
第二步,轮迭代图轮迭代图为轮迭代,将经过初始置换的数据分成和两部分。
将直接交换为,与经过函数处理后的数据相异或得,最后轮不做交换。
第三步,逆置换图逆置换表图为逆置换表,经过轮迭代后通过该表置换得到输出的密文。
子密钥的产生图生成子密钥图为子密钥生成过程,将初始密钥经过表置换为输入,分为,两组分别进行循环左移,再经过表压缩为子密钥。
如此循环轮生成组子密钥。
算法模块大数的运算加法运算设定相应的进位变量,按位相加,如,当为权值,送否则送。
减法运算设定相应的借位变量,获取数据库连接号获取数据库连接信息服务器端核心代码图服务器完成初始化图为服务器初始化过程和为已登录用户服务的过程。
服务器先生成算法所需的公钥和私钥,当连接到来时服务器送出公钥并等待用户回传密钥。
当用户传回密钥后,服务器用私钥解密得到密钥。
此后用户登录信息由此密钥解密,用户发送的消息由服务器转发。
线程函数,为登陆客户服务发送公钥公钥已送出,正在获取密钥,请稍后获取私钥从套接口上读取用户登陆信息,解密用户登陆口令插入在线用户表,获得好友记录服务在线用户,负责转发消息发送公钥,向客户端发送公钥将公钥拷贝到发送缓冲区向套接口写公钥,获取密钥,从客户端取得经加密后的密钥并解密出来从套接口读取加密后的密钥解密得密钥将字符串型的密钥转换为型客户端核心代码图两客户端正常通信图为经过正常加密解密的两客户端间的正常通信过程。
图无解密过程客户端与正常客户端通信图左边为正常加密解密的客户端,右边为没有解密过程的客户端,故收到的信息为经算法加密过后的乱码。
发送消息线程将消息加密后送入字符串中从套接口上读取加密后的信息将消息解密后送到字符串中打印出出接收到的消息,结论通过本次课题的研究,可以看出近代密码学的兴起给密码学研究带来了新的活力。
非对称加密算法的提出和实现在信息安全领域得到广泛应用。
然而非对称加密算法的运算强度普遍较高,如何加快非对称加密算法的运算速度直是人们讨论的问题。
正是由于以上原因,传统的对称加密算法以其高效性和安全性依然倍受人们关注。
在更好的新型加密算法尚未研究出来以前,如何利用好现有的两大密码学体系更好的解决实际问题是目前人们所要关注和探讨的,也是本系统设计的关键所在。
传统的服务器程序在客户连接到达时临时派生进程的做法效率较低,同时由于进程的创建拷贝了主进程中所有变量使得进程负担过重从而造成系统整体性能下降。
线程的引入解决了进程负担过重的弊端,然而线程共享全局内存的同时却带来了新的问题同步和互斥。
因此编写与线程有关的程序时应处理好同步和互斥的问题以保护共享数据不被破坏。
良好的服务器编程范式可以帮助我们提高系统性能,通过预派生线程生成线程池的方式可以很好的节省系统服务的时间。
参考文献和应用开发核心技术北京机械工业出版社,。
美,网路编程第卷套接口北京清华大学出版社,。
美编程指南北京清华大学出版社,。
卢开澄计算机密码学计算机网络中的数据保密与安全北京清华大学出版社,。
刘建民,王育民网络安全技术与实践北京清华大学出版社,。
赖溪松,韩亮,张真诚计算机密码学及其应用北京国防工业出版社,。
美。
企业密文聊天系统的设计与测试摘要随着计算机的不断普及和互联网技术在全球领域的高速发展。
越来越多的人使用到了聊天程序。
聊天程序给人们带来通信便利的同时也存在着些安全隐患,传统的聊天程序以明文方式传送聊天内容,这样就给些用心不良的人大开方便之门。
本系统正是基于以上原因而设计的加密聊天程序。
聊天程序采用服务器客户端模式。
在环境下采用套接口编程,服务器程序以创建线程池的方式为每个客户服务。
聊天内容由服务器转发。
在聊天程序中加入了对称加密算法和非对称加密算法。
其基本实现是由服务器端生成的公钥和私钥,由客户端生成对称密钥,服务器端传送公钥至客户端加密密钥之后回传服务器,服务器再用本地的私钥解密获得密钥。
此后双方的通信由密钥加密后传送,这样既能高效的加密明文又能在信道上安全的传送密钥使得密钥间的共享成为现实。
关键词对称加密算法非对称加密算法会话密钥聊天系统目录论文总页数页引言课题背景国内外研究现状本课题研究的意义所采用技术的先进性分析算法算法线程池系统需求分析聊天程序功能分析加密算法系统总体设计和模块划分系统总体设计模块划分算法模块算法模块聊天程序模块系统实现核心代码核心代码注册页面核心代码服务器端核心代码客户端核心代码结论参考文献致谢,引言课题背景自从协议族成为计算机通信的主要网络协议,基于该协议族开发的网络应用程序数不胜数。
聊天程序便是其中之。
聊天程序使人们可以通过互联网及时传送消息,让远在千里之外的人们畅所欲言。
传统的聊天程序在给人们带来方便的同时也逐渐暴露出些安全隐患。
前不久网上登出了这样则新闻上海银行的白领丽人,因为聊天程序受监控被同事知道了个人隐私,被迫辞去了月薪三万余元的工作。
于是聊天程序的安全性受到了人们的广泛关注。
国内外研究现状从国内外对聊天程序的加密情况看,大多数处理方式是在现有的聊天程序基础之上添加相应的加密插件来实现加密。
比较典型的例子是平台下的多集成聊天程序,其中集成了等现今主流国内外聊天程序。
普遍的聊天程序没有经过加密而直接传输聊天明文。
通过添加插件程序对未加密的聊天程序进行加密传输,通信双方需要只要同时安装加密插件就可以顺利的对聊天内容进行加密解密。
这其中存在个现而易见的问题要是方加入了加密插件而另方却没有相应的解密程序显然双方不能正确通信。
本课题研究的意义聊天程序是否加密关系着用户的切身利用。
为了保卫公民隐私权不受到网络黑客的不法侵犯,开发加密传输信息的聊天程序有着重大意义。
聊天程序的加密特性对用户应该是透明的。
正如前面分析,如果以安装插件的方式加密聊天程序很可能造成通信双方加密不致的情况。
因此将加密算法内嵌入聊天程序可以保证通信双方均能正常通信。
传统的对称加密算法如虽然可以快速的加密和解密明文,然而其密钥难以分配和管理。
如果让通信双方相互约定密钥显然是不合适的,因此最好的方式是由方产生密钥然后传送给另方。
基于公钥的非对称加密体制的引入正是用于解决对称加密算法在密钥管理上的不足,但是非对称加密算法如存在运算强度过大费时较长等问题。
如果直接用于加密聊天程序,其生成密钥和加密解密所需时间是人们在通信过程中所不能容忍的,采取将两种加密算法相结合的方式可以很好的解决以上问题,从而达到安全快速的加密数据。
所采用技术的先进性分析算法是数据加密标准的缩写。
它是由公司研制的种加密算法,美国国家标准局于年公布把它作为非机要部门使用的数据加密标准,二十年来,它直活跃在国际保密通信的舞台上,扮演了十分重要的角色。
是个分组加密算法,它以位为分组对数据加密。
同时也是个对称算法加密和解密用的是同个算法。
它的密钥长度是位因为每个第位都用作奇偶
