推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于FPGA的AES加密算法的高速实现

更新时间:2018-07-11 22:06:44 大小:251K 上传用户:杨义查看TA发布的资源 标签:fpga 下载积分:0分 评价赚积分 (如何评价?) 收藏 评论(2) 举报

资料介绍

介绍 AES 算法的原理以及基于 FPGA 的高速实现。结合算法和 FPGA 的特 点,采用查表法优化处理了字节代换运算、列混合运算。同时,为了提高系统工作 速度,在设计中应用了内外结合的流水线技术,并应用 Altera 公司的开发工具及 芯片进行实际开发。


1 引言

随着信息技术的迅速发展,信息已成为当今社会的一种重要资源。但当人们享 受信息资源带来的巨大便利的同时,也承受着信息被篡改、泄漏、伪造的威胁, 安全问题日益严重。安全风险制约着信息的有效使用,信息安全对现代社会健康 有序的发展,保障国家安全和社会稳定有着重要作用。加密技术是信息安全技术 的核心,是保证信息资源安全的关键。 高级加密标准(Advanced Encryption Standard, AES)作为传统对称加密算法标 准 DES 的替代者,由美国国家标准与技术研究所(NIST)于 1997 年提出征集 该算法的公告,2000 年最终选定了 Rijndael 算法,并于 2001 年正式发布了 AES 标准[1]。Rijndael 算法本质上是一种对称分组密码体制,该算法汇聚了安全性能、 效率、可实现性和灵活性等优点,已经成为工业界、银行业、政府部门的事实上 的密码标准[2]。 随着网络传输速度的快速提升,业界对算法的执行速度的要求也越来越高,基于 软件的密码算法便显得性能不足,需要采用硬件加密的方式。另外,用硬件实现加 密算法具有较更高的物理安全性。而 FPGA 芯片兼有硬件的安全性和高速性以及 软件的灵活性和易维护性,从而成为研究和实现 AES 算法的理想硬件平台。 

2 AES 加密算法简介 

AES 是一种分组迭代密码,明文分组长度固定为 128 b,而且仅支持 128,196 或 256 b 的密钥长度,本文着重对密钥长度为 128 b 的情况进行讨论。AES 加密算法的实 现流程如图 1 所示,将输入的明文填入一个 4X4 的矩阵(16 进制),并将其称为 状态矩阵。算法的前 round-1 轮包含四种变换,分别是:字节替换、轮密钥加、 行移位、列混合。对于每一轮,都有对应的子密钥。子密钥由初始密钥通过密钥 扩展得到。最后一轮由字节替换、行移位和轮密钥加组成。AES 解密过程为上 述过程的逆过程。

部分文件列表

文件名 大小
基于FPGA的AES加密算法的高速实现.pdf 251K

全部评论(2)