● 摘要
随着信息技术发展,计算机技术已经深入到生产和生活的各个领域,在航空电子和武器装备方面更是拥有越来越多的嵌入式计算机系统。正因为如此,嵌入式系统的实时性和安全性就显得尤为重要,它将是未来战争和国防安全的关键因素。项目着重研究嵌入式应用软件安全保障的通用技术,并利用这些技术实现一个嵌入式应用软件的安全支撑平台,为应用软件提供一个安全可靠的运行环境,防止系统被非法入侵。本课题是上述项目的一个子项目,实现安全支撑平台中的加密子系统(SPC)。此加密系统包括对称加密、非对称加密、哈希函数和随机数生成的功能。因为系统的实时性要求较高,所以采用软硬件分别实现的方式,在软件的实时性达不到要求的情况下通过硬件提供支持。本文完成了实时加密系统的软硬件整体设计,系统级可重构设计,非对称加密算法的FPGA逻辑设计,对称加密、非对称加密、哈希函数和随机数生成的软件系统设计。在椭圆曲线加密算法的FPGA逻辑设计中,由于点乘运算极大影响了椭圆曲线密码系统的加密/解密速度,本文对点乘运算的FPGA设计进行了重点优化。采用一种串并混合的乘法器,达到了面积与速度的合理匹配。根据模平方运算自身的特点,选用了多项式基进行运算,从而提高运算速度。同时为了减少运算器件,节约FPGA的资源,将模逆运算转化为模乘运算和模平方运算的迭代,并将模加、模乘、模平方运算集中设计成了一个多功能运算器,使控制电路更加简单。在软件系统设计中,分别实现了支持128位、192位和256位三种密钥长度的AES算法,192位私钥长度的椭圆曲线算法,SHA-1算法和随机数算法。
相关内容
相关标签