论文部分内容阅读
RSA是最常用的公钥密码之一,广泛地应用于认证和加密体制。最直接地攻击RSA的方法是分解大数,而分解大数最好的方法是数域筛法。根据摩尔定理,当前RSA-1024是安全的。2001年,Bernstein提出利用硬件分解1024比特大数的思想,引起国际上广泛的注意,激发了新一轮的分解大数的热潮。本文主要研究数域筛法中线性代数步骤(二元域上大型稀疏方程组求解)的硬件实现。第一章介绍RSA的加密方法;总结分解大数的方法,给出已分解大数的历史记录;简要阐述数域筛法的原理和流程,并跟踪了数域筛法的最新进展。第二章介绍Wiedemann算法,详细描述了块Wiedemann算法的原理和流程,分析其算法复杂度。第三章总结了现有实现矩阵乘向量的各种硬件设计方案,并给出它们的实现原理和设计方法,分析它们的优缺点,评估了它们的现实可行性;对一种实现筛法的硬件设计加以修改,使之可以实现矩阵乘向量,从而筛法和线性代数可以在同一硬件上实现。第四章修改了原始块B-M算法,解决了以往算法不适合于并行计算的问题,并提出一种可以实现块B-M算法的硬件设计方案。