【技术实现步骤摘要】
用于高级加密标准(AES)的灵活结构和指令本申请是申请日为2008年3月25日、申请号为200880006495.1的同名专利申请的分案申请。
本公开涉及密码算法,并且具体而言,涉及高级加密标准(AES)算法。
技术介绍
密码是依靠算法和密钥来保护信息的工具。这种算法是复杂的数学算法,而所述密钥是比特串。密码系统具有两种基本类型:私用密钥系统和公共密钥系统。私用密钥系统又称为对称系统,其具有两方或多方共享的单个密钥(“私用密钥”)。该单个密钥既用于加密信息也用于解密信息。国家标准和技术研究所(NIST)发布的作为联邦信息处理标准(FIPS) 197的高级加密标准(AES)是一种私用密钥系统。AES是能够加密和解密信息的对称块加密(blockcipher)。加密技术(加密)使用私用密钥(加密密钥)执行一系列的转换,以将被称为“明文”的可理解数据转换为被称为“密文”的无法理解的形式。加密中的转换包括:(1)使用异或(XOR)操作将循环(round)密钥(从加密密钥导出的值)与体(state)(字节的二维阵列)相加;(2 )使用非线性字节替换表(S-盒(S-Box ))对体进行处理;(3 )使用不同的偏移来循环移位所述体的最后三行;以及(4)获取所述体的所有列,并且(相互独立地)混合所述列的数据以产生新的列。解密(反加密)使用加密密钥来执行一系列的转换,以将“密文”块转换为同样大小的“明文”块。反加密中的转换是加密中进行的变换的逆操作。在AES标准中指定Rijindael算法使用长度为128、192和256位的加密密钥来处理128位的数据块。一般将不同的密钥长度 ...
【技术保护点】
一种装置,包括:执行单元,用于执行aes指令的操作序列,所述操作序列执行可编程次数的aes循环,所述操作使得所述执行单元:如果aes循环次数大于1:将密钥载入到临时密钥寄存器中;以及在执行每个aes循环之前,根据所述密钥来生成用于该aes循环的循环密钥;以及对于每个aes循环,对该aes循环的输入和用于该aes循环的所述循环密钥执行aes循环操作序列,以提供对下一个aes循环的下一个输入或者提供所述aes指令的结果。
【技术特征摘要】
2007.03.28 US 11/729,1991.一种装置,包括: 执行单元,用于执行aes指令的操作序列,所述操作序列执行可编程次数的aes循环,所述操作使得所述执行单元: 如果aes循环次数大于1: 将密钥载入到临时密钥寄存器中;以及 在执行每个aes循环之前,根据所述密钥来生成用于该aes循环的循环密钥;以及对于每个aes循环,对该aes循环的输入和用于该aes循环的所述循环密钥执行aes循环操作序列,以提供对下一个aes循环的下一个输入或者提供所述aes指令的结果。2.如权利要求1所述的装置,其中,如果所述aes循环次数为1,则在执行所述aes循环操作序列之前,所述执行单元: 载入根据所述密钥而预先计算的用于该aes循环的循环密钥。3.如权利要求2所述的装置,其中,所述aes循环操作序列使得所述执行单元: 对该aes循环的输入和用于该aes循环的所述循环密钥执行异或(XOR)操作,以产生中间值; 根据存储在查询表中的值对所述中间值中的每个字节执行替换操作;以及 通过对所述中间值中的行进行移位的比特线性转换来传递所述替换操作的结果。4.如权利要求1所述的装置,其中,对于所述aes循环次数_1,所述aes循环操作序列使得所述执行单元: 对该aes循环的所述输入和用于该aes循环的所述循环密钥执行异或(XOR)操作,以产生中间值; 根据存储在查询表中的值对所述中间值中的每个字节执行替换操作; 通过对所述中间值中的行进行移位的比特线性转换来传递所述替换操作的结果;以及 通过对所述中间值中的列进行混合的比特线性转换来传递所述替换操作的结果。5.如权利要求4所述的装置,其中,对于最后一个aes循环,所述aes循环操作序列使得所述执行单元: 对该aes循环的输入和用于该aes循环的所述循环密钥执行异或(XOR)操作,以产生中间值; 根据存储在查询表中的值对所述中间值中的每个字节执行替换操作;以及 通过对所述中间值中的行进行移位的比特`线性转换来传递所述替换操作的结果。6.如权利要求1所述的装置,其中,所述结果是加密值。7.如权利要求1所述的装置,其中,所述结果是解密值。8.如权利要求1所述的装置,其中,用于第一个aes循环的所述密钥和所述输入存储在寄存器堆中。9.如权利要求1所述的装置,其中,所述寄存器堆包括多个128位的寄存器。10.一种方法,包括: 如果用于aes指令的可编程aes循环次数大于1,则将密钥载入到临时密钥寄存器中,并且在执行每个aes循环之前,根据所述密钥来生成用于该aes循环的循环密钥;以及对于每个aes循环,对该aes循环的输入和用于该aes循环的所述循环密钥执行aes循环操作序列,以提供对下一个aes循环的下一个输入或者提供所述aes指令的结果。11.如权利要求10所述的方法,其中,如果所述aes循环次数为1,则在执行所述aes循环操作序列之前,载入根据所述密钥而预先计算的用于该aes循环的循环密钥。12.如权利要求11所述的方法,其中,执行所...
【专利技术属性】
技术研发人员:S·格伦,W·K·费加利,V·戈帕尔,M·拉古纳丹,M·G·狄克逊,S·陈努帕蒂,M·E·科纳维斯,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。