关于RSA硬件算法的实现问题!

        最近在研究RSA的算法。得出了一下心得:

1.软件C实现都是通过32位的加减乘来实现大数的加,减,乘,除,模乘,模运算等。也就是单独从算法上讲,32位的处理器上实现RSA的运算量是减少不了了。

2. 加速RSA算法实现的最有效的途径,就是使用更加位宽的处理器。硬件实现超宽的处理器代价比较大。

3.大数模幂的算法可以使用Montgomery算法进行加速,但是之前要进行预处理,也就是说,大数的模运算(大数的除法)是避免不了的。

4.在寻找大随机素数的时候,要使用试除法和Miller-Rabin的素性检测法。因此也可以说大数的除法也是省不了的。

5.RSA的加密解密过程公式比较简单,真正实现起来速度也比较快。在产生密钥的过程是比较慢的。Openssl的程序中在PC产生RSA1024的密钥一般在3秒之内,而RSA2048的密钥一般在40-50秒左右。

        真正使用硬件来实现,如何能达到每秒钟签名速度为200次?32位的处理器,200MHz,是个挑战!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值