实现 RSA 算法之改进和优化(第三章)(老物)

第三章 如何改进和优化RSA算法

这章呢,我想谈谈在实际应用出现的问题和理解。
由于近期要开始各种忙了,所以写完这章后我短时间内也不打算出什么资料了=- =(反正平时就没有出资料的习惯。)
在讲第一章的时候我提到过两个函数在真实应用时舍弃掉的,为何这样说呢?
因为在实际应用中,生成了数据规模N和两把密钥E与D即可进行RSA算法的运作,在应用RSA时只需要一个a^b%c幂模运算函数,所以优化点集中在了数据类型和数据加密解密速度上。

注意RSA函数有个特点,就是根据源数据产生的密文一定是属于n内的,因为一旦被加密数据大于n就会导致的密文不唯一(当同余式的任意整数k不唯一),基于此性质可知,这函数还是一个一对一函数,也就是说RSA的工作原理其实就是洗牌(你也可以拿RSA来充当不重复随机数生成函数来用哦~)。
那么我们就来谈谈优化吧,首先确定好待加密的单一数据规模,也就是加密的位长,用C语言的话来说就是,是一次加密一个字节(char)呢还是四个字节(int)呢?这取决于算法的执行环境,这个类型的选择可能会出现在单片机的开发上,像51单片机这样的默认处理都是一字节,从优化的角度上来讲就应该使用对应处理速度的数据类型,也就是每次加密char数据,而在一般的intel家的都是32位以上的了,如果还在用char的处理方案估计要急死还有浪费(本来就可以处理更多但你非要拿四分之一出来处理),所以对于32

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值