利用不可信服务器在手持设备上生成RSA密钥
一、PalmPilot上的加密操作运行时间
为了全面了解,我们列出了PalmPilot上一些加密操作的运行时间。这里使用的是配备16.6MHz Dragonball处理器的Palm V。通过Ian Goldberg将SSLeay部分代码移植到PalmPilot上,得到了DES、SHA - 1和RSA的运行时间,具体如下表所示:
| 算法 | 时间 | 注释 |
| — | — | — |
| DES加密 | 4.9ms/块 | |
| SHA - 1 | 2.7ms/块 | |
| 1024位RSA密钥生成 | 平均15分钟 | |
| 1024位RSA签名生成 | 27.8秒 | |
| 1024位RSA签名验证(e = 3) | 0.758秒 | |
| 1024位RSA签名验证(e = 65537) | 1.860秒 | |
二、RSA密钥生成概述
RSA密钥由n位模数N = pq以及一对整数d(私钥指数)和e(公钥指数)组成。通常,N是两个n/2位大素数的乘积。本文主要关注生成1024位密钥(即n = 1024),其生成算法步骤如下:
1. 寻找素数p和q :
- 候选值选取 :随机选取一个512位的候选值p。
- 筛选 :使用试除法检查p是否不能被任何小素数(如2、3、5、7等)整除。
- 测试 :对候选值进行概率素性测试。简单来说,就是检查$g^{(p
超级会员免费看
订阅专栏 解锁全文
22

被折叠的 条评论
为什么被折叠?



