论文部分内容阅读
随着计算机网络的发展和普及,传统的密码系统(对称密钥系统)已经无法满足人们在信息安全方面的需要,这尤其体现在密钥管理、数字签名和身份认证等方面。在这种情况下,斯坦福大学的Diffie和Hellman于1976年首次提出了一种全新的密钥系统——公钥密码术(非对称密钥系统)。ECC(椭圆曲线密码体制)是一种新兴的公钥密码体制,与已经被广泛采用的传统的公钥密码体制RSA相比,它有着自身突出的优势。椭圆曲线离散对数问题(ECDLP)被认为是比离散对数问题(DLP)更为困难的数学问题,因此目前世界上仍没有有效的破解ECC的方法,且与其他公钥密码体制相比,在同等的安全级别下,它所需要的密钥长度更短。然而,尽管ECC的数学理论问题已经基本解决,但其在实现上仍存在一定的难度,尤其是高速的椭圆曲线点乘运算,这主要依赖于硬件的处理速度,以及算法本身的优化和改进。本文正是为了提高ECC的处理效率和速度,在追踪了国外的最新技术的基础上,针对相应算法进行研究和改进,设计出一种支持多种通用曲线的高性能ECC协处理器。论文首先介绍了ECC的基本数学原理,同时描述了它的相关标准、技术特点和应用范围。数学理论是椭圆曲线密码体制的基础,从此着手开始论文有助于对后文更好的理解。接下来我们会针对ECC中涉及的各个运算模块,对硬件设计中所用到的一些特殊算法给出相应的证明或者说明,这包含一些二元域上的基本数学运算算法和椭圆曲线上的点乘算法。算法部分是硬件设计中的重点和难点之一,好的算法可以使得硬件计算的步骤和时间大大降低,哪怕某个步骤只缩短很小的时间,对于整个处理过程来说都是获益匪浅的。随后我们进入到协处理器的设计部分。这个部分包含了协处理器的整体框架、各子模块的结构、控制模块的设计和指令集设计等方面。我们将着重论述协处理器设计中的每个细节,这是本文的重点。最后,论文给出了ECC协处理器的仿真图以及与软件设计的分析比较,并对自己做的工作进行了总结和展望。