




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RSA算法原理及其编程实现 RSA算法的产生 Part1 RSA公钥加密算法 RSA是目前最有影响力的公钥加密算法 它能够抵抗到目前为止已知的绝大多数密码攻击 已被ISO推荐为公钥数据加密标准 RSA算法基于一个十分简单的数论事实 将两个大素数相乘十分容易 但是想要对其乘积进行因式分解却极其困难 因此可以将乘积公开作为加密密钥 1 随机选择两个秘密的质数p q2 计算公开的模数 n p q3 计算秘密的 n p 1 q 1 4 选择一个与 n 互质的量e5 求K的乘法逆元素 用扩展欧几里得算法 模为 n 6 明文X的值应在0至n 1之间 计算Xe modn 产生密文Y 完成加密操作7 计算Yd modn 产生明文X 完成解密操作 RSA算法描述 Part2 1 随机选择两个秘密的质数p q 89 97 2 计算公开的模数n p q 8633 3 计算秘密的欧拉函数 n p 1 q 1 8448 判定一个数是否为素数 booltest prime Elemtypem boolpd inti for i 2 i m i if m i 0 break if m i pd 1 elsepd 0 returnpd RSA编程实现 C语言 Part3 4 选择一个与 n 互质的量e 求最大公约数 Elemtypegcd Elemtypea Elemtypeb order a b intr if b 0 returna else RSA编程实现 C语言 Part3 while true r a b a b b r if b 0 returna break 5 用扩展欧几里得算法求K的乘法逆元素d 模为 n Elemtypeextend euclid Elemtypem Elemtypebin order m bin Elemtypea 3 b 3 t 3 a 0 1 a 1 0 a 2 m b 0 0 b 1 1 b 2 bin if b 2 0 returna 2 gcd m bin if b 2 1 returnb 2 gcd m bin RSA编程实现 C语言 Part3 while true if b 2 1 returnb 1 break intq a 2 b 2 for inti 0 i 3 i t i a i q b i a i b i b i t i 6 明文X的值应在0至n 1之间 计算Xe modn 产生密文Y 完成加密操作 voidencrypt if flag 0 cout m c modular multiplication m pu e pu n cout 密文is c endl cout 请输入下一步操作 RSA编程实现 C语言 Part3 7 计算Yd modn 产生明文X 完成解密操作 voiddecrypt if flag 0 cout c m modular multiplication c pr d pr n cout 明文is m endl cout 请输入下一步操作 RSA编程实现 C语言 Part3 DES算法原理及其编程实现 DES算法简介 Part1 DES DataEncryptionStandard 数据加密标准 DES是一种典型的块密码 即一种将固定长度的明文通过一系列复杂的操作变成同样长度的密文的算法明文长度为64位 同时 DES使用密钥来自定义变换过程 因此算法认为只有持有加密所用的密钥的用户才能解密密文 密钥长度为64位 然而只有其中的56位被实际用于算法 其余8位可以被用于奇偶校验 并在算法中被丢弃 因此 DES的有效密钥长度为56位 因为密钥太短 现已被攻破 改为使用三重DES算法 即3DES 经过16轮迭代和置换 得到密文长度为64位 DES算法原理 Part2 明文64bits 密钥64bits 密文64bits F函数32bits 子密钥48bits DES算法原理 初始置换和逆置换 Part2 DES算法中所有的置换表都是给定的 DES编程实现 初始置换和逆置换 Part3 DES算法原理 第一轮迭代 Part2 64bits明文进行IP置换64bits明文分为左右两部分 分别为32bits右边32bits直接放入下一轮的左边32bits左边32bits与F函数异或之后放入下一轮的右边32bits DES算法原理 子密钥生成 Part2 56bits密钥分成左右两边 经过置换 左移 选位得到48bits的子密钥 DES算法原理 F函数生成 Part2 左边32bitsE盒置换得到48bits 异或 得到48bits 17 DES编程实现 E置换表 Part3 DES算法原理 F函数生成 Part2 左边32bitsE盒置换得到48bits 异或 得到48bits 19 DES算法原理 S盒置换 Part2 6bits 8组 S盒 4bits 8组48bits S盒 32bits DES编程实现 S盒置换 Part3 DES算法原理 F函数生成 Part2 经过P置换表得到32bits 即F函数 异或 得到48bits 22 DES编程实现 P置换表 Part3 DES算法原理 F函数生成 Part2 经过P置换表得到32bits 即F函数 异或 得到48bits DES算法原理 十六轮迭代 Part2 右边
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 黑龙江省齐齐哈尔克山县联考2025届数学七下期末监测模拟试题含解析
- 城市交通与城市规划发展趋势研究重点基础知识点
- 美术教学资源开发与利用计划
- 深度解析的VB考试试题及答案
- 企业风险评估的总结与对策计划
- 生产计划应对外部环境变化的策略
- 2024年江苏省科学技术厅下属事业单位真题
- 经验分享提升软件设计师考试成功率的试题及答案
- 2024年洛阳市中小学教师招聘笔试真题
- 学习习惯养成指导计划
- 黑龙江省自然科学基金项目申请书联合引导项目JJSBYB
- 英国食物介绍british-food(课堂)课件
- 神经系统疾病的康复课件
- DB32 4181-2021 行政执法案卷制作及评查规范
- 涉密文件借阅登记表
- 脊髓损伤康复讲义
- 布草洗涤服务方案完整版
- 气体安全知识培训(72张)课件
- 电子类产品结构设计标准-
- 音乐神童莫扎特详细介绍和作品欣赏课件
- 共线向量与共面向量全面版课件
评论
0/150
提交评论