论文部分内容阅读
随着计算机和互联网技术的不断发展,信息安全问题越来越受到关注。1985年提出椭圆曲线密码(ECC)作为一种新的公钥密码系统,因其算法高效安全性高,极有可能代替RSA成为PKI下一代的核心算法。国内外都纷纷组织力量对其进行研究,各国际组织和国家相关部门也已着手制定相应的行业标准。本文先对素数域上ECC算法进行研究分析,针对ECC算法和硬件实现的特点提出一个包含详细算法并适合实现的方案,对其进行逻辑和层次划分,并用C语言对方案进行实现,验证其正确性,可行性和效率,并在此基础上进行优化和改进,为IP的设计奠定了基础。随后,基于素域上的椭圆曲线密码算法方案,进行了ECCIP的VLSI设计,采用层次化模块化方法,新的点运算策略和改进的Montgomery模乘器,实现了素数域内任意ECC曲线上的点乘、倍点和点加减运算并支持RSA功能。应用NIST推荐的256 bit和521bit椭圆曲线,每秒分别能运行120次和18次点乘运算。同时采用SRAM做大数存储器,大大降低了面积的开销,基于SMIC0.18μm工艺,运行在100MHz时钟,IP的面积是100k Gate,具有国内领先的水平。IP在设计完成后经过严格的FPGA测试和后端设计验证,并达到了商业产品的水准,这对满足国家信息安全日益紧迫的需求具有重要意义。