论文部分内容阅读
有限域乘法器在通信、数字信号处理、密码学、VLSI测试和计算机代数等多个领域都有广泛的应用。其中在密码学中,椭圆曲线加密算法ECC相对其他的安全方案而言,可以用更短的密钥实现相同等级的安全性,因此得到了广泛的关注。本文主要讨论的是低复杂度有限域乘法器的方法研究和结构设计,以及在椭圆曲线加密算法ECC中的应用研究。
本文详细分析了经典Karatsuba算法和非二均分Karatsuba算法的设计原理以及空间和时间复杂度,基于Karatsuba算法提出了一种Karatsuba算法的改进算法。这种改进算法不但能够有效的降低有限域乘法器的空间复杂度,并且适合任何类型的乘法操作数,特别是操作数为大素数的情况。
此外,针对有限域乘法器空间复杂度较大的情况,本文还基于降维算法提出了两种降维算法的迭代设计方案。其中一种方案是每次迭代的过程中求出降维算法的最佳r,直到满足迭代停止的条件,这种算法能迅速的降低乘法器的空间复杂度。另外一种方案是通过对乘法器操作数进行变换操作,使其可以一直进行分解,这种算法能拥有更多的分解方法,同时也能有效的降低空间和时间复杂度。
最后,提出了上述改进的Karatsuba算法、非二均分的Karatsuba算法和降维算法三种算法在ECC中乘法器的应用设计及复杂度分析。通过对有限域乘法器的性能进行对比分析,总结出以下三个结论:
1.三种算法都能有效的降低有限域乘法器的空间复杂度;
2.对于一次分解的算法来说,降维算法可以迅速的降低乘法器的空间说复杂度,而改进的Karatsuba算法和非二均分Karatsuba算法降低的程度差不多,并且明显低于降维算法。所以在只需要分解一次的这种场景下,采用降维算法可以得到较优的复杂度特性。
3.对于采用迭代方法设计的乘法器结构,降维算法只需要迭代很少的次数就可以快速的降低乘法器的空间复杂度,而改进的Karatsuba算法和非二均分Karatsuba算法需要迭代的次数较多才能有效的降低乘法器的空间复杂度,但是却可以得到比迭代降维算法更低的空间复杂度。所以在采用迭代方法设计的乘法器结构中,采用改进的Karatsuba算法和非二均分Karatsuba算法能够更明显的降低空间复杂度。