AES加密算法的VHDL实现

本文详细介绍了AES加密算法的VHDL实现过程,包括轮密钥加、字节替换、行位移和列混合四个步骤。通过具体的操作说明和例子,阐述了在有限域GF(28)中如何进行加法和乘法运算,以及这些操作如何应用于状态盒(State)、替换盒(Sbox)和轮密钥调度表(W[])。
摘要由CSDN通过智能技术生成

AES加密算法的VHDL实现

步骤:

一、轮密钥加

(1) 拷贝16字节的输入数组到4*4的态矩阵(state)中去。

(2) 用密钥调度表的前四行对态矩阵(state)实行一个字节一个字节的xor(异或)

注:各轮的轮密钥加方法相同,只是每次依次采用密钥调度表的接下来四行。

二、字节替换

(1)SubBytes 例程是一个代替操作,它将 State 矩阵中的每个字节替换成一个由 Sbox 决定的新字节。比如,如果 State[0,1]的值是 0x40 如果你想找到它的代替者,你取 State[0,1] 的值 (0x40) 并让 x 等于左边的数字(4)并让 y 等于右边的数字(0)。然后你用 x 和 y 作为索引 进到 Sbox 表中寻找代替值

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芯作者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值