发明名称 利用VLSI实现128位密钥长度AES算法的装置
摘要 利用VLSI实现128位密钥长度AES算法的装置,属信息加密技术领域。包括微处理器接口模块、密钥扩展模块、加密运算模块、解密运算模块、密钥轮数选择器、数据输出选择器和状态输出选择器,微处理器接口模块和微处理器相连接,接收来自微处理器的命令和数据;微处理器接口模块分别和密钥扩展模块、加密运算模块、解密运算模块、密钥轮数选择器、数据输出选择器和状态输出选择器相连接,以控制密钥扩展模块、加密运算模块和解密运算模块的运行,并负责控制密钥轮数选择器、状态输出选择器、数据输出选择器,将运算结果对外部微处理器输出。本发明装置降低了功耗,提高了运算效率,具有高度的灵活性和可移植性。
申请公布号 CN101478392B 申请公布日期 2010.12.08
申请号 CN200910013660.2 申请日期 2009.01.19
申请人 山东大学 发明人 王祖强;桑涛;李运田;李春蕾;姜伟
分类号 H04L9/14(2006.01)I;H04L9/32(2006.01)I 主分类号 H04L9/14(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 许德山
主权项 一种利用VLSI实现128位密钥长度AES算法的装置,包括微处理器接口模块、密钥扩展模块、加密运算模块、解密运算模块、密钥轮数选择器、数据输出选择器和状态输出选择器,其特征在于微处理器接口模块和微处理器相连接,接收来自微处理器的命令和数据;微处理器接口模块分别和密钥扩展模块、加密运算模块、解密运算模块、密钥轮数选择器、数据输出选择器和状态输出选择器相连接,以控制密钥扩展模块、加密运算模块和解密运算模块的运行,并负责控制密钥轮数选择器、状态输出选择器、数据输出选择器,将运算结果对外部微处理器输出;密钥扩展模块的密钥轮数输入与密钥轮数选择器输出连接;密钥扩展模块状态输出与微处理器接口模块连接;密钥扩展模块轮密钥输出同时与加密运算模块的轮密钥输入、解密运算模块的轮密钥输入连接;加密运算模块的密文输出与数据输出选择器连接;加密运算模块的状态输出与状态输出选择器连接;解密运算模块的明文输出与数据输出选择器连接;解密运算模块的状态输出与状态输出选择器连接;其中:微处理器接口模块的运行方法,步骤如下:Step1:若接收到写数据指令,将数据存储于内部数据寄存器;Step2:若接收到密钥扩展指令,输出start信号至密钥扩展模块;输出控制信号到状态输出选择器,选通密钥扩展模块状态输出;Step3:若接收到加密运算指令,输出start信号至加密运算模块;输出控制信号到密钥轮数选择器,选通加密运算模块密钥轮数输出;输出控制信号到状态输出选择器,选通加密运算模块状态输出;Step4:若接收到解密运算指令,输出start信号至解密运算模块;输出控制信号到密钥轮数选择器,选通解密运算模块密钥轮数输出;输出控制信号到状态输出选择器,选通解密运算模块状态输出;Step5:若收到读数据指令,按照微处理器时序要求将状态和数据返回给微处理器;密钥扩展模块的运行方法,步骤如下:Step1:接收到微处理器接口模块start信号和密码后,将状态输出信号置为无效;Step2:接收到微处理器接口模块start信号和密码后,在密钥扩展模块内部状态机控制下连续进行10轮密钥计算,在每轮密钥扩展完成后存储该轮密钥到密钥扩展模块内部存储器中;Step3:密钥扩展模块完成10轮密钥计算后,将状态输出信号置为有效;Step4:密钥扩展模块根据密钥轮数选择器的输入,从内部存储器读出对应的轮密钥,发送到轮密钥输出口;加密运算模块的运行方法,步骤如下:Step1:接收到微处理器接口模块start信号和明文后,在加密运算模块内部状态机控制下开始进行10轮加密迭代计算;Step2:在完成每轮加密迭代计算之后将下一个轮数输出至密钥轮数选择器;Step3:完成第10轮加密迭代计算后,将状态输出信号置为有效;将密文输出到加密运算模块数据输出口;将状态输出信号置为有效;解密运算模块的运行方法,步骤如下:Step1:接收到微处理器接口模块起始信号和密码后,在解密运算模块内部状态机控制下开始进行10轮解密迭代计算;Step2:在完成每轮加密迭代计算之后将下一个轮数输出至密钥轮数选择器;Step3:完成第10轮密钥计算后,将状态输出信号置为有效;将密文输出到解密运算模块数据输出口;将状态输出信号置为有效。
地址 250100 山东省济南市历下区山大南路27号