RSA数字签名在电子商务中的应用_第1页
RSA数字签名在电子商务中的应用_第2页
RSA数字签名在电子商务中的应用_第3页
RSA数字签名在电子商务中的应用_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

RSA 数字签名算法探析 摘 要 随着电子商务飞速发展 普及和应用 安全问题已经成为电子 商务发展的瓶颈 本文从电子商务交易过程对电子商务安全性的需 求出发 介绍了数字签名的原理 着重介绍了 RSA 加密算法的工作 原理及其在电子商务中的应用 关 键 词 RSA 加密算法 电子商务 Abstract Along with the electronic commerce rapid development the popularization and the application the security problem already became the electronic commerce development the bottleneck This article embarked from the electronic commerce transaction process to the electronic commerce secure demand introduced the digital signature principle emphatically introduced the RSA encryption algorithm principle of work and its in the electronic commerce application Keywords RSA Encryption algorithm electronic business 一 引言 随着经济的迅猛发展和网络技术的大范围的普及和应用 一种新兴的商务 运作模式 电子商务 已经日趋成熟和完善 越来越多的人把上网作为自己 获取信息的首要途径 目前在网上进行贸易的企业和个人日益增多 除了网上 购物 还有网上商品销售 网上拍卖 网上货币支付等 人们的消费和生活习 惯已经在慢慢改变 但与此同时 交易的风险性和不确定性也大大增加 安全 问题已经成为电子商务发展的瓶预 电子商务是建立在一个较为开放的网络环境上的 由于数据输入时的意外 差错或欺诈行为 或数据传输过程中信息丢失 重复或传送次序差异等原因 贸易各方的信息有可能不同 这会导致纠纷的产生 甚至使交易无法进行 因 此 要预防对信息的随意生成 修改和删除 同时要防止信息在传输过程中被 非法窃取 鉴于此 电子商务活动中的信息及其传播的技术 不仅涉及到信息 的制造和传输技术 同时还涉及到数据加密 身份认证和电子签名等技术 目 前增强电子商务的安全方法很多 从网络系统到具体应用系统提出了多种方案 规范及加密体系 我们主要来探讨一下 RSA 加密算法 二 数字签名的原理 数字签名的过程指报文发送方将报文文本带入哈希函数生成一个 128 位的 数列值 即消息摘要 消息摘要代表文件的特征 其值随着文件的变化而变化 也就是说 不同的文件得到不同的消息摘要 哈希函数对于发送数据的双方都 是公开的 发送方用自己的专用密钥对这个散列值进行加密 形成发送方的数 字签名 然后 这个数字签名将作业报文的附件和报文一起发送给报文的接收 方 报文的接收方首先从收到的原始报文中计算出 128 位的散列值 消息摘要 接着再用发送方的公开密钥来对报文附加的数字签名进行解密 如果两个散列 值相同 那么接收方就能够确认数字签名是发送方的 通过数字签名能够实现 对原始报文的鉴别和不可否认性 从数字签名的过程可以看出 数字签名应当满足下列要求 接收方能够确 认或证实发送方的签名 但不能伪造 发送方发出签名的消息给接收方后 就 不能再否认所签发的消息 接收方对收到的签名消息不可否认 即有收报认证 为了实现数字签名的目的 发送方需要向接收方提供足够的非保密信息 以便使其能够验证消息的签名 但又不能泄露用于产生签名的机密信息 以防 他人伪造签名 因此 可用 RSA 签名机制来实现数字签名 三 RSA 加密算法的实现 RSA 算法于 1977 年由美国麻省理工学院 MIT Massachusetts Institute of Technology 的 Ronal Rivest Adi Shamir 和 Len Adleman 三位年轻教授提出 并 以三人的姓氏 Rivest Shamir 和 Adlernan 命名为 RSA 算法 该算法利用了数 论领域的一个事实 那就是虽然把两个大质数相乘生成一个合数是件十分容易 的事情 但要把一个合数分解为两个质数却十分困难 合数分解问题目前仍然 是数学领域尚未解决的一大难题 至今没有任何高效的分解方法 与 Diffie Hellman 算法相比 RSA 算法具有明显的优越性 因为它无须收发双方同时参 与加密过程 且非常适合于电子函件系统的加密 RSA 公共密钥加密算法的核心是欧拉 Euler 函数 对于正整数 n n 定义为小于 n 且与 n 互质的正整数的个数 例如 6 2 这是因为小于 6 且与 6 互质的数有 1 和 5 共两个数 再如 7 6 这是因为互质数有 1 2 3 5 6 共 6 个 欧拉在公元前 300 多年就发现了 函数的一个十分有趣的性质 那就是对 于任意小于 n 且与 n 互质的正整数 m 总有 m n mod n 1 例如 5 6 mod 6 52 mod 6 25 mod 6 1 也就是说 在对 n 求余的运算下 n 指 数具有周期性 当 n 很小时 计算 n 并不难 使用穷举法即可求出 但当 n 很大时 计算 n 就十分困难了 其运算量与判断 n 是否为质数的情况相当 不过在 特殊情况下 利用 函数的两个性质 可以极大地减少运算量 性质 1 如果 p 是质数 则 p p 1 性质 2 如果 p 与 q 均为质数 则 p q p q p 1 q 1 RSA 算法正是注意到这两条性质来设计公共密钥加密系统的 p 与 q 的乘积 n 可以作为公共密钥公布出来 而 n 的因子 p 和 q 则包含在专用密钥中 可以 用来解密 如果解密需要用到 n 收信方由于知道因子 p 和 q 可以方便地 算出 n p 1 q 1 如果窃听者窃得了 n 但由于不知道它的因子 p 与 q 则很难求出 n 这时 窃听者要么强行算出 n 要么对 n 进行因 数分解求得 p 与 q 然而 我们知道 在大数范围内作合数分解是十分困难的 因此窃密者很难成功 四 RSA 加密算法的工作原理 有了关于 函数的认识 我们再来分析 RSA 算法的工作原理 1 密钥配制 设 m 是要加密的信息 任选两个大质数 p 与 q 选择正整数 e 使得 e 与 n p 1 q 1 互质 利用辗转相除法 计算 d 使得 ed mod n 1 即 ed k n 1 其中 k 为某一正整数 公共密钥为 e n 其中没有包含任何有关 n 的因子 p 和 q 的信息 专用密钥为 d n 其中 d 隐含有因子 p 和 q 的信息 2 加密过程 将明文 m 其值的范围在 0 到 n 1 之间 按模为 n 自乘 e 次 幂以完成加密操作 c me mod n 得密文 c 3 解密过程 使用 d n 对密文 c 进行解密 将密文 c 按模为 n 自乘 d 次 幂 完成解密操作 m cd mod n 计算过程为 cd mod n me mod n d mod n med mod n m k n 1 mod n mk n mod n m mod n m m 即为从密文 c 中恢复出来的明文 例如 假设我们需要加密的明文代码信息为 m 14 则 选择 e 3 p 5 q 11 计算出 n p q 55 p 1 q 1 40 d 27 可以验证 e d mod p 1 q 1 81 mod 40 1 加密 c me mod n 143 mod 55 49 解密 m cd mod n 4927 mod 55 14 关于 RSA 算法 还有几点需要进一步说明 1 之所以要求 e 与 p 1 q 1 互质 是为了保证 ed mod p 1 q 1 有解 2 实际操作时 通常先选定 e 再找出并确定质数 p 和 q 使得计算出 d 后它们能满足公式 12 3 常用的 e 有 3 和 65537 这两个数都是费马序列中 的数 费马序列是以 17 世纪法国数学家费马命名的序列 3 破密者主要通过将 n 分解成 p q 的办法来解密 不过目前还没有办法 证明这是唯一的办法 也可能有更有效的方法 因为因数分解问题毕竟是一个 不断发展的领域 自从 RSA 算法发明以来 人们已经发现了不少有效的因数分 解方法 在一定程度上降低了破译 RSA 算法的难度 但至今还没有出现动摇 RSA 算法根基的方法 4 在 RSA 算法中 n 的长度是控制该算法可靠性的重要因素 目前 129 位 甚至 155 位的 RSA 加密勉强可解 但目前大多数加密程序均采用 231 308 甚至 616 位的 RSA 算法 因此 RSA 加密还是相当安全的 五 结束语 据专家测算 攻破 512 位密钥 RSA 算法大约需要 8 个月时间 而一个 768 位密钥 RSA 算法在 1 年之内无法攻破 现在 在技术上还无法预测攻破具有 2048 位密钥的 RSA 加密算法需要多少时间 美国 Lotus 公司悬赏 1 亿美元 奖 励能破译其 Domino 产品中 1024 位密钥的 RSA 算法的人 从这个意义上说 遵 照 SET 协议开发的电子商务系统是绝对安全的 利用前面讲解的加密方法 尤其是基于双钥技术的现代加密方法 我们针 对网络安全可以实现多种具体的手段及方法 如数字签名 数字时间戳

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论