我相信:任何想法与想象力都是可被实现,唯一的限制,就是你的想象力。即任何问题都有相应的解决方案,唯一的限制,就是你的思想,但思想可以通过知识来充实,最终解决问题!
在研究AES的三种模式时,遇到了个问题,卡了很久,直到现在突然来灵感了,终于解决了。
问题:在数据单元的设计这个模块中,数据输入接口完成初始密钥以及数据分组的输入和实现串并转换。数据的输入是采用32位的数据线以4字节为单位进行的,需要经过4/6/8个时钟周期输入16/24/32个字节初始密钥。我一开始就只设置了一个256位的密钥输出,因此能想到的就是当模式为128位时,就截取最高位的128位密钥输出;当模式为192位时,就截取最高位的192位密钥输出;当模式为256位时,就直接输出密钥。这样会使模式在128位或192位时,时钟的浪费,即浪费资源。
解答:其实可以设置三个密钥输出分别为128位、192位和256位,到时选择所需的密钥输出即可。