《应用密码学》课程设计-rsa加解密的设计与实现

《应用密码学》课程设计-rsa加解密的设计与实现

ID:18813902

大小:620.65 KB

页数:19页

时间:2018-09-25

《应用密码学》课程设计-rsa加解密的设计与实现_第1页
《应用密码学》课程设计-rsa加解密的设计与实现_第2页
《应用密码学》课程设计-rsa加解密的设计与实现_第3页
《应用密码学》课程设计-rsa加解密的设计与实现_第4页
《应用密码学》课程设计-rsa加解密的设计与实现_第5页
资源描述:

《《应用密码学》课程设计-rsa加解密的设计与实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、上海电力学院《应用密码学》课程设计题  目: RSA加解密的设计与实现               院  系: 计算机与信息工程学院          专业年级: 信息安全专业2009252班           学生姓名:      学号: 20093464  指导教师:   温蜜     2011年1月6日目录一、设计要求................................................................................................3二、开发环境与工具................

2、....................................................................3三、设计原理................................................................................................3四、系统功能描述与软件模块划分............................................................4五、设计核心代码..............................

3、.........................................................6六、设计结果及验证...................................................................................16七、软件使用说明.......................................................................................17八、参考资料...............................

4、................................................................18九、设计体会...............................................................................................18一、设计要求1、随机搜索大素数,随机生成公钥和私钥;2、用公钥对任意长度的明文加密;3、用私钥对密文解密;4、界面简洁、交互操作性强。5、(可选)实现对汉字的加解密,把加密结果存放在文本文档二、开发环境与工具开发环境:win764位操

5、作系统开发工具:VC++6.0三、设计原理(算法工作原理)首先设计一个能存放足够大数的类CBigInt,这个类是把很大的数分解成一个个int类型的数来i存储的。输入你要求的密钥位数,然后用rand()函数生成一个个32位数,拼接成大数,进行素性检测,是素数就返回,就这样就产生了公钥(e,n)和私钥(d,n),然后利用公式c=m^emodn,得到密文,保存得到的密文到文本文档,再用公式m=c^dmodn,得到明文。算法路程图如下:开始输入明文输入需要生成的密钥长度产生随机大数进行拉宾-米勒素性检测通过?NY加密结束解密验证四、系统功能描述与软件模块划分CBigInt类

6、的功能:classCBigInt{public:unsignedm_nLength;unsignedlongm_ulValue[BI_MAXLEN];CBigInt();~CBigInt();voidMov(unsigned__int64A);voidMov(CBigInt&A);CBigIntAdd(CBigInt&A);//加法CBigIntSub(CBigInt&A);//减法CBigIntMul(CBigInt&A);//乘法CBigIntDiv(CBigInt&A);//除法CBigIntMod(CBigInt&A);//模CBigIntAdd(unsig

7、nedlongA);CBigIntSub(unsignedlongA);CBigIntMul(unsignedlongA);CBigIntDiv(unsignedlongA);voidFromString(char*,intlen);intToString(char*);unsignedlongMod(unsignedlongA);intCmp(CBigInt&A);CBigIntModExp(CBigInt&A,CBigInt&B);CBigIntRsaTrans(CBigInt&A,CBigInt&B);intRabinMiller();CBigIntEuc

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

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

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