m、所述最后的加密文本块C[m_l]、所述最后的加密文本组块CC[m] = (C[m_l ])、对应于所述最后的加密文本块的辅助变量(N,Tw_m_l)、加密函数F_K(*,*)、所述最后的加密文本块的尺寸s、块尺寸n、以及从η尺寸到s尺寸的切除处理cut_s(),所述一轮Feistel解码装置得到包括具有s尺寸的所述最后的解码的明文块皿’[111_1]的所述最后的解码的明文组块1(:’[111] = (1’[111_1])为:
[0321 ] M,[m_l]=cut_s(F_K((N,Tw_m_l),0'n))xor[m_l]
[0322]其中,如果S = n,cut_S()可以被忽略,以及
[0323]所述第三解码检查标签计算装置在s= n处通过使用包括在除了所述最后的解码的明文组块以外的每个解码的明文组块中的明文块Μ ’ [ i_2 ]、以及所述Μ ’ [m_l ]来计算解码的明文的校验和,得到解码检查认证标签T ’为:
[0324]T,=F_K((N,Tw_T_3),SUM,)
[0325]假设所生成的校验和SUM’、用于认证标签的所述第三辅助变量(N,Tw_T_3)、以及加密函数F_K(*,*),
[0326]在s〈n处通过使用包括在除了所述最后的解码的明文组块以外的每个解码的明文组块中的明文块M’[i_2],以及通过填充所述M’[m_l]到η尺寸而获得的M_n’[m_l],来计算解码的明文的校验和,并且得到解码检查认证标签T ’为:
[0327]T,=F_K((N,Tw_T_4),SUM,)
[0328]假设所生成的校验和SUM’、用于认证标签的所述第四辅助变量(N,Tw_T_4)、以及加密函数F_K(*,*)。
[0329](注释11)根据注释7到注释10中任意一项所述的解码设备,其中,加密函数是可调块加密,具有包括被称为Tweak的辅助变量的两个输入变量。
[0330](注释12)根据注释7到注释10中任意一项的解码设备,其中,加密函数是键控散列函数,具有第一变量和第二变量的耦合输入。
[0331](注释13)—种认证加密方法,其中,在两轮Feistel加密处理中,输入要被加密的明文和初始矢量,基于所述初始矢量和所述输入明文的尺寸来生成向每个所述加密函数给出的辅助变量,以及当将明文每两个块分成组块时应用两轮Feistel结构给每个明文组块,由此生成对应于所述明文组块的加密文本组块,假设初始矢量N、组块索引1、第i个明文组±^MC[i ] = (M[ i_l ],M[ i_2])、对应于包括在所述明文组块MC[ i ]中的两个明文块的一对辅助变量(N,Tw_i_l)和(N,Tw_i_2)、以及加密函数F_K(*,*),信息处理装置得到第i个加密文本组块CC[ i] = (C[ i_l ],C[ i_2])为:
[0332]C[i_l]=F_K((N,Tw_i_l),M[i_l])xor M[i_2],
[0333]C[i_2]=F_K((N,Tw_i_2),C[i_l])xor M[i_l],通过使用包括在每个明文组块中的明文块M[i_2]来计算明文的校验和,并且假设所生成的校验和SUM、向用于生成认证标签的加密函数给出的辅助变量(N,Tw_T_l)、以及加密函数F_K (*,*),得到认证标签T为:
[0334]T=F_K((N,Tw_T_l),SUM)o
[0335](注释14)根据注释13所述的认证加密方法,其中,在第二两轮Feistel加密处理中,当输入明文被分为偶数个块且最后一块的尺寸小于预先确定的块尺寸时,生成用于认证标签的第二辅助变量作为辅助变量向用于生成认证标签的加密函数给出,应用预先确定的两轮Fe istel结构给包括最后的明文块的最后的明文组块,由此生成包括最后的加密文本块的最后的加密文本组块,假设所述最后的明文组块的索引m、所述最后的明文块M[m_2]、所述最后的明文组块MC[m] = (M[m_l],M[m_2])、对应于包括在所述最后的明文组块MC[m]中的两个明文块的一对辅助变量(N,Tw_m_l)和(N,Tw_m_2)、加密函数F_K (*,*)、所述最后的明文块的尺寸s、块尺寸n、从s尺寸到η尺寸的填充处理pad_n()、以及从η尺寸到s尺寸的切除处理cut_s(),信息处理装置得到包括具有s尺寸的所述最后的加密文本块C[m_2]的所述最后的加密文本组块CC[m] = (C[m_l ],C[m_2])为:
[0336]C[m_2] =cut_s(Z)xor M[m_2],
[0337]C[m_l]=F_K((N,Tw_m_2),pad_n(C[m_2]))xor M[m_l]
[0338]其中,Z = F_K((N,Tw_m_l),M[m_l ]),通过使用包括在除了所述最后的明文组块以外的每个明文组块中的明文块M[ i_2 ]、所述Z以及通过填充C[m_2 ]到η尺寸而获得的C_n[m_
2]来计算明文的校验和,并且得到认证标签T为:
[0339]T=F_K((N,Tw_T_2),SUM)
[0340]假设所生成的校验和SUM、用于认证标签的所述第二辅助变量(N,Tw_T_2)以及加密函数F_K(*,*)。
[0341](注释15)根据注释13或注释14所述的认证加密方法,其中,在一轮Feistel加密处理中,当输入加密文本被分成奇数个块且最后的块的尺寸与预先确定的块尺寸相同时,生成用于认证标签的第三辅助变量作为向用于生成认证标签的加密函数给出的辅助变量,当输入明文被分成奇数个块且最后的块的尺寸小于预先确定的块尺寸时,生成用于认证标签的第四辅助变量作为向用于生成认证标签的加密函数给出的辅助变量,以及应用预先确定的一轮Feistel结构给包括所述最后的明文块的所述最后的明文组块,由此生成包括最后的加密文本块的最后的加密文本组块,所述方法包括步骤:假设所述最后的明文组块的索弓|m、所述最后的明文块、所述最后的明文组块MC[m] = (M[m_l])、对应于所述最后的明文块的辅助变量(N,Tw_m_l)、加密函数F_K (*,*)、所述最后的明文块的尺寸s、块尺寸η、以及从η尺寸到s尺寸的切除处理cut_s(),得到包括具有s尺寸的所述最后的加密文本块C[m_l ]的所述最后的加密文本组块CC[m] = (C[m_l ])为:
[0342]C[m_l]=cut_s(F_K((N,Tw_m_l),0'n))xor M[m_l]
[0343]其中,如果s= n,cut_s ()可以被忽略,在s = n处通过使用包括在除了所述最后的明文组块以外的每个明文组块中的明文块M[i_2],以及所述C[m_l],来计算明文的校验和,得到认证标签T为:
[0344]T=F_K((N,Tw_T_3),SUM)
[0345]假设所生成的校验和SUM、用于认证标签的所述第三辅助变量(N,Tw_T_3)、以及加密函数F_K(*,*),
[0346]在s〈n处通过使用包括在除了所述最后的明文组块以外的每个明文组块中的明文±夬紙1_2],以及通过填充C[m_l]到η尺寸而获得的C_n[m_l],来计算明文的校验和,并且得到认证标签T为:
[0347]T=F_K((N,Tw_T_4),SUM)
[0348]假设所生成的校验和SUM、用于认证标签的所述第四辅助变量(N,Tw_T_4)、以及加密函数F_K(*,*)。
[0349](注释16)—种认证加密方法,其中,在两轮Feistel解码处理中,输入要解码的加密文本、初始矢量和认证标签,基于所述初始矢量和所述输入加密文本的尺寸而生成与加密中相同的辅助变量,其向每个所述加密函数给出,以及当将加密文本每两块分为组块时应用两轮Feistel结构给每个加密文本组块,由此生成对应于加密文本组块的解码的明文组块,假设初始矢量N、组块索引1、第i个加密文本组块CC[i ] = (C[ i_l ],C[ i_2])、对应于包括在加密文本组块CC[ i ]中的两个加密文本块的一对辅助变量(Ν,Tw_i j)和(Ν,Tw_i_2)、以及加密函数?_1((*,*),信息处理装置得到第1个解码的明文组块1(:’[1] = (1’[1_1],1’[i_2])为:
[0350]M’[i_l]=F_K((N,Tw_i_2),C[i_l])xor C[i_2],
[0351]M’[i_2]=F_K((N,Tw_i_l),M’[i_l])xor C[i_l],
[0352]通过使用包括在每个解码的明文组块中的每个解码的明文块M’[i_2]来计算解码的明文的校验和,并且得到解码检查认证标签T,为:
[0353]T,=F_K((N,Tw_T_l),SUM,)
[0354]假设所生成的校验和SUM’、向用于生成解码检查认证标签的加密函数给出的辅助变量(N,Tw_T_l)、以及加密函数F_K(*,*)。
[0355](注释17)根据注释16所述的认证加密方法,其中,在第二两轮Feistel解码处理中,当输入加密文本被分为偶数个块且最后的块的尺寸小于预先确定的块尺寸时,生成与加密中相同的用于认证标签的第二辅助变量作为向用于生成解码检查认证标签的加密函数给出的辅助变量,以及应用预先确定的两轮Feistel结构给包括最后的加密文本块的最后的加密文本组块,由此生成包括所述最后的加密块的解码的明文块的最后的解码的明文组块,所述方法包括步骤:假设所述最后的加密文本组块的索引m、所述最后的加密文本块C[m_2]、所述最后的加密文本组块CC[m] = (C[m_l ],C[m_2])、对应于包括在所述最后的加密文本组块CC [m]中的两个加密文本块的一对辅助变量(N,Tw_m_ 1)和(N,Tw_m_2)、加密函数?_1((*,*)、所述最后的加密文本块的尺寸8、块尺寸11、从8尺寸到11尺寸的填充处理?&(1_11()、以及从η尺寸到s尺寸的切除处理cut_s(),得到包括具有s尺寸的所述最后的解码的明文块皿’[111_2]的所述最后的解码的明文组块此’[111] = (1’[111_1],1’[111_2])为:
[0356]M'[m_l]=F_K((N,Tw_m_2),pad_n(C[m_2]))xor C[m_l],
[0357]M,[m_2] =cut_s(Z,)xor C[m_2],
[0358]其中,Z,=F_K((N,Tw_m_l),M,[m_l]),
[0359]通过使用包括在除了所述最后的解码的明文组块的每个解码的明文组块中的解码的明文块M[i_2]、所述Z’和通过填充M’[m_2]到η尺寸而获得的M_n’[m_2]来计算解码的明文的校验和,并且得到解码检查认证标签T’为:
[0360]T,=F_K((N,Tw_T_2),SUM,)
[0361]假设所生成的校验和SUM’、用于认证标签的所述第二辅助变量(N,Tw_T_2)、以及加密函数F_K(*,*)。
[0362](注释18)根据注释16或注释17所述的认证加密方法,其中,在一轮Feistel解码处理中,当输入加密文本被分成奇数个块且最后的块的尺寸与预先确定的块尺寸相同时,生成与加密中相同的用于认证标签的第三辅助变量作为向用于生成解码检查认证标签的加密函数给出的辅助变量,当输入加密文本被分成奇数个块且最后的块的尺寸小于预先确定的块尺寸时,生成与在加密中相同的用于认证标签的第四辅助变量作为向用于生成认证标签的加密函数给出的辅助变量,以及应用预先确定的一轮Feistel结构给包括最后的加密文本块的最后的加密文本组块,由此生成包括最后的解码的明文块的最后的明文组块,所述方法包括步骤:假设所述最后的加密文本组块的索引m、所述最后的加密文本块C[m_l]、所述最后的加密文本组块CC[m] = (C[m_l ])、对应于所述最后的加密文本块的辅助变量(N,Tw_m_l)、加密函数F_K(*,*)、所述最后的加密文本块的尺寸s、块尺寸n、以及从η尺寸到s尺寸的切除处理cut_s(),所述一轮Feistel解码装置得到包括具有s尺寸的所述最后的解码的明文块^化-幻的所述最后的解码的明文组块此’化]:…’^」])*:
[0363]M,[m_l]=cut_s(F_K((N,Tw_m_l),0'n))xor[m_l]
[0364]其中,如果s = n,cut_s()可以被忽略,
[0365]在s= n处通过使用包括在除了所述最后的解码的明文组块以外的每个解码的明文组块中的明文块M’[i_2]、以及所述M’[m_l]来计算解码的明文的校验和,得到解码检查认证标签T’为:
[0366]T’=F_K((N,Tw_T_3),SUM’)
[0367]假设生成的校验和SUM’、用于认证标签的所述辅助变量(N,Tw_T_3)、以及加密函数F_K(*,*),
[0368]在s〈n处通过使用包括在除了所述最后的解码的明文组块以外的每个解码的明文组块中的明文块M’[i_2],以及通过填充所述M’[m_l]到η尺寸而获得的M_n’[m_l],来计算解码的明文的校验和,并且得到解码检查认证标签T ’为:
[0369]T,=F_K((N,Tw_T_4),SUM,)
[0370]假设所生成的校验和SUM’、用于认证标签的所述第四辅助变量(N,Tw_T_4)、以及加密函数F_K(*,*)。
[0371](注释19)根据注释13到注释18中任意一项所述的认证加密方法,其中,加密函数是可调块加密,具有包括被称为Tweak的辅助变量的两个输入变量。
[0372](注释20)根据注释13到注释18中任意一项所述的认证加密方法,其中,加密函数是键控散列函数,具有第一变量和第二变量的耦合输入。
[0373](注释21)—种用于认证加密的程序,用于使得计算机执行明文输入处理、辅助变量生成处理、两轮Feistel加密处理以及标签计算处理;所述明文输入处理输入要被加密的明文和初始矢量;所述辅助变量生成处理基于所述初始矢量和所述输入明文的尺寸来生成向每个加密函数给出的辅助变量;所述两轮Feistel加密处理当将明文每两个块分成组块时应用两轮Feistel结构给每个明文组块由此生成对应于所述明文组块的加密文本组块;所述标签计算处理是计算所述明文的校验和,并且应用分配有辅助变量的加密函数给所生成的校验和,由此生成认证标签的标签计算处理;所述两轮Feistel加密处理为:假设初始矢量N、组块索引1、第i个明文组块MC[i] = (M[i_l],M[i_2])、对应于包括在所述明文组块MC[i]中的两个明文块的一对辅助变量(N,Tw_i_l)和(N,Tw_i_2)、以及加密函数F_K(*,*),得到第i个加密文本组块CC[ i] = (C[ i_l ],C[ i_2])为:
[0374]C[i_l]=F_K((N,Tw_i_l),M[i_l])xor M[i_2],
[0375]C[i_2]=F_K((N,Tw_i_2),C[i_l])xor M[i_l],以及
[0376]所述标签计算处理为通过使用包括在每个明文组块中的明文块M[i_2]来计算明文的校验和,并且假设所生成的校验和SUM、向用于生成认证标签的加密函数给出的辅助变量(N,Tw_T_l)、以及加密函数F_K (*,*),得到认证标签T为:
[0377]T=F_K((N,Tw_T_l),SUM).
[0378](注释22)根据注释21所述的用于认证加密的程序,所述程序用于使得计算机执行辅助变量生成处理、两轮Feistel加密处理以及第二标签计算处理;当输入明文被分为偶数个块且最后的块的尺寸小于预先确定的块尺寸时,所述辅助变量生成处理生成用于认证标签的第二辅助变量作为辅助变量向用于生成认证标签的加密函数给出;所述两轮Feistel加密处理假设所述最后的明文组块的索引m、所述最后的明文块M[m_2]、所述最后的明文组±^MC[m] = (M[m_l],M[m_2])、对应于包括在所述最后的明文组块MC[m]中的两个明文块的一对辅助变量(N,Tw_m_l)和(N,Tw_m_2)、加密函数F_K(*,*)、所述最后的明文块的尺寸s、块尺寸η、从s尺寸到η尺寸的填充处理pad_n()、以及从η尺寸到s尺寸的切除处理cut_s(),得到包括具有s尺寸的所述最后的加密文本块C[m_2]的所述最后的加密文本组块CC[m] =(C[m_l],C[m_2])为:
[0379]C[m_2] =cut_s(Z)xor M[m_2],
[0380]C[m_l]=F_K((N,Tw_m_2),pad_n(C[m_2]))xor M[m_l]
[0381 ]其中,Z=F_K( (N,Tw_m_l),M[m_l]),以及
[0382]所述第二标签计算处理通过使用包括在除了所述最后的明文组块以外的每个明文组块中的明文块M[i_2]、所述Z以及通过填充C[m_2]到η尺寸而获得的C_n[m_2]来计算明文的校验和,并且得到认证标签T为:
[0383]T=F_K((N,Tw_T_2),SUM)
[0384]假设所生成的校验和SUM、用于认证标签的所述第二辅助变量(N,Tw_T_2)以及加密函数F_K(*,*)。
[0385](注释23)根据注释21或注释22所述的用于认证加密的程序,所述程序用于使得计算机执行辅助变量生成处理、两轮Feistel加密处理以及标签计算处理;所述辅助变量生成处理当输入明文被分为奇数个块且最后的块的尺寸与预先确定的块尺寸相同时,所述辅助变量生成处理生成用于认证标签的第三辅助变量作为向用于生成认证标签的加密函数给出的辅助变量,并且当输入明文被分成奇数个块且最后的块的尺寸小于预先确定的块尺寸时,所述辅助变量生成处理生成用于认证标签的第四辅助变量作为向用于生成认证标签的加密函数给出的辅助变量;所述两轮Feistel加密处理包括:假设所述最后的明文组块的索弓|m、所述最后的明文块、所述最后的明文组块MC[m] = (M[m_l])、对应于所述最后的明文块的辅助变量(N,Tw_m_l)、加密函数F_K (*,*)、所述最后的明文块的尺寸s、块尺寸η、以及从η尺寸到s尺寸的切除处理cut_s(),得到包括具有s尺寸的最后的加密文本块C[m_l]的所述最后的加密文本组块CC[m] = (C[m_l ])为:
[0386]C[m_l]=cut_s(F_K((N,Tw_m_l),0'n))xor M[m_l]
[0387]其中,如果s = n,cut_s()可以被忽略,以及所述标签计算处理,在s = n处通过使用包括在除了所述最后的明文组块以外的每个明文组块中的明文块M[i_2],以及所述C[m_1 ],来计算明文的校验和,得到认证标签T为:
[0388]T=F_K((N,Tw_T_3),SUM)
[0389]假设所生成的校验和SUM、用于认证标签的所述第三辅助变量(N,Tw_T_3)、以及加密函数F_K(*,*),
[0390]在s〈n处通过使用包括在除了所述最后的明文组块以外的每个明文组块中的明文±夬紙1_2],以及通过填充C[m_l]到η尺寸而获得的C_n[m_l],来计算明文的校验和,并且得到认证标签T为:
[0391]T=F_K((N,Tw_T_4),SUM)
[0392]假设所生成的校验和SUM、用于认证标签的所述第四辅助变量(N,Tw_T_4)、以及加密函数F_K(*,*)。
[0393](注释24)—种用于认证加密的程序,使得计算机执行加密文本输入处理、解码辅助变量生成处理、两轮Feistel解码处理、解码检查标签计算处理以及确定处理;所述加密文本输入处理输入要解码的加密文本、初始矢量和认证标签;所述解码辅助变量生成处理基于所述初始矢量和所述输入加密文本的尺寸而生成与加密中相同的向每个所述加密函数给出辅助变量;所述两轮Feistel解码处理当将加密文本每两块分为组块时,应用两轮Feistel结构给每个加密文本组块,由此生成对应于所述加密文本组块的解码的明文组块;所述解码检查标签计算处理计算解码的明文的校验和,并且应用指派有辅助变量的加密函数到所生成的校验和,由此生成解码检查认证标签;所述确定处理基于由所述解码检查标签计算装置生成的所述解码检查认证标签和输入认证标签来确定解码成功或失败;所述两轮Feistel解码处理,包括:假设初始矢量N、组块索引1、第i个加密文本组块CC[ i ] = (C[i_1 ],C[ i_2])、对应于包括在所述加密文本组块CC[ i ]中的两个加密文本块的一对辅助变量(N,Tw_i_l)和(N,Tw_i_2)、以及加密函数F_K(*,*),得到第i个解码的明文组块MC ’ [ i ]=(M,[i_l],M,[i_2])为:
[0394]M’[i_l]=F_K((N,Tw_i_2),C[i_l])xor C[i_2],
[0395]M’[i_2]=F_K((N,Tw_i_l),M’[i_l])xor C[i_l],以及
[0396]所述解码检查标签计算处理通过使用包括在每个解码的明文组块中的每个解码的明文块Μ’ [ i_2 ]来计算解码的明文的校验和,并且得到解码检查认证标签T,为:
[0397]T,=F_K((N,Tw_T_l),SUM,)
[0398]假设所生成的校验和SUM’、向用于生成解码检查认证标签的加密函数给出的辅助变量(N,Tw_T_l)、以及加密函数F_K(*,*)。
[0399](注释25)根据注释24所述的用于认证加密的程序,所述程序用于使得计算机执行解码辅助变量生成处理、第二两轮Feistel解码处理以及解码检查标签计算处