CN1164912A - 数据变换装置及数据变换方法 - Google Patents

数据变换装置及数据变换方法 Download PDF

Info

Publication number
CN1164912A
CN1164912A CN96191019A CN96191019A CN1164912A CN 1164912 A CN1164912 A CN 1164912A CN 96191019 A CN96191019 A CN 96191019A CN 96191019 A CN96191019 A CN 96191019A CN 1164912 A CN1164912 A CN 1164912A
Authority
CN
China
Prior art keywords
data
subcommutation
handling part
input
mentioned
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
CN96191019A
Other languages
English (en)
Other versions
CN1136692C (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of CN1164912A publication Critical patent/CN1164912A/zh
Application granted granted Critical
Publication of CN1136692C publication Critical patent/CN1136692C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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
    • H04L9/0625Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation with splitting of the data block into left and right halves, e.g. Feistel based algorithms, DES, FEAL, IDEA or KASUMI
    • 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/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations

Abstract

备有如下的结构,即:对2个任意的A输入数据(101)及B输入数据(102),用第1密钥参数(111)对上述A输入数据进行第1非线性变换,将该第1非线性变换后的变换结果(109)与B输入数据(102)的“异”运算结果作为B中间数据(106),并将其作为下一级副变换处理部(122)的B输入数据,将B输入数据(102)作为下一级副变换处理部的A输入数据,用第2密钥参数(112)对其进行第2非线性变换,将该第2非线性变换后的输出数据与B中间数据(106)的“异”运算结果作为B中间数据(108),并将其作为下一级的副变换处理部(123)的B输入数据;将上述结构以级联方式连接,并将最后的A中间数据及B中间数据作为变换后的输出数据(103及104)。

Description

数据变换装置及数据变换方法
技术领域
本发明涉及用于在信息通信等中保护数字信息的对输入数据进行加密和解密及数据扩展等的数据变换装置及数据变换方法。背景技术
作为现有的加密用数据变换方法,有例如宫口等的FEAL-8算法(宫口、白石、清水「FEAL-8加密算法」NTT研究实用化报告第39卷第4/5号,1988)。
图29示出该FEAL-8加密算法的一部分。
在图中,1001及1002是2系统的输入数据,1003及1004是2系统的输出数据,1005、1006、1007、1008是中间数据。此外,1011、1012、1013、1014分别为第1、第2、第3、第4密钥参数,1021、1022、1023、1024是各级的副变换处理部,作为其构成要素,有1031、1032、1033、1034的非线性变换电路及1041、1042、1043、1044的“异”电路。
其次,对动作进行说明。首先,所输入的2系统的输入数据1001、1002,输入到第1级副变换处理部1021,其结果是被变换为新的2系统的中间数据1005、1006。接着,这两个变换后的中间数据输入到第2级副变换处理部1022,其结果是被变换为新的2系统的中间数据1007、1008。该操作总计进行8次,经第8级副变换处理后的2系统的数据作为最后的输出数据1003、1004输出。
现以第1级副变换处理部1021为例说明上述副变换处理部的动作。
副变换处理部1021,输入2系统的输入数据1001、1002,输出2系统的中间数据1005、1006。第2输入数据1002,如上述文献的研究实用化报告所述,在非线性变换电路1031内,进行着这样的非线性变换,即以字节为单位分割,并与密钥参数进行“异”运算,接着反复进行算术加法运算,最后将被分割后的数据合并。在将该变换后的数据与第1输入数据1001进行“异”运算后,得到第1级的变换结果,作为第2中间数据1006输出。而第2输入数据1002则直接作为第1中间数据1005输出。
在第2级副变换处理部1022内,以与上述同样的处理过程得到第2级的中间数据,以下,在本例中以同样方式进行总计8级的处理,并作为最终结果获得输出数据1003及1004。
现有的数据变换装置,其结构如上所述,只能在一级的副变换处理中所包含的非线性变换完成后才能输出数据,并用作下一级的副变换处理的输入。即,各副变换处理必须依次进行,存在着处理缓慢的课题。
本发明是为解决上述课题而开发的,其目的是以并行方式进行多个副变换处理,以使加密·解密及数据扩展等数据变换处理高速化。
发明的公开
与本发明有关的数据变换装置,备有如下结构,即,对2个任意的A输入数据及B输入数据,用第1密钥参数对该A输入数据进行第1非线性变换,将该第1非线性变换后的输出数据与B输入数据的“异”运算结果作为B中间数据输出,并将上述B输入数据直接作为A中间数据输出,用第2密钥参数对上述A中间数据进行第2非线性变换,将该第2非线性变换后的输出数据与B中间数据的“异”运算结果作为下一个B中间数据输出,并将上述B中间数据直接作为下一个A中间数据输出;将上述结构以级联方式连接,并将最后的A中间数据及B中间数据作为变换后的输出数据。
另外,在基本结构中,将从第1非线性变换的输入侧到第2非线性变换的输入侧之间存在的第1非线性变换电路及“异”电路作为第1副变换处理部,将从第2非线性变换的输入侧到下一个第1非线性变换的输入侧之间存在的第2非线性变换电路及“异”电路作为第2副变换处理部,或者,将从第1非线性变换的输出侧到第2非线性变换的输出侧之间存在的“异”电路及第2非线性变换电路作为第1副变换处理部,将从第2非线性变换的输出侧到下一个第1非线性变换的输出侧之间存在的“异”电路及第1非线性变换电路作为第2副变换处理部,将该第1副变换处理部与第2副变换处理部按必要的级数交叉连接,并在最末级将从第1或第2的任何一个副变换处理部输出的A中间数据及B中间数据作为变换后的输出数据。
另外,除上述基本结构外,作为各副变换处理部中的非线性变换电路,还将基本结构的数据变换装置按嵌套结构使用。
与本发明有关的数据变换方法,包括以下步骤:第1步骤,对2个任意的A输入数据及B输入数据,将该B输入数据直接作为第一A中间数据输出;第2步骤,用第1密钥参数对A输入数据进行非线性变换,求取该非线性变换后的输出数据与B输入数据的“异”运算结果,作为第一B中间数据输出;第3步骤,输入第一B中间数据,并直接作为第二A中间数据输出;及第4步骤,输入第一A中间数据并用第2密钥参数进行非线性变换,求取该非线性变换后的输出数据与第一B中间数据的“异”运算结果,作为第二B中间数据输出;反复进行第1到第4步骤,最后使其在第2或第4步骤终止,而将最后的A中间数据及B中间数据作为变换数据。
或者,备有将非线性变换和“异”运算的运算顺序改变后的与上述方法等效的步骤。
另外,除基本结构外,将从第1非线性变换的输入侧到第2非线性变换的输入侧之间存在的第1非线性变换电路及“异”电路作为第1副变换处理部,将从第2非线性变换的输入侧到下一个第1非线性变换的输入侧之间存在的第2非线性变换电路及“异”电路作为第2副变换处理部,或将从第1非线性变换的输出侧到第2非线性变换的输出侧之间存在的“异”电路及第2非线性变换电路作为第1副变换处理部,将从第2非线性变换的输出侧到下一个第1非线性变换的输出侧之间存在的“异”电路及第1非线性变换电路作为第2副变换处理部,将第1副变换处理部与第2副变换处理部按必要的级数交叉连接,并在最初的第1副变换处理部的输入侧附加数据选择部,而在最后的第1或第2的任何一个副变换处理部的输出侧附加数据保持部,在开始时,由上述数据选择部对2个任意的A输入数据及B输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入上述数据保持部的输出并进行变换处理,最后从第1或第2的任何一个副变换处理部输出并保持在数据保持部内,将所输出的A中间数据及B中间数据作为变换后的输出数据。
另外,除基本结构外,将2个任意的A输入数据及B输入数据取相同的位数,另外,将从第1非线性变换的输入侧到第2非线性变换的输入侧之间存在的第1非线性变换电路及“异”电路、或从第2非线性变换的输入侧到下一个第1非线性变换的输入侧之间存在的第2非线性变换电路及“异”电路作为副变换处理部,将副变换处理部按必要的级数连接,并在最初的副变换处理部的A、B各输入侧附加数据选择部,在最后的副变换处理部的A、B各输出侧附加数据保持部,在开始时,由上述数据选择部对A输入数据及B输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入数据保持部的输出并进行变换处理,最后将从数据保持部输出的A中间数据及B中间数据作为变换后的输出。
另外,在第1或第2非线性变换时,进行如下的非线性变换,即:将对该副变换处理部的A输入数据按任意位数分割,并作为A1输入数据和A2输入数据,此外,将密钥参数也按任意位数分割,并作为第1分割密钥参数至第n分割密钥参数;第1内部副变换处理部,用与以第1分割密钥参数对从A输入数据分出的A1输入数据进行内部非线性变换,将经过内部非线性变换后的输出数据与A2与输入数据的“异”运算结果,作为第一A2内部中间数据输出,并将A2输入数据直接作为第一A1内部中间数据输出;第2内部副变换处理部,用于将第1内部副变换处理部的第一A1内部中间数据作为A1输入数据,用第2分割密钥参数进行内部非线性变换,将第一A2内部中间数据作为A2输入数据,并将经过内部非线性变换后的输出数据与A2输入数据的“异”运算结果,作为第二A2内部中间数据输出,并将第一A2内部中间数据直接作为第二A1内部中间数据输出;将第1内部副变换处理部与第2内部副变换处理部按n级交叉连接,并在最初的第1内部副变换处理部的输入侧附加内部数据选择部,而在最后的第1和第2的任何一个内部副变换处理部的输出侧附加内部数据保持部,在开始时,由内部数据选择部对A1输入数据及A2输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入上述内部数据保持部的输出并进行内部变换处理,最后将从内部数据保持部输出的A1中间数据及A2中间数据合并,作为变换后的A输出数据。
另外,在各副变换处理部中的非线性变换时,进行如下的非线性变换,即:将对该副变换处理部的A输入数据按任意位数分割,并作为A1输入数据和A2输入数据,此外,将密钥参数也按任意位数分割,并作为第1分割密钥参数至第n分割密钥参数;第1内部副变换处理部,用第1分割密钥参数对将从A输入数据分出的A1输入数据进行内部非线性变换,将经过内部非线性变换后的输出数据作为第一A2内部中间数据输出,并将A1输入数据与A2输入数据的“异”运算结果,作为第一A1内部中间数据输出;第2内部副变换处理部,用于将第1内部副变换处理部的第一A1内部中间数据作为A1输入数据,用第2分割密钥参数进行内部非线性变换后作为第二A2内部中间数据输出,求取将第一A1内部中间数据和A2内部中间数据作为A1输入数据和A2输入数据的“异”运算结果,作为第二A1内部中间数据输出;将第1内部副变换处理部与第2内部副变换处理部按n级交叉连接,并在最初的第1内部副变换处理部的各输入侧附加内部数据选择部,而在最后的第1和第2的任何一个内部副变换处理部的输出侧附加内部数据保持部,在开始时,由内部数据选择部对A1输入数据及A2输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入内部数据保持部的输出并进行内部变换处理,最后将从内部数据保持部输出的A1中间数据及A2中间数据合并,作为变换后的A输出数据。
另外,当对上述或前面记述的各副变换处理部中的非线性变换的A输入数据按相等的位长分割时,仅将第1内部变换处理部按必要的级数连接。
另外,将第1内部副变换处理部与第2内部副变换处理部按必要的级数交叉连接,并在最初的第1内部副变换处理部的输入侧附加内部数据选择部,而在最后的第1和第2的任何一个内部副变换处理部的输出侧附加内部数据保持部,在开始时,由内部数据选择部对B1输入数据及B2输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入内部数据保持部的输出并进行内部变换处理,最后将从内部数据保持部输出的B1中间数据及B2中间数据合并,作为变换后的B输出数据。
另外,当对上述各副变换处理部中的内部副变换处理部的B输入数据的各分割数据位长相等时,仅将第1内部变换处理部按必要的级数连接。
另外,各密钥参数的副变换处理部在结构上按偶数级连接,在最初的副变换处理部的输入侧附加数据选择部,而在最后的副变换处理部的输出侧附加数据保持部,此外,还附加密钥参数供给部。在开始时,由上述数据选择部对2个任意的A输入数据及B输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入上述数据保持部的输出并反复进行必要次数的变换处理,这时,密钥参数供给部相应于反复的变换处理向各副变换处理部供给密钥参数,最后将从数据保持部输出的A中间数据及B中间数据作为变换后的输出数据。
另外,作为非线性变换电路至少对其一个采用伽罗瓦域上的X的n次方电路。
另外,伽罗瓦域上的元素X的n次方电路按正规基构成。
另外,非线性变换电路的至少一部分采用只读存储器。
另外,非线性变换电路的至少一部分采用随机存取存储器。
另外,非线性变换电路的至少一部分采用逻辑电路。
另外,将由2个“异”电路、及“与”或“或”电路构成的2个逻辑运算电路作为数据变换部,附加在第1副变换处理部的A输入及B输入的任何一个或各输入侧,再将A输入或B输入分成2个任意位长的AA数据及AB数据,将密钥参数分成对应的A变换密钥参数及B变换密钥参数,对AA数据与A变换密钥参数进行第1“与”或“或”运算,将第1“与”/“或”运算后的输出数据与上述AB数据进行第1“异”运算,并将第1“异”运算的输出作为AB数据变换后的输出数据,将上述第1“异”运算的输出与B变换密钥参数进行第2“与”或“或”运算,将该第2“与”/“或”运算后的输出数据与上述AA数据进行第2“异”运算,并将第2“异”运算的输出作为AA数据变换后的输出数据,将AA数据变换后的输出数据和AB数据变换后的输出数据合并,作为A输入数据或B输入数据向下一级输出。
附图的简单说明
图1是实施形态1的数据变换装置的结构框图。
图2是表示非线性变换电路一例的结构图。
图3是实施形态2的数据变换装置的结构框图。
图4是表示实施形态1和2的数据变换装置的同一性的图。
图5是表示与实施形态1和2的数据变换装置结构相同的另一例的图。
图6是表示实施形态3的数据变换装置基本结构的一部分及副变换处理部中的非线性变换电路的结构的图。
图7是表示实施形态3的数据变换装置的全部副变换处理部的接线结构图。
图8是说明图7中连接的装置的数据变换程序的图。
图9是说明图7中连接的装置的数据变换程序的图。
图10是说明图7中连接的装置的数据变换程序的图。
图11是表示实施形态4的数据变换装置基本结构的一部分及副变换处理部中的非线性变换电路的结构的图。
图12是说明实施形态4的数据变换装置的一部分副变换处理部的连接、及其数据变换程序的图。
图13是表示实施形态5的数据变换装置基本结构及副变换处理部中的非线性变换电路的结构的图。
图14是实施形态6的数据变换装置的结构框图。
图15是实施形态7的数据变换装置的结构框图。
图16是实施形态8的数据变换装置的结构框图。
图17是实施形态9的数据变换装置的结构框图。
图18是表示实施形态9的数据变换装置中的外部非线性变换电路的结构的图。
图19是表示实施形态9的数据变换装置中的内部非线性变换电路中的内部非线性变换电路的结构的图。
图20是表示实施形态9的数据变换装置的内部非线性变换电路中的非线性要素(变换表)的例的图。
图21是表示实施形态9的数据变换装置的内部非线性变换电路中的非线性要素(变换表)的例的图。
图22是表示在伽罗瓦域上的X的n次方电路中以正规基构成图19的内部非线性变换电路中的非线性处理要素的例的图。
图23是实施形态10的数据变换装置的结构框图。
图24是表示图24的数据变换部的详细结构的图。
图25是实施形态11的另一种数据变换装置的结构框图。
图26是将实施形态1~11的特征集中后的图。
图27是表示本发明的数据变换装置的应用例的图。
图28是表示本发明的数据变换装置的应用例的图。
图29是表示现有的数据变换装置的结构的图。
实施发明的最佳形态
实施形态1
以保守信息处理数据的机密性或当事人之间通信内容的机密性为目的,加密和解密技术正引起人们的注目。当进行这种加密·解密的数据变换时,获得数据变换处理的高速性和降低局外人破译密码的危险性,是至关重要的。
对于加密,已知有用密钥参数对输入数据进行非线性变换的技术。而作为表示密码强度的尺度,有所谓差分概率这一概念,该差分概率的值越小,则密码越强。按照文献1:Kaisa Nyberg,Lars Ramkilde Knudsen,Provable Security AgainstDifferential Cryptanalysis(对差分密码分析的可证明保密性),Journal of Cryptology vol.8 No.1(1995),在将多个副变换处理联在一起进行加密时,如果各副变换处理的非线性变换的差分概率为p,则表示以下情况成立。
(1)如规定以输入数据和输出数据一对一的方式执行非线性变换,则若副变换处理为3级以上时,总体的差分概率在2p2以下。
这里,规定输入数据和输出数据为一对一的含义指的是,例如,当相对于取0~255的任何值的输入数据X输出取0~255的任何值的输出数据Y时,输入数据X的某个值和输出数据Y的某个值一对一地对应,并构成成对数据。例如,当输入数据X的值为8时,输出数据Y的值一定为125。
在图29所示类型的算法中,如果非线性变换电路1031、1032、1033三个非线性变换的差分概率分别为p,则图29所示类型算法的总体差分概率在2p2以下。
现有例的FEAL算法是图29所示类型的算法,但实际上由于FEAL的各副变换处理的非线性变换的差分概率P为1,所以按照以上的讨论也只能得到算法的总体差分概率在2以下的结论,并不能得到有关密码强度的任何证明。
图2是表示以往已知的非线性变换电路的一例的图。
在图中,151是非线性变换电路中的“异”电路,152是同一伽罗瓦域的反元素电路。但是,对0输入,输出为0。此外,n表示输入输出的位尺寸。当使用图2的结构作为非线性变换电路时,从其结构可知,差分概率p=2/2n(n为奇数时)、p=4/2n(n为偶数时)。
然而,图2的伽罗瓦域反元素电路152存在着如输入数据的尺寸大、则其规模变大的缺点。
按照本发明,即使采用以下说明的结构,上述(1)的记述也成立,这一点由文献2可以查明,即文献2:「关于分组密码的差分译码法及线性译码法的可证明安全性」(松井充,第18届信息理论及其应用讨论会预约论文集,1995年10月24日~27日)。此外,如根据文献2,则在本发明中,即使作为非线性变换采用与图29所示相同的形式,也能使(1)的2p2变为p2,所以能进一步加强密码的强度。
在本实施形态中,说明了使用可评价为差分概率p小的副变换处理部、且能以高速进行数据变换的数据变换装置。
图1是表示本实施形态的数据变换装置结构的图。
在图中,101、102分别为A输入数据、B输入数据,103、104为最末级的A输出数据、B输出数据,该两者构成数据变换的输出数据。105至108是中间数据,111至114是用于加密的密钥参数。121至124是从第1级到第n级的副变换处理部,其中所包含的131至134是从第1级到第n级的非线性变换电路,141至144是“异”电路。
其次,说明具有上述结构的数据变换装置的动作。这里,说明2个输入数据的长度相等的情况。此外,在数据变换的处理中花费时间的是非线性变换,“异”运算的时间如与其比较可以忽略。
在图1中,对一边的A输入数据101,在图2所示的“异”电路151及伽罗瓦域反元素电路152中用第1密钥参数111进行非线性变换。其变换结果109与另一边的B输入数据102进行“异”运算,得到向下一级输出的B中间数据106(S2)。另一方面,B输入数据102直接构成第1级的A中间数据105,输入到下一级(S1)。对A中间数据105进行第2非线性变换,然后与B中间数据106进行“异”运算,由该运算结果得到B中间数据108(S4)。B中间数据106直接构成输出到下一级的A中间数据107(S3)。如按照上述程序,则可由第2非线性变换电路132进行在时间上与第1非线性变换并行的运算。
于是,在奇数级和偶数级的副变换处理部中,几乎并行地进行非线性变换,因而能进行高速的数据变换。
在上述实施形态中,说明了2个输入数据的长度相等的情况,但当A输入数据的长度n1位与B输入数据的长度n2位不同时(n1>n2),以下情况成立。
(2)如规定以输入数据和输出数据一对一的方式进行非线性变换,则若副变换处理为3级以上时,总体的差分概率在p2以下。
因此,在图1的结构中,即使2个输入数据的长度改变,各副变换处理部的差分概率也不改变,但可以构成已判明总体的差分概率值在p2以下的数据变换装置。在这种情况下,对“异”电路的输入,因A输入数据与B输入数据的长度不同,所以对长数据的超出部分(n1-n2位的部分)不进行“异”运算,而只将其与短数据长度相同的部分(n2位)与短数据进行“异”运算。或者,对短数据按照与长数据相比不足的部分(n1-n2位的部分)补充常数等,使长度与长数据相等,然后再与其进行“异”运算。此外,当A输入数据与B输入数据的长度不同时,也可以使密钥参数与其长度相对应,供给适当的密钥参数。
另外,在本实施形态中,说明了硬件结构,但非线性变换及“异”运算即使用软件进行,也能使与奇数级相应的运算和与偶数级相应的运算并行处理,取得同样的效果。
实施形态2
说明作为本发明宗旨的高速非线性变换的另一构成例。
在本实施形态中,“异”电路在副变换处理部中的位置有所变化。图3是表示其结构的框图,在图中,161至164分别为第1至第4副变换处理部。密钥参数111至114、非线性变换电路132至135、“异”电路141至144,与图1中的实施形态1的构成要素相同。副变换处理部161至164的内部连接与图1的副变换处理部121至124不同。
即使按照这种连接方式,也与实施形态1一样,仍能使总体的差分概率在p2以下,能生成总体差分概率比在(1)中所述的2p2小的强密码。
在第1副变换处理部161中,对A输入数据101及B输入数据102,用第1密钥参数111将A输入数据101进行非线性变换,在该非线性变换电路132中将进行了非线性变换的输出数据作为第1级的B中间数据106输出(S12)。另外,在“异”电路141中对A输入数据101及B输入数据102进行“异”运算,并将运算结果作为第1级的A中间数据105输出(S11)。
在第2副变换处理部162中,将从第1副变换处理部161输出的A中间数据作为一边的输入,并用第2密钥参数112进行非线性变换,在该非线性变换电路133中将进行了非线性变换的输出数据作为第2级的B中间数据108输出(S14)。另外,将第1级的A中间数据105及B中间数据106分别作为输入,在“异”电路142中进行运算,并将运算结果作为第2级的A中间数据107输出(S13)。
在这之后,将上述第1及第2副变换处理部交叉连接,与实施形态1相同,最后一级是第1或第2副变换处理部中的哪一个都可以。
这种连接方式的动作,基于在实施形态1中所述的文献2提供的根据,也能得到总体的差分概率在p2以下的装置。此外,如将非线性变换的动作速度与“异”运算动作的速度进行比较,则由于“异”运算的动作要快得多,所以从图中的连接状况可以看出,动作慢的第1级和第2级的非线性变换的动作几乎是并行进行的,因而能够使整个装置高速动作。
这里,用图4说明图1所示结构和图3所示结构在实质上是相同的。
在图4中,121~124是图1所示的副变换处理部。161~164是图3所示的副变换处理部。从图4可知,图1和图3示出的副变换处理部,是将图4所示的电路按某个部分划分后得出的。即,在图1的情况下,将从第1非线性变换电路131的输入侧到第2非线性变换电路132的输入侧的要素(第1非线性变换电路131及“异”电路141),作为第1副变换处理部121,将从第2非线性变换电路132的输入侧到下一个第1非线性变换电路133的输入侧的要素(第2非线性变换电路132及“异”电路142),作为第2副变换处理部122。在图3的情况下,将从第1非线性变换电路131的输出侧到第2非线性变换电路132的输出侧的要素(“异”电路141及第2非线性变换电路132),作为第1副变换处理部161,将从第2非线性变换电路132的输出侧到下一个第1非线性变换电路133的输出侧的要素(“异”电路142及第1非线性变换电路133),作为第2副变换处理部162。
图5是表示具有与图1和图3所示结构实质上相同的结构的另一例。
在图5所示的例中,将“异”电路141~142以级联方式连接。通过级联连接,使“异”电路的输出数据成为对下一个“异”电路的2个输入数据中的一个输入数据。非线性变换电路131、133、135连接于级联连接的“异”电路中奇数的“异”电路141、143、145。而将非线性变换电路132、134、136连接于偶数的“异”电路142、144。
采用图5所示结构,也与图1或图3相同,能使第1及第2非线性变换电路131和132、或133和134、或135和136并行执行,因而能高速处理。
实施形态3
如实施形态1所述,在图2中示出的非线性变换电路,如输入输出数据的尺寸大则其规模变大。因此,在本实施形态中,在数据变换装置的结构中采用嵌套结构,目的是构成将比图2的非线性变换电路小的非线性变换电路(例如,反元素电路)组合后的小型化装置。
另外,现有例文献中的FEAL,由于差分概率p的值大,所以作为密码强度的评价是不理想的。
在本实施形态中,说明以一个规模更小的非线性变换而能使总体的差分概率减小的非线性变换电路。
图6是详细表示副变换处理部及其非线性变换电路的图。
在图6中,a表示第1级的副变换处理部,221是外部副变换处理部,231是其外部非线性变换电路。b表示外部非线性变换电路231的详细结构,351是用以将A输入数据101分成2部分的内部分割部,301、302是分成2部分后的A1输入数据、A2输入数据,303至308是内部中间数据,311至313是将密钥参数111分割后的分割密钥参数,352是将内部中间数据303和304合并的内部合并部,321至323是内部副变换处理部,331至333是内部非线性变换电路,341至343是内部“异”电路。158是对密钥参数111进行分割的密钥参数供给部。
例如,在图6的算法的情况下,当作为内部非线性变换电路331、332、333采用的是具有差分概率p的电路时,外部非线性变换电路231的差分概率在p2以下。因此,将外部副变换处理部221重叠3级以上的算法的差分概率在(p2)2=p4以下。
另外,图7是表示将图6的a所示的外部副变换处理部按4级连接、作为各外部副变换处理部中的非线性变换电路连接了图6的b所示的3级内部副变换处理部时的总体的副变换处理部结构的图。
在图中,记载有作为代表性构成要素的各外部副变换处理部221至224、各外部非线性变换电路231至234、外部副变换处理部中的“异”电路141至144、内部副变换处理部321至323、第1和第2外部非线性变换电路231、232中的内部非线性变换电路331至336的编号,而其他构成要素的编号从略。
另外,图8至图10是按时间说明图7结构的数据变换装置进行数据变换的顺序。
首先,说明图6所示的外部非线性变换电路231的动作。
由内部分割部351将对外部副变换处理部221的A输入数据101按任意位数分成2个数据,假定为A1输入数据301和A2输入数据302,另外,将密钥参数111由密钥参数供给部158也按任意位数分割,并作为第1分割密钥参数至第n密钥参数311~321供给。在第1内部副变换处理部321中,用第1分割密钥参数311对从上述A输入数据101分出的A1输入数据301进行内部非线性变换,将经过该内部非线性变换后的输出数据与上述A2输入数据302的“异”运算结果,作为第一A2内部中间数据306输出,并将上述A2输入直接作为第一A1内部中间数据305输出。
在第2内部副变换处理部322中,将上述第1内部副变换处理部321的第一A1内部中间数据305作为A1输入,用第2分割密钥参数312进行内部非线性变换,将上述第一A2内部中间数据306作为A2输入数据并将该A2输入与经过内部非线性变换后的输出数据的“异”运算结果,作为第二A2内部中间数据308输出,并将上述第一A2内部中间数据306直接作为第二A1内部中间数据307输出。并且,将上述第1内部副变换处理部和上述第2内部副变换处理部按n级交叉地连接,将最末级的A1内部中间数据303与A2内部中间数据304通过内部合并部352合并,作为变换结果109。
其次,说明图7所示的上述结构的数据变换装置的动作。
首先,在最初的周期中,对A输入数据101、B输入数据102执行图8所示的处理。即,由于非线性变换花费时间,所以,在最初的周期中,大部分时间由外部副变换处理部221的内部非线性变换电路331、332及外部副变换处理部222的内部非线性变换电路334、335所占用。就是说,在最初的周期中,如图8所示,传送以粗线表示的数据,并执行内部非线性变换电路331、332、334、335的处理。
在下一个周期中,执行图9所示的处理。即,将时间分配给第1外部副变换处理部221中的内部非线性变换电路333、第2外部副变换处理部222中的内部非线性变换电路336、第3外部副变换处理部223中的内部非线性变换电路337、及第4外部副变换处理部224中的内部非线性变换电路391的处理。粗线表示传送A输入侧的数据的情况。
在下一个周期中,执行图10所示的处理。即,将处理时间分配给第3和第4外部副变换处理部223和224的其余的内部非线性变换电路338、339及392、393。在该3个周期结束后,全部变换处理即告结束。如将其与以往的逐次处理方式的数据变换进行比较,则在以往方式中,如前一级的内部非线性变换尚未结束,就不能开始下一级的内部非线性变换,所以将需要12个周期,因而在本实施形态的方式中,能进行约提高4倍的高速处理。
另外,在上述实施形态中,内部副变换处理部中的嵌套式内部非线性变换电路331至393,示出了实施形态1的连接结构,但作为嵌套式的非线性变换电路如采用实施形态2的连接结构并进行同样的动作,可取得相同的效果。
实施形态4
在本实施形态中,说明将小型电路结构的非线性变换电路应用于以往的副变换处理部中的非线性变换电路的形态。
图11是详细地示出副变换处理部及其非线性变换电路的图。
在图11中,a表示第1级副变换处理部,421是外部副变换处理部,431是其外部非线性变换电路。图11的b示出外部非线性变换电路431的详细结构,551是内部分割部,501至508是输入数据,511至513是将密钥参数111分割后的分割密钥参数,552是内部合并部,521至523是内部副变换处理部,531至533是内部非线性变换电路,541至543是“异”电路。
在图11的算法的情况下,当作为内部非线性变换电路531、532、533采用的是具有差分概率p的电路时,外部非线性变换电路431的差分概率在p2以下。因此,将外部副变换处理部421重叠3级以上的算法的差分概率在2(p2)2=2p4以下。
另外,图12是将图11的a所示的外部副变换处理部按2级连接、作为各外部副变换处理部中的非线性变换电路连接了图11的b所示的3级内部副变换处理部时的总体的副变换处理部结构的图,并且是按时间说明图12的a所示结构的数据变换装置进行数据变换的顺序的图。
在图中,记载有作为代表性构成要素的各外部副变换处理部421至422、外部副变换处理部中的“异”电路441至442、内部副变换处理部521、522、523、第1和第2内部非线性变换电路中的内部非线性变换电路531至536的编号,而其他构成要素的编号从略。
其次,说明上述结构的数据变换装置的动作。
首先,如图12的b所示,在最初的周期中,对于A输入数据101、B输入数据102,时间花费在外部副变换处理部421的内部非线性变换电路531、532。就是说,在最初的周期中,传送以图12中b的粗线表示的数据,并执行内部非线性变换电路531、532的处理。
在下一个周期中,执行图12中c所示的处理。即,将时间分配给外部副变换处理部421中的内部非线性变换电路533、第2外部副变换处理部422中的内部非线性变换电路534的处理。粗线表示传送A输入侧的数据的情况。
在下一个周期中,执行图12的d所示的处理。即,将处理时间分配给第2外部副变换处理部422的其余的内部非线性变换电路535、536。在该3个周期结束后,全部变换处理即告结束。如将其与以往的逐次处理方式进行比较,则在以往方式中,如前一级的内部非线性变换尚未完成,就不能开始下一级的内部非线性变换的处理,所以,在该例中就需要6个周期,与此不同,在本实施形态的方式中,用3个周期即可完成,因而具有能实现运算高速化的效果。
另外,在上述实施形态中,副变换处理部中的嵌套式非线性变换电路,示出了实施形态1的连接结构,但作为嵌套式的非线性变换电路如采用实施形态2的连接结构并进行同样的动作,可取得相同的效果。
实施形态5
说明将作为本发明数据变换装置基本结构的非线性变换电路应用于以往的副变换处理部中的非线性变换电路的另一形态。
图13是详细地示出该装置的结构及副变换处理部中的非线性变换电路的图。
在图13中,a表示总体的结构,621至624是外部副变换处理部,631至634是其外部非线性变换电路,641至644、741至744是“异”电路。而601、602、701、702分别为输入数据A1、B1、A2、B2,603、604、703、704是变换后的输出数据,605至608、705至708是中间数据。图13的b示出外部非线性变换电路631的详细结构,651、751是非线性变换后的各数据,775至778是内部中间数据,711至713是将密钥参数111分割后的分割密钥参数。721至723是内部副变换处理部,731至733是内部非线性变换电路,761至763是“异”电路。
图13所示的数据变换装置,对4个任意的A1输入数据、A2输入数据及B1输入数据、B2输入数据,在各副变换处理时,在上述A1输入数据及B1输入数据之间、A2输入数据及B2输入数据之间进行非线性变换和“异”运算,将运算结果分别作为B1中间数据及B2中间数据,并将B1输入数据及B2输入数据直接作为A1中间数据及A2中间数据。
上述结构的数据变换装置的其他动作,在前面的实施形态3、实施形态4中已清楚地作了说明,所以这里其详细说明省略。能实现与实施形态3、实施形态4同样的运算高速化。
实施形态6
在本实施形态中,说明将多个实施形态1的第1副变换处理部121及第2副变换处理部122交叉连接后执行的处理、及通过对以第1副变换处理部121及第2副变换处理部122为基础构成的处理单元的反复处理实现的变换处理。即,将运算处理不重复的第1副变换处理部121及第2副变换处理部122作为1组处理单元,保持构成该组的第2副变换处理部的输出数据,并供给该输出数据作为第1副变换处理部的输入数据,由于能够反复运算,所以能减小硬件的规模。
图14是表示该结构的框图,在图中,121、122是第1、第2副变换处理部,111、112是第1、第2密钥参数。非线性变换电路131至132、“异”电路141至142与实施形态1的图1的构成要素相同。153是控制部,154是反复处理部,156a、156b是数据选择部,157a、157b是数据保持部,158是密钥参数供给部。
其次,说明上述结构的数据变换装置的动作。
任意的A输入数据101及B输入数据102,首先经由数据选择部156a、156b输入到第1副变换处理部121。然后,A中间数据105及B中间数据106输入到第2副变换处理部122。这里,第1及第2副变换处理部的动作与实施形态1中示出的动作相同。但是,对应于下述的反复处理,由密钥参数供给部158将应供给第1副变换处理部及第2副变换处理部的密钥参数供给第1及第2副变换处理部中的非线性变换电路。从第2副变换处理部122输出的A中间数据107及B中间数据108,通过反复处理部154,分别经由数据保持部157a和数据选择部156a以及数据保持部157b和数据选择部156b,分别作为A输入数据及B输入数据输入到第1副变换处理部121。接着,经过上述反复处理后,输出A输出数据103及B输出数据104。
在按这种方式构成的装置中,基于与实施形态1的同样的理由,能实现高速的数据变换,且能减少副变换处理部的数目,因而能减小装置的规模。
另外,在上述实施形态中,是将第1副变换处理部121及第2副变换处理部122的每一级以级联方式连接后构成以其为基本结构的反复处理单元,但将第1副变换处理部及第2副变换处理部作为1组,按必要的级数交叉级联连接后构成反复处理的单元,显然也能获得同样的效果。
图14所示的结构,由于是将第1副变换处理部及第2副变换处理部作为1组级联连接,所以必须由偶数级的副变换处理部构成。这种由偶数级的副变换处理部构成的理由是,即使A输入数据及B输入数据的数据位数不同时,也仍能进行适当的数据变换。例如,假定A输入数据为7位,B输入数据为9位,密钥参数供给部158将7位用的密钥参数111供给非线性变换电路131,而将9位用的密钥参数112供给非线性变换电路132。7位的A输入数据101在非线性变换电路131内由7位用密钥参数111进行非线性变换,形成7位B中间数据106,进一步作为A中间数据107输出。该A中间数据107经由数据保持部157a及数据选择部156a,再次变为A输入数据。这样,由于7位A输入数据必须用7位用密钥参数111进行非线性变换,所以必须使副变换处理部为偶数级。如果副变换处理部为奇数级,则在非线性变换电路131中,7位数据和9位数据就要交替地进行非线性变换。
另外,图中虽未示出,但如果能进行控制以使密钥参数供给部158交替地将7位用和9位用的密钥参数供给副变换处理部,则也可将奇数级的副变换处理部级联连接。
实施形态7
在本实施形态中,说明将多个实施形态2的第1副变换处理部161及第2副变换处理部162交叉连接后执行的处理、及通过对以第1副变换处理部及第2副变换处理部为基础构成的处理单元的反复处理实现的变换处理。即设置实施形态6中所述的反馈回路,使A、B中间数据返回输入侧的数据选择部并进行反复运算,以实现硬件规模的削减。
图15是表示该结构的框图,在图中,125、126是第1、第2副变换处理部,111、112是第1、第2密钥参数。非线性变换电路132至133、“异”电路141至142与实施形态2的图3的构成要素相同。控制部153、反复处理部154、数据选择部156a、156b,数据保持部157a、157b,密钥参数供给部158,与实施形态6的要素相同。
其次,说明上述结构的数据变换装置的动作。
任意的A输入数据101及B输入数据102,首先经由数据选择部156a、156b输入到第1副变换处理部125。然后,A中间数据105、B中间数据106输入到第2副变换处理部126。这里,第1及第2副变换处理部的动作与实施形态2中示出的动作相同。但是,对应于下述的反复处理,由密钥参数供给部158将应供给第1副变换处理部及第2副变换处理部的密钥参数供给第1及第2副变换处理部中的非线性变换电路。从第2副变换处理部126输出的A中间数据107及B中间数据108,通过反复处理部154,分别经由数据保持部157a、157b和数据选择部156a、156b,作为A输入数据及B输入数据输入到第1副变换处理部125。接着,经过上述反复处理后,输出A输出数据103及B输出数据104。
在按这种方式构成的装置中,基于与实施形态2的同样的理由,能实现高速的数据变换,且能减少副变换处理部的数目,因而能减小装置的规模。
以上说明了将第1副变换处理部125及第2副变换处理部126的每一级以级联方式连接后作为反复处理的单元,但也可将第1副变换处理部125及第2副变换处理部126作为1组,按必要的级数交叉地级联连接后作为反复处理的单元,这是与上述实施形态6相同的。另外,详细的连接结构图及动作的说明虽然省略,但与实施形态6或本实施形态7相同,即使将实施形态4或实施形态5的外部副变换处理部按偶数级连接后的结构更换为反复处理单元,也无损于高速运算性,并能减少外部副变换处理部的数目。这里,之所以在将外部副变换处理部按偶数级连接后作为反复处理单元时也无损于高速运算性,从实施形态4的动作说明即可清楚地理解。
另外,详细的连接结构图及动作的说明虽然省略,但将实施形态6或实施形态7的数据选择部及数据保持部作为1组形成反馈回路的方式,对于实施形态3至实施形态5所示的内部副变换处理部也能适用。即,在图6、图11的外部非线性变换电路中的内部分割部351、551内或在其后面设置内部数据选择部,对数据输入进行选择切换,在内部合并部352、552内或在其前面设置内部数据保持部,在与内部数据选择部之间形成反馈回路。另外,在图13的外部非线性变换电路的前面设置数据选择部,对数据输入进行选择切换,在外部非线性变换电路的后面设置数据保持部,在与数据选择部之间形成反馈回路。这样,能在不损害运算高速性的情况下减小内部副变换处理部的规模。
实施形态8
在本实施形态中,说明将由实施形态1的多个附变换处理部121至124的处理改换为以反复处理单元为基础的反复处理。在本实施形态中,假定任意的A输入数据101和B输入数据102的数据位数相等。当A输入数据101和B输入数据102的数据位数相等时,用于反复处理的副变换处理部的数目不一定必须为偶数,可将任意级数级联并形成反馈回路。
图16是表示该结构的框图,为说明简单起见,给出仅包括1级副变换处理部的反馈回路。
在图中,121是副变换处理部,第1密钥参数111、非线性变换电路131、“异”电路141、反复处理部154、数据选择部156a、156b,数据保持部157a、157b,密钥参数供给部158,是与其他实施形态相同的要素。
其次,说明上述结构的数据变换装置的动作。
任意的A输入数据101及B输入数据102,首先经由数据选择部156a、156b输入到第1副变换处理部121。这里,副变换处理部121的动作与实施形态1中示出的动作相同。但是,向副变换处理部中的非线性变换电路供给的密钥参数,由密钥参数供给部158相应于下述的反复处理进行供给。从副变换处理部121输出的A中间数据105及B中间数据106,通过反复处理部154,分别作为A输入数据及B输入数据输入到副变换处理部121。接着,经过上述反复处理后,输出A输出数据103及B输出数据104。
在按这种方式构成的装置中,能减少非线性变换电路的数目,因而能减小装置的规模。
另外,在上述实施形态中,说明了将1级副变换处理部121作为反复处理单元,但显然也能多级级联连接,在这种情况下,能减小装置规模而不失高速性。
另外,作为副变换处理部,显然也可采用实施形态2中所示装置的副变换处理部。
另外,详细的连接结构图及动作的说明虽然省略,但与实施形态6或实施形态7相同,上述实施形态也能适用于实施形态3至实施形态5的内部副变换处理部,这是不言而喻的。
实施形态9
在本实施形态中,说明将小型电路结构的非线性变换电路应用于以往的副变换处理部中的非线性变换电路的形态。
图17是表示本实施形态的数据变换装置结构的图。
图18是表示图17的外部非线性变换电路831(至838)的结构的框图。
图19是表示图18的内部非线性变换电路931(至933)的结构的框图。
这里,密钥参数811为32×3=96位,密钥参数811a+密钥参数811b+密钥参数811c的合计长度为32位,密钥参数811d+密钥参数811e+密钥参数811f的合计长度为32位,密钥参数811g+密钥参数811h+密钥参数811i的合计长度为32位,此外,密钥参数811a为16位、密钥参数811b为7位、密钥参数811c为9位。
图20和图21是用ROM(只读存取存储器)或RAM(随机存取存储器)实现非线性变换电路951及952a、952b时的变换表S7、S9的例。例如,对变换表S7,如所输入的输入数据X=0,则输出的输出数据Y=85。如所输入的输入数据X=1,则所输出的输出数据Y=95。而当所输入的输入数据X=128时,所输出的输出数据Y=42。在变换表S9的情况下,如所输入的输入数据X=0、1、....、511,则所输出的输出数据Y=341、310、....、170。
这里,上述变换表S7按如下方式构成。
当假定α为7次既约多项式x7+x5+x4+x3+1=0的根时,假定输入基为正规基{α、α2、α4、α8、α16、α32、α64}、输出基为正规基{α32、α4、α2、α64、α16、α、α8},按照以上的基,对于伽罗瓦域GF(27)上的元素即输入X,表示为X17,将其与55h(十六进制数)进行XOR(“异”运算),并将运算结果作为输出。图20是将该输入输出用十进制数表示后的表。其中,假定输入输出的左边为LSB(最低位)。
另外,上述变换表S9按如下方式构成。
当假定α为9次既约多项式x9+x8+x7+x6+x4+x3+1=0的根时,假定输入基为正规基{α、α2、α4、α8、α16、α32、α64、α128、α256}、输出基为正规基{α64、α、α16、α8、α256、α2、α128、α32、α4},按照以上的基,对于伽罗瓦域GF(29)上的元素即输入X,表示为X5,将155h(十六进制数)进行XOR(“异”运算),并将运算结果作为输出。图21是将该输入输出用十进制数表示后的表。其中,假定输入输出的左边为LSB(最低位)。
另外,作为伽罗瓦域的表示形式有利用多项式基、正规基等的矢量表示。
其典型形式为利用多项式基的矢量表示。利用多项式基的矢量表示,假定GF(2m)的原始元素为α,则GF(2m)的任意元素以多项式基{1、α、α2、...αm-1}的矢量表示形式表示。
作为多项式基的优点在于,GF(2m)的元素的相加可以由每一位的相加(“异”运算)实现。即,当以硬件实现时,可以用m个2输入“异”运算电路实现。但是,在利用多项式基的矢量表示中,用硬件实现乘法一般要比加法困难,所以一般以ROM等实现。
作为多项式基以外的重要的基,有正规基(Normal basis)。正规基是由m次原始多项式的根α及其共轭元素构成的集合,其基的构成为{α、α2、α4、...、α2m-2、α2m-1}。
正规基的最明显的特征在于,在使用它时,2次方运算非常简单。当GF(2m)的任意元素取2次方时,可以通过将其矢量表示向右循环移位来实现。当用硬件实现该运算时,可只通过重新连接位的接线实现。在利用该特征的情况下,与采用正规基的矢量表示相比,可以用比与任意元素X对应的Xn电路规模小的硬件实现。反元素(X-1)电路也可以看作是X的n次方电路。即,伽罗瓦域GF(2m)的任意元素X的反元素X-1等于X2m-2,因而按n=2m-2处理即可。作为一个例子,在图22中示出当假定上述变换表S7的输入7位为{in0、in1、in2、in3、in4、in5、in6}、输出7位为{out0、out1、out2、out3、out4、out5、out6}时用逻辑电路实现低位的第6位(out5)的例。
图17~图19所示的上述结构的数据变换装置的动作,由于从前面的实施形态已清楚地理解,所以这里其详细说明从略。
实施形态10
说明电路规模不怎么增大就能增强密码强度的数据变换装置。
图23是本实施形态的数据变换装置的结构图。
本结构是在实施形态9的装置内附加数据变换部FL1~FL10。
另外,图24是表示数据变换部FL1971(至FL10980)的详细结构的图。
各数据变换部FL1~FL10由“与”电路971a或“或”电路971b、及“异”电路971c、971d构成。密钥参数KL1为32位,由图中未示出的密钥参数供给部将密钥参分割为密钥参数KL1a、KL1b。例如,密钥参数KL1a分割为16位,密钥参数KL1b分割为16位。图中的“与”电路971a或“或”电路971b可以是“与”电路及“或”电路的任何一个,也可以是“与”电路和“或”电路的组合。
以下,说明上述结构的装置的动作。
将由2个“异”电路971c、971d、及2个“与”电路或2个“或”电路、或者1个“与”电路及1个“或”电路构成的第1及第2逻辑运算电路作为数据变换部971,附加在第1副变换处理部的A输入侧和B输入侧的任何一个或两个输入侧。
将A输入(或B输入)进一步分成2个任意位长的AA数据、AB数据,将密钥参数分成对应的A变换密钥参数981a及B变换密钥参数981b,利用第1逻辑运算电路求取上述AA数据和上述A变换密钥参数981a的第1“与”/“或”运算的输出,利用“异”电路971c对该第1“与”/“或”运算后的输出数据和上述AB数据进行第1“异”运算,并将该第1“异”运算后的输出数据作为AB变换后的输出数据。利用第2逻辑运算电路对上述第1“异”运算后的输出和B变换密钥参数的第2“与”/“或”运算,利用“异”电路971d对该第2“与”/“或”运算后的输出数据和上述AA数据进行第2“异”运算,将该第2“异”运算后的输出数据作为AA数据变换后的输出数据,并将上述AA数据变换后的输出数据与AB数据变换后的输出数据合并,作为A输出数据(或B输出数据)输出到下一级。
新设置的数据变换部FL1~FL10,由于其输出是随密钥参数的值变化的线性函数,所以差分概率不会增加,能提高对差分解密法以外的其他解密法的耐受性。关于其非线性变换的动作,因在前面的实施形态中已经说明,所以这里其说明从略。
另外,各数据变换部FL1~FL10不一定非要按照图23所示的结构。例如,可将数据变换部FL1、FL3、FL5、FL7、FL9只插入A系统(图中右侧)及B系统(图中左侧)一侧的系统内,此外,也可以只在构成组的第1及第2副变换处理部中的任何一个副变换处理部中将数据变换部设在A系统和B系统的两系统内或设在一侧的系统内。
实施形态11
实施形态9和实施形态10是将本发明数据变换装置的基本构成要素即非线性变换电路作为在以往的副变换处理部中的非线性变换电路内的嵌套非线性变换电路连接构成的,与此不同,本实施形态是将本发明数据变换装置的基本构成要素即非线性变换电路作为在本发明数据变换装置基本构成要素的副变换处理部中的非线性变换电路内的嵌套非线性变换电路连接构成的例。如图25所示,本实施形态为将实施形态10的装置的各构成要素的配置变更后的形式。关于其动作,由于在前面的实施形态中已经说明,所以这里其详细说明从略。此外,各数据变换部FL1~FL10的位置不一定是图中所示的位置,与实施形态10相同,可取得同样的效果。
图26是将实施形态1~11所述特征集中后的图。
在纵向示出实施形态1、2、4、5,横向示出与这些实施形态1、2、4、5组合的实施形态3、6、7、8、9、10、11。实施形态1、2说明副变换处理部的特征。在图26中,将实施形态1中图1所示副变换处理部的结构作为类型1。而将实施形态2中图3所示副变换处理部的结构作为类型2。实施形态3的副变换处理部采用嵌套结构,其特征是备有外部副变换处理部和内部副变换处理部。为了与实施形态3的内部副变换处理部区分开,在该图26中,将不采用嵌套结构的图1和图3的副变换处理部确定在外部副变换处理部的位置。在图26中,当将组合以任何一个图表示时,在()内记入其图号。例如,(图1)表示类型1的副变换处理部示于图1。而(图6)表示实施形态3的外部副变换处理部是类型1的副变换处理部、内部副变换处理部也由类型1的副变换处理部构成的例。另外,在图26中示出,{}内所记载的多个项目中的任何1个项目可以任意选择。例如,在实施形态3中,表示出作为内部副变换处理部采用的副变换处理部,是类型1、类型2中的哪一种类型都可以。从图中可知,实施形态1、2、4、5和实施形态3、6、7、8、9、10、11中所示的特征,完全可以组合起来。此外,本发明不限于图26所示的组合,也可与其他特征组合使用。另外,并不限于组合使用,也可仅使用各实施形态各自的特征。
其次,说明本发明数据变换装置的应用例。
图27示出作为本发明数据变换装置应用例的个人计算机或工作站的构成。
数据变换装置60备有显示单元61、键盘62、鼠标63、鼠标垫64、系统单元65、压缩盘装置100。
本发明的数据变换装置,例如,如图27所示,从压缩盘装置100输入数据,将数据传送到系统单元65,并显示在显示单元61上。或将显示单元61所显示的数据输出到压缩盘装置100。另外,数据变换后经由图中未示出的线路输送信息。但是,本发明的数据变换装置,不限于图27示出的个人计算机或工作站,也可以是其他形式。例如,代替压缩盘装置100,也可以采用视频播放机作为输入装置,还可以从网络输入数据。此外,输入的数据可以是模拟数据,也可以是数字数据。
另外,本发明的数据变换装置,如图27所示,可以按独立的壳体存在,但也可如图28所示装在打印机66、扫描器68、或传真装置69等外围设备的壳体内部。另外,还可以作为其他电视摄象机、测量仪器、或计算机等的系统板的一部分存在。此外,在图28中虽未示出,但也可将图28所示各装置以局部区域网连接,相互传送编码后的信息。还可以用ISDN等广域网络发送和接收编码后的信息。
在产业上的应用可能性
如上所述,本发明的数据变换装置,由于能改变副变换处理部的结构并部分地对输入数据进行并行处理,所以能进行差分概率优异的高速数据变换,能有效地作为信息处理装置或数据通信装置的加密装置使用。
另外,由于在电路中设有反馈环路从而能反复利用同一要素,所以使加密装置等的电路规模减小,适用于高速处理。

Claims (31)

1.一种数据变换装置,备有如下结构,即:对2个任意的A输入数据(101)及B输入数据(102),用第1密钥参数(111)对上述A输入数据进行第1非线性变换,将该第1非线性变换后的输出数据与上述B输入数据(102)的“异”运算结果作为B中间数据输出,并将上述B输入数据直接作为A中间数据输出,用第2密钥参数对上述A中间数据进行第2非线性变换,将该第2非线性变换后的输出数据与上述B中间数据的“异”运算结果作为下一个B中间数据输出,并将上述B中间数据直接作为下一个A中间数据输出;将上述结构以级联方式连接,并将最后的A中间数据及B中间数据作为变换后的输出数据(103及104)。
2.根据权利要求1所述的数据变换装置,其特征在于:备有如下2种情况中的任何一种结构,即:将从第1非线性变换的输入侧到第2非线性变换的输入侧之间存在的第1非线性变换电路(131)及“异”电路(141)作为第1副变换处理部(121),将从第2非线性变换的输入侧到下一个第1非线性变换的输入侧之间存在的第2非线性变换电路(132)及“异”电路(142)作为第2副变换处理部(122);及将从第1非线性变换的输出侧到第2非线性变换的输出侧之间存在的“异”电路(141)及第2非线性变换电路(132)作为第1副变换处理部(161),将从第2非线性变换的输出侧到下一个第1非线性变换的输出侧之间存在的“异”电路(142)及第1非线性变换电路(133)作为第2副变换处理部(162);将上述第1副变换处理部(121或161)与第2副变换处理部(122或162)按需要的级数交叉连接,并在最末级将从第1或第2的任何一个副变换处理部输出的A中间数据及B中间数据作为变换后的输出数据。
3.根据权利要求2所述的数据变换装置,其特征在于:在第1或第2非线性变换时,进行如下的非线性变换,即:将对该副变换处理部(221)的A输入数据(101)按任意位数分割,并作为在A1输入侧输入的A1输入数据(301)和在A2输入侧输入的A2输入数据(302),此外,将密钥参数(111)也按任意位数分割,并作为第1分割密钥参数至第n分割密钥参数(311~313);第1内部副变换处理部(321),用于以第1分割密钥参数(311)对从上述A输入数据(101)分出的A1输入数据(301)进行内部非线性变换,将该内部非线性变换后的输出数据与上述A2输入数据(302)的“异”运算结果,作为第一A2内部中间数据(306)输出,并将上述A2输入数据(302)直接作为第一A1内部中间数据(305)输出;第2内部副变换处理部(322),用于将上述第1内部副变换处理部(321)的第一A1内部中间数据(305)作为A1输入数据,用第2分割密钥参数(312)进行内部非线性变换,将上述第一A2内部中间数据(306)作为A2输入数据并将经过该内部非线性变换后的输出数据与该A2输入数据的“异”运算结果,作为第二A2内部中间数据(308)输出,并将上述第一A2内部中间数据(306)直接作为第二A1内部中间数据(307)输出;将上述第1内部副变换处理部(321)与第2内部副变换处理部(322)按n级交叉连接,并将最末级的A1内部中间数据(303)及A2内部中间数据(304)合并后作为变换结果(109)。
4.根据权利要求2所述的数据变换装置,其特征在于:在进行各副变换处理部中的非线性变换时,进行如下的非线性变换,即:将对该副变换处理部(221)的A输入数据按任意位数分割,并作为A1输入数据和A2输入数据,此外,将密钥参数也按任意位数分割,并作为第1分割密钥参数至第n分割密钥参数;第1内部副变换处理部,用于以第1分割密钥参数对从上述A输入数据分出的A1输入数据进行内部非线性变换,将经过该内部非线性变换后的输出数据作为第一A2内部中间数据输出,并将A1输入数据与A2输入数据的“异”运算结果,作为第一A1内部中间数据输出;第2内部副变换处理部,用于将上述第1内部副变换处理部的第一A1内部中间数据作为A1输入数据,用第2分割密钥参数进行内部非线性变换并作为第二A2内部中间输出,求取将上述第一A1内部中间数据及第一A2内部中间数据作为A1输入数据及A2输入数据的“异”运算结果,并作为第二A1内部中间数据输出;将上述第1内部副变换处理部与上述第2内部副变换处理部按n级交叉连接,并将最末级的A1内部中间数据及A2内部中间数据合并,作为变换结果。
5.一种数据变换装置,备有副变换处理部(421),对于2个任意的A输入数据(101)及B输入数据(102),用第1密钥参数(111)对上述B输入数据(102)进行非线性变换,将该非线性变换后的变换结果(451)与上述A输入数据(101)的“异”运算结果作为B中间数据(462)输出,另外,将上述B输入数据(102)直接作为A中间数据(461)输出;将上述A中间数据及B中间数据作为A输入数据及B中间数据,并按必要的级数连接各密钥参数的副变换处理部,将最末级的A中间数据及B中间数据合并后作为变换后的输出数据;该数据变换装置的特征还在于:在进行各副变换处理部(421)中的非线性变换时,分成多个内部副变换处理部(521~523),将对该内部副变换处理部(521)的B输入数据按任意位数分割,并作为B1输入数据(501)和B2输入数据(502),此外,将密钥参数(111)也按任意位数分割,并作为第1分割密钥参数至第n分割密钥参数(511~523);第1内部副变换处理部(521),用于以第1分割密钥参数(511)对从上述B输入数据(102)分出的B1输入数据(501)进行第1内部非线性变换,将该第1内部非线性变换后的输出数据与上述B2输入数据(502)的“异”运算结果作为第一B2中间数据(506)输出,并将上述B2输入数据(502)直接作为第一B1内部中间数据(505)输出;第2内部副变换处理部(522),用于将上述第1内部副变换处理部(521)的第一B1内部中间数据(505)作为B1输入数据,并用第2分割密钥参数(512)进行内部非线性变换,将上述第一B2内部中间数据(506)作为B2输入数据,并将经过该内部非线性变换后的输出数据与该B2输入数据的“异”运算结果,作为第二B2内部中间数据(508)输出,并将上述第一B2内部中间数据(506)直接作为第二B1内部中间数据(507)输出;将上述第1内部副变换处理部与第2内部副变换处理部按n级交叉连接,并将最末级的B1内部中间数据(503)及B2内部中间数据(504)合并后作为非线性变换后的变换结果(451)。
6.根据权利要求5所述的数据变换装置,其特征在于:改变各内部副变换处理部中的执行“异”运算的位置,对B1输入数据进行内部非线性变换,并作为B2内部中间数据输出,另外,将B1输入数据与B2输入数据的“异”运算结果作为B1内部中间数据输出。
7.根据权利要求5至6所述的数据变换装置,其特征在于:对4个任意的A1数据(601)、A2数据(701)、B1数据(602)、B1数据(702),在各副变换处理时,在上述A1输入数据及B1输入数据之间、A2输入数据及B2输入数据之间进行非线性变换和“异”运算,将运算结果分别作为B1中间数据(606)及B2中间数据(706),并将B1输入数据及B2输入数据直接作为A1中间数据(605)及A2中间数据(705)。
8.根据权利要求1或权利要求5中的任何一项所述的数据变换装置,其特征在于:使A输入数据和B输入数据、及各A中间数据及B中间数据的分割方式成为A和B两边的位数相等那样均匀分割。
9.一种数据变换方法,包括以下步骤:第1步骤(S1),对2个任意的A输入数据及B输入数据,直接作为第一A中间数据输出;第2步骤(S2),用第1密钥参数对上述A输入数据进行非线性变换,求取该非线性变换后的输出数据与B输入数据的“异”运算结果,并作为第一B中间数据输出;第3步骤(S3),输入上第一B中间数据,并直接作为第二A中间数据输出;及第4步骤(S4),输入上述第一A中间数据并用第2密钥参数进行非线性变换,求取该非线性变换后的输出数据与上述第一B中间数据的“异”运算结果,作为第二B中间数据输出;反复进行第1到第4步骤(S1~S4),最后使其在第2或第4步骤终止,而将最后的A中间数据及B中间数据作为变换数据。
10.一种数据变换方法,包括以下步骤:第1步骤(S11),对2个任意的A输入数据及B输入数据,将A输入数据与B输入数据的“异”运算结果作为第一A中间数据输出;第2步骤(S12),用第1密钥参数对上述A输入数据进行非线性变换,将该非线性变换后的输出数据作为第一B中间数据输出;第3步骤(S13),将上述第一A中间数据与第一B中间数据的“异”运算结果作为第二A中间数据输出;及第4步骤(S14),用第2密钥参数对上述第一A中间数据进行非线性变换,求取该非线性变换后的输出数据作为第二B中间数据输出;反复进行第1到第4步骤(S11~S14),最后使其在第2或第4步骤终止,而将最后的A中间数据及B中间数据作为变换数据。
11.根据权利要求1所述的数据变换装置,其特征在于:备有以下两种情况的任何一种的结构,即:将从第1非线性变换的输入侧到第2非线性变换的输入侧之间存在的第1非线性变换电路(131)及“异”电路(141)作为第1副变换处理部(121),将从第2非线性变换的输入侧到下一个第1非线性变换的输入侧之间存在的第2非线性变换电路(132)及“异”电路(142)作为第2副变换处理部(122);及将从第1非线性变换的输出侧到第2非线性变换的输出侧之间存在的“异”电路(141)及第2非线性变换电路(132)作为第1副变换处理部(161),将从第2非线性变换的输出侧到下一个第1非线性变换的输出侧之间存在的“异”电路(142)及第1非线性变换电路(133)作为第2副变换处理部(162);将上述第1副变换处理部与上述第2副变换处理部按需要的级数交叉连接,并在最初的第1副变换处理部的输入侧附加数据选择部(156a及156b),而在最后的第1和第2的任何一个副变换处理部的输出侧附加数据保持部(157a及157b),另外,附加密钥参数供给部(158);在开始时,由上述数据选择部(156a及156b)对2个任意的A输入数据及B输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入上述数据保持部(157a及157b)的输出并进行必要次数的反复变换处理,这时,由密钥参数供给部(158)相应于反复变换处理向各副变换处理部供给密钥参数,最后将从数据保持部(157a及157b)输出的A中间数据及B中间数据作为变换后的输出。
12.根据权利要求1所述的数据变换装置,其特征在于:将2个任意的A输入数据及B输入数据取相同的位数,另外,将从第1非线性变换的输入侧到第2非线性变换的输入侧之间存在的第1非线性变换电路(131)及“异”电路(141)、及从第1非线性变换的输出侧到第2非线性变换的输出侧之间存在的“异”电路(141)及第2非线性变换电路(132)的任何一种结构作为副变换处理部;将上述副变换处理部按必要的级数连接,并在最初的副变换处理部的输入侧附加数据选择部(156a及156b),还在最后的副变换处理部的输出侧附加数据保持部(157a及157b),另外,附加密钥参数供给部(158);在开始时,由上述数据选择部(156a及156b)对A输入数据及B输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入上述数据保持部(157a及157b)的输出并进行必要次数的反复变换处理,这时,由密钥参数供给部(158)相应于反复变换处理向各副变换处理部供给密钥参数,最后将从数据保持部(157a及157b)输出的A中间数据及B中间数据作为变换后的输出数据。
13.根据权利要求2所述的数据变换装置,其特征在于:在第1或第2非线性变换时,进行如下的非线性变换,即:将对该副变换处理部的A输入数据按任意位数分割,并作为A1输入数据和A2输入数据,此外,将密钥参数也按任意位数分割,并作为第1分割密钥参数至第n分割密钥参数;第1内部副变换处理部,用于以第1分割密钥参数对从上述A输入数据分出的A1输入数据进行内部非线性变换,将经过该内部非线性变换后的输出数据与上述A2输入数据的“异”运算结果,作为第一A2内部中间数据输出,并将上述A2输入数据直接作为第一A1内部中间数据输出;第2内部副变换处理部,用于将上述第1内部副变换处理部的第一A1内部中间数据作为A1输入数据,并用第2分割密钥参数进行内部非线性变换,将上述第一A2内部中间数据作为A2输入数据,并将经过内部非线性变换后的输出数据与该A2输入数据的“异”运算结果,作为第二A2内部中间数据输出,并将上述第一A2内部中间数据直接作为第二A1内部中间数据输出;将上述第1内部副变换处理部与上述第2内部副变换处理部按n级交叉连接,并在最初的第1内部副变换处理部的输入侧附加内部数据选择部,而在最后的第1或第2的任何一个内部副变换处理部的输出侧附加内部数据保持部,另外,附加内部密钥参数供给部;在开始时,由上述内部数据选择部对A1输入数据及A2输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入上述内部数据保持部的输出并进行必要次数的内部变换处理,这时,由内部密钥参数供给部相应于反复的内部变换处理向各内部副变换处理部供给分割密钥参数,最后将从内部数据保持部输出的A1中间数据及A2中间数据合并作为变换后的A输出数据。
14.根据权利要求2所述的数据变换装置,其特征在于:在进行各副变换处理部中的非线性变换时,进行如下的非线性变换,即:将对该副变换处理部的A输入数据按任意位数分割,并作为A1输入数据和A2输入数据,此外,将密钥参数也按任意位数分割,并作为第1分割密钥参数至第n分割密钥参数;第1内部副变换处理部,用第1分割密钥参数对将从上述A输入数据分出的A1输入数据进行内部非线性变换,将经过该内部非线性变换后的输出数据作为第一A2内部中间数据输出,并将上述A1输入数据与A2输入数据的“异”运算结果,作为第一A1内部中间数据输出;第2内部副变换处理部,将上述第1内部副变换处理部的第一A1内部中间数据作为A1输入数据,用第2分割密钥参数进行内部非线性变换后作为第二A2内部中间数据输出,将上述第一A1内部中间数据和A2内部中间数据作为A1输入数据和A2输入数据求取“异”运算结果,作为第二A1内部中间数据输出;将上述第1内部副变换处理部与上述第2内部副变换处理部按n级交叉连接,并在最初的第1内部副变换处理部的输入侧附加内部数据选择部,而在最后的第1和第2的任何一个内部副变换处理部的输出侧附加内部数据保持部,另外,附加内部密钥参数供给部;在开始时,由上述内部数据选择部对A1输入数据及A2输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入上述内部数据保持部的输出并进行必要次数的反复内部变换处理,这时,由内部密钥参数供给部相应于反复的内部变换处理向各内部副变换处理部供给密钥参数,最后将从内部数据保持部输出的A1中间数据及A2中间数据合并作为变换后的A输出数据。
15.根据权利要求13或权利要求14中的任何一项所述的数据变换装置,其特征在于:将对各副变换处理部中的非线性变换的A输入数据均等分割,使分割后的数据位数相等,并仅将第1内部变换处理部按必要的级数连接。
16.根据权利要求5或权利要求6中的任何一项所述的数据变换装置,其特征在于:将第1内部副变换处理部与第2内部副变换处理部按必要的级数交叉连接,并在最初的第1内部副变换处理部的输入侧附加内部数据选择部,而在最后的第1和第2的任何一个内部副变换处理部的输出侧附加内部数据保持部,另外,附加内部密钥参数供给部;在开始时,由上述内部数据选择部对B1输入数据及B2输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入上述数据保持部的输出并进行必要次数的反复内部变换处理,这时,由内部密钥参数供给部相应于反复的内部副变换处理向各内部副变换处理部供给密钥参数,最后将从内部数据保持部输出的B1中间数据及B2中间数据合并作为变换后的B中间数据。
17.根据权利要求16所述的数据变换装置,其特征在于:将对各副变换处理部中的内部副变换处理部的B输入数据均等分割,使分割后的数据位数相等,并仅将第1内部变换处理部按必要的级数连接。
18.根据权利要求5或权利要求6中的任何一项所述的数据变换装置,其特征在于:各密钥参数的副变换处理部在结构上按偶数级连接,在最初的副变换处理部的输入侧附加数据选择部(156a及156b),而在最后的副变换处理部的输出侧附加数据保持部(156a及156b),此外,还附加密钥参数供给部(158);在开始时,由上述数据选择部(156a及156b)对2个任意的A输入数据及B输入数据进行选择输入,如选择输入结束,则在下一步以后进行反馈连接以便选择输入上述数据保持部(157a及157b)的输出并反复进行必要次数的副变换处理,这时,由密钥参数供给部(158)相应于反复的副变换处理向各副变换处理部供给密钥参数,最后将从数据保持部(157a及157b)输出的A中间数据及B中间数据作为变换后的输出数据。
19.根据权利要求1或权利要求5中的任何一项所述的数据变换装置,其特征在于:作为非线性变换电路,至少对其一个采用伽罗瓦域上的元素X的n次方电路。
20.根据权利要求19所述的数据变换装置,其特征在于:伽罗瓦域上的元素X的n次方电路按正规基构成。
21.根据权利要求1或权利要求5中的任何一项所述的数据变换装置,其特征在于:非线性变换电路的至少一部分采用只读存储器。
22.根据权利要求1或权利要求5中的任何一项所述的数据变换装置,其特征在于:非线性变换电路的至少一部分采用随机存取存储器。
23.根据权利要求1或权利要求5中的任何一项所述的数据变换装置,其特征在于:非线性变换电路的至少一部分采用逻辑电路。
24.根据权利要求2所述的数据变换装置,其特征在于:将由2个“异”电路(971c及971d)、及“与”或“或”电路的任何一种构成的2个逻辑运算电路(971a及971b)作为数据变换部(971)附加在第1副变换处理部的A输入侧及B输入侧的至少任意一侧,并将对数据变换部(971)的输入数据分成2个任意位长的AA数据及AB数据,将密钥参数分成对应的A变换密钥参数(981a)及B变换密钥参数(981b);执行上述AA数据与上述A变换密钥参数(981a)的第1逻辑运算,将该第1逻辑运算后的输出数据与上述AB数据进行第1“异”运算,并将该第1“异”运算的输出数据作为AB数据变换后的输出数据;执行上述第1“异”运算的输出数据与B变换密钥参数的第2逻辑运算,将该第2逻辑运算后的输出数据与上述AA数据进行第2“异”运算,并将第2“异”运算的输出数据作为AA数据变换后的输出数据,将上述AA数据变换后的输出数据和AB数据变换后的输出数据合并后输出。
25.一种数据变换装置,输入第1及第2系统的数据(A及B),用密钥参数(111~114)进行非线性变换处理,并将经非线性变换处理后的第1及第2系统的数据(A及B)输出,该数据变换装置的特征在于备有:非线性变换电路(131~134),用密钥参数对第1系统的数据(A)进行非线性变换处理;及至少2个副变换处理部(121~124、或161~164),作为第1副变换处理部(121或161)和第2副变换处理部(122或162),它们具有对第1和第2系统的数据(A及B)进行“异”运算的“异”电路(141~144);将从第1副变换处理部(121或161)输出的第1及第2系统数据(A及B)作为第2副变换处理部(122或162)的第2及第1系统数据(B及A)输入,同时执行第1及第2副变换处理部(121及122、或161及162)的非线性变换电路(131及132、或132及133)的非线性变换处理。
26.根据权利要求25所述的数据变换装置,其特征在于:上述数据变换装置,将A输入数据(101)及B输入数据(102)作为第1及第2系统的数据输入,并输出A输出数据(103)及B输出数据(104),同时上述第1副变换处理部(121)用第1密钥参数对上述A输入数据进行第1非线性变换,并将该第1非线性变换后的变换数据与上述B输入数据的“异”运算结果作为B中间数据输出,另外,将上述B输入数据直接作为A中间数据输出;上述第2副变换处理部(122),输入上述A中间数据,用第2密钥参数进行第2非线性变换,并将该第2非线性变换后的变换数据与上述B中间数据的“异”运算结果作为B中间数据输出,另外,将上述B中间数据直接作为A中间数据输出;将上述第1副变换处理部(121)与上述第2副变换处理部(122)交叉连接,并将从第1及2的任何一个副变换处理部(121或122)输出的A中间数据及B中间数据作为A输出数据及B输出数据输出。
27.根据权利要求25所述的数据变换装置,其特征在于:上述数据变换装置,将A输入数据(101)及B输入数据(102)作为第1及第2系统数据输入,并输出A输出数据(103)及B输出数据(104),同时上述第1副变换处理部(161)用第1密钥参数对上述A输入数据进行第1非线性变换,并将该第1非线性变换后的变换数据作为B中间数据输出,另外,将上述B输入数据与上述A输入数据的“异”运算结果作为A中间数据输出;上述第2副变换处理部(162),输入上述A中间数据,用第2密钥参数进行第2非线性变换,并将该第2非线性变换后的变换数据作为B中间数据输出,另外,输入从上述第1副变换处理部(161)输出的B中间数据,并将输入的B中间数据与上述A中间数据的“异”运算结果作为A中间数据输出;将上述第1副变换处理部(161)与上述第2副变换处理部(162)交叉连接,并将从第1及2的任何一个副变换处理部(161或162)输出的A中间数据及B中间数据作为A输出数据(103)及B输出数据(104)输出。
28.根据权利要求25所述的数据变换装置,其特征在于包括:基本结构,将上述第1副变换处理部(121、或161或125)及上述第2副变换处理部(122、或162或126)级联连接;反复处理部(154),按规定次数对该基本结构的非线性变换进行反复处理;及密钥参数供给部(158),供给与反复处理的次数对应的密钥参数,作为对上述第1副变换处理部的非线性变换处理及第2副变换处理部的非线性变换处理供给的第1密钥参数及第2密钥参数;将规定次数反复处理后的A中间数据(107)及B中间数据(108)作为A输出数据(103)及B输出数据(104)。
29.一种数据变换装置,输入第1及第2系统的数据(A及B),用密钥参数进行非线性变换,并将经非线性变换的第1及第2系统的数据(A及B)输出,该数据变换装置的特征在于备有:非线性变换电路(131),输入第1及第2系统的数据(A及B),用密钥参数对第1系统的数据(A)进行非线性变换处理;副变换处理部(121),具有对第1及第2系统数据进行“异”运算的“异”电路(141);反复处理部(154),将副变换处理部(121)的输出即第1及第2系统的数据(A及B)作为副变换处理部的输入即第1及第2系统的数据(A及B)反复输入,并按规定次数进行反复处理;及密钥参数供给部(158),供给与反复处理对应的密钥参数,作为对副变换处理部的非线性变换电路的密钥参数。
30.根据权利要求25所述的数据变换装置,其特征在于:上述非线性变换电路(231)备有:内部分割部(351),按任意位数将输入的第1系统数据(A)分割为第1及第2两个分割数据(A1及A2);及密钥参数供给部(158),按任意位数将密钥参数分割为分割密钥参数,并供给分割密钥参数;还备有:内部非线性变换电路(331~333),输入第1及第2分割数据(A1及A2),并用分割密钥参数(311~313)对第1分割数据(A)进行内部非线性变换处理;及至少2个内部副变换处理部(321~323),作为第1内部副变换处理部(321)和第2副变换处理部(322),它们具有对第1及第2分割数据(A1及A2)进行“异”运算的“异”电路(341~343);将从第1内部副变换处理部输出的第1及第2分割数据(A1及A2)作为第2内部副变换处理部的第2及第1分割数据(A2及A1)输入,同时执行第1及第2内部副变换处理部(321及332)的非线性变换电路(331及332)的非线性变换处理。
31.一种数据变换装置,输入第1及第2系统的数据(B及A),用密钥参数进行非线性变换,并将经非线性变换后的第1及第2系统的数据(B及A)输出,该数据变换装置的特征在于备有:非线性变换电路(431),用密钥参数对第1系统的数据(B)进行非线性变换处理;副变换处理部(421),具有对第1及第2系统数据进行“异”运算的“异”电路(441);上述非线性变换电路(431)备有:内部分割部(551),按任意位数将输入的第1系统数据(B)分割为第1及第2两个分割数据(B1及B2);及密钥参数供给部(158),按任意位数将密钥参数分割为分割密钥参数,并供给分割密钥参数;还备有:内部非线性变换电路(531~533),输入第1及第2分割数据(B1及B2),并用分割密钥参数对第1分割数据(B1)进行非线性变换处理;及至少2个内部副变换处理部(521~523),作为第1内部副变换处理部(521)和第2副变换处理部(522),它们具有对第1及第2分割数据(A1及A2)进行“异”运算的“异”电路(541~543);将从第1内部副变换处理部(521)输出的第1及第2分割数据(B1及B2)作为第2内部副变换处理部(522)的第2及第1分割数据(B2及B1)输入,同时执行第1及第2内部副变换处理部(521及522)的非线性变换电路(531及532)的非线性变换处理。
CNB961910194A 1995-09-05 1996-07-31 数据变换装置及数据变换方法 Expired - Lifetime CN1136692C (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP227685/1995 1995-09-05
JP22768595 1995-09-05
JP227685/95 1995-09-05
JP11073/96 1996-01-25
JP1107396 1996-01-25
JP11073/1996 1996-01-25

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CNB031457525A Division CN100435505C (zh) 1995-09-05 1996-07-31 数据变换装置及数据变换方法

Publications (2)

Publication Number Publication Date
CN1164912A true CN1164912A (zh) 1997-11-12
CN1136692C CN1136692C (zh) 2004-01-28

Family

ID=26346455

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB961910194A Expired - Lifetime CN1136692C (zh) 1995-09-05 1996-07-31 数据变换装置及数据变换方法
CNB031457525A Expired - Lifetime CN100435505C (zh) 1995-09-05 1996-07-31 数据变换装置及数据变换方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CNB031457525A Expired - Lifetime CN100435505C (zh) 1995-09-05 1996-07-31 数据变换装置及数据变换方法

Country Status (10)

Country Link
US (3) US6201869B1 (zh)
EP (1) EP0790595B1 (zh)
KR (1) KR100250803B1 (zh)
CN (2) CN1136692C (zh)
AU (1) AU693719B2 (zh)
DE (1) DE69635651T2 (zh)
DK (1) DK0790595T3 (zh)
ES (1) ES2255712T3 (zh)
NO (1) NO324428B1 (zh)
WO (1) WO1997009705A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101952870A (zh) * 2008-01-21 2011-01-19 索尼公司 数据转换器、数据转换方法以及计算机程序
CN1734527B (zh) * 2000-03-09 2011-04-06 三菱电机株式会社 数据变换装置和数据变换方法
CN101006677B (zh) * 2004-06-18 2011-09-28 茂福公司 用于实施加密运算的方法和装置
CN101401141B (zh) * 2006-03-14 2011-12-07 日本电气株式会社 信息处理系统以及信息处理方法
CN103503362A (zh) * 2011-03-28 2014-01-08 索尼公司 数据处理装置、数据处理方法以及程序

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2255712T3 (es) * 1995-09-05 2006-07-01 Mitsubishi Denki Kabushiki Kaisha Aparato de transformacion de datos y procedimiento de transformacion de datos.
JP3088337B2 (ja) 1997-05-30 2000-09-18 三菱電機株式会社 暗号処理装置、icカード及び暗号処理方法
US6088800A (en) 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
JP2000124813A (ja) 1998-10-20 2000-04-28 Texas Instr Japan Ltd リードソロモン符号化装置およびその方法とリードソロモン復号装置およびその方法
MY131509A (en) * 1999-03-15 2007-08-30 Sony Corp Data processing method, apparatus and system for encrypted- data transfer
JP3499810B2 (ja) 2000-03-06 2004-02-23 株式会社東芝 暗号化装置、暗号化方法及び暗号化装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体並びに復号装置、復号方法及び復号装置としてコンピュータを機能させるためのプログラムを記録したコンピュータ読取り可能な記録媒体
US7269615B2 (en) 2001-12-18 2007-09-11 Analog Devices, Inc. Reconfigurable input Galois field linear transformer system
US7283628B2 (en) * 2001-11-30 2007-10-16 Analog Devices, Inc. Programmable data encryption engine
US7508937B2 (en) * 2001-12-18 2009-03-24 Analog Devices, Inc. Programmable data encryption engine for advanced encryption standard algorithm
KR100446533B1 (ko) * 2002-10-08 2004-09-01 삼성전자주식회사 무선 통신 시스템에서 암호화 장치 및 방법
KR100456599B1 (ko) * 2002-11-12 2004-11-09 삼성전자주식회사 병렬 디이에스 구조를 갖는 암호 장치
US7310421B2 (en) * 2003-10-06 2007-12-18 National Institute Of Information And Communications Technology Particular plaintext detector
US7433469B2 (en) * 2004-04-27 2008-10-07 Intel Corporation Apparatus and method for implementing the KASUMI ciphering process
EP1878153B1 (de) * 2005-05-04 2012-02-08 Siemens Enterprise Communications GmbH & Co. KG Verfahren und vorrichtung zum ermitteln von indizes die korrektursymbolen zugeordnet sind
FR2878390A1 (fr) * 2005-11-24 2006-05-26 Samsung Electronics Co Ltd Systeme et procede cryptographiques pour chiffrer des donnees d'entree
JP2007299088A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd データ保護システム、方法及びプログラム
JP4882598B2 (ja) * 2006-07-28 2012-02-22 ソニー株式会社 暗号処理装置、暗号処理アルゴリズム構築方法、および暗号処理方法、並びにコンピュータ・プログラム
US7620792B2 (en) * 2006-08-21 2009-11-17 Sigmatel, Inc. Processing system, memory and methods for use therewith
JP2008172617A (ja) * 2007-01-12 2008-07-24 Fujitsu Ltd 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム
JP2008270870A (ja) * 2007-04-16 2008-11-06 Sony Corp 通信システム、通信装置及び通信方法、並びにコンピュータ・プログラム
US20100027781A1 (en) * 2007-12-20 2010-02-04 Galbi Duane E Method and apparatus for enhancing performance of data encryption standard (des) encryption/decryption
JP5200949B2 (ja) 2009-01-16 2013-06-05 富士通株式会社 暗号処理装置
US8891758B2 (en) 2009-10-27 2014-11-18 Nec Corporation Block encryption device and method and computer program
US8266181B2 (en) 2010-05-27 2012-09-11 International Business Machines Corporation Key-break and record-loop processing in parallel data transformation
US20120079462A1 (en) * 2010-09-24 2012-03-29 SoftKrypt LLC Systems and methods of source software code obfuscation
JP5682527B2 (ja) 2011-03-28 2015-03-11 ソニー株式会社 暗号処理装置、および暗号処理方法、並びにプログラム
JP2018182429A (ja) * 2017-04-06 2018-11-15 株式会社村田製作所 データ変換装置

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6037586A (ja) 1983-08-09 1985-02-26 富士通株式会社 Des暗号装置鍵誤り検出方式
JPS61117940A (ja) 1984-11-13 1986-06-05 Hitachi Ltd デ−タ保護方式
JPH0727325B2 (ja) * 1987-02-13 1995-03-29 沖電気工業株式会社 暗号化装置
JP2760799B2 (ja) 1988-04-28 1998-06-04 株式会社日立製作所 暗号方式
JP2825205B2 (ja) 1989-07-20 1998-11-18 日本電信電話株式会社 暗号装置
JP3053106B2 (ja) 1990-11-02 2000-06-19 株式会社日立製作所 暗号化処理装置、及び復号化処理装置
JP2862030B2 (ja) 1991-06-13 1999-02-24 三菱電機株式会社 暗号化方式
JPH0535448A (ja) 1991-07-26 1993-02-12 Matsushita Electric Ind Co Ltd 有限体における乗算器
JPH0588849A (ja) 1991-09-26 1993-04-09 Matsushita Electric Ind Co Ltd 正規基底を用いた乗算器の構成法
JP3180836B2 (ja) 1992-05-21 2001-06-25 日本電気株式会社 暗号通信装置
US5317638A (en) 1992-07-17 1994-05-31 International Business Machines Corporation Performance enhancement for ANSI X3.92 data encryption algorithm standard
US5398284A (en) * 1993-11-05 1995-03-14 United Technologies Automotive, Inc. Cryptographic encoding process
JPH07191603A (ja) 1993-12-24 1995-07-28 Canon Inc 暗号装置及びこれを用いた秘匿・認証通信システム
JP3029381B2 (ja) * 1994-01-10 2000-04-04 富士通株式会社 データ変換装置
US5717760A (en) 1994-11-09 1998-02-10 Channel One Communications, Inc. Message protection system and method
US6125182A (en) 1994-11-09 2000-09-26 Channel One Communications, Inc. Cryptographic engine using logic and base conversions
JPH08179690A (ja) 1994-12-22 1996-07-12 Nec Corp プロダクト暗号装置
JP3129384B2 (ja) 1995-02-08 2001-01-29 日亜化学工業株式会社 窒化物半導体レーザ素子
US5757915A (en) 1995-08-25 1998-05-26 Intel Corporation Parameterized hash functions for access control
ES2255712T3 (es) 1995-09-05 2006-07-01 Mitsubishi Denki Kabushiki Kaisha Aparato de transformacion de datos y procedimiento de transformacion de datos.
JPH0990870A (ja) 1995-09-27 1997-04-04 Nec Corp 基本変換方法、暗号化方法、基本変換回路および暗号装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1734527B (zh) * 2000-03-09 2011-04-06 三菱电机株式会社 数据变换装置和数据变换方法
CN1734526B (zh) * 2000-03-09 2013-09-18 三菱电机株式会社 数据变换装置和数据变换方法
CN101006677B (zh) * 2004-06-18 2011-09-28 茂福公司 用于实施加密运算的方法和装置
CN101401141B (zh) * 2006-03-14 2011-12-07 日本电气株式会社 信息处理系统以及信息处理方法
CN101952870A (zh) * 2008-01-21 2011-01-19 索尼公司 数据转换器、数据转换方法以及计算机程序
CN103503362A (zh) * 2011-03-28 2014-01-08 索尼公司 数据处理装置、数据处理方法以及程序
CN103503362B (zh) * 2011-03-28 2016-08-24 索尼公司 数据处理装置、数据处理方法以及程序

Also Published As

Publication number Publication date
EP0790595A1 (en) 1997-08-20
WO1997009705A1 (fr) 1997-03-13
CN1496048A (zh) 2004-05-12
US20020131589A1 (en) 2002-09-19
US7096369B2 (en) 2006-08-22
AU6629396A (en) 1997-03-27
KR100250803B1 (ko) 2000-04-01
NO972052D0 (no) 1997-05-02
ES2255712T3 (es) 2006-07-01
AU693719B2 (en) 1998-07-02
US6415030B2 (en) 2002-07-02
CN1136692C (zh) 2004-01-28
NO324428B1 (no) 2007-10-15
DE69635651T2 (de) 2006-09-07
US6201869B1 (en) 2001-03-13
CN100435505C (zh) 2008-11-19
KR970707525A (ko) 1997-12-01
DE69635651D1 (de) 2006-02-02
NO972052L (no) 1997-05-05
EP0790595B1 (en) 2005-12-28
US20010000708A1 (en) 2001-05-03
EP0790595A4 (en) 2003-10-15
DK0790595T3 (da) 2006-05-08

Similar Documents

Publication Publication Date Title
CN1136692C (zh) 数据变换装置及数据变换方法
CN1134933C (zh) 安全性高的秘密键传送系统、发送装置及接收装置
CN1324831C (zh) 加密/解密系统和加密/解密方法
CN1303777C (zh) 无状态接收机的广播加密和密钥撤销方法
CN1364284A (zh) 数据变换装置和数据变换方法以及记录用以在计算机上执行数据变换方法的程序的计算机可读取存储媒体
CN1282325C (zh) 能快速解密的密码系统与方法
CN1203431C (zh) 公用密钥加密装置
CN1275846A (zh) 数据加密装置和方法
CN1867889A (zh) 数据转换器
CN1728634A (zh) 伽罗瓦域中相乘的方法和设备与求逆设备及字节替换设备
CN101044535A (zh) 数据变换装置以及数据变换方法
CN1921382A (zh) 一种基于aes算法的加解密方法及加解密器
CN1831900A (zh) 解密装置和解密方法
CN1702613A (zh) 蒙哥马利模乘法器
CN1483271A (zh) 安全通信包处理装置及其方法
CN1630204A (zh) 具有矩阵转换技术的循环冗余码计算方法及系统
CN1530824A (zh) 用于执行蒙哥马利型模乘法的装置及方法
CN1238988C (zh) 密钥信息生成的方法和装置、内容信息加密与解密的方法和装置
CN1259617C (zh) 一种加快rsa加/解密过程的方法及其模乘、模幂运算电路
CN1242321C (zh) 应用蒙哥马利算法的幂剩余运算器
CN1186901C (zh) 密码处理装置、集成电路卡及密码处理方法
CN1905438A (zh) 一种基于标识的组合密钥管理方法和系统
CN1523810A (zh) 设计最优加密函数的方法和优化的加密设备
CN1806410A (zh) 加密通信系统
CN1894884A (zh) 内容分发服务器、密钥分配方法、内容输出设备及密钥发布中心

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
CX01 Expiry of patent term

Granted publication date: 20040128

EXPY Termination of patent right or utility model