CN101479774A - 加密处理装置、数据变换方法、数据变换程序、记录媒体和集成电路 - Google Patents

加密处理装置、数据变换方法、数据变换程序、记录媒体和集成电路 Download PDF

Info

Publication number
CN101479774A
CN101479774A CNA2007800235202A CN200780023520A CN101479774A CN 101479774 A CN101479774 A CN 101479774A CN A2007800235202 A CNA2007800235202 A CN A2007800235202A CN 200780023520 A CN200780023520 A CN 200780023520A CN 101479774 A CN101479774 A CN 101479774A
Authority
CN
China
Prior art keywords
data
blocks
group
bit
output
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007800235202A
Other languages
English (en)
Other versions
CN101479774B (zh
Inventor
野仲真佐男
横田薰
大森基司
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN101479774A publication Critical patent/CN101479774A/zh
Application granted granted Critical
Publication of CN101479774B publication Critical patent/CN101479774B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/122Hardware reduction or efficient architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Abstract

本发明提供一种加密处理装置,与使用代替表的现有技术相比可减小硬件的门规模,同时实现高扰乱性。加密装置具有的数据变换部将256比特的输入数据分割为32比特的各块数据A1、B1、A2、B2,第1融合部(43)进行A1和B1、A2和B2的异或运算,第1扰乱部(44)将A1、A2、异或运算的结果(C1、C2)分别分支为3个,并循环移位其中2个块数据后融合所有块数据,第2融合部(45)对作为基于第1扰乱部(44)的处理结果的D1和E2、E1和D2进行异或运算,块结合部(46)结合第2融合部(45)的运算结果,第2扰乱部(47)将结合后的数据分支为3路,并循环移位其中2个块数据后融合所有块数据。

Description

加密处理装置、数据变换方法、数据变换程序、记录媒体和集成电路
技术领域
本发明涉及加密处理装置。
背景技术
加密处理装置用于加密数字化后的音乐与影像等内容而加以分发的情形等。在内容等的分发中,要求高安全性能。为了提高安全性能,提高对分发对象数据的扰乱性能很有效。
例如,专利文献1中公开了实现高扰乱性能用的数据加密方法。
专利文献1中,将输入数据分为多个相同数据长度的块,在这些划分后的各块数据间实施异或、加法和剩余中的至少一个运算,并在对该运算结果实施了代替(substitution)处理(表变换运算处理)后,加以结合,而进行对上述输入数据的扩散。
专利文献1:日本特开昭62—113191号公报
但是,为了通过上述现有技术来实现高扰乱性,需要多个代替处理,用硬件实现该代替处理需要多个门(gate),所以有不能减小硬件的门规模的问题。
发明内容
鉴于上述问题,本发明所要解决的技术问题是实现具有高扰乱性、同时可以使硬件的门规模比现有技术少的加密处理装置。
为了解决上述问题,本发明的加密处理装置,具备将n比特的输入数据变换为n比特的输出数据的数据变换单元,其特征在于:所述数据变换单元包括:取得单元,取得由分别含有1个以上的块数据的第1块群和第2块群构成的所述输入数据;第1融合单元,使所述第1块群中含有的任意块数据分支而相对所述第2块群中含有的1个以上的块数据进行融合,从而由所述第2块群生成第3块群;扰乱单元,分别对于所述第1和第3块群中含有的1个以上的块数据,将该块数据分支为2个以上,并对分支后的块数据进行循环移位,融合循环移位结果,从而由所述第1和第3块群生成第4和第5块群;第2融合单元,使所述第5块群中含有的任意块数据分支而相对所述第4块群中含有的1个以上的块数据进行融合,从而由所述第4块群生成第6块群;以及输出单元,输出由所述第5和第6块群的块数据构成的所述输出数据。
本说明书中所谓加密处理不排除解密,广义指包含加密和解密两者的概念。
本说明书中所谓循环移位是指0比特以上的循环移位、即还包含不循环移位的情形的概念。
发明的效果
本发明的加密处理装置通过具有上述结构,由于硬件规模减小,并通过分支、循环移位、融合进行数据的扰乱,所以与使用代替表的现有技术相比可以减少硬件的门规模。
所述扰乱单元可以将所述块数据分支为奇数个,并对所述分支后的块数据分别进行不同比特数的循环移位。
根据该结构,由于扰乱单元进行的变换是双射变换,所以可以提高扰乱性能。
另外,也可以是,所述第1块群中含有的块数据的个数与所述第2块群中含有的块数据的个数相等;所述第1融合单元使所述第1块群中含有的任意块数据分支而相对所述第2块群中含有的所有的各块数据进行融合。
根据该结构,可以融合所有的块数据,融合前的数据的推测变得困难。
所述扰乱单元可以分别对于所述第1和第3块群的所有块数据,将块数据分支为2个以上。
根据该结构,可以扰乱所有的块数据,扰乱前的数据的推测变得困难。
所述第2融合单元可以使所述第5块群中含有的任意块数据分支而分别相对所述第4块群中含有的所有块数据进行融合。
根据该结构,可以融合所有的块数据,融合前的数据的推测变得困难。
可以是,所述第2融合单元中,融合的2个块数据在两个块数据的生成过程中使用的块数据不同。
根据该结构,可以扩大输入数据中某个数据对其他数据的扰乱产生影响的范围。
所述数据变换单元可以还包括密钥融合单元,该密钥融合单元使预先提供的密钥数据与通过所述取得单元取得的所述输入数据融合而输出到所述第1融合单元。
另外,也可以是,所述密钥融合单元通过对所述密钥数据和所述输入数据进行异或运算或算术加法运算来加以融合。
根据该构成,通过预先融合输入数据而使推测变得困难,使得输入数据即使一部分也不进行明文保持原样的处理,而可提高机密性。
另外,也可以是,所述数据变换单元还包括最终扰乱单元,在所述输出单元进行的输出前,该最终扰乱单元对于所述输出数据,将所述输出数据分支为2个以上,并对分支后的输出数据进行循环移位,并对循环移位结果进行融合。
根据该结构,可以进一步增大扰乱程度,使数据的推测变得更困难。
本发明的数据变换方法,用于加密处理装置所具备的数据变换单元,该数据变换单元将n比特的输入数据变换为n比特的输出数据,其特征在于,该方法包括:取得步骤,取得由分别含有1个以上的块数据的第1块群和第2块群构成的所述输入数据;第1融合步骤,使所述第1块群中含有的任意块数据分支而相对所述第2块群中含有的1个以上的块数据进行融合,从而由所述第2块群生成第3块群;扰乱步骤,分别对于所述第1和第3块群中含有的1个以上的块数据,将该块数据分支为2个以上,并对分支后的块数据进行循环移位,融合循环移位结果,从而由所述第1和第3块群生成第4和第5块群;第2融合步骤,使所述第5块群中含有的任意块数据分支而相对所述第4块群中含有的1个以上的块数据进行融合,从而由所述第4块群生成第6块群;以及输出步骤,输出由所述第5和第6块群的块数据构成的所述输出数据。
本发明的数据变换程序,用于加密处理装置所具备的数据变换单元,该数据变换单元将n比特的输入数据变换为n比特的输出数据,其特征在于,该程序包括:取得步骤,取得由分别含有1个以上的块数据的第1块群和第2块群构成的所述输入数据;第1融合步骤,使所述第1块群中含有的任意块数据分支而相对所述第2块群中含有的1个以上的块数据进行融合,从而由所述第2块群生成第3块群;扰乱步骤,分别对于所述第1和第3块群中含有的1个以上的块数据,将该块数据分支为2个以上,并对分支后的块数据进行循环移位,融合循环移位结果,从而由所述第1和第3块群生成第4和第5块群;第2融合步骤,使所述第5块群中含有的任意块数据分支而相对所述第4块群中含有的1个以上的块数据进行融合,从而由所述第4块群生成第6块群;以及输出步骤,输出由所述第5和第6块群的块数据构成的所述输出数据。
本发明的记录媒体记录了上述数据变换程序。
根据该结构,可以变换数据,而不用使用代替表。
本发明的集成电路,用于具备数据变换单元的加密处理装置,该数据变换单元将n比特的输入数据变换为n比特的输出数据,其特征在于:该集成电路包括:取得单元,取得由分别含有1个以上的块数据的第1块群和第2块群构成的所述输入数据;第1融合单元,使所述第1块群中含有的任意块数据分支而相对所述第2块群中含有的1个以上的块数据进行融合,从而由所述第2块群生成第3块群;扰乱单元,分别对于所述第1和第3块群中含有的1个以上的块数据,将该块数据分支为2个以上,并对分支后的块数据进行循环移位,融合循环移位结果,从而由所述第1和第3块群生成第4和第5块群;第2融合单元,使所述第5块群中含有的任意块数据分支而相对所述第4块群中含有的1个以上的块数据进行融合,从而由所述第4块群生成第6块群;以及输出单元,输出由所述第5和第6块群的块数据构成的所述输出数据。
由于硬件规模变小,通过分支、循环移位、融合来进行数据的扰乱,所以与使用代替表的现有技术相比可以减小硬件的门规模。
附图说明
图1是表示本发明的一实施方式的加密通信系统的结构图;
图2是表示本发明的一实施方式的加密部的结构图;
图3是表示本发明的一实施方式的数据扰乱部的结构图;
图4是表示本发明的一实施方式的数据变换部的结构图;
图5是表示本发明的一实施方式的第1融合部的结构图;
图6是表示本发明的一实施方式的第1扰乱部的结构图;
图7是表示本发明的一实施方式的第2融合部的结构图;
图8是表示本发明的一实施方式的第2扰乱部的结构图;
图9是表示本发明的一实施方式的解密部的结构图;
图10是加密处理的流程图;
图11是加密处理的流程图;
图12是表示解密处理的流程图;
图13是表示解密处理的流程图。
符号说明
1        加密通信系统
2        加密装置
3        解密装置
4        通信路径
11    输入部
12    加密部
13    加密密钥保持部
14    发送部
15    输出部
16    解密部
17    解密密钥保持部
18    接收部
21    密钥生成请求部
22    密钥控制部
23    数据扰乱部
24    次数控制部
25    数据替换部
31    分割部
32    数据变换部
33    异或部
33     解密密钥保持部
34     结合部
41     加法部
42     块分割部
43     第1融合部
44     第1扰乱部
45     第2融合部
46     块结合部
47     第2扰乱部
51     异或部
52     异或部
55~62     比特旋转部
63~66     异或部
71、72     异或部
73、74     比特旋转部
75     异或部
81     密钥生成请求部
82     密钥控制部
83     数据扰乱部
84     次数控制部
85     数据替换部
具体实施方式
说明本发明的一实施方式的加密通信系统。
图1表示经通信路径4来连接加密装置2与解密装置3的加密通信系统1的结构。
加密装置2加密从外部输入的应隐匿的消息的明文数据PT,并将作为加密明文数据PT后的结果的加密数据CT经通信路径4发送到解密装置3。
加密装置2不进行代替变换而进行加密处理,由此,与现有技术相比抑制了进行加密处理的部分硬件规模。
解密装置3经通信路径4接收加密装置2发送的加密数据CT,并通过对加密数据CT进行解密而生成解密数据DT后输出到外部。
这里,若通过解密装置3正常解密了加密数据CT,则解密数据DT与明文数据PT一致。另外,由于在通信路径4上,加密了从加密装置2向解密装置3发送的数据,所以即便非法者窃听了通信路径4,也不能知道作为应隐匿的消息的明文数据PT。
通信路径4是传送数据的通信路径,例如是互联网及电话线、专用线、USB线缆等。
下面,详细说明加密通信系统1的各构成要素。
1.结构
1.1.加密装置2的结构
加密装置2如图1所示,构成为包括输入部11、加密部12、加密密钥保持部13与发送部14。
1.1.1.输入部11、加密密钥保持部13、发送部14
输入部11从外部接收64比特的明文数据PT的输入,并将所输入的明文数据PT输出到加密部12。本实施方式中,设输入部11包括键盘和计算机鼠标。持有加密装置2的用户使用上述键盘和计算机鼠标,来进行作为应隐匿的消息的明文数据PT的输入。
加密密钥保持部13保持256比特的加密密钥EK。加密密钥EK的值与后述的解密装置3具有的解密密钥保持部17保持的解密密钥DK的值相同。
发送部14从加密部12接受加密数据CT,并经通信路径4将加密数据CT向解密装置3发送。
1.1.2.加密部12
加密部12接受明文数据PT,从加密密钥保持部13取得加密密钥EK,并使用加密密钥EK来加密明文数据PT后,将作为该加密结果的加密数据CT向发送部14输出。
加密部12如图2所示,构成为包含密钥生成请求部21、密钥控制部22、数据扰乱部23、次数控制部24与数据替换部25。加密部12具体来说是具有多个功能部的专用微计算机等。各功能部通过在微计算机中写入的程序来实现。各功能部可以是分别独立的微计算机。
1.1.2.1.密钥生成请求部21、密钥控制部22、次数控制部24、数据替换部25
密钥生成请求部21从输入部11接受明文数据PT作为输入数据IN,并将部分密钥生成请求REQSK输出到密钥控制部22,对次数控制部24输出复位信号,并将输入数据IN输出到数据扰乱部23。密钥生成请求部21在从次数控制部24接受输入数据IN后,将输入数据IN输出到数据扰乱部23。
密钥控制部22在从密钥生成请求部21受理部分密钥生成请求REQSK后,从加密密钥保持部13取得256比特的加密密钥EK,并将加密密钥EK分割为分别为32比特长度的部分密钥SK1~SK8。具体来说,将加密密钥EK的第1比特到第32比特的值作为部分密钥SK1,将加密密钥EK的第33比特到第64比特的值作为部分密钥SK2,...,将加密密钥EK的第225比特到第256比特的值作为部分密钥SK8。
密钥控制部22从次数控制部24受理值为i(i是1以上8以下的自然数)的部分密钥序号时,将与部分密钥序号对应的部分密钥SKi输出到数据扰乱部23。例如,在部分密钥序号是1的情况下,密钥控制部22将部分密钥SK1输出到数据扰乱部23。
数据扰乱部23在从密钥生成请求部21取得64比特的输入数据IN,且从密钥控制部22取得了32比特的部分密钥数据SKi的情况下,使用部分密钥数据SKi和输入数据IN来进行扰乱处理,并将作为其结果的64比特的输出数据OUT输出到次数控制部24。后面描述数据扰乱部23的细节。
次数控制部24计数数据扰乱部23进行的扰乱处理的次数,控制为使扰乱处理执行规定扰乱次数。本实施方式中,设所述规定扰乱次数为8次。
次数控制部24在从密钥生成请求部21接收到复位信号后,将计数值复位为0,并将(计数值+1)作为部分密钥序号发送到密钥控制部22。在刚刚复位后的情况下,对密钥控制部22发送的部分密钥序号是1。
并且,若从数据扰乱部23接受输出数据OUT,则将计数值递增1,在计数值不足规定扰乱次数的情况下,将(计数值+1)作为部分密钥序号发送到密钥控制部22,并且,将所接受的输出数据OUT作为输入数据IN输出到密钥生成请求部21。
在计数值与规定扰乱次数相同的情况下,次数控制部24不向密钥控制部22发送部分密钥序号,而将从数据扰乱部23接受的输出数据OUT作为中间数据CCT输出到数据替换部25。
这里,中间数据CCT是64比特数据。
数据替换部25取得中间数据CCT后,对中间数据CCT的低位32比特的值和高位32比特的值进行替换,并将作为该替换后的结果的加密数据CT输出到发送部14。
1.1.2.2.数据扰乱部23
下面,使用图3来详细说明数据扰乱部23。
数据扰乱部23构成为包含分割部31、数据变换部32、异或部33和结合部34。
分割部31在取得64比特的输入数据IN后,将作为输入数据IN的低位32比特的值的X0向异或部33输出,并将作为高位32比特的值的X1向数据变换部32输出。分割部31将X1向结合部34输出来作为Y0。
异或部33算出从分割部31取得的X0与从数据变换部32取得的X2之间的比特单位的异或(ExclusiveOR、XOR),并将其结果Y1(=X0(+)X2)向结合部34输出。
这里,“(+)”的记载表示异或运算。
结合部34从分割部31取得Y0,从异或部33取得Y1。然后,结合部34将Y0作为低位32比特,将Y1作为高位32比特来结合,并将作为其结合结果的64比特的输出数据OUT输出到次数控制部24。
数据变换部32在从分割部31取得X1,且从密钥控制部22取得了部分密钥SKi(SKi是SK1到SK8中的任意一个)的情况下,通过使用部分密钥SKi来对X1进行数据变换,而生成32比特的X2。并且,数据变换部32将所生成的X2向异或部33输出。
图4是表示数据变换部32的结构框图。
数据变换部32构成为包含加法部41、块分割部42、第1融合部43、第1扰乱部44、第2融合部45、块结合部46和第2扰乱部47。
加法部41在从分割部31受理了X1,从密钥控制部22受理了部分密钥SKi的情况下,对X1和Ski进行算术加法。并将作为其结果的T(=X1+SKi)输出到块分割部42。
这里所谓算术加法是指通常的有进位的加法,但是对第33比特舍去。换言之,这里的算术加法的结果是用通常有进位的加法结果除以2^32后的剩余。这里,“^”的记载表示幂乗运算,例如2^5=32。
块分割部42从加法部41受理上述的32比特的值T,将该T分割为由分别是8比特的数据构成的4个块A1、B1、A2、B2后输出到第1融合部43。这里,T的第1比特到第8比特为B2,第9比特到第16比特为A2,第17比特到第24比特为B1,第25比特到第32比特为A1。
第1融合部43如图5所示,构成为包含分别计算逻辑异或的异或部51和异或部52。
第1融合部43从块分割部42接受A1、B1、A2、B2。并且,对于A1、A2,原样输出到第1扰乱部44。下面,将原样输出到第1扰乱部44的由A1和A2构成的块数据群称作第1块数据群。并且,对于B1,通过异或部51来计算与A1的异或,并将其结果C1(=B1(+)A1)输出到第1扰乱部44。
对于B2,通过异或部52计算与A2的异或,并将其结果C2(=B2(+)A2)输出到第1扰乱部44。
下面,将由进行了异或计算的B1、B2构成的块数据群称作第2块数据群,将由作为其计算结果的C1、C2构成的块数据群称作第3块数据群。
第1扰乱部44如图6所示,构成为包含3比特旋转部55、5比特旋转部56、2比特旋转部57、6比特旋转部58、4比特旋转部59、7比特旋转部60、1比特旋转部61、5比特旋转部62与异或部63~66。
这里,图6中所示的记号“<<X”表示对输入值进行X比特的循环移位(shift-rotating)。
第1扰乱部44从第1融合部43受理A1、C1、A2、C2。
3比特旋转部55、5比特旋转部56、2比特旋转部57、6比特旋转部58、4比特旋转部59、7比特旋转部60、1比特旋转部61、5比特旋转部62分别进行循环移位运算来作为旋转运算。例如3比特旋转部55对输入数据实施3比特循环移位运算。在输入数据为2进制数据00110000的情况下,输入数据被3比特循环移位后的结果为10000001。
将第1扰乱部44受理的A1供给3比特旋转部55、5比特旋转部56、异或部63中的每一个。
下面,将这样块数据输入到多个处理部的情形称作分支(branching)。
3比特旋转部55对A1进行3比特循环移位运算,并将其结果(Rot(A1,3))输出到异或部63。
这里,“Rot(X,Y)”的标记表示对X进行Y比特循环移位后的值。5比特旋转部56对A1进行5比特的循环移位运算,并将其结果(Rot(A1,5))输出到异或部63。异或部63生成A1、Rot(A1,3)、Rot(A1,5)的异或,并将其结果D1(=A1(+)Rot(A1,3)(+)Rot(A1,5))输出到第2融合部45。
C1供给到2比特旋转部57、6比特旋转部58、异或部64中的每一个。2比特旋转部57对A1进行2比特循环移位运算,将其结果(Rot(C1,2))输出到异或部64。6比特旋转部58对C1进行6比特循环移位运算,将结果(Rot(C1,6))输出到异或部64。异或部64生成C1、Rot(C1,2)、Rot(C1,6)的异或,并将其结果E1(=C1(+)Rot(C1,2)(+)Rot(C1,6))输出到第2融合部45。
A2供给4比特旋转部59、7比特旋转部60、异或部65中的每一个。4比特旋转部59对A2进行4比特循环移位运算,并将其结果(Rot(A2,4))输出到异或部65。7比特旋转部60对A2进行7比特循环移位运算,并将其结果(Rot(A2,7))输出到异或部65。异或部65生成A2、Rot(A2,4)、Rot(A2,7)的异或,并将其结果D2(=A2(+)Rot(A2,4)(+)Rot(A2,7))输出到第2融合部45。
C2供给1比特旋转部60、5比特旋转部62、异或部66中的每一个。1比特旋转部61对C2进行1比特循环移位运算,并将其结果(Rot(C2,1))输出到异或部66。5比特旋转部62对C2进行5比特循环移位运算,并将其结果(Rot(C2,5))输出到异或部66。异或部66生成C2、Rot(C2,1)、Rot(C2,5)的异或,并将其结果E2(=C2(+)Rot(C2,1)(+)Rot(C2,5))输出到第2融合部45。
这里,将由作为对第1块数据群(A1、A2)的扰乱处理的结果的D1、D2构成的数据块群在下面称作第4块数据群。将由作为对第3块数据群(C1、C2)的扰乱处理结果的E1、E2构成的数据块群在下面称作第5块数据群。
第2融合部45如图7所示,构成为包含异或部71和异或部72,从第1扰乱部44受理D1、E1、D2、E2。第2融合部45对E1和E2进行分支,并对分支后的一个E1和E2,原样输出到块结合部46。
对于D1,异或部71计算与分支后的另一个E2的异或,并对块结合部46输出其结果F1(=D1(+)E2)。
对于D2,异或部72运算对分支后的另一个E1的异或,并对块结合部46输出其结果F2(=D2(+)E1)。
将由作为异或运算的结果的F1和F2构成的块数据群在下面称作第6块数据群。
这里,在第1融合部43和第2融合部45中,融合的块的组合不同。即,第1融合部43中,融合从左起第1个块(A1)和第2个块(B1),另外,融合第3个块(A2)和第4个块(B2)。与此相对,第2融合部45中,融合从左起第1个块(D1)和第4个块(E2),另外,融合第2个块(E1)与第3个块(D2)。
这是因为在提供例如仅1比特的值不同的多个输入数据时,可以扩展该1比特的不同对输出数据的影响范围。
块结合部46在从第2融合部45受理第5块数据群中含有的E1、E2和第6块数据群中含有的F1、F2后,结合F1、F2、E1、E2,并将作为其结合结果的32比特的值G输出到第2扰乱部47。这里,E2为G的第1比特到第8比特,F2是G的第9比特到第16比特,E1是G的第17比特到第24比特,F1是G的第25比特到第32比特。
第2扰乱部47构成为包含13比特旋转部73、17比特旋转部74和异或部75,从块结合部46接受G。
将G供给13比特旋转部73、17比特旋转部74、异或部75中的每一个。
13比特旋转部73对G进行13比特的循环移位运算,并将其结果(Rot(G,13))输出到异或部75。17比特旋转部74对G进行17比特的循环移位运算,并将其结果(Rot(G,5))输出到异或部75。异或部75生成G、Rot(G,13)、Rot(G,17)的异或,并将其结果X2(=G(+)Rot(G,13)(+)Rot(G,17))输出到异或部33。
1.2.解密装置3的结构
接着,说明解密装置3。
解密装置3如图1所示,构成为包含输出部15、解密部16、解密密钥保持部17和接收部18。
1.2.1.输出部15、解密密钥保持部17、接收部18
输出部15从解密部16取得解密数据DT后向外部输出。例如,将显示器与输出部15相连,输出部15将解密数据DT显示在上述显示器上。
解密密钥保持部17保持256比特的解密密钥DK。解密密钥DK的值与加密装置2的加密密钥保持部13保持的加密密钥CK的值相同。
接收部18经通信路径4从加密装置2的发送部14接收加密数据CT,并将该加密数据CT向解密部16输出。
1.2.2.解密部16
解密部16如图9所示,构成为包含密钥生成请求部81、密钥控制部82、数据扰乱部83和次数控制部84。解密部16具体上是具有多个功能部的专用微计算机等。各功能部通过写入到微计算机中的程序来实现。各功能部可以是独立的微计算机。
密钥生成请求部81在从接收部18受理了加密数据CT的输入的情况下,将部分密钥生成请求REQSK输出到密钥控制部82,对次数控制部84输出复位信号,并将加密数据CT作为输入数据IN输出到数据扰乱部83。
密钥生成请求部81在从次数控制部84接收到输入数据IN后,将其输入数据IN输出到数据扰乱部83。
密钥控制部82在从密钥生成请求部81接收到部分密钥生成请求REQSK后,从解密密钥保持部33取得256比特的解密密钥DK,并将解密密钥DK分割为分别为32比特长度的部分密钥SK1~SK8。具体上,解密密钥DK的第1比特到第32比特的值为部分密钥SK1,解密密钥DK的第33比特到第64比特的值为部分密钥SK2、…、解密密钥DK的第225比特到第256比特的值为部分密钥SK8。
密钥控制部82在从次数控制部84接收到值为j(j是1以上8以下的自然数)的部分密钥序号后,将与部分密钥序号对应的部分密钥SKj输出到数据扰乱部83。例如在部分密钥序号的值为1的情况下,密钥控制部82将部分密钥SK1输出到数据扰乱部83。
数据扰乱部83在从密钥生成请求部81取得64比特的输入数据IN,且从密钥控制部82取得了32比特的部分密钥SKj的情况下,使用部分密钥SKj与输入数据IN来进行扰乱处理,并将作为其结果的64比特的输出数据OUT输出到次数控制部84。由于数据扰乱部83的结构与数据扰乱部23的结构相同,所以省略说明。
次数控制部84对数据扰乱部83进行的扰乱处理的次数进行计数,并控制为将扰乱处理执行规定扰乱次数。本实施方式中设所述规定扰乱次数是8次。
次数控制部84在从密钥生成请求部81受理复位信号后,将计数值复位为0,并将(8—计数值)作为部分密钥序号发送到密钥控制部82。该情况下,发送到密钥控制部82的部分密钥序号是8。
并且,在从数据扰乱部83接受到输出数据OUT后,将计数值递增1,在计数值不足规定扰乱次数的情况下,将(8—计数值)作为部分密钥序号发送到密钥控制部22。即,通过与加密装置2中的加密所用的顺序相反的顺序来输出部分密钥。并且,次数控制部84将所接受的输出数据OUT作为输入数据IN输出到密钥生成请求部81。
在计数值与规定扰乱次数相同的情况下,次数控制部84不向密钥控制部82发送部分密钥序号,而将从数据扰乱部83接受的输出数据OUT作为解密中间数据DCT输出到数据替换部85。这里,解密中间数据DCT是64比特数据。
数据替换部85在取得64比特的解密中间数据DCT后,对解密中间数据DCT的低位32比特的值与高位32比特的值进行替换,并将作为其替换后的结果的解密数据DT输出到输出部15。
2.数据处理
2.1.加密处理
接着,使用附图说明通过如上这样构成的加密装置2,对输入数据IN进行的加密处理。
图10和图11是表示加密装置2进行的加密处理的图。
加密装置2中,首先将PT作为IN取得(步骤S1)。
接着,将作为内部变量的计数值初始化为0(步骤S2)。
将IN分割为高位32比特的值X1与低位32比特X0(步骤S3)。
并且,使用部分密钥SKi和X1来生成T(步骤s5)。
T←(SKi十X1)%2^32
这里,i是计数值+1(步骤s4)。“←”的记载表示代入,“X%Y”的记载表示剩余、即用Y除X后的情况下的余数。
T是32比特的值,从高位起按每8比特划分为4个(步骤S6)。该划分后的8比特的数据分别是A1、B1、A2、B2。
接着,使用A1、B1、A2、B2生成C1、C2(步骤S7)。
C1←B1(十)A1
C2←B2(十)A2
接着,分别使用A1、C1、A2、C2来生成D1、E1、D2、E2(步骤S8)。
D1←A1(十)Rot(A1,3)(十)Rot(A1,5)
E1←C1(十)Rot(C1,2)(十)Rot(C1,6)
D2←A2(十)Rot(A2,4)(十)Rot(A2,7)
E2←C2(十)Rot(C2,1)(十)Rot(C2,5)
接着,使用D1、E1、D2、E2生成F1和F2(步骤S9)。
F1←D1(十)E2
F2←D2(十)E1
并且,通过连结F1、F2、E1、E2来生成G(步骤S10)。
G←F1‖F2‖E1‖E2
这里,“‖”的记载表示比特连结。
并且,使用G生成X2(步骤S11)。
X2←G(十)Rot(G,13)(十)Rot(G,17)
接着,使用X0、X2生成Y1(步骤S12)。
Y1←X0(十)X2
接着,使用Y0和Y1生成OUT(步骤S13)。
OUT←Y1‖Y0
这里,Y0值与X1相同。
接着,将计数值递增1(步骤S14),在上述计数值不足8的情况下(步骤S15:是),将步骤S13中生成的输出数据OUT作为输入数据IN(步骤S16),并对该输入数据IN重复从步骤S3起的处理。
在上述计数值是8以上的情况下(步骤S15:否),将步骤S13中生成的输出数据OUT作为中间数据CCT(步骤S17),并通过对中间数据CCT的高位32比特和低位32比特的值进行替换,从而生成作为该替换后的结果的加密数据CT(步骤S18)。
2.2.解密处理
接着,使用附图来说明通过上述这样构成的解密装置3来解密处理通过上述的加密处理生成的CT的顺序。
解密装置3中,首先将CT作为IN取得(步骤S31)。
接着,将作为内部变量的计数值初始化为0(步骤S32)。
将IN分割为高位32比特的值X1和低位32比特X0(步骤S33)。
并且,使用部分密钥SKj和X1来生成T(步骤S35)。
T←(SKj十X1)%2^32
这里,j是8—计数值(步骤S34)。
T是32比特的值,从高位起每8比特划分为4个(步骤S36)。该划分后的8比特的数据分别是A1、B1、A2、B2。
接着,使用A1、B1、A2、B2来生成C1、C2(步骤S37)。
C1←B1(十)A1
C2←B2(十)A2
接着,分别使用A1、C1、A2、C2来生成D1、E1、D2、E2(步骤S38)。
D1←A1(十)Rot(A1,3)(十)Rot(A1,5)
E1←C1(十)Rot(C1,2)(十)Rot(C1,6)
D2←A2(十)Rot(A2,4)(十)Rot(A2,7)
E2←C2(十)Rot(C2,1)(十)Rot(C2,5)
接着,使用D1、E1、D2、E2来生成F1与F2(步骤S39)。
F1←D1(十)E2
F2←D2(十)E1
并且,通过连结F1、F2、E1、E2来生成G(步骤S40)。
G←F1‖F2‖E1‖E2
这里,“‖”的记载表示比特连结。
使用G生成X2(步骤S41)。
X2←G(十)Rot(G,13)(十)Rot(G,17)
接着,使用X0、X2生成Y1(步骤S42)。
Y1←X0(十)X2
接着,使用Y0与Y1来生成OUT(步骤S43)。
OUT←YI‖Y0
这里,若解密成功,则Y0值与X1相同。
接着,将计数值递增1(步骤S44),在上述计数值不足8的情况下(步骤S45:是),将步骤S43中生成的输出数据OUT作为加密数据CT(步骤S46),并对该加密数据CT重复从步骤S33起的处理。
上述计数值为8以上的情况下(步骤S45:否),将步骤S33中生成的输出数据OUT作为解密中间数据DCT(步骤S47),并通过对解密中间数据DCT的高位32比特与低位32比特的值进行替换,从而生成作为其结果的解密数据DT(步骤S48)。
3.效果
下面,对通过之前说明的本发明,实现可得到高扰乱性的效果进行说明。扰乱性的评价使用现有的评价方法。上述评价方法中,将输入某个输入数据后得到的输出数据与输入和上述输入数据有1比特不同的数据而得到的输出数据,有多少比特不同作为指标。比较各输出数据,不同的比特数越多,扰乱性越高。
这里,设对数据变换部32中的加法部41输入有1比特不同的2个输入数据。分别通过块分割部42、第1融合部43、第1扰乱部44、第2融合部45和块结合部46来处理2个输入数据。并且,比较与2个输入数据对应的来自块结合部46的输出来评价扰乱性。
由于根据2个输入数据的哪个位置的比特不同,评价结果不同,所以分为4种情形来加以说明。
3.12个输入数据间,第1比特到第8比特的某1个比特不同的情形
说明2个32比特输入数据中,第1比特到第8比特的某1个比特不同,其余31比特完全相同的情形。
具体而言,设2个输入数据在块分割部42的分割后,在成为B2的位置上含有的1比特不同。
首先,将2个输入数据分别输入到块分割部42。如上所述,块分割部42进行的各个输入数据的分割结果在B2中有1比特不同,其他A1、B1、A2完全相同。
并且,在第1融合部43中,将A2与B2融合,但由于A2的任何一个输入数据都相同,所以通过融合彼此不同的比特数没有增减。因此,第1融合部43的输出是,C2中有1比特不同,其他A1、C1、A2输入数据都完全相同。
接着,在第1扰乱部44中,进行第1融合部43的输出的扰乱处理。
第1扰乱部44的扰乱处理为在输入有1比特不同的情况下,输出必然有3比特不同的结构。这是因为:通过分别用不同移位数(旋转量)来循环移位(旋转)有1比特不同的部分,并且融合移位后的值。
因此,与输入C2对应的第1扰乱部44的输出E2变为有3比特不同。其他D1、E1、D2,由于任何一个输入数据的情况下作为扰乱对象的数据相同,所以完全相同。
第2融合部45中,将E2与D1融合。由于E2有3比特不同,D1输入数据全都完全相同,所以融合后的输出F1必然有3比特不同。其他E1、F2任何一个的输入数据都完全相同。
最后,在块结合部46中,结合F1、E1、F2、E2。这里,由于F1和E2分别平均有3比特不同,所以结合后的值、即输出有6比特不同。
3.2在2个输入数据间,第9比特到第16比特的某1个比特不同的情形
说明2个32比特输入数据中,第9比特到第16比特的某1个比特不同,其余31比特完全相同的情况。
具体而言,设2个输入数据,在块分割部42的分割后,在成为A2的位置上含有的1比特不同。
首先,将该2个输入数据分别输入到块分割部42。如上所述,基于块分割部42的各个输入数据的分割结果在A2中有1比特不同,其他A1、B1、B2完全相同。
在第1融合部43中,将有1比特不同的A2与完全相同的B2融合。因此,第1融合部43的输出中,变为A2和C2有1比特不同。其他A1、C1中输入数据全都完全相同。接着,在第1扰乱部44中,进行第1融合部43的输出的扰乱处理。与输入A2和输入C2对应的第1扰乱部44的输出D2与E2分别有3比特不同。其他D1、E1,由于任何一个输入数据的情况下作为扰乱对象的数据相同,所以完全相同。
在第2融合部45中,将E2与D1融合。E2有3比特不同,由于D1任何一个输入数据都完全相同,所以融合后的输出F1必然有3比特不同。由此,第2融合部45的输出中,F1、F2和E2分别有3比特不同。
最后,在块结合部46中,结合F1、E1、F2、E2。这里,由于F1、F2和E2分别平均有3比特不同,所以结合后的值、即输出有最低9比特不同。
3.3在2个输入数据间,第17比特到第24比特的某1个比特不同的情形
说明2个32比特输入数据中,第17比特到第24比特的某1个比特不同,其余31比特完全相同的情况。具体而言,设2个输入数据在块分割部42的分割后,成为B1的位置上含有的1比特不同。
首先,将该2个输入数据分别输入到块分割部42。如上所述,块分割部42进行的各个输入数据的分割结果在B1中有1比特不同,其他A1、A2、B2完全相同。
在第1融合部43中,由于即使将A1与B1融合,A1中任何一个输入数据都相同,所以通过融合彼此不同的比特数不增减。因此,第1融合部43的输出C1中有1比特不同,其他A1、A2、C2输入数据都完全相同。接着,在第1扰乱部44中,进行第1融合部43的输出的扰乱处理。与输入C1对应的第1扰乱部44的输出E1变为有3比特不同。其他D1、D2、E2,由于在任何一个输入数据的情况下作为扰乱对象的数据相同,所以完全相同。
在第2融合部45中,将E1与D2融合。由于E1有3比特不同,D2完全相同,所以融合后的输出F2必然有3比特不同。最后,在块结合部46中,结合F1、E1、F2、E2。这里,由于E1与F2分别平均有3比特不同,所以结合后的值、即、输出最低有6比特不同。
3.4在2个输入数据间,第25比特到第32比特的某1个比特不同的情形
说明在2个32比特输入数据中,第25比特到第32比特的某1个比特不同,其余31比特完全相同的情况。具体而言,设2个输入数据在块分割部42的分割后,在成为A1的位置上含有的1比特有不同。
首先,将该2个输入数据分别输入到块分割部42。如上所述,基于块分割部42的各个输入数据的分割结果在A1中有1比特不同,其他B1、A2、B2完全相同。
在第1融合部43中,有1比特不同的A1与完全相同的B1融合,而变为C1。由此,第1融合部43的输出中,A1和C1有1比特不同。
并且,其他的A2、C2输入数据任何之一都完全相同。接着,在第1扰乱部44中,进行A1和C1的扰乱处理。
与输入A1和输入C1对应的第1扰乱部44的输出D1与E1分别有3比特不同。其他D2、E2由于在任何一个输入数据的情况下作为扰乱对象的数据都相同,所以完全相同。
并且,在第2融合部45中,将E1与D2融合。由于E1有3比特不同。D2输入数据任何之一都完全相同,所以融合后的输出F2必然有3比特不同。
最后,在块结合部46中,结合F1、E1、F2、E2。这里,由于F1、E1和F2分别平均有3比特不同,所以结合后的值、即、输出变为最低有9比特不同。
3.5.总结
如以上所说明的,在向数据变换部32的2个输入仅有1比特不同的情况下,块结合部46对应的2个输出最低有6比特不同,可以实现高扰乱性。
这里,在数据变换部32的构成中,不包含代替处理(表变换运算),而全部由分割单元、异或、循环移位(旋转)构成。根据该结构,与代替处理(表变换运算)相比可以紧凑地实现硬件。由此,实现了高扰乱性能,同时可以减少硬件安装时的门规模。
在数据变换部32内的第1扰乱部32中,对所有分割后的块数据进行扰乱处理。
根据该结构,在提供彼此有1比特不同的2个输入数据的情况下,不管是哪1个比特不同的情形,都可保证通过对任意的块数据的扰乱处理,来扩大1比特的不同。
数据变换部32中,通过第1扰乱部44和第2扰乱部47,以不同的比特单位来进行扰乱处理。具体而言,第1扰乱部44中,进行8比特单位(块分割部42进行的分割结果的单位)的扰乱处理,第2扰乱部47中,进行32比特单位(输入数据整体的单位)的扰乱处理。
由于本实施方式的扰乱处理中使用的变换是线性处理,所以在以相同比特数单位来重复进行扰乱处理的情况下,有时使差抵消了,而不能扩展扰乱效果。但是,如本实施方式那样,通过进行以彼此不同的比特单位的变换,可以将差的抵消限制到最小限度,作为整体得到了高扰乱性能。
另外,在第1扰乱部44和第2扰乱部47中,在将数据分支为3个的基础上,进行3种旋转(包含0比特旋转),并融合这些结果。
进行这种变换处理是因为,进行3个以上的奇数个旋转,理论上表示了融合其结果的处理是双射(bijective)变换。在双射的情况下,由于变换后的值的可取的模式(pattern)数与变换前的值的可取的模式数相同,所以在变换不同的值的情况下,变换结果也必然为不同的值。根据该性质,在分别变换彼此有1比特不同的2个数据的情况下,可以保证变换结果也必然有1比特以上不同(例如上述实施方式中,必然有3比特不同)。
本实施方式中,在利用该性质来进行扰乱处理的基础上,还进一步通过融合处理等扩大1比特以上的差异,从而得到了高扰乱性能。
如从上述的说明可明白的,分支的数目和旋转种类的数目并不限于3个,最好是3个以上的奇数,例如可以是5个或7个等。
4.除此之外的说明
根据上述实施方式说明了本发明,但是本发明并不限于上述实施方式,当然可以在不脱离本发明的精神的范围内进行各种改变。
4.1.实施方式中说明的结构始终是一例,并不限于此。例如,作为旋转数(移位量)也可以是其他旋转量。
各构成要素的结构及顺序可以不同。
4.2.实施方式中所说明的结构为加密和解密64比特单位的数据的结构,但是,并不限于此。例如可以是32比特单位,也可以是128比特单位。
4.3.实施方式中说明的结构为使用256比特的加密密钥和解密密钥的结构,但是并不限于此。例如也可将128比特的密钥进行密钥扩大处理为256比特,并使用该256比特密钥。
4.4.实施方式中说明的结构中,没有使用一个代替处理(表变换运算),但是并不限于此。也可与几个代替处理组合。例如,也可以为替换第1扰乱部44的旋转部与融合部的一个组来使用代替处理的构成。由此,与使用多个代替处理的情况相比,可以减少硬件安装时的门规模。
4.5.实施方式中,本发明以通过硬件进行安装为前提进行了说明,但是当然也可作为软件来安装。上述中,描述作为硬件实现的情况下的效果,在用软件实现的情况下,根据本发明,由于不需要保持代替表用的存储器区域,所以即使是仅具有更少的存储器容量的设备,也可得到可具有高扰乱性的加密处理和解密处理的效果。
4.6.实施方式中,在块分割部42的处理前,通过加法部41对X1和部分密钥Ski进行了加法运算,但是并不限于此,也可通过其他运算来融合。例如,可考虑通过异或运算进行融合等。
4.7.第1扰乱部44中,对各块进行的旋转的移位量的组合对每个块不同。例如,对A1的移位量为(3比特、0比特、5比特),但是对C2的移位量为(2比特、0比特、6比特),为与对A1的移位量不同的移位量的组合。同样,对于对A2或C2的移位量的组合,与其他的任意块的移位量也不一致。
本实施方式中取这种结构是为了提高扰乱性能,但是本发明并不限于该结构。例如,可以使多个块中旋转的移位量的组合相同。在该情况下,进一步在第1扰乱部44中具有1组旋转部,在所有块中使用该1组旋转部。这时可以进一步减少电路规模。
4.8.本实施方式中,在将块进行4分割的基础上进行扰乱处理,但是并不限于此,也可分割为5个以上或3个以下。
4.9.本实施方式中,在第1扰乱部44和第2扰乱部47中,没有对分支为3个的数据中的1个设置旋转部,但是其是进行0比特的循环移位用的结构。
但是,并不限于此,也可以是对分支为3路的数据全部进行1比特以上循环移位的结构。但是,由于0比特的循环移位仅通过将分支后的数据原样输出到异或部就可实现,所以不需要追加电路。因此,使用0比特的循环移位对削减电路规模有效。
本实施方式中,在进行0比特的循环移位的情况下,原样使用分支后的数据。但是,在移位数是“0”的情况下,也可设置任何处理都不进行的伪旋转部。
4.10.循环移位可以是抛弃进位的移位。但是,在该情况下,不能保证双射性。
4.11.上述的各装置具体上是由微处理器、ROM、RAM、硬盘单元、显示器单元、键盘、鼠标等构成的计算机系统。所述RAM或所述硬盘单元中存储了计算机程序。所述微处理器通过根据所述计算机程序来动作,从而各装置实现其功能。这里,计算机程序为了实现规定的功能,而组合多个表示对计算机的指令的命令码来构成。
4.12.构成上述各装置的构成要素的一部分或全部可以由1个系统LSI(Large Scale Integration:大规模集成电路)构成。
系统LSI是在1个芯片上集成多个结构部而加以制造的超多功能LSI,具体上,是构成为包含微处理器、ROM、RAM等的计算机系统。所述RAM中存储了计算机程序。
通过所述微处理器根据所述计算机程序来动作,从而系统LSI实现了其功能。这些可以分别单芯片化,也可单芯片化而使其包含一部分或全部功能。
这里,作为系统LSI根据集成度的不同,还可称作IC、系统LSI、超(super)LSI、甚(ultra)LSI。
集成电路化的方法并不限于LSI,也可通过专用电路或通用处理器来实现。也可使用在LSI制造后,能进行编程的FPGA(Field Programmable GateArray:现场可编程门阵列)及可重构LSI内部的电路单元的连接和设置的可重构处理器。
进一步,若因半导体技术的进步或派生的其他技术,替换LSI的集成电路化的技术出现,当然也可使用该技术来进行功能块的集成。也可以使用生物技术等。
4.13.构成上述各装置的构成要素的一部分或全部可以由可在各装置装拆的IC卡或单体的模块构成。所述IC卡或所述模块是由微处理器、ROM、RAM等构成的计算机系统。所述IC卡或所述模块也可包含上述的超多功能LSI。通过微处理器根据计算机程序来动作,所述IC卡或所述模块实现其功能。该IC卡或该模块可以具有抗篡改性。
4.14.本发明可以是上述所示的方法。可以是通过计算机实现这些方法的计算机程序,也可以是由所述计算机程序构成的数字信号。
本发明可以将所述计算机程序或所述数字信号记录在计算机可读取的记录媒体——例如:软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray Disc:蓝光光盘)、半导体存储器等中。也可以是在这些记录媒体上记录的所述计算机程序或所述数字信号。
本发明可以经电通信线路、无线或有线通信线路、以互联网为代表的网络、数据广播等来传送所述计算机程序或所述数字信号。
通过将所述程序或所述数字信号记录到所述记录媒体加以传送,或将所述程序或所述数字信号经所述网络等加以传送,可以通过独立的其他计算机系统来加以实施。
4.15.可以分别组合上述实施方式和上述变形例。
产业上的可用性
本发明的数据变换装置可以用于网络上的机密通信、认证、著作权保护用途等,适用于要求高数据扰乱性能及硬件的小型化的便携端末装置、数字家电设备等。

Claims (13)

1、一种加密处理装置,具备将n比特的输入数据变换为n比特的输出数据的数据变换单元,其特征在于:
所述数据变换单元包括:
取得单元,取得由分别含有1个以上的块数据的第1块群和第2块群构成的所述输入数据;
第1融合单元,使所述第1块群中含有的任意的块数据分支而相对所述第2块群中含有的1个以上的块数据进行融合,从而由所述第2块群生成第3块群;
扰乱单元,分别对于所述第1和第3块群中含有的1个以上的块数据,将该块数据分支为2个以上,并对分支后的块数据进行循环移位,融合循环移位结果,从而由所述第1和第3块群生成第4和第5块群;
第2融合单元,使所述第5块群中含有的任意块数据分支而相对所述第4块群中含有的1个以上的块数据进行融合,从而由所述第4块群生成第6块群;以及
输出单元,输出由所述第5和第6块群的块数据构成的所述输出数据。
2、根据权利要求1所述的加密处理装置,其特征在于:
所述扰乱单元将所述块数据分支为奇数个,并对所述分支后的块数据分别进行不同比特数的循环移位。
3、根据权利要求1所述的加密处理装置,其特征在于:
所述第1块群中含有的块数据的个数与所述第2块群中含有的块数据的个数相等;
所述第1融合单元使所述第1块群中含有的任意块数据分支而相对所述第2块群中含有的所有的各块数据进行融合。
4、根据权利要求1所述的加密处理装置,其特征在于:
所述扰乱单元分别对于所述第1和第3块群的所有块数据,将块数据分支为2个以上。
5、根据权利要求1所述的加密处理装置,其特征在于:
所述第2融合单元使所述第5块群中含有的任意块数据分支而分别相对所述第4块群中含有的所有块数据进行融合。
6、根据权利要求1所述的加密处理装置,其特征在于:
所述第2融合单元中,融合的2个块数据在两个块数据生成过程中使用的块数据不同。
7、根据权利要求1所述的加密处理装置,其特征在于:
所述数据变换单元还包括密钥融合单元,该密钥融合单元使预先提供的密钥数据与通过所述取得单元取得的所述输入数据融合而输出到所述第1融合单元。
8、根据权利要求7所述的加密处理装置,其特征在于:
所述密钥融合单元通过对所述密钥数据和所述输入数据进行异或运算或算术加法运算来加以融合。
9、根据权利要求1所述的加密处理装置,其特征在于:
所述数据变换单元还包括最终扰乱单元,在所述输出单元进行的输出前,该最终扰乱单元对于所述输出数据,将所述输出数据分支为2个以上,并对分支后的输出数据进行循环移位,并对循环移位结果进行融合。
10、一种数据变换方法,用于加密处理装置所具备的数据变换单元,该数据变换单元将n比特的输入数据变换为n比特的输出数据,其特征在于,该方法包括:
取得步骤,取得由分别含有1个以上的块数据的第1块群和第2块群构成的所述输入数据;
第1融合步骤,使所述第1块群中含有的任意块数据分支而相对所述第2块群中含有的1个以上的块数据进行融合,从而由所述第2块群生成第3块群;
扰乱步骤,分别对于所述第1和第3块群中含有的1个以上的块数据,将该块数据分支为2个以上,并对分支后的块数据进行循环移位,融合循环移位结果,从而由所述第1和第3块群生成第4和第5块群;
第2融合步骤,使所述第5块群中含有的任意块数据分支而相对所述第4块群中含有的1个以上的块数据进行融合,从而由所述第4块群生成第6块群;以及
输出步骤,输出由所述第5和第6块群的块数据构成的所述输出数据。
11、一种数据变换程序,用于加密处理装置所具备的数据变换单元,该数据变换单元将n比特的输入数据变换为n比特的输出数据,其特征在于,该程序包括:
取得步骤,取得由分别含有1个以上的块数据的第1块群和第2块群构成的所述输入数据;
第1融合步骤,使所述第1块群中含有的任意块数据分支而相对所述第2块群中含有的1个以上的块数据进行融合,从而由所述第2块群生成第3块群;
扰乱步骤,分别对于所述第1和第3块群中含有的1个以上的块数据,将该块数据分支为2个以上,并对分支后的块数据进行循环移位,融合循环移位结果,从而由所述第1和第3块群生成第4和第5块群;
第2融合步骤,使所述第5块群中含有的任意块数据分支而相对所述第4块群中含有的1个以上的块数据进行融合,从而由所述第4块群生成第6块群;以及
输出步骤,输出由所述第5和第6块群的块数据构成的所述输出数据。
12、一种记录媒体,其特征在于:记录了权利要求11所述的数据变换程序。
13、一种集成电路,用于具备数据变换单元的加密处理装置,该数据变换单元将n比特的输入数据变换为n比特的输出数据,其特征在于:
该集成电路包括:
取得单元,取得由分别含有1个以上的块数据的第1块群和第2块群构成的所述输入数据;
第1融合单元,使所述第1块群中含有的任意块数据分支而相对所述第2块群中含有的1个以上的块数据进行融合,从而由所述第2块群生成第3块群;
扰乱单元,分别对于所述第1和第3块群中含有的1个以上的块数据,将该块数据分支为2个以上,并对分支后的块数据进行循环移位,融合循环移位结果,从而由所述第1和第3块群生成第4和第5块群;
第2融合单元,使所述第5块群中含有的任意块数据分支而相对所述第4块群中含有的1个以上的块数据进行融合,从而由所述第4块群生成第6块群;以及
输出单元,输出由所述第5和第6块群的块数据构成的所述输出数据。
CN2007800235202A 2006-06-23 2007-06-19 加密处理装置、数据变换方法和集成电路 Active CN101479774B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006173322 2006-06-23
JP173322/2006 2006-06-23
PCT/JP2007/062265 WO2007148665A1 (ja) 2006-06-23 2007-06-19 暗号処理装置、データ変換方法、データ変換プログラム、記録媒体及び集積回路

Publications (2)

Publication Number Publication Date
CN101479774A true CN101479774A (zh) 2009-07-08
CN101479774B CN101479774B (zh) 2010-12-08

Family

ID=38833407

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800235202A Active CN101479774B (zh) 2006-06-23 2007-06-19 加密处理装置、数据变换方法和集成电路

Country Status (4)

Country Link
US (1) US8135130B2 (zh)
JP (1) JP4189439B2 (zh)
CN (1) CN101479774B (zh)
WO (1) WO2007148665A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103237010A (zh) * 2010-10-25 2013-08-07 北京中科联众科技股份有限公司 以加密方式提供数字内容的服务器端
CN103944712A (zh) * 2014-05-16 2014-07-23 西北大学 一种mbe-ssp控制码序列产生方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9124423B2 (en) * 2010-05-14 2015-09-01 International Business Machines Corporation Iterative data secret-sharing transformation
US9684580B2 (en) * 2013-11-05 2017-06-20 Ixia Methods, systems, and computer readable media for efficient scrambling of data for line rate transmission in high speed communications networks

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4850019A (en) * 1985-11-08 1989-07-18 Nippon Telegraph And Telephone Corporation Data randomization equipment
JPS62113191A (ja) 1985-11-13 1987-05-25 日本電信電話株式会社 デ−タ拡散装置
US5351299A (en) * 1992-06-05 1994-09-27 Matsushita Electric Industrial Co., Ltd. Apparatus and method for data encryption with block selection keys and data encryption keys
US5623549A (en) * 1995-01-30 1997-04-22 Ritter; Terry F. Cipher mechanisms with fencing and balanced block mixing
US5724428A (en) * 1995-11-01 1998-03-03 Rsa Data Security, Inc. Block encryption algorithm with data-dependent rotations
US5896406A (en) * 1997-03-31 1999-04-20 Adaptec, Inc. Shift register-based XOR accumulator engine for generating parity in a data processing system
US6269163B1 (en) * 1998-06-15 2001-07-31 Rsa Security Inc. Enhanced block ciphers with data-dependent rotations
US6490353B1 (en) * 1998-11-23 2002-12-03 Tan Daniel Tiong Hok Data encrypting and decrypting apparatus and method
US6304657B1 (en) * 1999-05-26 2001-10-16 Matsushita Electric Industrial Co., Ltd. Data encryption apparatus using odd number of shift-rotations and method
JP3190648B2 (ja) * 1999-05-26 2001-07-23 松下電器産業株式会社 データ暗号化装置及びその方法
JP3736731B2 (ja) * 2000-02-22 2006-01-18 日本電信電話株式会社 置換処理装置およびそのプログラム記録媒体
GB2374258B (en) * 2001-04-05 2004-03-31 Ibm Method and apparatus for encryption of data

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103237010A (zh) * 2010-10-25 2013-08-07 北京中科联众科技股份有限公司 以加密方式提供数字内容的服务器端
CN103237010B (zh) * 2010-10-25 2016-12-28 北京中科联众科技股份有限公司 以加密方式提供数字内容的服务器端
CN103944712A (zh) * 2014-05-16 2014-07-23 西北大学 一种mbe-ssp控制码序列产生方法
CN103944712B (zh) * 2014-05-16 2017-01-18 西北大学 一种mbe‑ssp控制码序列产生方法

Also Published As

Publication number Publication date
JPWO2007148665A1 (ja) 2009-11-19
US20100150346A1 (en) 2010-06-17
CN101479774B (zh) 2010-12-08
US8135130B2 (en) 2012-03-13
JP4189439B2 (ja) 2008-12-03
WO2007148665A1 (ja) 2007-12-27

Similar Documents

Publication Publication Date Title
TWI750223B (zh) 區塊鏈加密射頻晶片存儲設計方法
EP1081889B1 (en) Extended key generator, encryption / decryption unit, extended key generation method, and storage medium
CN101206816B (zh) 运算处理装置和运算处理控制方法
CN105049400B (zh) 在白盒实现方案中拆分s盒以防止攻击
CN105324956B (zh) 加密明文数据的方法及设备
CN101292274B (zh) 信息安全装置、信息安全方法、计算机程序、计算机可读取的记录媒体及集成电路
US6606385B1 (en) Data encrypting/decrypting conversion methods and apparatuses and data communication system adopting the same
CN101206815A (zh) 加密处理、加密装置和存储加密程序的计算机可读介质
US20150195089A1 (en) Data scramble device, security device, security system, and data scramble method
Alarood et al. IES: Hyper-chaotic plain image encryption scheme using improved shuffled confusion-diffusion
SG193544A1 (en) Cyrptographic processing device, cryptographic processing method, and program
JP5198539B2 (ja) 記憶装置、アクセス装置およびプログラム
CN110505054B (zh) 一种基于动态白盒的数据处理方法、装置及设备
CN101479774B (zh) 加密处理装置、数据变换方法和集成电路
CN105007256A (zh) 用于在非信任平台上执行安全功能的安全模块
CN113098675B (zh) 基于多项式完全同态的二进制数据加密系统及方法
CN111314270B (zh) 一种基于有效期均匀分布对称算法的数据加密和解密方法
JP4515716B2 (ja) 拡大鍵生成装置、暗号化装置および暗号化システム
CN101267295A (zh) 用于安全通信系统中处理信息的方法和系统
CN111314052B (zh) 一种数据加密和解密方法
EP3406050B1 (en) Method for safeguarding the confidentiality of the sender&#39;s identification of messages transmitted through promiscuous channels
CN101169776A (zh) 提升中央处理单元运算效能的数据加密方法及加密装置
KR101625018B1 (ko) 데이터 암호화 장치 및 방법, 그를 이용한 컴퓨팅 장치 및 통신 장치
JP6296589B2 (ja) 暗号処理システム
JP2007295342A (ja) 暗号通信システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant