安全与保密作业

安全与保密作业

ID:36277160

大小:324.50 KB

页数:21页

时间:2019-05-08

安全与保密作业_第1页
安全与保密作业_第2页
安全与保密作业_第3页
安全与保密作业_第4页
安全与保密作业_第5页
资源描述:

《安全与保密作业》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、安全与保密作业混合密码系统(MCS)东北大学信息科学与工程学院安全与保密小组制作组长:0200935王俊川成员:0200950原常青0200980胡德华0201005刘红旗0200906高志刚一:系统概观本系统实现了一个基本的混合密码系统。它使用DES作为对称密钥算法,RSA作为公开密钥算法。本系统特点如下:1:提供了俩个加密接口。混合加密,DES加密。2:本系统的DES可以进行1次DES加密(标准DES加密)和3次DES加密。它会根据密钥长度,自动选择加密方案。当密钥长度在64位以内时它将使用标准DES加密,当密钥长度超过64位后,系统将设置

2、第2密钥,并启用3次DES加密。其密钥长度可达112位,并且它还具有很强的扩展性,提供了3种加解密接口:文件接口,文件句柄接口(可以供其他加密系统使用,本系统的混合加密模块就是使用这个接口),和内存缓冲区接口。另外它还能检验密钥的正确性,因为加密时,它将加密后的密钥密文也存入文件中,解密时,先用当前密钥解密密钥密文,如果所得的密钥明文与当前密钥相同,则当前密钥应该是正确的。3:本系统的RSA密钥长度最大可达600位16进制数(约合720位10进制数)。加/解密时你可以从文件中导入密钥。4:本系统可产生长度最大可达300位16进制(约合360位1

3、0进制数)的大素数,你可以导出素数,也可以从文件中导入素数,也可以产生一个指定长度的随机大素数。5:本系统产生RSA密钥对的速度非常快,一般在3秒以内。产生后,你可以将密钥对导出到文本文件,对于公开密钥和模n你可以不加密,但秘密密钥最好用本系统提供的DES接口加密,使用时再解密。(本来还计划实现一个RSA密钥对管理类:它使用一个密钥库文件,该库用一个DES密钥作为密码。它将密钥对用这个DES密钥加密后再存入密钥库。它可以用名字在密钥库中检索RSA密钥对,还可以对密钥库进行各种操作如:添加,删除,修改,更改密码等。但是限于时间问题,我们没有实现它

4、,希望有兴趣的同学可以尝试一下)。6:本系统的混合加密模块也具有对RSA密钥检错的功能,这主要通过解密后DES密钥的长度来判断的,因为如果RSA密钥错误,那么解密后的DES密钥长度一定超过16个字节。7:本系统可以保存用户设置的各种选项如:默认路径,是否使用3次DES加密等。下次启动时,这些选项自动生效。8:本系统提供了友好美观的界面。它有5个背景图,每次启动时系统会随机选择一其。主界面:密钥对产生界面:二:具体实现定义和结构://Define#defineCHECK(x){if(!(x))returnfalse;}#defineCHECK_M

5、SG(x,msg){if(!(x)){CWindow::ShowMessage(msg);returnfalse;}}#defineFILE_CHECK(x,file){if(!(x)){RunError(file);returnfalse;}}#defineFILE_CHECK_MSG(x,file,msg){if(!(x)){CWindow::ShowMessage(msg);RunError(file);returnfalse;}}#defineEQUAL(BI,y)(BI.len==1&&BI.bit[0]==y)//DESstruc

6、tdeshead{UCHARVer;//版本DWORDTLen;//文件长度charDesKey[16];//DES密钥密文};typedefstructdesheadDesHead;typedefbool(*PSubKey)[16][48];//BigIntstructbigint{charbit[BI_MAXLEN];//低位对应低位,高位对应高位UINTlen;//大数长度};typedefstructbigintBigInt;//MCSstructmcshead{intVer;//版本charDesKey[BI_MAXLEN/2];//

7、DES密钥密文intKeyLen;//DES密钥密文长度};typedefstructmcsheadMcsHead;模块1:Window支持类(classCWindow)源代码文件:Window.h;Window.cpp功能:见类定义注释类定义:classCWindow{public:CWindow();virtual~CWindow();//以下代码作者:0200950原常青voidShowWaitCursor();//显示等待光标voidEndWaitCursor();//结束等待光标voidSetWindowCaption(char*St

8、r,intv1=0,intv2=0,intv3=0);//设置窗口标题staticintShowMessage(constchar*msg,const

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

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

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