现代密码学中的算法与密钥管理
在密码学领域,离散对数计算和密钥管理是至关重要的两个方面。下面将详细介绍离散对数计算算法、推荐的密钥长度,以及密钥管理的相关问题和解决方案。
离散对数计算算法
在计算离散对数时,选择合适的参数 B 至关重要。选择较大的 B 值,会使 $Z_p^ $ 中的均匀值更有可能是 B - 平滑的,但这也意味着需要更努力地识别和分解 B - 平滑数,并且需要找到更多这样的数。由于方程组会更大,求解方程组的时间也会更长。选择最优的 B 值,可以得到一个启发式算法,该算法计算 $Z_p^ $ 中的离散对数的时间复杂度为 $2^{O(\sqrt{\log p \log \log p})}$,这在 p 的长度上是亚指数级的。
例如,在计算 $\log_3 2$ 时,虽然不能直接得出结果,但可以知道 $\log_3 2$ 的可能值为 4、29、54 或 79。通过尝试所有可能的值,最终确定 $\log_3 2 = 29$,再将其代入方程 (10.4) 可得到 $\log_3 87 = 40$。
推荐的密钥长度
为了达到所需的安全级别,了解解决各种密码学问题的最佳可用算法对于确定合适的密钥长度至关重要。美国国家标准与技术研究院(NIST)推荐的密钥长度如下表所示:
| 有效密钥长度 | RSA 模数 N | $Z_p^*$ 的 q 阶子群 | 椭圆曲线群阶 q |
| — | — | — | — |
| 112 | 2048 | p: 2048, q: 224 | 224 |
| 128 | 3072 | p: 3072, q: 256 | 256 |
| 1
超级会员免费看
订阅专栏 解锁全文
4176

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



