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

文档序号:9794114阅读:来源:国知局
A、图12B及图13中所说明的置换处理可以是利用反函数进行的处理。另外,作为在图12A及图12B中所说明的“InvSubBytes”函数的反函数的用于加密的“SubBytes”函数进行在图13中说明的S-BOX所进行的处理的逆向置换。也即,置换处理可以是S-BOX所进行的处理的输入和输出为相反的处理。需要说明的是,与“InvSubBytes”函数同样,“SubBytes”函数使用置换表进行处理。再有,在“SubBytes”函数中所使用的置换表的值根据置换的值而从用于“InvSubBytes”函数的值来变更。
[0149]<变换处理例>
[0150]变换处理例如是图6A及图6B所示的步骤S0603的处理以及图7A所示的步骤S0704的处理。另外,变换处理例如通过图7B所示的解密源代码10所具有的“InvSubBytes”函数10Fun2来实现。
[0151]图14是对本发明的一个实施方式中的解密的变换处理的一个例子进行说明的源代码。
[0152]变换处理是对数据进行变换的处理。另外,变换例如通过等价公式来实现。再有,等价公式例如通过第十源代码12来实现。
[0153]如第十源代码12所示,在等价公式中,对输入到变换处理的“in[0]”及“in[l]”的逻辑异或进行计算,将计算结果代入变量“inl_01”。同样地,在等价公式中,对输入到变换处理的“in[2]”及“in[3]”的逻辑异或进行计算,将计算结果代入变量“inl_23”。
[0154]接着,在等价公式中,执行以变量“inl_01”为参数的“IRPLY”函数,将执行结果代入变量“in2_01”。另外,在等价公式中,执行以“in[l]”及“in[2]”的逻辑异或的计算结果为参数的“IRPLY”函数,将执行结果代入变量“in2j2”。再接着,在等价公式中,执行以变量“inl_23”为参数的“IRPLY”函数,将执行结果代入变量“in2_23”。另外,在等价公式中,执行以“in[3]”及“in[0]”的逻辑异或的计算结果为参数的“IRPLY”函数,将执行结果代入变量“in2_30”。
[0155]需要说明的是,“IRPLY”函数例如是由第十二源代码13所定义的函数。具体来说,如第十二源代码13所示,“IRPLY”函数通过两次移位运算、逻辑异或的计算、利用表“Irply”所进行的映射的组合来实现。
[0156]另外,在等价公式中,执行以变量“in2_01”及变量“in2j2”的逻辑异或的计算结果为参数的“IRPLY”函数,将执行结果代入变量“in4_02”。再接着,在等价公式中,执行以变量“in2_12”及变量“in2_23”的逻辑异或的计算结果为参数的“IRPLY”函数,将执行结果代入变量“in4_13”。
[0157]在等价公式中,执行以变量“in4_02”及变量“in4_13”的逻辑异或的计算结果为参数的“IRPLY”函数。另外,在等价公式中,将“IRPLY”函数的执行结果与变量“inl_01”与变量“inl_23”的逻辑异或的计算结果代入变量“in9_0123”。
[0158]再有,在等价公式中,计算出变量“in9_0123”、变量“in4_02”、变量“in2_01”及“in
[O]”的逻辑异或的计算结果来作为“out[0]”。另外,在等价公式中,计算出变量“in9_0123”、变量“化4_13”、变量“丨112_12”及“丨11[1]”的逻辑异或的计算结果来作为“0此[1]”。再有,在等价公式中,计算出变量“in9_0123”、变量“in4_02”、变量“in2_23”及“in[2]”的逻辑异或的计算结果来作为“out[2]”。还有,在等价公式中,计算出变量“in9_0123”、变量“in4_13”、变量“化2_30”及“11![3]”的逻辑异或的计算结果来作为“01^[3]”。
[0159]图15A、图15B、图15C、图15D及图15E是对本发明的一个实施方式中的解密的变换处理的处理结果的一个例子进行说明的图。需要说明的是,图15A、图15B、图15C、图1及图15E引用了FIPS197 (美国国立标准技术研究所,2001年公布)。具体来说,图15A是对图14A所示的第十一源代码12所进行的变换处理的处理结果进行了模式化的图。另外,图15B是用于进行图15A所示的计算的源代码的一个例子。再有,当用源代码表现时,图15A所示的处理例如变为图15B所示的源代码的处理。另外,在图15B所示的源代码中示出的乘法分别能够用如图15C所示的源代码来定义。因此,在图15B所示的源代码中示出的各个计算基于图15C分别如图1所示。
[0160]这里,在使用“IRPLY”函数的运算中,以下(2)式成立。
[0161][数2]
[0162]z = x'y
[0163]IRPLY(z) = IRPLY(X)'IRPLY(Y) (公式 2)
[0164]嵌入式系统I基于上述(2)式,通过使用“IRPLY”函数的等价的运算,使得代码量减少,并且能够进行运算速度快的计算。
[0165]再有,图15B所示的源代码所进行的计算,根据上述(2)式,如图15E所示。另外,在图15E所示的“OUt[0]”、“OUt[l]”、“OUt[2]”及“OUt[3]”的计算中,分别有进行同样计算的地方。需要说明的是,在图14所示的第十一源代码12中,进行同样计算的地方是通过变量“inl_01”等变量进行计算的例子。
[0166]图14所示的第十一源代码12利用变量而将重复的计算通用化。因此,当计算被通用化时,嵌入式系统能够消减计算所需的代码量。因此,第十一源代码12能够通过较少代码量的程序,来实现图15A所示的处理。
[0167]需要说明的是,在图15A、图15B、图15C、图15D及图15E中所说明的变换处理可以是通过反函数进行的处理。另外,作为在图14中所说明的变换处理的一个例子的“InvMixColumns”函数的反函数的、用于加密的“MixColumns”函数进行在图15A、图15B、图15C、图15D及图15E中所说明的逆向变换。也即,变换处理可以是处理的输入和输出相反的处理。另外,与“InvMixColumns”函数同样,“MixColumns”函数使用等价公式进行处理。再有,在“MixColumns”函数中所使用的等价公式根据变换的值而从在“InvMixColumns”函数中所使用的值变更。
[0168]<利用变换表所进行的处理例>
[0169]图16是对通过利用变换表的处理来实现本发明的一个实施方式中的解密的变换处理的一个例子进行说明的图。
[0170]变换表例如是图16中所示的一维数组的数据。另外,用于变换处理的“IRPLY”函数可以是利用图16所示的变换表“Irply”进行的变换,来代替在图14所示的第十二源代码13中示出的移位运算等。
[0171]由于利用变换表所进行的处理是I次映射处理,因此嵌入式系统当使用变换表“Irply”时,与使用图14所示的第十二源代码13所具有的“IRPLY”函数的处理相比,能够高速地进行处理。
[0172]<评价结果例>
[0173]由于本发明的一个实施方式的程序的数据容量为1.6千字节(kByte)程度,因此本发明的一个实施方式的程序能够存储在闪存(注册商标)所具有的I个扇区(sector)中。另夕卜,由于本发明的一个实施方式的程序的数据容量为1.6千字节程度,因此即使在存储有驱动程序、维护用的软件、或OS用等的存储区域中添加该程序,嵌入式系统也能够以较少的扇区数来存储该程序。
[0174]如果扇区区域例如为4千字节、且AES用的程序的数据容量为6千字节,则当存储有驱动程序、维护用的软件及OS、以及AES用的程序时,需要添加I个扇区或2个扇区的存储区域。相比于此,如果使用本发明的一个实施方式中的程序,则嵌入式系统能够降低数据容量,因此能够减缓存储器区域的紧张。
[0175]<功能结构例>
[0176]图17是对本发明的一个实施方式中的嵌入式系统的功能结构的一个例子进行说明的功能方块图。
[0177]嵌入式系统I具有生成处理部IFl、扩展处理部1F2、排序处理部1F3、置换处理部1F4、及变换处理部1F5。
[0178]生成处理部IFl进行生成扩展密钥数据的处理。另外,生成处理部IFl例如通过图1所示的运算装置IHl等来实现。再有,利用生成处理部IFl所生成的扩展密钥数据被扩展处理部1F2使用。
[0179]扩展处理部1F2进行扩展处理,该扩展处理是基于扩展密钥数据进行扩展的图3A、图3B及图3C等所示的处理。另外,扩展处理部1F2例如通过图1所示的运算装置IHl等来实现。
[0180]排序处理部1F3进行排序处理,该排序处理是对数据进行排序的处理。另外,排序处理部1F3例如通过图1所示的运算装置IHl等来实现。
[0181 ] 置换处理部1F4进行置换处理,该置换处理是对数据进行置换的处理。另外,置换处理部1F4例如通过图1所示的运算装置IHl等来实现。
[0182]变换处理部1F5进行变换处理,该变换处理是对数据进行变换的处理。另外,变换处理部1F5例如通过图1所示的运算装置IHl等来实现。
[0183]嵌入式系统I通过使用一维数组,从而能够在扩展密钥数据的生成处理中在各个条件的情况下对代码进行通用化,因此能够消减源代码的记载量,并能够降低程序的数据容量。
[0184]嵌入式系统I通过使用一维数组,从而能够如图8所示的第六源代码6那样,以较少的代码来实现扩展处理,因此能够消减源代码的记载量,并能够降低程序的数据容量。
[0185]嵌入式系统I通过使用一维数组,从而能够利用排序表来实现排序处理,因此能够消减源代码的记载量,并能够降低程序的数据容量。
[0186]嵌入式系统I通过使用一维数组,从而能够利用置换表来实现置换处理,因此能够消减源代码的记载量,并能够降低程序的数据容量。
[0187]嵌入式系统I通过使用一维数组,从而能够将变换处理中的计算通用化并实现,因此能够消减源代码的记载量,并能够降低程序的数据容量。
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1