2009年密码学暑期课程设计说明
姓名:张志佳学号:072337
下面分别是AuthorityServer服务器端,ClientGUI客户端,以及ProviderGUI 提供者端得三张主界面的截图:
1.AuthorityServer服务器端:
2.ClientGUI客户端:
3.ProviderGUI提供者端:
本软件的总体介绍:
平时,我们在上网时,经常会从网上面下载一些资源,有时要注册为XX 网站的用户才能够下载网站的资源,本软件就是实现的这样一系列功能的演示软件,因为演示软件,因此讲很多东西都做到了软件的外面,看起来很繁琐,其实,你如果按照下面的操作说明,按步骤执行还是很简单的。
本软件,并没有做用户的注册这一模块,而是将预先将一张用户列表存在服务器端,用户必须用列表中的用户名,才能够登录服务器成功,并且如果你的用户密码不正确,也不能获得正确的资源密文。
资源的加密加密是采用现在还是很安全的DES加密算法实现,在传输过程中,对数据进行MAC认证,来确认数据是否,本修改过。
可能会遇到的问题:
问题1. 有可能你在按下某一个按钮时,会出现如下的提示信息,如图示:
解决方法:这是因为你将.exe 程序从根目录中拿到外面了,程序中需要在根目录下载入.txt 文件。
因此建议测试者请不要将exe程序拿到外面测试,如果拿到外面测试,请将根目录中的“name.txt”和“密码学课程设计软件说明.chm”文件一起复制出来,从而使程序能够正常的运行。
问题 2.在执行客户端应用程序时,可能你在点击Client客户端界面上的“获取密钥”按钮时,界面会出现卡住的现象,
假如你是按照下面的操作说明正确的执行的话,请不要再进行点击,直接切换到Server端去执行相关工作,这是因为,我将它从Server端接收消息的函数recv 函数放在了主程序中,只要你按照正确的操作进行,这是不会影响程序的运行的!
操作说明:
本项目是在DES加密算法的基础上,以三端通信为基础,编写完成的。
项目共分为3个可执行应用程序,分别是:AuthorityServer.exe,ClientGUI.exe和ProviderGUI.exe。
★AuthorityServer.exe 它是一个服务器端应用程序,它的主要功能是认证客户的
身份,并向客户发送加密资源的解密密钥K_temp。
★ProviderGUI.exe:它也是一个服务器端应用程序,它主要的功能是提供资源,
当有用户发送请求,就将加DES过密的资源发给用户。
★ClientGUI.exe:它是一个客户端应用程序,它从ProviderGUI端下载加过密的
资源,从AuthorityServer端获得加密资源的解密密钥。
从而
通过DES解密获得最终的加密资源的原文。
操作步骤:
(首先说明一下,理论上程序的是可以在3台不同的计算机上面操作演示的,但本人做的过程中所有的测试都是在一台计算机上面实现的,因此想演示的人请在一台计算机上面演示,下面的说明,也是以一台计算机为例的。
)
首先将AuthorityServer.exe,ClientGUI.exe和ProviderGUI.exe分别启动。
然后将界面切换到ProviderGUI端,点击“连接至服务器”按钮,先实现ProviderGUI端和AuthorityServer端的网络连接,操作如图示:
上图按钮旁边的IP地址和端口号都是默认一台计算机上面的,因此请不要更改。
之后会弹出正在连接的提示,如下图:
等待连接服务器成功的对话框点击确定即可。
第二步:将界面切换到ClientGUI用户端,先输入用户名和用户密码,当然用户名和用户密码必须有效才可以,否则下面的工作将无法完成,本项目的用户名和用户密码已经事先存存在一张列表中,大概有20个左右,对于测试者可以通过下面的方式获得已存用户的用户名和密码!
①.将界面切换到AuthorityServer端或者是ProviderGUI端,点击主
界面上的“载入查看”按钮,便可以浏览到所有用户的用户名和
用户密码,如果你已经知道了用户名,你可以在最上面输入该用
户名,点击“查询”便可以得到用户的用户密码。
图示如下:
②你可以进入AuthorityServer端或者是ProviderGUI端文件夹得根目录中打开name.txt 文件,也可以查询到相关信息。
然后点击“登陆至服务器”按钮,等待直到显示“登录至AuthorityServer 端成功”,确定后,再等待一会会显示“登录至Provider端成功”。
与此同时在AuthorityServer服务器端将会验证此用户是否存在与列表中,如果存在与列表中便会弹出如下图的对话框,点击确定继续。
否则会弹出“XXX为无效用户名”的对话框,此次工作将到此结束,用户还要重新改正自己的用户名。
第三步:连接成功后,用户便可以下载服务器端的资源了,在Client用户端点击“下载资源”按钮,会弹出“请求已发出,请等候”的对话框,点击确定等待即可。
图示如下:
第四步:之后,你便可以转到ProviderGUI端的主界面去了,此时会在界面上面弹出如下图的提示信息,确定后点击“发送资源”按钮即可。
然后便进入了用DES加密资源并发送密文和密钥的阶段,界面图示如下,点击按钮的顺序如图上面的标号,点击完“1”,“2”,“3”后,请在明文输入区输入明文,或者是通过点击“打开文件”的方式载入已有文件,之后便可以点击按钮“4”“5”“6”;
第五步:便可以切换至Client用户端界面,此时应该会在“接收文件”区域,有来自Provider端得密文显示,如下图所示,
接着点击“获取密钥”按钮,向AuthorityServer服务器端发送认证,请求密钥的请求。
如下图所示:
第六步:之后便可以切换到AuthorityServer服务器端的主界面,此时会在界面是弹出一个对话框,点击确定,然后再点击“发送密钥”按钮,便可以进入认证发送界面。
界面如下:
操作的过程如上图的数字标识,进行即可。
操作完成,就开始第七步,即可。
第七步:将界面切换到Client用户端得界面,你会发现在密钥K_temp区域显示了解密密钥,然后你点击解密文件,便可以得到加密资源的明文。
图示如下:
如果用户想继续下载资源,可以重复上面的操作,但要注意的是:在再次下载资源之前,请先将AuthorityServer服务器端和Provider端的子界面先关闭,因为要重新下载,所有数据都要重新更新。
2009年密码学暑期实践软件使用说明
2009年8月29日
电子信息科学与技术工程学院计算机科学与技术专业
姓名:张志佳学号:072337。