【技术实现步骤摘要】
本专利技术涉及一种密码处理装置、密码处理算法构建方法和密码处理方法、以及计算机程序。更详细地说,涉及一种执行Feistel型共用密钥块密码处理的密码处理装置、密码处理算法构建方法和密码处理方法、以及计算机程序。
技术介绍
最近,随着网络通信、电子商务的发展,确保通信中的安全成为重要的问题。确保安全的方法之一是密码技术,现在实际进行着使用了各种加密方法的通信。例如实际应用有如下的系统:在IC卡等小型装置中嵌入密码处理模块,在IC卡与作为数据读取写入装置的读写器之间进行数据的发送接收,进行认证处理或者发送接收数据的加密、解密。在密码处理算法中存在各种算法,大致分类为公开密钥密码方式和共用密钥密码方式,其中,上述公开密钥密码方式将加密密钥和解密密钥设定为不同的密钥、例如公开密钥和私人密钥,上述共用密钥密码方式将加密密钥和解密密钥设定为共用的密钥。在共用密钥密码方式中也存在各种算法,其中之一是如下的方式:以共用密钥为基础生成多个密钥,使用所生成的多个密钥来反复执行块单位(64比特、128比特等)的数据变换处理。应用了这种密钥生成方式和数据变换处理的算法的代表方式是共用密钥块密码方式。作为代表的共用密钥块密码的算法,例如存在作为美国标准密码的DES (DataEncryption Standard:数据加密标准)算法,在各种领域中广泛使用。以DES为代表的共用密钥块密码的算法主要可分为循环函数部和密钥调度部,其中,上述循环函数部执行输入数据的变换,上述密钥调度部生成在循环函数(F函数)部的各循环中应用的密钥。根据一个主密钥(Master key),将其输入到密钥调 ...
【技术保护点】
一种解密处理装置,其特征在于,具有解密处理部,该解密处理部执行将SP型F函数反复多次循环的Feistel型共用密钥块密码的解密处理,其中,上述SP型F函数执行包括非线性变换处理和线性变换处理的数据变换处理,上述解密处理部是执行应用了将数据序列数:d设为d≥3的整数的扩展Feistel结构的解密处理的结构,具有在各循环的F函数中执行的线性变换处理中选择性地应用至少两个以上的多个不同的矩阵的结构,其中,上述两个以上的多个不同的矩阵是满足以下条件的多个不同的矩阵:从基于线性变换矩阵的与数据序列对应的最小分支数中选择的全部数据序列中的最小分支数为预先决定的值以上,其中,上述线性变换矩阵包含在对扩展Feistel结构的各数据序列进行输入的F函数中,具有在对扩展Feistel结构的各数据序列进行输入的F函数中反复配置上述多个不同的矩阵的结构。
【技术特征摘要】
2006.07.28 JP 2006-206376;2006.08.21 JP 2006-22461.一种解密处理装置,其特征在于, 具有解密处理部,该解密处理部执行将SP型F函数反复多次循环的Feistel型共用密钥块密码的解密处理,其中,上述SP型F函数执行包括非线性变换处理和线性变换处理的数据变换处理, 上述解密处理部是执行应用了将数据序列数:d设为d ^ 3的整数的扩展Feistel结构的解密处理的结构,具有在各循环的F函数中执行的线性变换处理中选择性地应用至少两个以上的多个不同的矩阵的结构, 其中,上述两个以上的多个不同的矩阵是满足以下条件的多个不同的矩阵:从基于线性变换矩阵的与数据序列对应的最小分支数中选择的全部数据序列中的最小分支数为预先决定的值以上,其中,上述线性变换矩阵包含在对扩展Feistel结构的各数据序列进行输入的F函数中, 具有在对扩展Feistel结构的各数据序列进行输入的F函数中反复配置上述多个不同的矩阵的结构。2.根据权利要求1所述的解密处理装置,其特征在于, 在上述解密处理部中利用的上述多个不同的矩阵是满足以下条件的多个不同的矩阵:从根据线性变换矩阵而算出的与数据序列对应的最小分支数[BkD(s(i))]中选择的全部数据序列中的最小分支数[BkD]为3以上,其中,上述线性变换矩阵包含在对扩展Feistel结构的各数据序列s (i)进行输入的连续的k个F函数中,其中,k为2以上的整数。3.根据权利要求1所述的解密处理装置,其特征在于, 在上述解密处理部中利用的上述多个不同的矩阵是满足以下条件的多个不同的矩阵:从根据线性变换矩阵而算出的与`数据序列对应的最小分支数[B2D(s(i))]中选择的全部数据序列中的最小分支数[B2d]为3以上,其中,上述线性变换矩阵包含在对扩展Feistel结构的各数据序列s (i)进行输入的连续的两个F函数中。4.根据权利要求1所述的解密处理装置,其特征在于, 在上述解密处理部中利用的上述多个不同的矩阵是满足以下条件的多个不同的矩阵:从根据线性变换矩阵而算出的与数据序列对应的最小分支数[B2Wi))]中选择的全部数据序列中的最小分支数[B2I为3以上,其中,上述线性变换矩阵包含在对扩展F eistel结构的各数据序列s (i)进行输入的连续的两个F函数中。5.根据权利要求1所述的解密处理装置,其特征在于, 上述解密处理部具有如下结构: 当将上述多个不同的矩阵设为η个不同的矩阵ΜρΜρ.-Mlri时, 在对扩展Feistel结构的各数据序列进行输入的F函数中依次反复配置这些不同的矩阵M。^、..Mlri,其中,η为2以上的整数。6.根据权利要求广5中的任一项所述的解密处理装置,其特征在于, 上述解密处理部是执行应用了在一个循环中仅执行一个F函数的扩展Feistel结构的解密处理的结构。7.根据权利要求广5中的任一项所述的解密处理装置,其特征在于, 上述解密处理部是执行应用了在一个循环中并行地执行多个F函数的扩展Feistel结构的解密处理的结构。8.根据权利要求广5中的任一项所述的解密处理装置,其特征在于, 上述解密处理部是如下结构: 在设为a ^ 2的任意的整数、X ^ I的任意的整数时,执行应用了数据序列数:d=2ax的扩展Feistel结构的解密处理,其中,所述扩展Feistel结构利用了由上述多个不同的矩阵执行不同的线性变换处理的a种F函数, 在一个循环中均等地执行所有种类即a种类的F函数各X个。9.根据权利要求8所述的解密处理装置,其特征在于, 上述解密处理部具备: F函数执行部,其执行在一个循环中并行地执行的ax个F函数;以及 控制部,其执行对上述F函数执行部的数据输入输出控制。10.根据权利要求广5中的任一项所述的解密处理装置,其特征在于, 上述解密处理部具备: 多个F函数执行部,其利用上述多个不同的矩阵执行不同的线性变换处理;以及 控制部,其根据设定而变更上述多个F函数执行部的利用顺序, 其中,上述控制部是选择性地执行(a)、(bl)、(b2)中的任一个的解密处理的结构,其中,上述(a)、(bl)、(b2)为 (a)通过设为数据序列数d=3的Feistel结构进行的解密处理、或者(bl)是设为数据序列数d ^ 3的任意数的扩展Feistel结构,在各循环中仅允许执行一个F函数的解密处理、或者 (b2)是设为数据序列数d ^ 3的任意数的扩展Feistel结构,在各循环中允许并行执行多个F函数的解密处理。11.根据权利要求10所述的解密处理装置,其特征在于, 上述控制部是根据成为加密或解密处理的对象的数据的比特长度来选择要执行的处理方式的结构。12.—种解密处理方法,在解密处理装置中执行解密处理,其特征在于, 具有解密处理步骤,在解密处理部中执行将SP型F函数反复多次循环的Feistel型共用密钥块密码的解密处理,其中,上述SP型F函数执行包括非线性变换处理和线性变换处理的数据变换处理, 上述解密处理步骤是执行应用了将数据序列数:d设为d ^ 3的整数的扩展Feistel结构的解密处理的步骤,具有运算步骤,在该运算步骤中,执行在各循环的F函数中执行的线性变换处理中选择性地应用了至少两个以上的多个不同的矩阵的运算, 在上述运算步骤中应用的多个不同的矩阵是满足以下条件的多个不同的矩阵:从基于线性变换矩阵的与数据序列对应的最小分支数中选择的全部数据序列中的最小分支数为预先决定的值以上,其中,上述线性变换矩阵包含在对扩展Feistel结构的各数据序列进行输入的F函数中, 上述运算步骤是在对扩展Feistel结构的各数据序列进行输入的F函数中执行基于上述多个不同的矩阵的线性变换运算的步骤。13.根据权利要求12所述的解密处理方法,其特征在于, 上述多个不同的矩阵是满足以下条件的多个不同的矩阵:从根据线性变换矩阵而算出的与数据序列对应的最小分支数[BkD(s(i))]中选择的全部数据序列中的最小分支数[BkD]为3以上,其中,上述线性变换矩阵包含在对扩展Feistel结构的各数据序列s(i)进行输入的连续的k个F函数中,其中,k为2以上的整数。14.根据权利要求12所述的解密处理方法,其特征在于, 上述多个不同的矩阵是满足以下条件的多个不同的矩阵:从根据线性变换矩阵而算出的与数据序列对应的最小分支数[B2D(s(i))]中选择的全部数据序列中的最小分支数[B211]为3以上,其中,上述线性变换矩阵包含在对扩展Feistel结构的各数据序列s(i)进行输入的连续的两个F函数中。15.根据权利要求12所述的解密处理方法,其特征在于, 上述多个不同的矩阵是满足以下条件的多个不同的矩阵:从根据线性变换矩阵而算出的与数据序列对应的最小分支数[B2Wi))]中选择的全部数据序列中的最小分支数[B;]为3以上,其中,上述线性变换矩阵包含在对扩展Feistel结构的各数据序列s(i)进行输入的连续的两个F函数中。16.根据权利要求12所述的解密处理方法,其特征在...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。