答案家

 找回密码
 立即注册
查看: 628|回复: 0

2018电子商务中常用的RSA算法实现

[复制链接]

1

主题

1

帖子

41

积分

幼儿园

Rank: 1

积分
41
发表于 2018-8-20 16:54:32 | 显示全部楼层 |阅读模式
   [摘要] 电子商务的发展使得网络信息的安全传输问题显得尤为重要。文章对电子商务中经常会用到的RSA加密算法原理进行了描述并用Java语言编程实现了RSA算法。该程序由五个模块组成,它们是主函数模块、转换字符串为大整数模块、转换大整数为ASCII字符串模块、加密模块和解密模块。
  [关键词] RSA 公钥 私钥 加密 解密 Java语言
  
  随着信息技术的发展,特别是电子商务的发展,网络信息的安全传输逐渐成为人们最为关心的事情。RSA加密算法是目前应用最广泛的公钥加密算法。特别适用于通过internet传送的数据,常用于数字签名和密钥交换。本文用Java语言实现了RSA算法。
  一、RSA算法描述
  密钥对的产生。选择两个大素数p 和q 。计算:n=p*q,然后随机选择加密密钥e,要求e和(p-1)*(q-1)互质。最后,利用Euclid算法计算解密密钥d,满足e*d=1mod((p-1)*(q-1)),其中n和d也要互质。{e,n}是公钥,{d,n}是私钥。加密信息 m(二进制表示)时,首先把m分成等长数据块 m1 ,m2,…,mi,块长s,其中2∧s=n,s尽可能的大。对应的密文是:ci=(mi∧e)mod n,解密时作如下计算:mi=(ci∧d)mod n
  二、程序实现的主要思想
  Java中的BigInteger类提供了实施RSA公钥加密系统所必需的全部可能性。本程序根据生成公钥/私钥对来论证RSA。用户输入一串字符串,用公钥加密字符串,用私钥解密字符串,所有的结果被输出。
  三、主要算法流程和框图
  1.主要算法流程
  随机生成p,q→计算N=p*q→计算p1=p-1,q1=q-1→计算p1q1=p1*q1→随机生成e,e须满足gcd(p1q1,e)=1,1<E    ; ;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

CopyRight(c)2016 www.daanjia.com All Rights Reserved. 本站部份资源由网友发布上传提供,如果侵犯了您的版权,请来信告知,我们将在5个工作日内处理。
快速回复 返回顶部 返回列表