RSA(117位)限制加密解决方案.docVIP

  • 21
  • 0
  • 约3.66万字
  • 约 10页
  • 2016-08-20 发布于河南
  • 举报
RSA(117位)限制加密解决方案

RSA(117位)限制加密解决方案 前一阵给公安局做项目,用到了公钥加密技术及对称密钥加密技术。信息通过3DES进行加密,而密钥通过RSA公钥体系传送。客户端使用CPU卡eKey进行解密。但是在系统编写过程中发现,.net中的RSA加密算法为了提高安全性,在待加密数据前要添加一些随机数,因此,使用.NET中的RSA加密算法一次最多加密117字节数据(多于117字节需要拆分成多段分别加密再连接起来),经过加密后得到一个长度为128字节的加密数据。但这对于需要进行收发双方身份确认的公钥体系来说会带来不少麻烦。在我的系统中,我需要通过以下步骤实现对用户会话密钥的网上加密传递: 加密过程: 1、对会话密钥添加随机数,补充到128位, 2、使用CA私钥解密,结果为128位数据, 3、对数据使用用户公钥加密,得到128位数据,通过网络传送。 解密过程: 1、使用用户私钥解密网上传送的128位数据; 2、将结果使用CA公钥加密; 3、去掉用来混淆的随机数,提取出会话密钥 但.net中的RSA加密最多只能对117字节数据进行操作,导致128位数据不得不分两部分进行处理,于是加密数据不断膨胀。为了解决这个问题,并使得RSA加密、解密过程与eKey上的过程相一致,我只好编写自己的RSA加密算法。 经过查找了大量资料后,我决定利用现成的 BigInteger 类。可以参考/csharp/biginte

文档评论(0)

1亿VIP精品文档

相关文档