Advertisement

AES密钥编排(PYTHON)

阅读量:

请参考我们的官方发布渠道以获取完整的文章内容

引言

对开创AES的先驱深表敬意!就单就编写密钥编排这一步骤而言,耗时一整天也未见成效.下面我会着重介绍AES的工作原理,并简要概述其编码流程.

AES密钥扩展原理

AES加密算法包括四种操作:字节置换(SubBytes)、行偏移(ShiftRows)、列重组(MixColumns)和轮密钥添加(AddRoundKey)。

我们这里提及的是构造密钥的方法,密钥扩展,原理如下:

密钥拼接

代码构造

在本节中,我们构造named RotWord函数,其核心目标是提高信息传播范围。在此基础上,我们需要具体实现的任务就是完成一种置换操作。这种操作主要通过字符串操作的方式来实现。值得注意的是,在Python编程环境中不建议采用类似word[2:4]这样的索引方法进行字符提取;相反地,则需要通过word[2:]来进行后续操作

复制代码
    def RotWord(word):
    return word[2:]+word[:2]

随后构建SubBytes方案。此方案的功能模块对应于S盒的设计。

全部评论 (0)

还没有任何评论哟~