《加密处理装置、加密处理方法和程序.pdf》由会员分享,可在线阅读,更多相关《加密处理装置、加密处理方法和程序.pdf(75页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103621007 A (43)申请公布日 2014.03.05 CN 103621007 A (21)申请号 201280014184.6 (22)申请日 2012.02.20 2011-069185 2011.03.28 JP 2011-207705 2011.09.22 JP H04L 9/06(2006.01) G09C 1/00(2006.01) (71)申请人 索尼公司 地址 日本东京都 (72)发明人 渋谷香士 三津田敦司 秋下彻 五十部孝典 白井太三 樋渡玄良 (74)专利代理机构 北京集佳知识产权代理有限 公司 11227 代理人 王萍 李春晖 (5。
2、4) 发明名称 加密处理装置、 加密处理方法和程序 (57) 摘要 为了实现由于对回合密钥提供的控制而非常 安全的加密处理装置, 本发明的一个方面包括 : 加密处理单元, 其将要进行数据处理的数据的配 置位划分成多行并且然后进行输入, 然后对各行 数据重复执行应用回合函数的数据转换处理作 为回合运算 ; 以及密钥安排单元, 其将回合密钥 输出到加密处理单元中的回合运算执行单元。密 钥安排单元是替换型密钥安排单元, 其将先前保 存的秘密密钥划分成多个单位并生成多个回合密 钥, 并且密钥安排单元以不存在固定序列重复的 设置将所生成的多个回合密钥输出到在加密处理 单元中顺序地执行的回合运算执行单元。。
3、由于所 述结构, 实现了非常安全并且对相关密钥攻击或 类似攻击具有强抵抗性的加密处理配置。 (30)优先权数据 (85)PCT国际申请进入国家阶段日 2013.09.18 (86)PCT国际申请的申请数据 PCT/JP2012/053933 2012.02.20 (87)PCT国际申请的公布数据 WO2012/132623 JA 2012.10.04 (51)Int.Cl. 权利要求书 2 页 说明书 27 页 附图 43 页 按照条约第 19 条修改的权利要求书 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书27页 附图43页 按照条约第19条修改。
4、的权利要求书2页 (10)申请公布号 CN 103621007 A CN 103621007 A 1/2 页 2 1. 一种加密处理装置, 包括 : 加密处理部, 被配置成将要进行数据处理的数据的配置位划分成多行并输入, 并且对 各行数据重复执行应用回合函数的数据转换处理作为回合计算 ; 以及 密钥安排部, 被配置成将回合密钥输出到所述加密处理部中的回合计算执行单元 ; 其中, 所述密钥安排部是替换型密钥安排部, 所述替换型密钥安排部被配置成通过将 预先存储的秘密密钥划分成多个部分而生成多个回合密钥或回合密钥配置数据 ; 并且其中, 所述多个回合密钥或根据所述回合密钥配置数据的组合生成的多个回。
5、合密 钥被输出到在所述加密处理部中顺序执行的回合计算执行单元, 以使得不重复恒定序列。 2. 根据权利要求 1 所述的加密处理装置, 其中, 所述密钥安排部以关于所述回合计算 执行单元的多个回合为单位而改变与所述回合计算执行单元对应的所述多个回合密钥的 输入序列。 3.根据权利要求1所述的加密处理装置, 其中, 所述加密处理部包括 : F函数执行单元, 被配置成输入被划分成多行的数据并且包括非线性转换处理和线性转换处理 ; 以及计算单 元, 被配置成执行对所述 F 函数执行单元的输出应用回合密钥的计算。 4. 根据权利要求 1 所述的加密处理装置, 其中, 所述密钥安排部将预先存储的秘密密 钥。
6、划分成多个部分, 并且生成位数与输入到所述回合计算执行单元的回合密钥相同的多个 回合密钥。 5. 根据权利要求 1 所述的加密处理装置, 其中, 所述密钥安排部将预先存储的秘密密 钥划分成多个部分并生成位数小于输入到所述回合计算执行单元的回合密钥的多个回合 密钥, 并且执行所述多个回合密钥配置数据的多个组合, 并生成位数与输入到所述回合计 算执行单元的回合密钥相同的回合密钥。 6. 根据权利要求 1 所述的加密处理装置, 其中, 所述密钥安排部关于在所述加密处理 部中顺序地执行的回合计算执行单元, 并列输出被并行地应用于所述回合计算执行单元的 多个回合密钥。 7. 根据权利要求 1 所述的加密。
7、处理装置, 其中, 所述密钥安排部包括至少一个选择器, 所述至少一个选择器被配置成执行与所述回合计算执行单元对应的密钥选择提供处理。 8. 根据权利要求 1 所述的加密处理装置, 其中, 所述密钥安排部通过对所述多个回合 密钥或所述回合密钥配置数据进行分类来设置多个组, 并且以所设置的组为单位来执行与 所述回合计算执行单元对应的密钥提供序列的控制处理。 9. 根据权利要求 8 所述的加密处理装置, 其中, 所述密钥安排部包括以所述组为单位 的选择器。 10. 根据权利要求 1 所述的加密处理装置, 其中, 所述加密处理部执行用于将作为输入 数据的明文转换为密文的加密处理, 或执行用于将作为所述。
8、输入数据的密文转换为明文的 解密处理。 11. 一种要在加密处理装置中执行的加密处理方法, 所述加密处理方法包括 : 加密处理步骤, 其中, 加密处理部被配置成将要进行数据处理的数据的配置位划分成 多行并输入, 并且对各行数据重复执行应用回合函数的数据转换处理作为回合计算 ; 以及 密钥安排步骤, 其中, 密钥安排部被配置成将回合密钥输出到所述加密处理部中的回 合计算执行单元 ; 权 利 要 求 书 CN 103621007 A 2 2/2 页 3 其中, 所述密钥安排部是替换型密钥安排部, 所述替换型密钥安排部被配置成通过将 预先存储的秘密密钥划分成多个部分而生成多个回合密钥或回合密钥配置数。
9、据 ; 并且其中, 所述多个回合密钥或根据所述回合密钥配置数据的组合生成的多个回合密 钥以使得不重复恒定序列的设置被输出到在所述加密处理部中顺序执行的回合计算执行 单元。 12. 一种在加密处理装置中执行加密处理的程序, 所述程序包括 : 加密处理步骤, 其中, 加密处理部被配置成将要进行数据处理的数据的配置位划分成 多行并输入, 并且对各行数据重复执行应用回合函数的数据转换处理作为回合计算 ; 以及 密钥安排步骤, 其中, 密钥安排部被配置成将回合密钥输出到所述加密处理部中的回 合计算执行单元 ; 其中, 所述密钥安排部是替换型密钥安排部, 所述替换型密钥安排部被配置成通过将 预先存储的秘密。
10、密钥划分成多个部分而生成多个回合密钥或回合密钥配置数据 ; 并且其中, 所述多个回合密钥或根据所述回合密钥配置数据的组合生成的多个回合密 钥以使得不重复恒定序列的设置被输出到在所述加密处理部中顺序执行的回合计算执行 单元。 权 利 要 求 书 CN 103621007 A 3 1/27 页 4 加密处理装置、 加密处理方法和程序 技术领域 0001 本公开涉及一种加密处理装置、 加密处理方法和程序。 更具体地, 这涉及用于执行 共享密钥加密的加密处理装置、 加密处理方法和程序。 背景技术 0002 随着信息社会继续发展, 用于安全地保护所使用的信息的信息安全技术的必要性 增加。信息安全技术的一。
11、种配置元素是加密技术, 并且各种产品和系统当前在使用加密技 术。 0003 尽管存在各种类型的加密处理算法, 但是基本技术之一称为共享密钥块加密。根 据共享密钥块加密, 用于加密的密钥和用于解密的密钥是共享项。在加密处理和解密处理 中, 根据这些共享密钥生成多个密钥, 并且以具有特定块单位 (诸如 64 位、 128 位、 256 位等) 的块数据单位重复执行数据转换处理。 0004 作为先前美国标准的 DES(数据加密标准) 和作为当前美国标准的 AES(高级加密 标准) 已知为代表性的共享密钥块加密算法。继续提出其它各种共享密钥块加密, 并且索尼 公司在 2007 年提出的 CLEFIA 。
12、也是共享密钥块加密。 0005 这些种类的共享密钥块加密算法主要配置有 : 加密处理部, 包括用于重复地执行 输入数据的转换的回合函数执行单元 ; 以及密钥安排部, 用于生成要在关于回合函数单元 的各个回合处施加的回合密钥。 密钥安排部首先基于作为秘密密钥的主密钥 (master key) 而生成位数增加的扩展密钥, 并且基于所生成的扩展密钥而生成要在关于加密处理部的各 个回合函数单元处施加的回合密钥 (secondary key) 。 0006 用于重复地执行包括线性转换单元和非线性转换单元的回合函数的配置被认为 是这些种类的算法的具体配置。代表性的结构包括例如 Feistel 结构和一般化。
13、 Feistel 结 构。Feistel 结构和一般化 Feistel 结构包括下述结构 : 其通过重复包括作为数据转换函 数的 F 函数的简单回合函数而将明文转换成密文。由 F 函数执行线性转换处理和非线性转 换处理。此外, NPL1 和 NPL2 是公开了应用 Feistel 结构的加密处理的文献的示例。 0007 相反, 正涌现各种新的技术, 诸如不法地执行加密算法的分析或密钥的分析以执 行密码分析的技术。这种技术的一个示例是相关密钥攻击。尽管考虑了各种对策来处理这 些种类的攻击, 当前状态是这些对策是不够的。 0008 引用列表 0009 非专利文献 0010 NPL1:K.Nyber。
14、g,“Generalized Feistel Networks“,ASIACRYPT96,SpringerVerl ag,1996,pp.91-104. 0011 NPL2:Yuliang Zheng,Tsutomu Matsumoto,Hideki Imai:On the Construction of Block Ciphers Provably Secure and Not Relying on Any Unproved Hypotheses. CRYPTO1989:461-480. 0012 NPL3:索尼公司,“The 128-bit Blockcipher CLEFIA Algor。
15、ithm Specification 说 明 书 CN 103621007 A 4 2/27 页 5 “,Revision1.0,2007. 0013 NPL4:Aoki,Ichikawa,Kanda,Matsui,Moriai,Nakajima,Tokita,“128-bit Block Encryption Camellia Algorithm Specification“,Version2.0,2001. 0014 NPL5:GOST 28147-89:Encryption,Decryption,and Message Authentication Code(MAC)Algorithms。
16、,RFC5830. 0015 NPL6:3rd Generation Partnership Project,Technical Specification Group Services and System Aspects,3G Security,Specification of the 3GPP Confidentiality and Integrity Algorithms;Document2:KASUMI Specification,V9.0.0,2009. 发明内容 0016 技术问题 0017 本公开是考虑到例如先前描述的情形的结果, 并且目的是提供具有高安全性水平 的加密处理装置。
17、、 加密处理方法和程序, 其使得诸如相关密钥攻击的不法密码分析是困难 的。 0018 问题的解决方案 0019 本公开的第一方面是一种加密处理装置, 其包括 : 0020 加密处理部, 被配置成将要进行数据处理的数据的配置位划分成多行并输入, 并 且对各行数据重复执行应用回合函数的数据转换处理作为回合计算 ; 以及 0021 密钥安排部, 被配置成将回合密钥输出到加密处理部中的回合计算执行单元 ; 0022 其中, 密钥安排部是替换型密钥安排部, 该替换型密钥安排部被配置成通过将预 先存储的秘密密钥划分成多个部分而生成多个回合密钥或回合密钥配置数据 ; 0023 并且其中, 多个回合密钥或者根。
18、据回合密钥配置数据的组合生成的多个回合密钥 被输出到在加密处理部中顺序地执行的回合计算执行单元, 以使得不重复恒定的序列。 0024 关于根据本公开的加密处理装置的实施例, 密钥安排部以关于回合计算执行单元 的多个回合为单位而改变与回合计算执行单元对应的多个回合密钥的输入序列。 0025 关于根据本公开的加密处理装置的实施例, 加密处理部包括 : F 函数执行单元, 被 配置成输入被划分成多行的数据并且包括非线性转换处理和线性转换处理 ; 以及计算单 元, 被配置成执行对 F 函数执行单元的输出应用回合密钥的计算。 0026 关于根据本公开的加密处理装置的实施例, 密钥安排部将预先存储的秘密密。
19、钥划 分成多个部分, 并且生成位数与输入到回合计算执行单元的回合密钥相同的多个回合密 钥。 0027 关于根据本公开的加密处理装置的实施例, 密钥安排部将预先存储的秘密密钥划 分成多个部分并生成位数比输入到回合计算执行单元的回合密钥小的多个回合密钥, 并且 执行多个回合密钥配置数据的多个组合, 并生成位数与输入到回合计算执行单元的回合密 钥相同的回合密钥。 0028 关于根据本公开的加密处理装置的实施例, 密钥安排部关于在加密处理部中顺序 地执行的回合计算执行单元, 并列输出被并行地应用于回合计算执行单元的多个回合密 钥。 说 明 书 CN 103621007 A 5 3/27 页 6 002。
20、9 关于根据本公开的加密处理装置的实施例, 密钥安排部包括至少一个选择器, 该 至少一个选择器被配置成执行与回合计算执行单元对应的密钥选择提供处理。 0030 关于根据本公开的加密处理装置的实施例, 密钥安排部通过对多个回合密钥或回 合密钥配置数据进行分类来设置多个组, 并且以所设置的组为单位来执行与回合计算执行 单元对应的密钥提供序列的控制处理。 0031 关于根据本公开的加密处理装置的实施例, 密钥安排部包括以组为单位的选择 器。 0032 关于根据本公开的加密处理装置的实施例, 加密处理部执行用于将作为输入数据 的明文转换为密文的加密处理, 或执行用于将作为输入数据的密文转换为明文的解密。
21、处 理。 0033 此外, 本公开的第二方面是一种要在加密处理装置中执行的加密处理方法, 该加 密处理方法包括 : 0034 加密处理步骤, 其中, 加密处理部被配置成将要进行数据处理的数据的配置位划 分成多行并输入, 并且对各行数据重复执行应用回合函数的数据转换处理作为回合计算 ; 以及 0035 密钥安排步骤, 其中, 密钥安排部被配置成将回合密钥输出到加密处理部中的回 合计算执行单元 ; 0036 其中, 密钥安排部是替换型密钥安排部, 该替换型密钥安排部被配置成通过将预 先存储的秘密密钥划分成多个部分而生成多个回合密钥或回合密钥配置数据 ; 0037 并且其中, 多个回合密钥或者根据回。
22、合密钥配置数据的组合生成的多个回合密钥 以使得不重复恒定的序列的设置被输出到在加密处理部中顺序地执行的回合计算执行单 元。 0038 此外, 本公开的第三方面是用于在加密处理装置中执行加密处理的程序, 该程序 包括 : 0039 加密处理步骤, 其中, 加密处理部被配置成将要进行数据处理的数据的配置位划 分成多行并输入, 并且对各行数据重复执行应用回合函数的数据转换处理作为回合计算 ; 以及 0040 密钥安排步骤, 其中, 密钥安排部被配置成将回合密钥输出到加密处理部中的回 合计算执行单元 ; 0041 其中, 密钥安排部是替换型密钥安排部, 该替换型密钥安排部被配置成通过将预 先存储的秘密。
23、密钥划分成多个部分而生成多个回合密钥或回合密钥配置数据 ; 0042 并且其中, 多个回合密钥或者根据回合密钥配置数据的组合生成的多个回合密钥 以使得不重复恒定的序列的设置被输出到在加密处理部中顺序地执行的回合计算执行单 元。 0043 此外, 根据本公开的程序是例如通过例如记录介质而被提供到能够执行各种程序 代码的信息处理装置或计算机系统的程序。 通过利用信息处理装置或计算机系统中的程序 执行单元执行这种程序而通过程序实现处理。 0044 本公开的其它目的、 特征和优点将通过基于稍后描述的本发明的实施例和附图的 详细描述而变得清楚。 此外, 关于本说明书的系统是多个装置的逻辑组合配置, 因此。
24、装置的 说 明 书 CN 103621007 A 6 4/27 页 7 各种配置不限于容纳在同一物理单元内。 0045 本发明的有利效果 0046 根据本公开的实施例, 通过提供对回合密钥的控制来实现具有高安全性水平的加 密处理装置。 0047 具体地, 包括 : 加密处理部, 被配置成将要进行数据处理的数据的配置位划分成多 行并输入, 并且对各行数据重复执行应用回合函数的数据转换处理作为回合计算 ; 以及密 钥安排部, 被配置成将回合密钥输出到加密处理部中的回合计算执行单元 ; 其中, 密钥安排 部是替换型密钥安排部, 该替换型密钥安排部被配置成通过将预先存储的秘密密钥划分成 多个部分而生成。
25、多个回合密钥或回合密钥配置数据 ; 并且其中, 多个回合密钥被输出到在 加密处理部中顺序地执行的回合计算执行单元, 以使得不重复恒定的序列。 根据本配置, 实 现了对例如重复密钥攻击或其它攻击具有高抵抗水平的、 具有高安全性水平的加密处理配 置。 附图说明 0048 图 1 是描述与 k 位的密钥长度对应的 n 位共享密钥块加密算法的图。 0049 图 2 是描述与图 1 所示的对应于 k 位的密钥长度的 n 位共享密钥块加密算法对应 的解密算法的图。 0050 图 3 是描述密钥安排部与数据加密部之间的关系的图。 0051 图 4 是描述数据加密部的示例配置的图。 0052 图 5 是描述 。
26、SPN 结构回合函数的示例的图。 0053 图 6 是描述 Feistel 结构回合函数的示例的图。 0054 图 7 是描述扩展 Feistel 结构的示例的图。 0055 图 8 是描述扩展 Feistel 结构的示例的图。 0056 图 9 是描述非线性转换单元的示例配置的图。 0057 图 10 是描述线性转换处理单元的示例配置的图。 0058 图 11 是描述密钥安排部 (扩展密钥生成单元) 的图。 0059 图 12 是描述密钥安排部 (扩展密钥生成单元) 的图。 0060 图 13 是描述块加密 GOST 的示例配置的图。 0061 图 14 是描述作为 GOST 数据结构的 F。
27、eistel 结构的图。 0062 图 15 是描述可以提供任意秘密密钥差别 的攻击的图。 0063 图 16 是描述如下情况的图 : 其中, 当存在替换型密钥安排部时, 每个回合密钥差 别 i以每 m 位被划分成秘密密钥差别 。 0064 图 17 是描述通过提供平均差别 (d, d) 而使得 F 函数的输入差别变为零的图。 0065 图 18 是描述类型 2 一般化 Feistel 结构的示例的图。 0066 图 19 是描述 F 函数之后的 XOR(异或) 的示例配置的图。 0067 图 20 是描述 F 函数之后的 XOR 的示例配置的图。 0068 图 21 是描述如下示例配置的图 。
28、: 其中, 当密钥是 2n 位时, 秘密密钥 K 以每 (n/2) 位被划分成四个相等部分, 并且在每四个回合进行更换 (shuffle) 的同时被提供。 0069 图 22 是描述如下示例配置的图 : 其中, 秘密密钥 K 以每 (n/4) 位被划分成八个相 说 明 书 CN 103621007 A 7 5/27 页 8 等部分, 并且在每四个回合进行更换的同时提供两个 (n/4) 位的部分。 0070 图 23 是描述如下示例配置的图 : 其中, 当长度是 4n 位时, 秘密密钥 K 以每 (n/2) 位被划分成八个相等部分, 并且在每八个回合进行更换的同时被提供。 0071 图 24 是。
29、描述如下示例配置的图 : 其中, 当密钥是 2n 位时, 秘密密钥 K 以每 (n/4) 位被划分成八个相等部分, 并且在每四个回合进行更换的同时提供两个 (n/4) 位的部分。 0072 图 25 是描述如下示例配置的图 : 其中, 秘密密钥以每 (n/4) 位被划分成八个相等 部分, 其中, 这八个相等部分中的四个在左侧 F 函数的回合密钥 RKr, 0中使用, 并且剩余四个 在右侧 F 函数的回合密钥 RKr, 1中使用。 0073 图 26 是描述如下模型的图 : 其中, 具有 4 个数据行的一般化 Feistel 结构中的循 环移位被改变为回合置换 (具有 4 个数据行的一般化 Fe。
30、istel 结构 +) 。 0074 图 27 是描述关于具有 4 个数据行的一般化 Feistel 结构, 应用与图 25 类似的更 换技术的示例的图。 0075 图 28 是示出当秘密密钥是 (5n/4) 位并且一个回合所需的回合密钥是 (n/2) 位时, 密钥安排部的配置方法的图。 0076 图 29 是描述当简单按顺序输入回合密钥时的示例配置的图。 0077 图 30 是描述当简单按顺序输入回合密钥时的示例配置的图。 0078 图 31 是描述对于具有一般化 Feistel 结构的 n 位块加密, 使用与一个回合对应的 回合密钥的配置的图, 其中该一般化 Feistel 结构具有划分数。
31、为 d 的 d 个数据行。 0079 图 32 是描述如下示例配置的图 : 其中, 秘密密钥是 n 位, 通过将 n 位秘密密钥划 分成四个相等部分而生成 n/4 位的回合密钥, 并且这些回合密钥对于每个回合一次输入两 个。 0080 图 33 是描述如下示例配置的图 : 其中, 秘密密钥是 (5/4) n 位, 通过将 n 位的秘密 密钥划分成五个相等部分而生成 n/4 位的回合密钥, 并且这些回合密钥对于每个回合一次 输入两个。 0081 图 34 是描述如下示例配置的图 : 其中, 秘密密钥是 n 位, 通过将 (5/4) n 位的秘密 密钥划分成五个相等部分而生成 n/4 位的回合密钥。
32、, 并且这些回合密钥对于每个回合一次 输入两个。 0082 图 35 是描述如下示例配置的图 : 其中, 以多个回合为单位改变密钥选择序列。 0083 图 36 是描述被设置为使得以四个回合为单位执行的替换处理每次均不同的回合 密钥提供的示例配置的图。 0084 图 37 是描述如下示例配置的图 : 其中, 以多个回合为单位改变密钥选择序列。 0085 图 38 是描述如下示例配置的图 : 其中, 每三个回合执行替换, 并且在三个回合中 使用六个密钥。 0086 图 39 是描述如下示例配置的图 : 其中, 以多个回合为单位改变密钥选择序列。 0087 图 40 是描述作为选择器的回合密钥提供。
33、配置的图。 0088 图 41 是描述作为选择器的回合密钥提供配置的图。 0089 图 42 是描述作为选择器的回合密钥提供配置的图。 0090 图 43 是示出作为加密处理装置的 IC 模块 700 的示例配置的图。 说 明 书 CN 103621007 A 8 6/27 页 9 具体实施方式 0091 在下文中, 将参照附图详细描述与本公开有关的加密处理装置、 加密处理方法和 程序。将根据以下项进行描述。 0092 1. 共享密钥块加密概况 0093 2. 密钥安排部的配置和处理概况 0094 3. 关于密钥安排部的攻击和对这些攻击的先前对策的示例 0095 4. 可以获得相对于相关密钥攻。
34、击的安全性的密钥安排部的替换类型 0096 5. 密钥安排部的密钥替换类型的各种配置示例 (变型) 0097 6. 加密处理装置的配置示例 0098 7. 本公开的配置的结论 0099 1. 共享密钥块加密概况 0100 首先, 将描述共享密钥块加密的概况。 0101 (1-1. 共享密钥块加密) 0102 以下定义规定哪些在此表示共享密钥块加密 (下文中, 块加密) 。 0103 块加密获得作为输入的明文 P 和密钥 K, 并且输出密文 C。明文和密文的位长称为 块大小, 其被记作 n。n 是作为通常针对每种块加密算法预先确定的一个值的任意整数值。 块长度是 n 的块加密的这种情况有时称为 。
35、n 位块加密。 0104 密钥的位长被表示为 k。密钥具有任意整数值。共享密钥块加密算法可以支持一 个或多个密钥大小。例如, 对于某种块加密算法 A, 块大小是 n=128, 因此支持密钥大小为 k=128、 k=192 或 k=256 的配置是可能的。 0105 明文 P : n 位 0106 密文 C : n 位 0107 密钥 K : k 位 0108 图 1 示出了与 k 位的密钥长度对应的 n 位共享密钥块加密算法 E 的图。 0109 与加密算法 E 对应的解密算法 D 可以被定义为加密算法 E 的逆函数 E-1, 其接收作 为输入的密文 C 和密钥 K 并且输出明文 P。图 2 。
36、示出了与图 1 所示的加密算法 E 对应的解 密算法 D 的图。 0110 (1-2. 内部配置) 0111 考虑作为被划分成两个部分的块加密。一个是 “密钥安排部” , 密钥 K 被输入到该 “密钥安排部” , 并且该 “密钥安排部” 通过根据某些先前确定的步骤扩展位长而输出扩展密 钥 K (位长 k ) , 另一个是 “数据加密部” , 该 “数据加密部” 接收明文 P 和从密钥安排部扩 展的密钥 K , 执行数据转换, 并且输出密文 C。 0112 在图 3 中示出了这两个部分之间的关系。 0113 (1-3. 数据加密部) 0114 在以下实施例中使用的数据加密部可以被划分成称为回合函。
37、数的处理单位。 回合 函数接收两个单位的数据作为输入, 在内部进行处理, 并且输出一个单位的数据。 输入数据 的一部分是当前被加密的 n 位数据, 其导致来自对于某个回合的回合函数的输出被提供作 为下一回合的输入的配置。 输入数据的其它部分用作从密钥安排器输出的扩展密钥的一部 分的数据, 并且该密钥数据被称为回合密钥。另外, 回合函数的总数被称为总回合数, 并且 说 明 书 CN 103621007 A 9 7/27 页 10 是对于每种加密算法预先确定的值。这里, 总回合数被表示为 R。 0115 当从数据加密部的输入侧来看时, 其中, 第一回合的输入数据被指定为 X1, 在第 i 回合的回。
38、合函数中输入的数据被指定为 Xi, 并且回合密钥被指定为 RKi, 数据加密部的概况 如图 4 所示。 0116 (1-4. 回合函数) 0117 回合函数根据块加密算法而可以具有各种形式。 回合函数可以通过由该加密算法 (结构) 采用的结构来分类。这里作为示例所使用的典型结构是 SPN 结构、 Feistel 结构和 扩展 Feistel 结构。 0118 (A) SPN 结构回合函数 0119 该结构对回合密钥和所有 n 位输入数据应用线性转换处理、 非线性转换和 XOR 计 算。每个计算的顺序不是特别确定的。图 5 示出了 SPN 结构回合函数的示例。 0120 (B) Feistel 。
39、结构 0121 n 位输入数据被划分成 n/2 位数据的两个单位。以该数据的一个部分和回合密钥 作为输入来应用函数 (F 函数) , 并且对输出和数据的另一部分进行 XOR 计算。对该数据的 两侧进行更换的结果变为输出数据。尽管存在 F 函数的各种类型的内部配置, 但是这些基 本上与具有与回合密钥数据的 XOR 计算、 非线性计算和线性转换的组合的 SPN 结构类似地 来实现。图 6 示出了 Feistel 结构回合函数的示例。 0122 (C) 扩展 Feistel 结构 0123 关于Feistel结构的等于两个的数据划分数被扩展为具有扩展Feistel结构的三 个或更多个划分的格式。如果。
40、划分数被表示为 d, 则可以根据 d 定义各种扩展 Feistel 结 构。由于 F 函数输入和输出的大小相对较小, 因此这适合于小实现。图 7 示出了 d=4 并且 在一个回合内并行应用两个 F 函数的扩展 Feistel 结构的示例。另外, 图 8 示出了 d=8 并 且在一个回合内应用一个 F 函数的扩展 Feistel 结构的示例。 0124 (D) 具有 d 个数据行的一般化 Feistel 结构 0125 对于划分数 d 是偶数的扩展 Feistel 结构, 在一个回合内并行应用 d/2 个 F 函数。 0126 另外, 循环移位用作回合之间的替换。 0127 注意, 图 7、 1。
41、8 和 20 示出了具有 4 个数据行的一般化 Feistel 结构。 0128 (1-5. 非线性转换处理单元) 0129 对于非线性转换处理单元, 实现成本趋向于随着输入数据的大小增加而增加。为 了避开这一点, 使用了多种配置 : 其中, 相应数据被划分成多个单位, 并且对该数据进行非 线性转换。例如, 当输入大小被指定为 ms 位时, 这些配置以每 s 位划分 m 个数据单位, 并且 对输入和输出是s位的该数据执行非线性转换。 这些s位的单位中的非线性转换称为S盒。 图 9 示出了示例。 0130 (1-6. 线性转换处理单元) 0131 线性转换处理单元可以被定义为考虑其性质的矩阵。 。
42、矩阵的元素一般可以以各种 方式 (诸如 GF(28) 的体元素和 GF(2) 的元素) 来表示。图 10 示出了由 mm 矩阵定义的线 性转换处理单元的示例, 其将 ms 位的输入和输出定义为 GF(2S)。 0132 2. 密钥安排部的配置和处理概况 0133 在描述本公开的加密处理之前, 将描述作为初步配置的密钥安排部的配置和处理 说 明 书 CN 103621007 A 10 8/27 页 11 概况。 0134 密钥安排部是如图 11 所示的函数, 其 (扩展密钥生成单元) 输入 k 位的秘密密钥 K 并且通过某种确定的转换生成 k 位扩展密钥 (回合密钥) K 。 0135 一般地,。
43、 k1) 的设置, 配置可执行改变密钥选择序列的处理, 而不执行多 于两次密钥替换。 0450 例如, 图 33 所示的密钥提供处理序列和图 34 所示的密钥提供处理序列是完全相 同的。 0451 也就是说, 前五个回合 : 关于 R1 至 R5, 按以下序列输入和应用两个回合密钥。 0452 回合 R1 : 回合密钥 K1 和回合密钥 K2 0453 回合 R2 : 回合密钥 K3 和回合密钥 K4 0454 回合 R3 : 回合密钥 K5 和回合密钥 K5 说 明 书 CN 103621007 A 24 22/27 页 25 0455 回合 R4 : 回合密钥 K2 和回合密钥 K3 04。
44、56 回合 R5 : 回合密钥 K3 和回合密钥 K4 0457 接下来的五个回合 : 关于 R6 至 R10, 按类似序列输入和应用两个回合密钥。 0458 另外, 取代对所划分的密钥提供顺序进行更换并将其按顺序输入到回合函数中作 为密钥替换处理, 可以通过以多个回合为单位改变选择顺序而获得完全相同的效果。 例如, 先前参照图 24 描述的回合密钥提供配置和图 35 所示的密钥提供处理序列是完全相同的。 0459 也就是说, 前四个回合 : 关于 R1 至 R4, 按以下序列输入和应用两个回合密钥。 0460 回合 R1 : 回合密钥 K1 和回合密钥 K2 0461 回合 R2 : 回合密。
45、钥 K3 和回合密钥 K4 0462 回合 R3 : 回合密钥 K5 和回合密钥 K6 0463 回合 R4 : 回合密钥 K7 和回合密钥 K8 0464 接下来的四个回合 : 关于 R5 至 R8, 按以下序列输入和应用两个回合密钥 : 0465 回合 R5 : 回合密钥 K5 和回合密钥 K1 0466 回合 R6 : 回合密钥 K2 和回合密钥 K6 0467 回合 R7 : 回合密钥 K7 和回合密钥 K3 0468 回合 R8 : 回合密钥 K4 和回合密钥 K8 0469 接下来的四个回合 : 关于 R9 至 R12, 按以下序列输入和应用两个回合密钥 : 0470 回合 R9 。
46、: 回合密钥 K7 和回合密钥 K5 0471 回合 R10 : 回合密钥 K1 和回合密钥 K3 0472 回合 R11 : 回合密钥 K4 和回合密钥 K2 0473 回合 R12 : 回合密钥 K6 和回合密钥 K8 0474 以此方式, 参照图 24 描述的回合密钥提供配置和图 35 所示的密钥提供处理序列 是在每个单位应用不同的回合密钥输入序列的配置, 其中, 一个单位是四个回合。 0475 (多种类型的密钥替换) 0476 根据先前参照图 24 描述的配置, 当密钥长度是 2n 位并且被划分成八个相等部分 时, 每四个回合执行相同形式的密钥替换。 0477 相反, 以四个回合为单位。
47、执行的替换处理可被设置为每次为不同的形式, 诸如例 如图 36 所示的。 0478 以下是根据图 36 所示的配置的密钥提供序列。前四个回合 : 关于 R1 至 R4, 按以 下序列输入和应用两个回合密钥。 0479 回合 R1 : 回合密钥 K1 和回合密钥 K2 0480 回合 R2 : 回合密钥 K3 和回合密钥 K4 0481 回合 R3 : 回合密钥 K5 和回合密钥 K6 0482 回合 R4 : 回合密钥 K7 和回合密钥 K8 0483 接下来的四个回合 : 关于 R5 至 R8, 按以下序列输入和应用两个回合密钥 : 0484 回合 R5 : 回合密钥 K5 和回合密钥 K1。
48、 0485 回合 R6 : 回合密钥 K2 和回合密钥 K6 0486 回合 R7 : 回合密钥 K7 和回合密钥 K3 0487 回合 R8 : 回合密钥 K4 和回合密钥 K8 说 明 书 CN 103621007 A 25 23/27 页 26 0488 接下来的四个回合 : 关于 R9 至 R12, 按以下序列输入和应用两个回合密钥 : 0489 回合 R9 : 回合密钥 K8 和回合密钥 K5 0490 回合 R10 : 回合密钥 K7 和回合密钥 K3 0491 回合 R11 : 回合密钥 K1 和回合密钥 K2 0492 回合 R12 : 回合密钥 K4 和回合密钥 K6 0493 以此方式, 直到第 1 回合至第 4 回合和第 5 回合至第 8 回合, 图 36 所示的密钥提 供序列与图 24 所示的密钥提供序列相同, 但是序列从第 9 回合开始不同。 0494 这是由于尽管关于图 24 所示的设置由替换型密钥安排部执行的密钥替换 (也就 是说, 密钥更换处理) 是以 4 个回合为单位以相同设置执行的配置, 但是根据图 36 所示的配 置, 替换型密钥安排部执行的密钥替换 (也就是说, 密钥更换处理) 以4个回合为单。