公开密钥加密毕业论文(5)

2018-12-02 13:54

陕西理工学院毕业论文(设计)

开始

随机选取两个素数p和q 计算n?p*q 计算欧拉函数?(n)?(p?1)*(q?1) 在2和?(n)之间随机选择一个和?(n)互素的加密密钥e 已知e和欧拉函数?(n),利用ed?1mod?(n),求出解密密钥d 得出:公钥为(n,e),私钥为(n,d) 结束 图3.1产生密钥

(2). 加密

输入待加密的明文m,经过hash变换求出其ASCALL码值,再经过加密算法:c?mmodn,得到密文c。

将明文P (假设P是一个小于r的整数)加密为密文C,计算方法为:C= mi^e ( mod n )

第17页 共41页

e 陕西理工学院毕业论文(设计)

开始 打开要加密的明文 成功打 开文件? N Y

N 成功新建

N 明文的数据全部读出了吗? 图3.2 加密流程图

新建一个文件, 用于存密文 文件?Y Y 将明文的扩展名逐字节加密,并将结果写入密文 从明文中一次读入固定长度的字节到缓冲 结束 对缓冲区的数据逐字节加密,并将结果写入密文 关闭明文 Y 关闭密文 (3). 解密

经过解密算法m?cmodn,将密文c回复为原来的明文m。将密文C解密为明文P,计算方法为:P = ci^d ( mod n )

第18页 共41页

d 陕西理工学院毕业论文(设计)

然而只根据r和e(不是p和q)要计算出d是不可能的。因此,任何人都可对明文进行加密,但只有授权用户(知道d)才可对密文解密。

开始 打开要解密的密文 成功打开文件吗? 从密文中读出固定长度的数据到密文缓冲 从密文中读出加密过的明文扩展名 对密文缓冲中的数据解密,结果存入明文缓冲 对密文形式的明文扩展名进行解密,并将解密得到的扩展名与新明文的文件名连接成新明文的全名 将明文缓冲区中的解密结果写入新明文 用新明文的全名创建一个文件 密文中的数据全部读出了吗? 成功创建文件? 关闭新明文

关闭密文

结束

图3.3 解密流程图

第19页 共41页

陕西理工学院毕业论文(设计)

3.5.2 运行过程

具体实现过程如下:

在matlab环境下新建一个.m文件,将程序保存在此文件中,然后由matlab的file菜单下的open命令找到保存的程序,再点击debug菜单下的run命令运行此程序,运行后弹出如图3.4

图3.4 密钥产生

根据提示随意输入两个素数,如:p=11,q=23,按回车键后界面显示如图3.5:

第20页 共41页

陕西理工学院毕业论文(设计)

图3.5 b 明文输入

在界面提示处如入待加密的明文,如:“ xia wu san dian xing dong dai shang AK47” ,按回车后,运行界面如图3.6:

图3.6 密文产

算法程序程序见附录B

第21页 共41页


公开密钥加密毕业论文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:窦桂梅讲话稿

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: