信息处理装置、程序、及记录介质的制作方法_3

文档序号:9794114阅读:来源:国知局
处理为例进行说明。
[0110]需要说明的是,加密及解密的整体处理并不限定于分别由图6A及图7A所示的处理。例如,对于加密处理,如图6B所示,在整体处理中图6A所示的步骤S0601和步骤S0602的处理顺序也可以相反。
[0111]<扩展处理例>
[0112]图8是对本发明的一个实施方式中的加密或解密的扩展处理的一个例子进行说明的源代码。
[0113]扩展处理例如是分别在图6A及图6B中所示的步骤S0604的处理以及在图7A中所示的步骤S0703的处理。另外,扩展处理例如通过第六源代码6来实现。
[0114]嵌入式系统I通过作为扩展处理的输入的数组“ADKin”61与作为扩展处理的输入的输入有扩展密钥数据的数组“KD”62的逻辑异或(exclusive or)的运算,来实现扩展处理。再有,扩展处理的处理结果例如是数组“ADKout”数组64。另外,输入到数组“KD” 62中的扩展密钥数据例如是通过扩展密钥数据的生成处理所生成的数据。需要说明的是,在第六源代码6中,运算符“”’ 63是逻辑异或的运算符。以下,运算符“”’同样是逻辑异或的运算符。
[0115]在第六源代码6中,变量“cnt”是进行所谓的递增计数(countup)的操作用的变量。以下,变量“cnt”同样是操作用的变量。需要说明的是,在第六源代码6中,变量“cnt”为O至15的任意一个值。
[0116]在第六源代码6中,变量“R0U”是表示基于密钥的长度而确定的值操作用的变量。例如,当密钥的长度为128位时,变量“R0U”为O至10的任意一个值。
[0117]图9是对本发明的一个实施方式中的加密或解密的扩展处理的处理结果的一个例子进行说明的图。具体来说,图9是对图8所示的第六源代码6所进行的扩展处理的处理结果进行了模式化的图。另外,图9引用了FIPS197(美国国立标准技术研究所,2001年公布)。
[0118]嵌入式系统I通过利用作为图8所示的一维数组的数据的数组“ADKin”61来进行扩展处理,从而能够输出与图9所示的4行4列的二维数组的输入和二维数组的扩展密钥数据的逻辑异或所进行的运算同样的处理结果。
[0119]对于嵌入式系统I,由于输入为一维数组,因此能够如图8所示的第六源代码6那样通过较少代码量的程序来实现扩展处理。因此,嵌入式系统I通过图8所示的第六源代码6所进行的扩展处理,能够降低程序的数据容量。
[0120]<排序处理例>
[0121]排序处理例如是图6A及图6B所示的步骤S0602的处理以及图7A所示的S0701的处理。另外,排序处理例如通过图7B所示的解密源代码10所具有的“InvShiftRows”函数I OFun I来实现。
[0122]图10A、图1OB及图1OC是对本发明的一个实施方式中的解密的排序处理的一个例子进行说明的图。具体来说,图1OA是对本发明的一个实施方式中的用于解密的排序处理的排序表的一个例子进行说明的源代码。
[0123]排序处理是对数据进行排序的处理。另外,排序例如通过排序表来实现。再有,排序表例如是在第七源代码7中所示的一维数组的数据。
[0124]图1OB是对本发明的一个实施方式中的解密的第七源代码7的排序表所进行的排序处理的一个例子进行说明的图。另外,排序表是设定有所输入的数据的排序目标的一维数组的数据。
[0125]当针对图5所示的一维数组“S”5,利用第七源代码7所示的排序表进行排序处理时,表示排序处理前的一维数组“S” 5变为排序处理完的数组51。
[0126]图1OC是对本发明的一个实施方式中的解密的排序处理的一个例子进行说明的源代码。
[0127]第八源代码8实现解密的排序处理。另外,数组“ISRin”81是排序处理的输入的数组。再有,数组“ISRin”81相当于图1OB所示的排序处理前的一维数组“S”5。
[0128]数组“I SR in” 81通过“InvShiftRows”函数被进行排序处理,变成输入到数组“ISRout”82的数组。另外,数组“ISRout”82相当于图1OB所示的排序处理完的数组51。
[0129]图1IA及图1IB是对本发明的一个实施方式中的解密的排序处理的处理结果的一个例子进行说明的图。另外,图1lA及图1lB是对图1OC所示的第八源代码8所进行的排序处理的排序结果进行了模式化的图。需要说明的是,图1lA及图1lB引用了 FIPS197(美国国立标准技术研究所,2001年公布)。
[0130]如图所示,排序处理进行相当于将二维数组的数据所具有的第r行的数据右移r列的处理的处理。
[0131]首先,在排序处理中,对作为第O行的数据的变换前第O行数据100并未进行排序,而是输出作为与输入同样的排列的变换后第O行数据200。
[0132]接着,在排序处理中,进行将作为第I行的数据的变换前第I行数据110右移I列的处理,输出变换后第I行数据210。另外,将变换前第I行数据110右移I列的处理是模式图10ISR所示的处理。再有,模式图10ISR是表示分别将第O列的数据移位到第I列、将第I列的数据移位到第2列、将第2列的数据移位到第3位、并将第3列的数据移位到第O位处理的图,也即表示右移I列的循环移位的处理的图。
[0133]再接着,在排序处理中,进行将作为第2行的数据的变换前第2行数据120右移2列的处理,输出变换后第2行数据220。另外,将变换前第2行数据120右移2列的处理是模式图20ISR所示的处理。再有,模式图20ISR是表示分别将第O列的数据移位到第2列、将第I列的数据移位到第3列、将第2列的数据移位到第O位、并将第3列的数据移位到第I位处理的图,也即表示右移2列的循环移位的处理的图。
[0134]接着,在排序处理中,进行将作为第3行的数据的变换前第3行数据130右移3列的处理,输出变换后第3行数据230。另外,将变换前第3行数据130右移3列的处理是模式图30ISR所示的处理。再有,模式图30ISR是表示分别将第O列的数据移位到第3列、将第I列的数据移位到第O列、将第2列的数据移位到第I位、并将第3列的数据移位到第2位处理的图,也即表示右移3列的循环移位的处理的图。
[0135]对于嵌入式系统I,由于利用作为一维数组的数据的排序表进行排序处理,因此如图1lA及图1lB所示,能够针对4行4列的二维数组的输入,输出与将第r行的数据右移r列的处理的处理结果同样的处理结果。
[0136]对于嵌入式系统I,由于输入为一维数组,因此能够如图1OC所示的第八源代码8那样,通过较少的代码量的程序来实现排序处理。因此,嵌入式系统I能够通过图1OC所示的第八源代码8所进行的排序处理,来降低程序的数据容量。
[0137]需要说明的是,在图10A、图10B、图10C、图1lA及图1lB中所说明的排序处理也可以是通过反函数所进行的处理。另外,作为在图10A、图1OB及图1OC中所说明的“InvShiftRows”函数的反函数的用于加密的“ShiftRows”函数进行将图1OB所示的排序处理完的数组51排序为排序处理前的一维数组“S”5的处理。也即,排序处理可以是相当于将二维数组的数据所具有的第r行的数据左移r列的处理。再有,与“InvShiftRows”函数同样,“ShiftRows”函数利用排序表来进行处理。需要说明的是,在“ShiftRows”函数中所使用的排序表的值根据排序的顺序从用于“InvShif tRows”函数的值变更。
[0138]〈置换处理例〉
[0139]置换处理例如是图6A及图6B所示的步骤S0601的处理以及图7A所示的步骤S0702的处理。另外,在置换处理中,例如通过图7B所示的解密源代码10所具有的变换处理代码10C2来实现。
[0140]图12A及图12B是对本发明的一个实施方式中的解密的置换处理的一个例子进行说明的源代码。具体来说,图12A是对用于本发明的一个实施方式中的解密的置换处理的置换表的一个例子进行说明的源代码。
[0141]置换处理是对数据进行置换的处理。另外,置换例如通过置换表来实现。再有,置换表例如是在第九源代码9中所示的一维数组的数据。需要说明的是,当所输入的数据按每I字节输入、总共256位时,第九源代码9是具有256个数据的一维数组的数据。还有,置换处理例如是将输入到“InvSubBytes”函数的参数的O至255的任意一个值置换为存储在置换表中的值得处理。
[0142]图12B是对本发明的一个实施方式中的解密的置换处理的一个例子进行说明的源代码。
[0143]第10源代码11实现解密的置换处理。另外,数组“ISBin”111是置换处理的输入的数组。再有,输入到数组“ISBin” 111的值通过“InvSubBytes”函数而被进行置换处理,变为输出到数组“I SBout" 112的值。
[0144]图13是对本发明的一个实施方式中的解密的置换处理的处理结果的一个例子进行说明的图。另外,图13是对图12B所示的第十源代码11所进行的置换处理的处理结果进行了模式化的图。需要说明的是,图13引用了FIPS197(美国国立标准技术研究所,2001年公布)。
[0145]置换处理是对数据能够计算出与由FIPS197 5.1.1定义的S-BOX所进行的处理同样的处理结果的处理。另外,S-BOX所进行的处理是使用图示的表的置换的处理。
[0146]嵌入式系统I由于使用作为一维数组的数据的置换表来进行置换处理,因此能够计算出与利用图13所示的S-BOX所得到的处理结果同样的处理结果。
[0147]嵌入式系统I中,由于输入为一维数组,因此能够通过图12所示的第十源代码11,以与S-BOX所进行的处理相同程度的代码量的程序来实现置换处理。另外,嵌入式系统I通过输入为I字节的一维数组的置换处理,能够高速地进行可得到与S-BOX同样的处理结果的处理。再有,嵌入式系统I通过输入为I字节的一维数组的置换处理,能够容易地进行安装。因此,嵌入式系统I通过图12B所示的第十源代码10的置换处理,能够降低程序的数据容量、并能够高速地处理。
[0148]需要说明的是,图12
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1