Dataconverter,dataconversionmethod,andcomputerprogram的制作方法

文档序号:2405989阅读:161来源:国知局
专利名称:Data converter, data conversion method, and computer program的制作方法
技术领域
本发明涉及数据转换器、数据转换方法以及计算机程序。更具体地,本发明涉及实 现了高效数据扩散或加密处理的数据转换器、数据转换方法以及计算机程序。
背景技术
在通过逐块地对输入数据实施数据转换处理来加密输入数据的块密码、哈希函数 等中,希望具有对于输入数据的高数据扰乱能力。例如,执行如下的处理,其中输入数据被 划分为固定大小(比如字节)的数据块,并在字节数据块相互影响的同时重复实施比如线 性转换处理和非线性转换处理等多种运算以扰乱数据。例如,作为美国加密标准而为人所知的AES(高级加密标准,Advanced Encryption Standard)算法是用于通过如下方式对数据进行扰乱的算法将输入数据划分为字节数据 块,将数据块排列成正方形或长方形矩阵,以及重复比如逐行处理或逐列处理(更具体地, 非线性转换处理和线性转换处理)等多种处理。将参照

图1描述一具体示例。在要经受转换处理的数据是8X 16 = 128比特的数 据的情况下,如图1 (a)中所示,由于1字节数据块包含8比特,因此正方形矩阵由字节数据
块ai、a2、a3........a16来配置,以及数据转换是通过重复对数据块的多种运算处理来执行
的,所述运算处理比如逐行的运算,例如,对于比如(a1; a2, a3, a4)的每行的运算处理,或者逐列的运算,例如,对于比如(a1; a5, a9, a13)的每列的运算处理,更具体地,比如非线性转换处理、线性转换处理、移位处理和使用密钥的异或运算 等多种处理。如图1(a)中所示,已知当对字节数据块排列成的正方形矩阵实施逐行或逐列的 处理时,高效扰乱是可达到的。然而,仅在要经受转换处理的输入数据是特定比特数量的数 据(比如,图1(a)中示出的8X16 = 128比特的数据)的情况下,才允许配置包含1字节 的数据块的正方形矩阵。更具体地,仅在如下情况下配置正方形矩阵比特数量=8X (η)2比特的情况(其中η是自然数),以字节而言,字节数量=(η)2字节的情况(其中η是自然数)。128比特等于比特数=8Χ (4)2比特,以及如图1(a)中所示,允许128比特配置包 含4Χ4 = 16个i字节数据块的正方形矩阵。然而,在要经受转换的数据例如是256比特的情况下,由于有256 = 8X32成立, 即256无法表示为256 = 8X (η)2比特,因此不能配置包含字节数据块的正方形矩阵。在该情况下,如图1(b)中所示,将32个包含8比特的字节数据块ai、a2、
a3........a32排列成长宽比为2 1的长方形矩阵,以及通过对该长方形矩阵重复逐行处
理或逐列处理来实施扰乱。然而,存在如下问题即使无所谓以与正方形矩阵的情况下相同 的步骤来对图1(b)中示出的长方形矩阵执行扰乱时用于运算的时间和花费均增加,但是扰乱能力却并未得到提高。以下将参照图2及其后面的图描述在包含字节数据块的正方形矩阵(正方形状 态)的情况下和在包含字节数据块的长方形矩阵(长方形状态)的情况下的扰乱处理的示 例。(A)对于正方形矩阵(正方形状态)的处理的示例以下将参照图2及其后面的图描述对于128比特的数据的数据转换处理中的扰乱 处理。128比特的数据被划分为1字节(8比特)的数据块。在此,16个1字节的数据块分
另Ij由a1 M a16表示。如通过图2中的正方形数据矩阵(正方形状态)11所示,16个1字节的数据块[ 至a16]被存储成4X4的矩阵。下文中,存储成正方形矩阵的数据被称为正方形状态。在AES块密码算法中,定义了多种对于正方形状态的运算,以及通过重复施加所 定义的运算实现了加密。在AES中定义的运算包括图2中示出的以下四种。(1)非线性转换处理(SUB)通过逐字节地使每个1字节的数据块经受非线性转换S(X)来更新值的运算,其中,如图2(1)中所示,在1字节的输入 和转换处理后的1字节的输出h之间 的关系是bj = S (Bi)i = l,2, ···, 16例如,在AES密码中,该运算对应于使用S-box的非线性转换。(2)移位处理(SHIFT)使每行都经受轮换移位运算的处理。一行与另一行的移位量是不同的,并且在AES 的情况下,如图2(2)中所示,第一行中的1字节的数据块不被轮换移位,而第二行中的1字 节的数据块、第三行中的1字节的数据块以及第四行中的1字节的数据块分别被向右轮换 移位了 1个1字节的数据块、2个1字节的数据块以及3个1字节的数据块。(3)线性转换处理(MAT)通过对于4X4矩阵[M]的运算来更新值的运算(假定将每列中的4个1字节的 数据块看作一个向量)。在1字节的输入 和转换处理后的1字节的输出bi之间的关系是^bi, bi+4, bi+8, bi+12) = Mt (ai; ai+4, ai+8, ai+12)i = 1,2,3,4此外,tO表示通过将矩阵中的行列互换形成的转置矩阵。即,上述表达式含义如 下。[数学表达式1]
权利要求
一种数据转换器,包括数据转换部,执行重复进行回合运算的数据转换处理,所述数据转换部被配置为在所述回合运算中实施以下处理对于两个数据段之一的线性转换处理,所述两个数据段是将长方形数据矩阵划分为两部分而得到的,所述长方形数据矩阵是通过排列大小相等的数据块来配置的;所述两个数据段之间的异或运算处理;对于所述数据段之一的移位处理;以及所述两个数据段之间的交换处理。
2.根据权利要求1所述的数据转换器,其中所述大小相等的数据块是1字节的数据块,并且所述数据转换部被配置为在所述回合 运算中执行对于所述两个数据段的处理,所述两个数据段是将所述长方形数据矩阵划分为 两部分而得到的,所述长方形数据矩阵是通过排列所述1字节的数据块来配置的。
3.根据权利要求1所述的数据转换器,其中所述数据转换部被配置为在所述回合运算中进一步实施以下处理 对于所述数据段之一的非线性转换处理;以及 对于所述数据段之一的密钥适用运算处理。
4.根据权利要求3所述的数据转换器,其中所述密钥适用运算是在所述数据段之一的配置数据和加密密钥数据之间的异或运算。
5.根据权利要求1所述的数据转换器,其中所述数据转换部利用所述异或运算的结果来作为所述数据段之一的更新数据。
6.根据权利要求1所述的数据转换器,其中在实施所述移位处理时,所述数据转换部实施如下移位处理 对于包括在具有m行和2η列数据的长方形矩阵中的、要经受所述移位处理的、具有m 行和η列的数据段,在满足m彡η的关系的情况下,在所述移位处理前属于同一列的数据块 被移位,以使得在所述移位处理后属于不同的列;以及在满足m> η的关系的情况下,在所述移位处理前属于同一列的数据块被移位,以使得 这些数据块在所述移位处理后的任意列中的块数包含在(m/n)-l以上、(m/n)+l以下的范 围内。。
7.根据权利要求1所述的数据转换器,其中所述数据转换部对于所述两个数据段都实施所述移位处理。
8.根据权利要求1所述的数据转换器,其中在所述回合运算中,所述数据转换部对于所述数据段中的一个数据段A实施非线性转 换和移位处理,以更新所述数据段A,并进一步对于更新的数据段A实施线性转换处理并在 所述线性转换处理的结果和另一数据段B之间实施异或运算,从而利用该异或运算的结果 作为所述数据段B的更新数据,并进一步在所述数据段A和所述数据段B之间实施所述交 换处理,并随后在所述数据段A和密钥数据之间实施异或运算。
9.根据权利要求1所述的数据转换器,其中在所述回合运算中,所述数据转换部对于所述数据段中的一个数据段A实施非线性转 换处理、移位处理和线性转换处理,以更新所述数据段A,并进一步在更新的数据段A和另一数据段B之间实施异或运算,从而利用该异或运算的结果作为数据段B的更新数据,并进 一步在所述数据段A和所述数据段B之间实施所述交换处理,并随后在所述数据段A和密 钥数据之间实施异或运算。
10.根据权利要求1所述的数据转换器,其中在所述回合运算中,所述数据转换部对于所述数据段中的一个数据段A实施非线性转 换处理和线性转换处理,并在其结果和另一数据段B之间实施异或运算,从而利用该异或 运算的结果作为所述数据段B的更新数据,并进一步在所述数据段A和所述数据段B之间 实施所述交换处理,并且对于所述数据段A实施移位处理,并随后在所述数据段A和密钥数 据之间实施异或运算。
11.根据权利要求1所述的数据转换器,其中在所述回合运算中,所述数据转换部对于所述数据段中的一个数据段A实施非线性转 换处理、移位处理和线性转换处理,并进一步在其结果和另一数据段B之间实施异或运算, 从而利用该异或运算的结果作为所述数据段A的更新数据,并进一步在所述数据段A和所 述数据段B之间实施交换处理,并随后在所述数据段A和密钥数据之间实施异或运算。
12.根据权利要求1所述的数据转换器,其中在所述回合运算中的线性转换处理中,所述数据转换部被配置为每个回合都选择和使 用多个不同矩阵中的一个矩阵。
13.根据权利要求12所述的数据转换器,其中所述数据转换部被配置为借助于使用DSM(扩散交换机制)的处理来选择和使用多个 不同矩阵中的一个矩阵。
14.一种通过数据转换器实施的数据转换方法,包括在数据转换部中通过重复回合运算来执行数据转换的数据转换步骤,所述数据转换步 骤在所述回合运算中实施以下处理对于两个数据段之一的线性转换处理,所述两个数据段是将长方形数据矩阵划分为两 部分而得到的,所述长方形数据矩阵是通过排列大小相等的数据块来配置的;所述两个数据段之间的异或运算处理;对于所述数据段之一的移位处理;以及所述两个数据段之间的交换处理。
15.根据权利要求14所述的数据转换方法,其中所述大小相等的数据块是1字节的数据块,并且所述数据转换部被配置为在所述回合 运算中执行对于所述两个数据段的处理,所述两个数据段是将长方形数据矩阵划分为两部 分而得到的,所述长方形数据矩阵是通过排列1字节的数据块来配置的。
16.根据权利要求14所述的数据转换方法,其中所述数据转换步骤被配置为在所述回合运算中进一步实施以下处理对于所述数据段之一的非线性转换处理;以及对于所述数据段之一的密钥适用运算处理。
17.根据权利要求16所述的数据转换方法,其中所述密钥适用运算是在所述数据段之一的配置数据和加密密钥数据之间的异或运算。
18.根据权利要求14所述的数据转换方法,其中所述数据转换步骤利用所述异或运算的结果来作为所述数据段之一的更新数据。
19.根据权利要求14所述的数据转换方法,其中在实施所述移位处理时,所述数据转换步骤实施如下移位处理 对于包括在具有m行和2η列数据的长方形矩阵中的、要经受所述移位处理的、具有m 行和η列的数据段,在满足m彡η的关系的情况下,在所述移位处理前属于同一列的数据块 被移位,以使得在所述移位处理后属于不同的列;以及在满足m> η的关系的情况下,在所述移位处理前属于同一列的数据块被移位,以使得 这些数据块在所述移位处理后的任意列中的块数包含在(m/n)-l以上、(m/n)+l以下的范 围内。
20.根据权利要求14所述的数据转换方法,其中所述数据转换步骤对于所述两个数据段都实施所述移位处理。
21.根据权利要求14所述的数据转换方法,其中在所述回合运算中,所述数据转换步骤对于所述数据段中的一个数据段A实施非线性 转换和移位处理,以更新所述数据段A,并进一步对于更新的数据段A实施线性转换处理并 在该线性转换处理的结果和另一数据段B之间实施异或运算,从而利用该异或运算的结果 作为所述数据段B的更新数据,并进一步在所述数据段A和所述数据段B之间实施所述交 换处理,并随后在所述数据段A和密钥数据之间实施异或运算。
22.根据权利要求14所述的数据转换方法,其中在所述回合运算中,所述数据转换步骤对于所述数据段中的一个数据段A实施非线性 转换处理、移位处理和线性转换处理,以更新数据段A,并进一步在更新的数据段A和另一 数据段B之间实施异或运算,从而利用该异或运算的结果作为所述数据段B的更新数据,并 进一步在所述数据段A和所述数据段B之间实施所述交换处理,并随后在所述数据段A和 密钥数据之间实施异或运算。
23.根据权利要求14所述的数据转换方法,其中在所述回合运算中,所述数据转换步骤对于所述数据段中的一个数据段A实施非线性 转换处理和线性转换处理,并在其结果和另一数据段B之间实施异或运算,从而利用该异 或运算的结果作为所述数据段B的更新数据,并进一步在所述数据段A和所述数据段B之 间实施所述交换处理,并且对于所述数据段A实施移位处理,并随后在所述数据段A和密钥 数据之间实施异或运算。
24.根据权利要求14所述的数据转换方法,其中在所述回合运算中,所述数据转换步骤对于所述数据段中的一个数据段A实施非线性 转换处理、移位处理和线性转换处理,并进一步在其结果和另一数据段B之间实施异或运 算,从而利用该异或运算的结果作为所述数据段A的更新数据,并进一步在所述数据段A和 所述数据段B之间实施所述交换处理,并随后在所述数据段A和密钥数据之间实施异或运笪弁。
25.根据权利要求14所述的数据转换方法,其中在所述回合运算中的线性转换处理中,所述数据转换步骤被配置为每个回合都选择和 使用多个不同矩阵中的一个矩阵。
26.根据权利要求25所述的数据转换方法,其中所述数据转换步骤被配置为借助于使用DSM(扩散交换机制)的处理来选择和使用多 个不同矩阵中的一个矩阵。
27. 一种在数据转换器中实施数据转换处理的计算机程序,所述计算机程序包括 在数据转换部中通过重复回合运算来执行数据转换的数据转换步骤,所述数据转换步 骤是在所述回合运算中实施如下处理的步骤对于两个数据段之一的线性转换处理,所述两个数据段是将长方形数据矩阵划分为两 部分而得到的,所述长方形数据矩阵是通过排列大小相等的数据块来配置的; 所述两个数据段之间的异或运算处理; 对于所述数据段之一的移位处理;以及 所述两个数据段之间的交换处理。
全文摘要
文档编号G09C1/00GK101952870SQ20098010579
公开日2011年1月19日 申请日期2009年1月21日 优先权日2008年1月21日
发明者Iwata Tetsu, Shirai Taizo, Shibutani Kyoji, Moriai Shiho, Akishita Toru 申请人:Sony Corp, Iwata Tetsu
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1