欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)變換裝置和數(shù)據(jù)變換方法以及記錄用以在計算機(jī)上執(zhí)行數(shù)據(jù)變換方法的程序的計算...的制作方法

文檔序號:2405782閱讀:361來源:國知局
專利名稱:數(shù)據(jù)變換裝置和數(shù)據(jù)變換方法以及記錄用以在計算機(jī)上執(zhí)行數(shù)據(jù)變換方法的程序的計算 ...的制作方法
技術(shù)領(lǐng)域
本發(fā)明是在信息通信等,有關(guān)于做為保護(hù)數(shù)字信息的加密及解密及數(shù)據(jù)擴(kuò)散等的數(shù)據(jù)變換裝置和數(shù)據(jù)變換方法以及記錄數(shù)據(jù)變換方法的記錄媒體。
背景技術(shù)
圖25是顯示使用在記載于“現(xiàn)代暗號理論”(社團(tuán)法人電子情報通信學(xué)會、平成9年11月15日發(fā)行、46頁)的現(xiàn)有的DES加密的加密函數(shù)的圖。
如圖25所示,設(shè)置有8個S盒。該8個S盒是分別為不同的表。各表是從6位的輸入數(shù)據(jù)來輸出4位的輸出數(shù)據(jù)。
圖26是顯示記載于“Specification of E2-a 128-bit BlockCipher”(Nippon Telegraph and Telephone Corporation,June 14,1998、10頁)的非線性變換函數(shù)的圖。
如圖26所示,于各S函數(shù)部是設(shè)置有8個S盒。
在現(xiàn)有的加密裝置中,是設(shè)置多個S盒。因為在某一加密是準(zhǔn)備分別為不同的表,所以存儲容量為比起使用1個S盒的場合更為加大,而又因為在另外的加密只使用1個S盒,所以會有所謂安全性降低的問題。
而且,于如圖7所示,在設(shè)置數(shù)據(jù)正變換部(FL)250于加密部的場合時,若無設(shè)置數(shù)據(jù)逆變換部(FL-1)270于解密部則無法解密。一般,因為數(shù)據(jù)正變換部(FL)250與數(shù)據(jù)逆變換部(FL-1)270為不同的電路,所以會有所謂無法將加密部與解密部做成同一構(gòu)成的課題。
而且,在產(chǎn)生擴(kuò)展密鑰的場合時,為了產(chǎn)生安全性更高的擴(kuò)展密鑰而需要復(fù)雜的操作。而且,當(dāng)產(chǎn)生擴(kuò)展密鑰時,會有所謂以做為初期值被輸入的密鑰數(shù)據(jù)的位數(shù)必需為一定值的課題。
本發(fā)明是以提供可將加密用和解密用的電路做成同一個,而且在用以消減使用做為非線性函數(shù)計算的電路規(guī)模、程序大小、及存儲器容量,來產(chǎn)生擴(kuò)展密鑰的場合時,可以簡單的構(gòu)成就可產(chǎn)生的系統(tǒng)做為目的。
發(fā)明的概述本發(fā)明的數(shù)據(jù)變換裝置包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換,其特征在于上述數(shù)據(jù)處理部是將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)分割為第一數(shù)據(jù)(L)和第二數(shù)據(jù)(R)而做數(shù)據(jù)變換;而且,上述數(shù)據(jù)處理部是包括數(shù)據(jù)正變換部(FL),變換第一數(shù)據(jù)(L);及數(shù)據(jù)逆變換部(FL-1),將第二數(shù)據(jù)(R)做與上述數(shù)據(jù)正變換部(FL)的變換相反的變換。
其中,上述數(shù)據(jù)處理部具有第一輸入和第二輸入;及第一輸出和第二輸出;上述數(shù)據(jù)正變換部(FL)將變換后的數(shù)據(jù)輸出至數(shù)據(jù)處理部的第一輸入;上述數(shù)據(jù)逆變換部(FL-1)變換從數(shù)據(jù)處理部的第二輸出所輸出的數(shù)據(jù)予以輸出。
其中,上述數(shù)據(jù)處理部具有第一輸入和第二輸入;及第一輸出和第二輸出,上述數(shù)據(jù)正變換部(FL)將變換后的數(shù)據(jù)輸出至數(shù)據(jù)處理部的第二輸入,上述數(shù)據(jù)逆變換部(FL-1)變換從數(shù)據(jù)處理部的第一輸出所輸出的數(shù)據(jù)予以輸出。
本發(fā)明的數(shù)據(jù)變換裝置包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換,其特征于上述數(shù)據(jù)處理部包括非線性變換部,將數(shù)據(jù)做非線性變換;非線性變換部是包括第一變換部(s1),將欲變換的數(shù)據(jù)的一部分?jǐn)?shù)據(jù)輸入做為第一部分?jǐn)?shù)據(jù),以使用可將輸入后的數(shù)據(jù)的值變換成其他的值予以輸出的變換表T來變換第一部分?jǐn)?shù)據(jù),而輸出變換后的數(shù)據(jù);及第二變換部(s2),將欲變換的數(shù)據(jù)的至少其他的一部分?jǐn)?shù)據(jù)輸入做為第二部分?jǐn)?shù)據(jù),以使用可使用上述變換表T的變換與第二部分用運(yùn)算來變換第二部分?jǐn)?shù)據(jù),而輸出變換后的數(shù)據(jù)。
其中,上述第一變換部(s1)在變換表T輸入數(shù)據(jù)y1并輸出數(shù)據(jù)s1(y1),并將該數(shù)據(jù)輸出做為數(shù)據(jù)z1=s1(y1),上述第二變換部(s2)在變換表T輸入數(shù)據(jù)y2并輸出數(shù)據(jù)s1(y2),將以循環(huán)移位處理數(shù)據(jù)s1(y2)的數(shù)據(jù)(rot(s1(y2)))輸出做為數(shù)據(jù)z2=rot(s1(y2))。
其中,上述數(shù)據(jù)處理部進(jìn)而包括第三變換部(s3)和第四變換部(s4),與欲變換的數(shù)據(jù)的第一部分?jǐn)?shù)據(jù)和第二部分?jǐn)?shù)據(jù)不同的一部分?jǐn)?shù)據(jù)輸入做為第三部分?jǐn)?shù)據(jù),并將與第一部分?jǐn)?shù)據(jù)和第二部分?jǐn)?shù)據(jù)和第三部分?jǐn)?shù)據(jù)不同的一部分?jǐn)?shù)據(jù)分別輸入做為第四部分?jǐn)?shù)據(jù),而通過使用上述變換表T的變換及分別與第二變換部(s2)的第二部分用運(yùn)算不同的第三部分用運(yùn)算和第四部分用運(yùn)算,來分別變換第三部分?jǐn)?shù)據(jù)和第四部分?jǐn)?shù)據(jù),而輸出變換后的數(shù)據(jù)。
本發(fā)明的數(shù)據(jù)變換裝置包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換,其特征在于上述數(shù)據(jù)處理部包括有限域變換部,輸入欲變換的數(shù)據(jù),將所輸入的數(shù)據(jù)視為某一域(field)的元,而使用已使用其有限域的逆元電路加以變換,而輸出變換后數(shù)據(jù);及GF(2)上的向量空間CF(2)n的仿射變換部,將欲變換成上述有限域變換部的前段和后段的至少任何一方的CF(2n)上的數(shù)據(jù)視為自然的對應(yīng)CF(2)n的元。
其中,上述有限域變換部只具有多個N/2位運(yùn)算器,將N(N為偶數(shù))位的數(shù)據(jù)X以成為X=X0+βX1(X0、X1有限域的元,β原來的域的元)的高N/2位數(shù)據(jù)X1與低N/2位數(shù)據(jù)X0予以等分,并將成為Y=Y(jié)0+βY1=1/(X0+βX1)(X=0時Y=0)的高N/2位數(shù)據(jù)Y1與低N/2位數(shù)據(jù)Y0分別以N/2位單位來運(yùn)算而求得數(shù)據(jù)Y。
本發(fā)明的數(shù)據(jù)變換裝置包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于上述數(shù)據(jù)處理部具有多段非線性數(shù)據(jù)變換部,在每一段輸入擴(kuò)展密鑰并被以多段連接來做非線性變換;上述密鑰產(chǎn)生部是包括密鑰移位部,對于上述多段非線性數(shù)據(jù)變換部的每一段而當(dāng)產(chǎn)生欲供應(yīng)的擴(kuò)展密鑰,則輸入密鑰數(shù)據(jù)與依存于從密鑰數(shù)據(jù)所產(chǎn)生的密鑰數(shù)據(jù)的至少任一數(shù)據(jù)而僅以預(yù)先所決定的位數(shù)Z1、Z2、…、Zm(在此,i、j、k是做為1~m中的任何一個值,Zk-Zj=I×(Zi+1-Zi)=I×B(I為整數(shù),B=Zi+1-Zi))做循環(huán)移位,而從該循環(huán)移位后的密鑰數(shù)據(jù)來產(chǎn)生各段的非線性數(shù)據(jù)變換部的擴(kuò)展密鑰,而且上述密鑰移位部包括循環(huán)移位寄存器,在1次動作里做(Zi+1-Zi)位(B位)的循環(huán)移位;及控制部,對于已做Zi位循環(huán)移位的密鑰數(shù)據(jù)通過使循環(huán)移位寄存器動作一次并使執(zhí)行(Zi+1-Zi)位(B位)的循環(huán)移位,而在循環(huán)移位寄存器使產(chǎn)生做Zi+1位循環(huán)移位的密鑰數(shù)據(jù),并對于已做Zi+1位循環(huán)移位的密鑰數(shù)據(jù)通過使循環(huán)移位寄存器動作一次并使執(zhí)行I×(Zi+1-Zi)位(I×B位)的循環(huán)移位,而在循環(huán)移位寄存器使產(chǎn)生做Zi+2位循環(huán)移位的密鑰數(shù)據(jù)。
其中,上述循環(huán)移位寄存器是在為了使循環(huán)移位寄存器動作而被供應(yīng)的動作時鐘的1時鐘機(jī)器周期里做Zi+1-Zi位(B位)的循環(huán)移位的電路。
其中,上述循環(huán)移位電路包括選擇器,以做為(Zi+1-Zi)位(B位)的值,而選擇B1=8×J1+1(J1=0以上的整數(shù))位與B2=8×J2-1(J2=1以上的整數(shù),而J1和J2無關(guān)系,即J1≠J2或J1=J2)位的任一值。
本發(fā)明的數(shù)據(jù)變換裝置包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于上述數(shù)據(jù)處理部具有多段非線性數(shù)據(jù)變換部,在每一段輸入擴(kuò)展密鑰并被以多段連接來做非線性變換,上述密鑰產(chǎn)生部是包括密鑰移位部,對于上述多段非線性數(shù)據(jù)變換部的每一段而當(dāng)產(chǎn)生欲供應(yīng)的擴(kuò)展密鑰,則僅以預(yù)先決定某一密鑰數(shù)據(jù)的位數(shù)(B位)的順序來做循環(huán)移位,而從該循環(huán)移位后的密鑰數(shù)據(jù)來產(chǎn)生供應(yīng)至各段的非線性數(shù)據(jù)變換部的擴(kuò)展密鑰,而且上述密鑰移位部在僅以B位順序做循環(huán)移位的數(shù)據(jù)里,可無視一部分的數(shù)據(jù)而不產(chǎn)生擴(kuò)展密鑰,而后從剩余的其他數(shù)據(jù)來產(chǎn)生擴(kuò)展密鑰。
本發(fā)明的數(shù)據(jù)變換裝置是包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于上述密鑰產(chǎn)生部包括第一G位密鑰變換部,輸入并變換G位的G位密鑰數(shù)據(jù),而輸出G位的第一G位變換密鑰數(shù)據(jù);及第二G位密鑰變換部,輸入從上述第一G位變換密鑰變換部所輸出的第一G位密鑰數(shù)據(jù),進(jìn)而予以變換而輸出G位的第二G位變換密鑰數(shù)據(jù);而在上述密鑰產(chǎn)生部輸入G位密鑰數(shù)據(jù)K的場合時,是將G位密鑰數(shù)據(jù)K輸入到第一G位密鑰變換部并予以變換,而將由第一G位密鑰變換部所輸出的第一G位變換密鑰數(shù)據(jù)K1予以輸出做為G位密鑰數(shù)據(jù);在上述密鑰產(chǎn)生部輸入2G位密鑰數(shù)據(jù)K的場合時,將從2G位密鑰數(shù)據(jù)K產(chǎn)生G位密鑰數(shù)據(jù)所產(chǎn)生的G位密鑰數(shù)據(jù)予以輸入到第一G位密鑰變換部并變換后輸出第一G位變換密鑰數(shù)據(jù)K1,而將第一G位變換密鑰數(shù)據(jù)K1輸入到第二G位密鑰變換部予以變換而輸出第二G位變換密鑰數(shù)據(jù)K2,將由第一G位密鑰變換部所輸出的第一G位變換密鑰數(shù)據(jù)K1與由第二G位密鑰變換部所輸出的第二G位變換密鑰數(shù)據(jù)K2予以連結(jié),而輸出做為變換后的2G位密鑰數(shù)據(jù)(K1、K2)。
其中,上述第一G位密鑰變換部是包括2段非線性數(shù)據(jù)變換部,將G位密鑰數(shù)據(jù)做非線性變換;及邏輯運(yùn)算部,執(zhí)行自2段非線性數(shù)據(jù)變換部所輸出的變換途中的G位密鑰數(shù)據(jù)與第一G位密鑰變換部所輸入的G位密鑰數(shù)據(jù)做邏輯運(yùn)算。
其中,上述密鑰產(chǎn)生部進(jìn)而包括位長度變換部,于輸入Q位(G<Q<2G)的密鑰數(shù)據(jù)的場合時,將Q位的密鑰數(shù)據(jù)做成2G位的密鑰數(shù)據(jù)。
本發(fā)明的數(shù)據(jù)變換裝置是包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于包括非線性函數(shù)部(F),其包括密鑰函數(shù)部,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)與密鑰數(shù)據(jù)做邏輯運(yùn)算;S函數(shù)部,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)予以置換變換成其他數(shù)據(jù);及P函數(shù)部,在執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)間做邏輯運(yùn)算;非線性函數(shù)部(F)將密鑰函數(shù)部配置于S函數(shù)部與P函數(shù)部之間。
本發(fā)明的數(shù)據(jù)變換裝置是包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于包括非線性函數(shù)部(F),其包括密鑰函數(shù)部,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)與密鑰數(shù)據(jù)做邏輯運(yùn)算;S函數(shù)部,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)予以置換變換成其他數(shù)據(jù);及P函數(shù)部,在執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)間做邏輯運(yùn)算;非線性函數(shù)部(F)將密鑰函數(shù)部配置于S函數(shù)部與P函數(shù)部兩者之前及兩者之后的任一者。
其中,上述S函數(shù)部包括第一變換部(s1),輸入欲變換的數(shù)據(jù)的一部分?jǐn)?shù)據(jù)做為第一部分?jǐn)?shù)據(jù),而使用可將輸入后的數(shù)據(jù)的值變換成其他的值并予以輸出的變換表T,來變換第一部分?jǐn)?shù)據(jù)而輸出變換后的數(shù)據(jù);及第二變換部(s2),輸入欲變換的數(shù)據(jù)的至少其他的一部分?jǐn)?shù)據(jù)做為第二部分?jǐn)?shù)據(jù),而使用已使用上述變換表T的變換及第二部分用運(yùn)算,來變換第二部分?jǐn)?shù)據(jù)而輸出變換后的數(shù)據(jù)。
本發(fā)明的數(shù)據(jù)變換裝置包括至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換的數(shù)據(jù)處理部,還包括非線性函數(shù)部(F),其包括P函數(shù)部,在執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)間做邏輯運(yùn)算,上述P函數(shù)輸入z1、z2、…、z8的8個4n(n是1以上的整數(shù))位數(shù)據(jù),并包括于上述z1、z2、z3、z4的4個數(shù)據(jù)里,執(zhí)行至少2個以上的數(shù)據(jù)的異或邏輯運(yùn)算而得到4n位的結(jié)果的U1電路;于上述z5、z6、z7、z8的4個數(shù)據(jù)里,執(zhí)行至少2個以上的數(shù)據(jù)的異或邏輯運(yùn)算而得到4n位的結(jié)果的U2電路;執(zhí)行U1與U2的異或邏輯運(yùn)算而得到4n位的結(jié)果的U3電路;對于U1做循環(huán)移位的循環(huán)電路;及執(zhí)行上述循環(huán)電路的輸出與U3的異或邏輯運(yùn)算而得到4n位的結(jié)果的U4電路;將上述U3、U4分別分割成4個而做為z′1、z′2、…、z′8的8個n位數(shù)據(jù)而輸出。
本發(fā)明的數(shù)據(jù)變換方法是以實行輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換的數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)分割為第一數(shù)據(jù)(L)和第二數(shù)據(jù)(R);而且上述數(shù)據(jù)處理包括數(shù)據(jù)正變換處理(FL),變換第一數(shù)據(jù)(L);及數(shù)據(jù)逆變換處理(FL-1),將第二數(shù)據(jù)(R)做與上述數(shù)據(jù)正變換處理(FL)的變換相反的變換。
本發(fā)明的數(shù)據(jù)變換方法是以實行輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換的數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理包括非線性變換處理,將數(shù)據(jù)做非線性變換;非線性變換處理包括第一變換處理(s1),將欲變換的數(shù)據(jù)的一部分?jǐn)?shù)據(jù)輸入做為第一部分?jǐn)?shù)據(jù),使用可將輸入后的數(shù)據(jù)的值變換成其他的值予以輸出的變換表T來變換第一部分?jǐn)?shù)據(jù),而輸出變換后的數(shù)據(jù);及第二變換處理(s2),將欲變換的數(shù)據(jù)的至少其他的一部分?jǐn)?shù)據(jù)輸入做為第二部分?jǐn)?shù)據(jù),使用可使用上述變換表T的變換與第二部分用運(yùn)算來變換第二部分?jǐn)?shù)據(jù),而輸出變換后的數(shù)據(jù)。
本發(fā)明的數(shù)據(jù)變換方法是以實行輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換的數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理包括有限域變換處理,輸入欲變換的數(shù)據(jù),將所輸入的數(shù)據(jù)視為某一域(field)的元,而使用已使用其有限域的逆元電路加以變換,而輸出變換后的數(shù)據(jù);及GF(2)上的向量空間CF(2)n的仿射變換處理,將欲變換成上述有限域變換部的前段和后段的至少任何一方的CF(2n)上的數(shù)據(jù)視為自然的對應(yīng)CF(2)n的元。
本發(fā)明的數(shù)據(jù)變換方法實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理具有多段非線性數(shù)據(jù)變換處理,于每一段輸入擴(kuò)展密鑰并被以多段連接來做非線性變換,上述密鑰產(chǎn)生處理包括密鑰移位處理,對于上述多段非線性數(shù)據(jù)變換處理的每一段而當(dāng)產(chǎn)生欲供應(yīng)的擴(kuò)展密鑰,則輸入密鑰數(shù)據(jù)與依存于從密鑰數(shù)據(jù)所產(chǎn)生的密鑰數(shù)據(jù)的至少任一數(shù)據(jù)而僅以預(yù)先所決定的位數(shù)Z1、Z2、…、Zm(在此,i、 j、k是做為1~m中的任何一個值,Zk-Zj=I×(Zi+1-Zi)=I×B(I為整數(shù),B=Zi+1-Zi))做循環(huán)移位,而從該循環(huán)移位后的密鑰數(shù)據(jù)來產(chǎn)生各段的非線性數(shù)據(jù)變換處理的擴(kuò)展密鑰,而且上述密鑰移位處理包括循環(huán)移位處理,在1次動作里做(Zi+1-Zi)位(B位)的循環(huán)移位;及控制處理,對于已做Zi位循環(huán)移位的密鑰數(shù)據(jù)通過循環(huán)移位處理動作一次并執(zhí)行(Zi+1-Zi)位(B位)的循環(huán)移位,而通過循環(huán)移位處理產(chǎn)生做Zi+1位循環(huán)移位的密鑰數(shù)據(jù),并對于已做Zi+1位循環(huán)移位的密鑰數(shù)據(jù)通過循環(huán)移位處理動作I次并執(zhí)行I×(Zi+1-Zi)位(I×B位)的循環(huán)移位,而通過循環(huán)移位處理產(chǎn)生做Zi+2位循環(huán)移位的密鑰數(shù)據(jù)。
本發(fā)明的數(shù)據(jù)變換方法實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理具有多段非線性數(shù)據(jù)變換處理,于每一段輸入擴(kuò)展密鑰并被以多段連接來做非線性變換,上述密鑰產(chǎn)生處理包括密鑰移位處理,對于上述多段非線性數(shù)據(jù)變換部的每一段而當(dāng)產(chǎn)生欲供應(yīng)的擴(kuò)展密鑰,則僅以預(yù)先決定某一密鑰數(shù)據(jù)的位數(shù)(B位)順序來做循環(huán)移位,而從該循環(huán)移位后的密鑰數(shù)據(jù)來產(chǎn)生供應(yīng)做各段的非線性數(shù)據(jù)變換處理的擴(kuò)展密鑰,而且上述密鑰移位處理在僅以B位順序做循環(huán)移位的數(shù)據(jù)里,可無視一部分的數(shù)據(jù)而不產(chǎn)生擴(kuò)展密鑰,而從剩余的其他數(shù)據(jù)來產(chǎn)生擴(kuò)展密鑰。
本發(fā)明的數(shù)據(jù)變換方法實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于上述密鑰產(chǎn)生處理包括第一G位密鑰變換處理,輸入并變換G位的G位密鑰數(shù)據(jù),而輸出G位的第一G位變換密鑰數(shù)據(jù);及第二G位密鑰變換處理,輸入從上述第一G位密鑰變換處理所輸出的第一G位密鑰數(shù)據(jù),進(jìn)而予以變換而輸出G位的第二G位變換密鑰數(shù)據(jù);而在上述密鑰產(chǎn)生部輸入G位密鑰數(shù)據(jù)K的場合時,將G位密鑰數(shù)據(jù)K輸入到第一G位密鑰變換部并予以變換,而將由第一G位密鑰變換處理所輸出的第一G位密鑰數(shù)據(jù)K1予以輸出做為G位密鑰數(shù)據(jù),在上述密鑰產(chǎn)生部輸入2G位密鑰數(shù)據(jù)K的場合時,將從2G位密鑰數(shù)據(jù)K產(chǎn)生G位密鑰數(shù)據(jù)所產(chǎn)生的G位密鑰數(shù)據(jù)予以輸入到第一G位密鑰變換部并變換后輸出第一G位變換密鑰數(shù)據(jù)K1,而將第一G位變換密鑰數(shù)據(jù)K1輸入做第二G位密鑰變換處理予以變換而輸出第二G位變換密鑰數(shù)據(jù)K2,將由第一G位密鑰變換處理所輸出的第一G位變換密鑰數(shù)據(jù)K1與由第二G位密鑰變換處理所輸出的第二G位變換密鑰數(shù)據(jù)K2予以連結(jié),而輸出做為變換后的2G位密鑰數(shù)據(jù)(K1、K2)。
本發(fā)明的數(shù)據(jù)變換方法實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于包括非線性函數(shù)處理(F),其包括密鑰函數(shù)處理,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)與密鑰數(shù)據(jù)做邏輯運(yùn)算;S函數(shù)處理,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)予以置換變換成其他數(shù)據(jù);及P函數(shù)處理,在執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)間做邏輯運(yùn)算;非線性函數(shù)處理(F)使密鑰函數(shù)動作在S函數(shù)處理與P函數(shù)處理之間。
本發(fā)明的數(shù)據(jù)變換方法實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于包括非線性函數(shù)處理(F),其包括密鑰函數(shù)處理,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)與密鑰數(shù)據(jù)做邏輯運(yùn)算;S函數(shù)處理,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)予以置換變換成其他數(shù)據(jù);及P函數(shù)處理,在執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)間做邏輯運(yùn)算;非線性函數(shù)處理(F)使密鑰函數(shù)動作在S函數(shù)處理與P函數(shù)處理兩者之前及兩者之后的任一者。
本發(fā)明的數(shù)據(jù)變換裝置包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換,其特征在于上述數(shù)據(jù)處理部包括第一輸入部;第二輸入部;第一輸出部;第二輸出部;非線性變換部,將數(shù)據(jù)的加密與數(shù)據(jù)的解密用同一算法執(zhí)行;第一輸入數(shù)據(jù)正變換部,變換輸入于第一輸入部的數(shù)據(jù);及第二輸出數(shù)據(jù)逆變換部,輸入從第二輸出部所輸出的數(shù)據(jù)而做與上述第一輸入數(shù)據(jù)正變換部的變換相反的變換。
其中,上述非線性變換部包括算法處理部,為從第一輸入部輸入第一輸入數(shù)據(jù);從第二輸入部輸入第二輸入數(shù)據(jù);使用加密用密鑰數(shù)據(jù)來非線性變換第一輸入數(shù)據(jù)和第二輸入數(shù)據(jù),而產(chǎn)生第一變換數(shù)據(jù)和第二變換數(shù)據(jù);從第一輸出部輸出第一變換數(shù)據(jù);從第二輸出部輸出第二變換數(shù)據(jù);從第二輸入部輸入上述第一變換數(shù)據(jù),并從第一輸入部輸入上述第二變換數(shù)據(jù),而使用解密用密鑰數(shù)據(jù)來非線性變換第一變換數(shù)據(jù)和第二變換數(shù)據(jù),以產(chǎn)生第一輸出數(shù)據(jù)和第二輸出數(shù)據(jù);在從第二輸出部輸出第一輸出數(shù)據(jù)、從第一輸出部輸出第二輸出數(shù)據(jù)時,使第一輸入數(shù)據(jù)與第二輸出數(shù)據(jù)為同一,第二輸入數(shù)據(jù)與第一輸出數(shù)據(jù)為同一。
其中,上述數(shù)據(jù)處理部進(jìn)而包括第二輸入數(shù)據(jù)正變換部,變換輸入于第二輸入部的數(shù)據(jù);及第一輸出數(shù)據(jù)逆變換部,輸入從第一輸出部所輸出的數(shù)據(jù),而做與上述第二輸入數(shù)據(jù)正變換部的變換相反的變換。
本發(fā)明的數(shù)據(jù)變換裝置包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于上述數(shù)據(jù)處理部包括非線性函數(shù)部(F),將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)做非線性變換,上述密鑰產(chǎn)生部加工供應(yīng)至非線性函數(shù)部(F)的密鑰數(shù)據(jù),而將加工后的密鑰數(shù)據(jù)供應(yīng)至數(shù)據(jù)處理部的非線性函數(shù)部(F)以外的部分并與數(shù)據(jù)做運(yùn)算。
本發(fā)明的數(shù)據(jù)變換方法實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理包括非線性函數(shù)處理(F),將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)做非線性變換,上述密鑰產(chǎn)生處理加工供應(yīng)到非線性函數(shù)處理(F)的密鑰數(shù)據(jù),而將加工后的密鑰數(shù)據(jù)供應(yīng)至數(shù)據(jù)處理的非線性函數(shù)處理(F)以外的處理并與數(shù)據(jù)做運(yùn)算。
而且,該發(fā)明的特征是為記錄用以在計算機(jī)上執(zhí)行上述數(shù)據(jù)變換方法的程序的計算機(jī)可讀取存儲記錄媒體。
而且,該發(fā)明的特征是用以在計算機(jī)上執(zhí)行上述數(shù)據(jù)變換方法的程序。
附圖的簡單說明

圖1是顯示加密用數(shù)據(jù)變換裝置100和解密用數(shù)據(jù)變換裝置400的圖。
圖2是碼及符號的說明圖。
圖3是加密部200或解密部500的構(gòu)成圖。
圖4是加密部200或解密部500的其他構(gòu)成圖。
圖5是數(shù)據(jù)正變換部(FL)251的構(gòu)成圖。
圖6是數(shù)據(jù)逆變換部(FL-1)271的構(gòu)成圖。
圖7是顯示現(xiàn)有的加密部和解密部的一部。
圖8是顯示加密部200或解密部500的一部分的圖。
圖9是顯示置于點(diǎn)對稱的數(shù)據(jù)正變換部(FL)251和數(shù)據(jù)逆變換部(FL-1)271的圖。
圖10是顯示成為點(diǎn)對稱的數(shù)據(jù)正變換部(FL)251和數(shù)據(jù)逆變換部(FL-1)271的圖。
圖11是顯示非線性函數(shù)F的圖。
圖12是S盒第一變換部13和S盒第二變換部14的構(gòu)成圖。
圖13是S盒變換部21的構(gòu)成圖。
圖14是線性變換部85的構(gòu)成圖。
圖15是線性變換部87的構(gòu)成圖。
圖16是密鑰產(chǎn)生部300或密鑰產(chǎn)生部600的構(gòu)成圖。
圖17是位長度變換部310的動作說明圖。
圖18是移位寄存器A341的構(gòu)成圖。
圖19是移位控制部345的控制表的構(gòu)成圖。
圖20是移位寄存器A341和移位寄存器B342的動作說明圖。
圖21是移位寄存器A341和移位寄存器B342與擴(kuò)展密鑰的對應(yīng)圖。
圖22是移位寄存器A341~移位寄存器D344的動作說明圖。
圖23是移位寄存器A341~移位寄存器D344與擴(kuò)展密鑰的對應(yīng)圖。
圖24是顯示實裝加密用數(shù)據(jù)變換裝置100和解密用數(shù)據(jù)變換裝置400的計算機(jī)的圖。
圖25是現(xiàn)有的DES的加密函數(shù)的構(gòu)成圖。
圖26是顯示現(xiàn)有的128位塊加密E2的非線性函數(shù)的圖。
圖27是顯示S盒變換部的其他的例的圖。
圖28是顯示使用S盒第一~第四變換部的非線性函數(shù)部F的圖。
圖29是變更密鑰函數(shù)部25的配置的圖。
圖30是變更密鑰函數(shù)部25的其他的圖。
圖31是P函數(shù)部30的其他的構(gòu)成圖。
圖32是P函數(shù)部30的其他的構(gòu)成圖。
圖33是顯示圖31的S1~S4的構(gòu)成的圖。
圖34是等價密鑰的非存在證明的說明圖。
圖35是等價密鑰的非存在證明的說明圖。
圖36是加密部200或解密部500的其他的構(gòu)成圖。
圖37是加密部200或解密部500的其他的構(gòu)成圖。
圖38是加密部200或解密部500的其他的構(gòu)成圖。
圖39是加密部200或解密部500的其他的構(gòu)成圖。
圖40是加密部200或解密部500的其他的構(gòu)成圖。
圖41是加密部200或解密部500的其他的構(gòu)成圖。
圖42是合并圖39和圖40的場合的圖。
圖43是對于圖3所示的加密部200或解密部500而使用圖28所示的非線性函數(shù)部F的場合的構(gòu)成圖。
圖44是顯示使用從圖43所示的非線性函數(shù)部F來刪除密鑰函數(shù)部25的非線性函數(shù)部F′的場合的圖。
圖45是顯示對于圖44的構(gòu)成更進(jìn)而與擴(kuò)展密鑰一起執(zhí)行白擴(kuò)展密鑰的運(yùn)算的場合的圖。
圖46是顯示于非線性函數(shù)部F取得如圖29所示那樣的構(gòu)成的場合時,從非線性函數(shù)部F來刪除密鑰函數(shù)部25,代以將擴(kuò)展密鑰k供應(yīng)至XOR電路298的圖。
圖47是顯示于非線性函數(shù)部F取得如圖30所示那樣的構(gòu)成的場合時,從非線性函數(shù)部F來刪除密鑰函數(shù)部25,代以將被非線性變換的擴(kuò)展密鑰k′供應(yīng)至XOR電路298的圖。
實施形態(tài)一圖1是顯示該實施形態(tài)的加密用數(shù)據(jù)變換裝置100和解密用數(shù)據(jù)變換裝置400的圖。
加密用數(shù)據(jù)變換裝置100是輸入例如為128位的明文,而輸出128位的密文的加密裝置。解密用數(shù)據(jù)變換裝置400是輸入128位的密文,而輸出128位的明文的解密裝置。加密用數(shù)據(jù)變換裝置100是由加密部200及密鑰產(chǎn)生部300所構(gòu)成。密鑰產(chǎn)生部300是輸入128位或192位或256位的密鑰數(shù)據(jù),以使用常數(shù)Vi來產(chǎn)生多(n個)的64位或128位的擴(kuò)展密鑰來供應(yīng)加密部200。解密用數(shù)據(jù)變換裝置400包括解密部500及密鑰產(chǎn)生部600。解密部500是輸入密文,而執(zhí)行密文的解密的解密用數(shù)據(jù)處理部。密鑰產(chǎn)生部600是與前述的密鑰產(chǎn)生部300相同或相像。而且,加密部200及解密部500可使用同一結(jié)構(gòu),在圖中,雖以圖顯示分為加密部200及解密部500,但可兼用1個電路或1個程序。同樣地,密鑰產(chǎn)生部300及密鑰產(chǎn)生部600也可兼用1個電路或1個程序。即,加密用數(shù)據(jù)變換裝置100及解密用數(shù)據(jù)變換裝置400是可兼用同一電路或同一程序。
圖2是顯示使用在以下的圖及說明中的符號的意思。
以下,在圖3以后的各圖中,是將左側(cè)數(shù)據(jù)稱為左數(shù)據(jù)L,在圖中,將右側(cè)數(shù)據(jù)稱為右數(shù)據(jù)R。而且,將輸入至非線性數(shù)據(jù)變換部210、220、230、240稱為輸入數(shù)據(jù),將非線性數(shù)據(jù)變換部210、220、230、240稱為中間數(shù)據(jù),從非線性數(shù)據(jù)變換部210、220、230、240所輸出的數(shù)據(jù)稱為輸出數(shù)據(jù)。
圖3是顯示加密部200或解密部500之一例的圖。
圖3是顯示6段非線性數(shù)據(jù)變換部210和6段非線性數(shù)據(jù)變換部220和6段非線性數(shù)據(jù)變換部230成為縱向連接的情形。于6段非線性數(shù)據(jù)變換部210與6段非線性數(shù)據(jù)變換部220之間是設(shè)置數(shù)據(jù)正變換部(FL)251及數(shù)據(jù)變換部(FL-1)271。而且,于6段非線性數(shù)據(jù)變換部220與6段非線性數(shù)據(jù)變換部230之間是設(shè)置數(shù)據(jù)正變換部(FL)253及數(shù)據(jù)逆變換部(FL-1)273。于6段非線性數(shù)據(jù)變換部210之中是設(shè)置6段非線性數(shù)據(jù)變換部。例如1個非線性數(shù)據(jù)變換部280是由非線性函數(shù)部F和XOR(異或邏輯)電路290所構(gòu)成。如此而來,在圖3中是設(shè)置全部18段的6段非線性數(shù)據(jù)變換部。
非線性數(shù)據(jù)變換部210包括第一個非線性數(shù)據(jù)變換部280,對于任意2個右輸入數(shù)據(jù)R0和左輸入數(shù)據(jù)L0,將上述左輸入數(shù)據(jù)L0以使用第一個擴(kuò)展密鑰k1做第一個非線性變換,而將該第一個做非線性變換的輸出數(shù)據(jù)與上述右輸入數(shù)據(jù)R0的異或邏輯以做為第一個左中間數(shù)據(jù)L1加以輸出,并將上述左輸入數(shù)據(jù)L0以做為第一個右中間數(shù)據(jù)R1加以輸出;及第二個非線性數(shù)據(jù)變換部281,將上述第一個左中間數(shù)據(jù)R1以使用第二個擴(kuò)展密鑰k2做第二個非線性變換,而將該第二個做非線性變換的輸出數(shù)據(jù)與上述第一個右中間數(shù)據(jù)R1的異或邏輯以做為第二個左中間數(shù)據(jù)L2加以輸出,并將上述第一個左中間數(shù)據(jù)L1以做為第二個右中間數(shù)據(jù)R2加以輸出;而從第一個非線性數(shù)據(jù)變換部280以縱向連接第六個非線性數(shù)據(jù)變換部285,將最終的右中間數(shù)據(jù)R6和左中間數(shù)據(jù)L6做為變換后的輸出數(shù)據(jù)。
圖4是顯示對于圖3的加密部200還追加數(shù)據(jù)正變換部(FL)255和數(shù)據(jù)逆變換部(FL-1)275和6段非線性數(shù)據(jù)變換部240,而通過全部24段非線性數(shù)據(jù)變換部來執(zhí)行變換的情形。
圖5是顯示數(shù)據(jù)正變換部(FL)251的圖。
在圖5中,是顯示將數(shù)據(jù)正變換部(FL)251的輸入數(shù)據(jù)分為左輸入數(shù)據(jù)51和右輸入數(shù)據(jù)52,于執(zhí)行邏輯運(yùn)算后,通過左輸入數(shù)據(jù)60和右輸出數(shù)據(jù)61而做成輸出數(shù)據(jù)的情形。左輸入數(shù)據(jù)51是在AND電路54中,與擴(kuò)展密鑰53做邏輯積運(yùn)算,其后,在1位循環(huán)左移位部中,執(zhí)行向左的1位循環(huán)移位(也稱為循環(huán)移位)。移位后是由XOR電路56來與右輸入數(shù)據(jù)52做異或邏輯運(yùn)算。XOR電路56的輸出成為右輸出數(shù)據(jù)61,同時在OR電路58中,與擴(kuò)展密鑰57做邏輯和運(yùn)算,其結(jié)果為,進(jìn)而在XOR電路中執(zhí)行與左輸入數(shù)據(jù)51的異或邏輯的運(yùn)算,而成為左輸出數(shù)據(jù)60。
圖6是顯示數(shù)據(jù)逆變換部(FL-1)271的圖。
在圖6中,將輸入數(shù)據(jù)分為左輸入數(shù)據(jù)71和右輸入數(shù)據(jù)72,于執(zhí)行邏輯運(yùn)算后,通過左輸出數(shù)據(jù)80和右輸出數(shù)據(jù)81而做成輸出數(shù)據(jù)的情形。
右輸入數(shù)據(jù)72是在OR電路74中,做與擴(kuò)展密鑰73的OR邏輯運(yùn)算,進(jìn)而,在XOR電路75中,做與左輸入數(shù)據(jù)71的異或邏輯運(yùn)算。其結(jié)果為,來自XOR電路75的輸出成為左輸出數(shù)據(jù)80,同時在AND電路757中,做與擴(kuò)展密鑰76的AND邏輯運(yùn)算,并在1位循環(huán)左移位部78中,執(zhí)行向左方向的1位循環(huán)左移位,其結(jié)果為,進(jìn)而,在XOR電路79中與右輸入數(shù)據(jù)72做異或邏輯運(yùn)算,而成為右輸出數(shù)據(jù)81。
圖5所示的數(shù)據(jù)正變換部(FL)251與圖6所示的數(shù)據(jù)逆變換部(FL-1)271是做正逆相反的操作。因而,在同一的擴(kuò)展密鑰之下通過將圖5的輸出數(shù)據(jù)Y做成圖6的輸出數(shù)據(jù)Y,可以做為圖6的輸出數(shù)據(jù)X而可得到圖5的輸入數(shù)據(jù)X。
如此而來,通過將一方的輸出數(shù)據(jù)做成他方的輸入數(shù)據(jù),而將以做為他方的輸出數(shù)據(jù)而可得到一方的輸入數(shù)據(jù)的關(guān)系稱為處在正變換和逆變換的關(guān)系。數(shù)據(jù)正變換部(FL)251與數(shù)據(jù)逆變換部(FL-1)271是執(zhí)行如此的正變換與逆變換的電路。
還有,圖5的1位循環(huán)左移位部55與圖6的1位循環(huán)左移位部78雖是一起向左移位,但兩方也可一起執(zhí)行向右移位。而且,假如數(shù)據(jù)正變換部(FL)251與數(shù)據(jù)逆變換部(FL-1)271是執(zhí)行正變換與逆變換,則也可為其他構(gòu)成。例如,也可改變循環(huán)的移位數(shù)。而且,更進(jìn)而可附加含有not的AND電路、not的OR電路、及含有not的XOR電路。即,于分別將含有not的AND電路、not的OR電路、及含有not的XOR電路表示為andn、orn、xorn的場合時,定義以下。
x andn y(not x)and yx orn y(not x)or yx xorn y(not x)and y在最近的幾個CPU,具有也含有not的and、or、xor命令。這些的命令是可以與and、or、xor命令同樣的成本來執(zhí)行。
圖7是顯示現(xiàn)有的加密部201和現(xiàn)有的解密部501。
在現(xiàn)有的加密部201中,設(shè)置2個數(shù)據(jù)正變換部FL。因此,為了做該逆操作,而必需于解密部放置2個數(shù)據(jù)逆變換部FL-1。因而,一般加密部與解密部的構(gòu)成是不同的,而無法將加密部和解密部做成同一電路。
一方面,如圖8所示,在該實施形態(tài)中,在加密部200,因為將數(shù)據(jù)正變換部(FL)251和數(shù)據(jù)逆變換部(FL-1)271相鄰配置,所以即使在解密部500也可以完全相同的構(gòu)成來執(zhí)行解密。例如,在在數(shù)據(jù)正變換部(FL)251變換右數(shù)據(jù)R而得到左數(shù)據(jù)L′,在數(shù)據(jù)逆變換部(FL-1)271變換左數(shù)據(jù)L而得到右數(shù)據(jù)R′的場合時,通過使左數(shù)據(jù)L′輸入于數(shù)據(jù)逆變換部(FL-1)271而可得到右數(shù)據(jù)R,并通過使右數(shù)據(jù)R′輸入于數(shù)據(jù)正變換部(FL)251而可得到左數(shù)據(jù)L。
如此而來,加密部200和解密部500是可以完全相同的構(gòu)成來實現(xiàn),而可兼用加密部200和解密部500來使用。
圖9是顯示在以非線性數(shù)據(jù)變換部280為中心而數(shù)據(jù)正變換部(FL)251與數(shù)據(jù)逆變換部(FL-1)271成為點(diǎn)對稱的位置的情形。
因此,在以非線性數(shù)據(jù)變換部280為中心而將數(shù)據(jù)正變換部(FL)251與數(shù)據(jù)逆變換部(FL-1)271置于點(diǎn)對稱的位置的情形時,可以通過同一構(gòu)成而執(zhí)行加密和解密。
圖10是顯示置于點(diǎn)對稱的位置的數(shù)據(jù)正變換部(FL)與數(shù)據(jù)逆變換部(FL-1)的對應(yīng)。
如圖10所示,在圖3中顯示數(shù)據(jù)正變換部(FL)251與數(shù)據(jù)逆變換部(FL-1)273配置于以6段非線性數(shù)據(jù)變換部220做為中心的點(diǎn)對稱的位置。
還有,在圖3、圖4、圖8、及圖9中,數(shù)據(jù)正變換部(FL)與數(shù)據(jù)逆變換部(FL-1)的位置也可相反。而且,在圖3、圖4、圖8、及圖9中,右數(shù)據(jù)R與左數(shù)據(jù)L也可相反。
圖36是顯示使用6段非線性數(shù)據(jù)變換部210與6段非線性數(shù)據(jù)變換部220與6段非線性數(shù)據(jù)變換部230而構(gòu)成加密部200的情形。
6段非線性數(shù)據(jù)變換部210與6段非線性數(shù)據(jù)變換部220與6段非線性數(shù)據(jù)變換部230是可使用于加密和解密兩方的電路。
在此,通過6段非線性數(shù)據(jù)變換部210與數(shù)據(jù)正變換部(FL)250與數(shù)據(jù)逆變換部(FL-1)271而構(gòu)成正逆數(shù)據(jù)變換部211。在此,所謂正逆數(shù)據(jù)變換部是指可使用于加密和解密兩方的電路。即,正逆數(shù)據(jù)變換部是執(zhí)行通過將一方的輸出數(shù)據(jù)做成他方的輸入數(shù)據(jù),并可以他方的輸出數(shù)據(jù)來取得一方的輸入數(shù)據(jù)的正變換和逆變換的1個電路。
而且,通過6段非線性數(shù)據(jù)變換部220與數(shù)據(jù)正變換部(FL)251與數(shù)據(jù)逆變換部(FL-1)273而構(gòu)成正逆數(shù)據(jù)變換部221。
而且,通過6段非線性數(shù)據(jù)變換部230與數(shù)據(jù)正變換部(FL)253與數(shù)據(jù)逆變換部(FL-1)275而構(gòu)成正逆數(shù)據(jù)變換部231。
將這些正逆數(shù)據(jù)變換部211與正逆數(shù)據(jù)變換部221與正逆數(shù)據(jù)變換部231以縱列連接而構(gòu)成加密部200。因而,該加密部200即使做為解密部500也可使用。
而且,假如將6段非線性數(shù)據(jù)變換部210與6段非線性數(shù)據(jù)變換部220與數(shù)據(jù)正變換部(FL)251與數(shù)據(jù)逆變換部(FL-1)271視為非線性數(shù)據(jù)變換部1210,則非線性數(shù)據(jù)變換部1210是可使用于加密和解密兩方的電路。在此,通過非線性數(shù)據(jù)變換部1210與數(shù)據(jù)正變換部(FL)250與數(shù)據(jù)逆變換部(FL-1)273而構(gòu)成正逆數(shù)據(jù)變換部1211。
而且,6段非線性數(shù)據(jù)變換部220與6段非線性數(shù)據(jù)變換部230與數(shù)據(jù)正變換部(FL)253與數(shù)據(jù)逆變換部(FL-1)273視為非線性數(shù)據(jù)變換部1220,則通過非線性數(shù)據(jù)變換部1220與數(shù)據(jù)正變換部(FL)251與數(shù)據(jù)逆變換部(FL-1)275而構(gòu)成正逆數(shù)據(jù)變換部1221。
所謂正逆數(shù)據(jù)變換部1211和正逆數(shù)據(jù)變換部1221均可使用于解密部500。
而且,假如將從6段非線性數(shù)據(jù)變換部210至6段非線性數(shù)據(jù)變換部230止視為非線性數(shù)據(jù)變換部2210,則非線性數(shù)據(jù)變換部2210為可使用于加密和解密兩方的電路。
在此,通過非線性數(shù)據(jù)變換部2210與數(shù)據(jù)正變換部(FL)250與數(shù)據(jù)逆變換部(FL-1)275而構(gòu)成正逆數(shù)據(jù)變換部2211。
正逆數(shù)據(jù)變換部2211即使解密部500也可使用。
如以上所述,加密部200或解密部500通過將正逆數(shù)據(jù)變換部多縱向連接而構(gòu)成。
而且,加密部200或解密部500通過使正逆數(shù)據(jù)變換部含于正逆數(shù)據(jù)變換部之中,可將正逆數(shù)據(jù)變換部做成階層化而構(gòu)成。
圖37是顯示包括6段非線性數(shù)據(jù)變換部210的加密部200與解密部500成為同一構(gòu)成的例。
圖37的6段非線性數(shù)據(jù)變換部210是如圖3、及圖4的所示,具有偶數(shù)段的非線性數(shù)據(jù)變換部280。數(shù)據(jù)A成為第一個輸入數(shù)據(jù)正變換部256所變換的數(shù)據(jù)A′,被輸入于第一輸入部261,而從第一輸入部261所輸入的數(shù)據(jù)A′從第一輸出部263做為數(shù)據(jù)A1′而被輸出。而且,從第二輸入部262所輸入的數(shù)據(jù)B從第二輸出部264做為數(shù)據(jù)B1而被輸出。從第二輸出部264所輸出的數(shù)據(jù)B1做為由第二輸出數(shù)據(jù)逆變換部279所變換的數(shù)據(jù)B1′而被輸出。
從加密部200的第一個輸出部263所輸出的數(shù)據(jù)A′做為數(shù)據(jù)A′而被輸入于解密部500的第二輸入部262。從加密部200的第二輸出數(shù)據(jù)逆變換部279所輸出的數(shù)據(jù)B1′做為數(shù)據(jù)B1′而被輸入于解密部500的第一輸入數(shù)據(jù)正變換部256,并做為數(shù)據(jù)B1而被輸出。
非線性數(shù)據(jù)變換部210輸入數(shù)據(jù)B1而輸出數(shù)據(jù)B。而且,非線性數(shù)據(jù)變換部210輸入數(shù)據(jù)A1′而輸出數(shù)據(jù)A′。第二輸出數(shù)據(jù)逆變換部279是輸入數(shù)據(jù)A′而輸出數(shù)據(jù)A。
在圖38,是奇數(shù)段的非線性數(shù)據(jù)變換部219含有奇數(shù)段的非線性數(shù)據(jù)變換部280。因而,從第一輸入部261所輸入的數(shù)據(jù)A′從第二輸出部264做為數(shù)據(jù)A1′而被輸出,并被第二輸出數(shù)據(jù)逆變換部279所變換,做為數(shù)據(jù)A″而被輸出。而且,從第二輸入部262所輸入的數(shù)據(jù)B從第一輸出部263做為數(shù)據(jù)B1而被輸出。
從加密部200的第一輸出部263所輸出的數(shù)據(jù)B1做為數(shù)據(jù)B1而被輸入于解密部500的第二輸入部262。從解密部500的第二輸出數(shù)據(jù)逆變換部279所輸出的數(shù)據(jù)A1″做為解密部500的數(shù)據(jù)A1″,而被輸入于第一輸入數(shù)據(jù)正變換部256。
圖37、及圖38的場合是加密部200與解密部500均為同一構(gòu)成,而可做加密、及解密。
圖39是顯示于第二輸入部262設(shè)置第二輸入數(shù)據(jù)正變換部257、及于第一輸出部263設(shè)置第一輸出數(shù)據(jù)逆變換部278的情形。
圖40是顯示于第一輸入部261設(shè)置第一輸入數(shù)據(jù)逆變換部276、及于第二輸出部264設(shè)置第二輸出數(shù)據(jù)正變換部259的情形。
圖41是顯示于左側(cè)的輸入輸出部261、263設(shè)置數(shù)據(jù)正變換部256、258、及于右側(cè)的輸入輸出部262、264設(shè)置數(shù)據(jù)逆變換部277、279的情形。
圖42是顯示合并圖39與圖40的情形。
雖未加以圖示,但也可合并圖37與圖39。而且,也可合并圖38與圖39。而且,雖未加以圖示,但也可從圖39來將圖42的6段(偶數(shù)段)的非線性數(shù)據(jù)變換部210做為奇數(shù)段的非線性數(shù)據(jù)變換部219。從圖39到圖42的場合也可以加密部200和解密部500的同一構(gòu)成來實現(xiàn)。實施形態(tài)2圖11是非線性數(shù)據(jù)變換部280的非線性函數(shù)部F的構(gòu)成圖。
非線性函數(shù)部F輸入F函數(shù)輸入數(shù)據(jù)10,而執(zhí)行非線性變換來輸出F函數(shù)輸出數(shù)據(jù)40。64位的F函數(shù)輸入數(shù)據(jù)10可分為8個數(shù)據(jù),而以做為8位數(shù)據(jù)加以處理。各8位數(shù)據(jù)輸入于密鑰函數(shù)部25的8個XOR電路12,并與擴(kuò)展密鑰11做異或邏輯運(yùn)算,在S函數(shù)部20中,接受使用置換的非線性變換。其后,在P函數(shù)部30中,在8位數(shù)據(jù)間通過如圖所示的16個XOR電路815而執(zhí)行運(yùn)算,并輸出64位的F函數(shù)輸出數(shù)據(jù)40。在S函數(shù)部20設(shè)置4個S盒第一變換部13及4個S盒第二變換部14。
圖12是顯示S盒第一變換部13及S盒第二變換部14的實現(xiàn)例。
在S盒第一變換部13的內(nèi)部設(shè)置變換表T。變換表T是對于0~255的值來預(yù)先存儲使任意(隨機(jī))對應(yīng)的0~255的值,而輸入0~255的值,來輸出對應(yīng)于各值(0~255的值)的表。例如,在輸入1的場合時,從變換表T來輸出7。變換表T執(zhí)行已考慮到是否為全單射、及最大差分機(jī)率為充分小等的安全性的非線性變換。
S盒第二變換部14含有S盒第一變換部13,同時具有1位循環(huán)左移位部22(圖的“<<<1”的“<<<”是表示循環(huán)左移位,而“1”是表示1位)。1位循環(huán)左移位部22是對于S盒第一變換部13的輸出來執(zhí)行1位的循環(huán)左移位。例如,在輸入1的場合時,從S盒第一變換部13來輸出7,并從1位循環(huán)左移位部22來輸出14。
只要以如圖12般地來構(gòu)成S盒第一變換部13及S盒第二變換部14,則盡管不需要具有2種類變換表T,但可得到與設(shè)置2種類變換表T的場合相同的效果。通過只具有1個變換表T,而可減少存儲變換表T的存儲器容量,而使整體電路變小。
而且,如圖27的所示,取代1位循環(huán)左移位部22,或者通過在1位循環(huán)左移位部22之外設(shè)置1位循環(huán)右移位部(圖27的S盒第三變換部15的“>>>1”),而可得到與設(shè)置更加不同的變換表T的場合相同的效果。而且,對于被輸入的數(shù)據(jù)y來設(shè)置1位循環(huán)左移位部(圖27的S盒第四變換部16的“<<<1”),也可先移位被輸入的數(shù)據(jù)y后再根據(jù)變換表T做變換。在圖27中,雖顯示s(y)、s(y)<<<1、s(y)>>>1、s(y<<<1)的情形,但s(y>>>1)也可,s(y<<<1)<<<1、s(y<<<1)>>>1、s(y>>>1)<<<1、s(y>>>1)>>>1的情形也可。通過移位量做為1位,例如,在只具有1位移位命令的CPU等,也可通過做3位和5位移位,而執(zhí)行高速處理等。而且,即使在使用只可做1位移位的硬件來執(zhí)行該移位處理的場合時,同樣地具有可適用高速處理的場合。進(jìn)而,不只1位移位,即使為2位、3位等的任意位的移位也可,通過執(zhí)行任意位的移位,而具有與附加不同種類的表相同的效果的場合。
圖28是顯示使用圖27所示的4個S盒第一~第四變換部13、14、15、16的S函數(shù)部20的圖。
而且,將P函數(shù)部30的其他構(gòu)成顯示于圖31。
從8位的輸入數(shù)據(jù)y1、y2、y3、y4,而分別參考S1、S2、S3、S4來求得32位的數(shù)據(jù)Z1、Z2、Z3、Z4,并以電路913來求得這些異或邏輯運(yùn)算結(jié)果,而且,從8位的輸入數(shù)據(jù)y5、y6、y7、y8,而分別參考S2、S3、S4、S1來求得32位的數(shù)據(jù)Z5、Z6、Z7、Z8,并以電路916來求得這些異或邏輯運(yùn)算結(jié)果,在電路917取得這些異或邏輯運(yùn)算結(jié)果U2與前述異或邏輯運(yùn)算結(jié)果U1的異或邏輯運(yùn)算而做為z′1、z′2、z′3、z′4予以輸出,而且,對于根據(jù)電路913的異或邏輯運(yùn)算結(jié)果U1,向左1位循環(huán)移位(在該圖31中,是顯示“<<<1”并非為1位,而是1字節(jié)循環(huán)移位)為以電路918來執(zhí)行,以電路917的輸出與電路919來執(zhí)行異或邏輯運(yùn)算而得到z′5、z′6、z′7、z′8。
在此,如圖33的(a)~(d)的所示,是以S1為使用S盒第一變換部13、S2為使用S盒第二變換部14、S3為使用S盒第三變換部15、S4為使用S盒第四變換部16而構(gòu)成,并復(fù)制4個來自各個變換部的8位輸出數(shù)據(jù)而成為32位數(shù)據(jù),進(jìn)而,以只輸出其中3個數(shù)據(jù)(24位)那樣地,予以屏蔽而輸出32位數(shù)據(jù)。
還有,上述電路918的1位的循環(huán)移位是以S盒所處理的位長度(8位=1字節(jié))單位來移位。
圖32雖是與圖31為等價的構(gòu)成,但卻顯示實裝方法不同的P函數(shù)部30。
從8位的輸入數(shù)據(jù)y1、y2、y3、y4,而分別參考S5、S6、S7、S8來求得32位的數(shù)據(jù)Z1、Z2、Z3、Z4,而這些是以電路933來執(zhí)行異或邏輯運(yùn)算,其運(yùn)算結(jié)果A從電路933被輸出。而且,從8位的輸入數(shù)據(jù)y5、y6、y7、y8,而分別參考S9、SA、SB、SC來輸出32位的數(shù)據(jù)Z5、Z6、Z7、Z8,這些為以電路936來執(zhí)行異或邏輯運(yùn)算,其運(yùn)算結(jié)果B從電路936被輸出。運(yùn)算結(jié)果B是由電路937向右做1位循環(huán)移位(在該圖32中,是與圖31相同,并非為1位單位,而是做S盒所處理的位長度單位(1字節(jié)單位)的移位),同時在電路938與運(yùn)算結(jié)果A做異或邏輯運(yùn)算。該運(yùn)算結(jié)果C是由電路939向上(左)做1位循環(huán),同時在電路940與電路937的輸出做異或邏輯運(yùn)算。其運(yùn)算結(jié)果D是由電路941向上(左)做2位循環(huán),同時在電路942與電路939的輸出做異或邏輯運(yùn)算。其運(yùn)算結(jié)果E是由電路943向(右)做1位循環(huán),同時在電路944與電路941的輸出做異或邏輯運(yùn)算。電路944的輸出F做為z′1、z′2、z′3、z′4、且電路943的輸出做為z′5、z′6、z′7、z′8而被輸出。
在此,是以S5、SC為使用S盒第一變換部13與邏輯移位、S6、S9為使用S盒第二變換部14與邏輯移位、S7、SA為使用S盒第三變換部15與邏輯移位、S8、SB為使用S盒第四變換部16與邏輯移位而構(gòu)成。邏輯移位是為了將來自各變換部的8位輸出數(shù)據(jù)輸出于32位輸出數(shù)據(jù)中的預(yù)定位置而被利用,以在S5、SA為0字節(jié)、在S6、SB為1字節(jié)、在S7、SC為2字節(jié)、在S8、S9為3字節(jié)向左移位般地加以設(shè)定。即,只要將在變換部的8位輸出做為z,則32位的輸出變成在S5、SA為
(0是表示8個各個位為0),在S6、SB為
,在S8、S9為[z、0、0、0]。
還有,實裝也可是以將直接預(yù)定的輸出送出般地來計算的8位輸入,也可先準(zhǔn)備32位輸出的置換表。
圖31、及圖32的場合時是可提供以成為比在圖26所示的現(xiàn)有的E2加密所使用的置換處理更為高速、且更柔軟的實裝的裝置。
在圖11中,在將處于S函數(shù)部20的S盒以與全種類不同的S盒予以構(gòu)成的場合時,對于需要8個變換表T,以通過做成如圖12的構(gòu)成,而可將存儲變換表T的整體存儲容量做成1/2。
而且,對于圖12所示的S盒第一變換部13、及S盒第二變換部14通過以分時輸入8個8位數(shù)據(jù),而可只以圖12所示的S盒第一變換部13、及S盒第二變換部14來代替現(xiàn)有的個別的8個S盒。
圖13是顯示S函數(shù)部20的S盒的其他例子的圖。
關(guān)于具體的構(gòu)成,詳細(xì)敘述于松井、及櫻井所著“伽羅瓦域除法電路及乘除法共同電路”(專利證書登錄號碼2641285[H9.5.2])。
在S盒變換部21輸入8位數(shù)據(jù),并輸出8位數(shù)據(jù),S盒變換部21是由N(在此是N=8)位線性變換部17與有限域變換部18與N位線性變換部19所構(gòu)成。N位線性變換部17執(zhí)行8位操作。有限域變換部18只進(jìn)行為伽羅瓦域GF(24)的元的僅4位的操作。N位線性變換部19執(zhí)行8位操作。N位線性變換部17的線性變換部85是執(zhí)行圖14所示的線性變換的電路。而且,線性變換部87是執(zhí)行圖15所示的線性變換的電路。
還有,也可以使用執(zhí)行仿射變換(還有,線性變換是可考慮為仿射變換的一態(tài)樣)的電路來代替線性變換部85?;蛘呤?,也可使用執(zhí)行仿射變換的電路來代替線性變換部87。線性變換部85是在8位的數(shù)據(jù)(X)來執(zhí)行變換,而將所得到的8位的數(shù)據(jù)(X′)視為伽羅瓦域GF(28)的元,并從X′來將高4位和低4位的數(shù)據(jù)(X1和X0)分別視為有限域GF(24)的元,而輸出到有限域變換部18。在此,例如將GF(28)的元β做為有限多項式X8+X6+X5+X3+1=0的元,只要一做為α=β238,則有限域GF(24)的基底表示為[1、α、α2、α3],只要一使用此來表示GF(24)的元X0、X1,則成為所謂X′=X0+βX1的關(guān)系(詳細(xì)請參考“伽羅瓦域除法電路及乘除法共同電路”(專利證書登錄號碼2641285[H9.5.2]))。有限域變換部18是只以執(zhí)行4位的運(yùn)算的運(yùn)算器來構(gòu)成。
在此,做為“有限域”的取法是考慮對于GF(2n),為n=2m的有限域GF(2m),在此的例是n=8、m=4。
有限域變換部18是使用以“伽羅瓦域除法電路及乘除法共同電路”(專利證書登錄號碼2641285[H9.5.2])中所示的n=8、m=4時的電路為基礎(chǔ)而構(gòu)成的有限域的逆元電路。做為該逆元電路的運(yùn)算結(jié)果,各個視為GF(24)的元的高4位的數(shù)據(jù)和低4位的數(shù)據(jù)(Y1和Y0)為做為GF(28)上的元的8位的數(shù)據(jù)Y而被輸出于線性變換部87。在此,是Y=Y(jié)0+βY1。根據(jù)以上,該逆元電路是運(yùn)算Y0=Y(jié)+βY1=1/(X0+βX1)的電路。而且,在該逆元電路的“有限域”的元的表示法(基底的取法)是如所謂“多項式基底”和“正規(guī)基底”那樣地,可考慮幾個“基底”的取法。
在圖13的S盒變換部21中成為特征的點(diǎn),是以為了執(zhí)行非線性變換而被輸入的數(shù)據(jù)的位寬度(8位)的一半的位寬度(4位)來運(yùn)算的點(diǎn)。即,在逆元電路中,是只執(zhí)行4位操作的點(diǎn)為其特征。
如此而來,通過執(zhí)行只4位的操作而有可能使運(yùn)算速度變慢,但電路整體的規(guī)模具有所謂遠(yuǎn)比使用8位的運(yùn)算元件還來得小的優(yōu)點(diǎn)。
因而,S盒變換部21的其次的特征是于前述有限域變換部18的兩側(cè)設(shè)置N位線性變換部17與N位線性變換部19之點(diǎn)。只要一使用有限域變換部18來實現(xiàn)S盒變換部21,則比起以使用存儲隨機(jī)的值的變換表T的場合,雖具有所謂整體電路的規(guī)模變小,或構(gòu)造簡單的優(yōu)點(diǎn),但相反地卻有安全性降低的可能性。在此,在有限域變換部18的兩側(cè)執(zhí)行線性變換或仿射變換,而可消除因為采用有限域變換部18所導(dǎo)致的安全性的降低的問題。
還有,在圖13中,雖在有限域變換部18的兩側(cè)執(zhí)行線性變換,但也可只設(shè)置一側(cè)?;蛘呤?,也可在一側(cè)做線性變換,而在另一側(cè)執(zhí)行仿射變換。
圖29是將圖11所示的密鑰函數(shù)部25、即處于S函數(shù)部20與P函數(shù)部30之前的密鑰函數(shù)部25予以配置于S函數(shù)部20與P函數(shù)部30之后。
而且,圖30是將密鑰函數(shù)部25配置于S函數(shù)部20與P函數(shù)部30之間。
通過如圖29或圖30般的構(gòu)成,比起圖11所示的構(gòu)成,可得到所謂實裝上高速成為較多的效果。進(jìn)而,通過修正擴(kuò)展密鑰的產(chǎn)生,在圖29或圖30的構(gòu)成中,從相同的輸入可得到與圖11的構(gòu)成相同的輸出。在圖26所示的現(xiàn)有的F函數(shù)中,具有2個S函數(shù),分別于最初執(zhí)行擴(kuò)展密鑰的運(yùn)算,其次,根據(jù)S函數(shù)執(zhí)行運(yùn)算。對于此,圖29所示的場合是將一個密鑰函數(shù)部25配置于F函數(shù)的最后。而且,圖30的場合時,是將一個密鑰函數(shù)部25配置于S函數(shù)部20與P函數(shù)部30之間。
圖43是對于圖3所示的加密部200或解密部500而使用圖28所示的非線性函數(shù)部F的場合的構(gòu)成圖。
以做為F函數(shù)輸入數(shù)據(jù)10而將左數(shù)據(jù)輸入于非線性函數(shù)部F,并輸出F函數(shù)輸出數(shù)據(jù)40。F函數(shù)輸出數(shù)據(jù)40與右數(shù)據(jù)做異或邏輯運(yùn)算,其結(jié)果成為次段的左數(shù)據(jù)。而且,左數(shù)據(jù)做為F函數(shù)輸入數(shù)據(jù)10而被輸入于非線性函數(shù)部F,同時做為次段的右數(shù)據(jù)而被使用。在圖43所示的構(gòu)成中,因為在非線性函數(shù)部F之中執(zhí)行密鑰函數(shù)部25和S函數(shù)部20和P函數(shù)部30的運(yùn)算,所以在非線性函數(shù)部F的運(yùn)算負(fù)荷變成很大。對于通過執(zhí)行使在該非線性函數(shù)部F的運(yùn)算負(fù)荷分散,而達(dá)成處理的高速化的例,以下使用圖來說明。
圖44是顯示以使用從圖43所示的非線性函數(shù)部F之中刪除密鑰函數(shù)部25的非線性函數(shù)部F′的場合。擴(kuò)展密鑰k1在XOR電路891中與左數(shù)據(jù)L0做異或邏輯運(yùn)算。而且,擴(kuò)展密鑰k2在XOR電路297中與右數(shù)據(jù)R0做異或邏輯運(yùn)算。左數(shù)據(jù)做為F函數(shù)輸入數(shù)據(jù)10而被輸入于非線性函數(shù)部F′,并接受S函數(shù)部20與P函數(shù)部30的變換。XOR電路297與F函數(shù)輸出數(shù)據(jù)40在XOR電路290做異或邏輯運(yùn)算,而輸出左數(shù)據(jù)L1。
一方面,密鑰產(chǎn)生部300、600與擴(kuò)展密鑰k1和k3做異或邏輯運(yùn)算,而輸出該被加工的擴(kuò)展密鑰k1+k3。XOR電路891的輸出R1與擴(kuò)展密鑰k1+k3在XOR電路298做異或邏輯運(yùn)算,并輸出右數(shù)據(jù)。密鑰產(chǎn)生部300、600加工擴(kuò)展密鑰,而產(chǎn)生k1+k3、k2+k4、k3+k5、…、k16+k18予以輸出。密鑰產(chǎn)生部300、600將被加工的擴(kuò)展密鑰供應(yīng)至非線性函數(shù)部(F)以外的處理而與數(shù)據(jù)做運(yùn)算。該結(jié)果為,左數(shù)據(jù)L18與右數(shù)據(jù)R18可得到與圖43的場合相同。
通過將被加工的擴(kuò)展密鑰供應(yīng)至非線性函數(shù)部(F)以外的處理而與數(shù)據(jù)做運(yùn)算,而在非線性函數(shù)部F′中,在做S函數(shù)部20與P函數(shù)部30的計算之間,在非線性函數(shù)F′的外部、即XOR電路297、298可做與密鑰數(shù)據(jù)的計算,而密鑰函數(shù)部25的計算則從非線性函數(shù)部F消失,于是非線性函數(shù)部F的負(fù)荷被分散,而高速實裝成為可能。
圖45是顯示對于圖44的構(gòu)成并進(jìn)而與擴(kuò)展密鑰一起來執(zhí)行白擴(kuò)展密鑰kw1的運(yùn)算的情形。在圖45中,是顯示密鑰產(chǎn)生部為預(yù)先執(zhí)行白擴(kuò)展密鑰的一部分kw1 high與第一擴(kuò)展密鑰k1的異或邏輯運(yùn)算(即,密鑰產(chǎn)生部為加工擴(kuò)展密鑰),而供應(yīng)至XOR電路891的情形。
而且,顯示密鑰產(chǎn)生部預(yù)先執(zhí)行白擴(kuò)展密鑰的一部分kw1 low與第二擴(kuò)展密鑰k2的異或邏輯運(yùn)算(即,密鑰產(chǎn)生部為加工擴(kuò)展密鑰),而供應(yīng)至XOR電路297的情形。
如此而來,可消除圖44所示的XOR電路293的運(yùn)算。而且,圖45的情形為,密鑰產(chǎn)生部執(zhí)行白擴(kuò)展密鑰kw2的一部分kw2 low與擴(kuò)展密鑰k17的異或邏輯運(yùn)算(即,密鑰產(chǎn)生部為加工擴(kuò)展密鑰),而供應(yīng)至XOR電路299。而且,密鑰產(chǎn)生部為執(zhí)行白擴(kuò)展密鑰kw2的其他部分kw2 high與擴(kuò)展密鑰k18的異或邏輯運(yùn)算(即,密鑰產(chǎn)生部為加工擴(kuò)展密鑰),而供應(yīng)至XOR電路892。
如此而來,可消除圖44所示的XOR電路296的運(yùn)算。
圖46是顯示將在非線性函數(shù)部F為取得如圖29的所示的構(gòu)成的場合時,從非線性函數(shù)部F刪除密鑰函數(shù)部25,以密鑰產(chǎn)生部將擴(kuò)展密鑰k供應(yīng)至XOR電路298來取代的情形。
而且,圖47是顯示將在非線性函數(shù)部F取得如圖30的所示的構(gòu)成的場合時,從非線性函數(shù)部F刪除密鑰函數(shù)部25,以密鑰產(chǎn)生部將非線性變換而成的擴(kuò)展密鑰k′=P(k)供應(yīng)至XOR電路298來取代的情形。圖47的場合是顯示對于密鑰數(shù)據(jù)施以與依據(jù)P函數(shù)處理的運(yùn)算相同的運(yùn)算而產(chǎn)生非線性變換而成的密鑰數(shù)據(jù),將非線性變換而成的密鑰數(shù)據(jù)做為上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù),而供應(yīng)至數(shù)據(jù)處理的非線性函數(shù)部(F)以外的處理并使與數(shù)據(jù)做運(yùn)算的情形。因為圖46及圖47的任一場合均可從非線性函數(shù)部F來消除密鑰函數(shù)部25,所以可減少非線性函數(shù)部F的運(yùn)算負(fù)荷,因為與非線性函數(shù)部F的運(yùn)算平行而可執(zhí)行處于非線性函數(shù)部F之外的XOR電路的運(yùn)算,所以可執(zhí)行高速處理。實施形態(tài)3圖16是圖1所示的密鑰產(chǎn)生部300(或密鑰產(chǎn)生部)600的構(gòu)成圖。
密鑰產(chǎn)生部300是由位長度變換部310與第一G位密鑰變換部320與第二G位密鑰變換部320與密鑰移位部340所構(gòu)成。在密鑰產(chǎn)生部300輸入128位或192位或256位的密鑰數(shù)據(jù),而產(chǎn)生128位的密鑰數(shù)據(jù)k1與128位的密鑰數(shù)據(jù)k2,并輸出多個64位的擴(kuò)展密鑰。在位長度變換部310中,即使輸入與位數(shù)不同的密鑰數(shù)據(jù),也可以使所輸出的密鑰數(shù)據(jù)的位長度成為一定般地進(jìn)行變換。即,位長度變換部310是在內(nèi)部產(chǎn)生高128位的密鑰數(shù)據(jù)SKhigh與低128位的密鑰數(shù)據(jù)SKlow,而將前者輸出于第一G位密鑰變換部320與密鑰移位部340。而且,將后者輸出于第二G位密鑰變換部320與密鑰移位部340。而且,將前者與后者做異或邏輯運(yùn)算的128位密鑰數(shù)據(jù)輸出于第一G位密鑰變換部320。
圖17是顯示位長度變換部310的內(nèi)部動作的圖。
在輸入128位密鑰數(shù)據(jù)于位長度變換部310的場合時,其所輸入的密鑰數(shù)據(jù)仍做為高128位密鑰數(shù)據(jù)SKhigh而被輸出。而且,低128位密鑰數(shù)據(jù)SKlow是被設(shè)定為0而被輸出。
其次,在輸入192位密鑰數(shù)據(jù)于位長度變換部310的場合時,其所輸入的密鑰數(shù)據(jù)的高128位數(shù)據(jù)仍做為高128位密鑰數(shù)據(jù)SKhigh而被輸出。而且,被輸入的192位密鑰數(shù)據(jù)的低64位數(shù)據(jù)與反相其低64位的64位反相數(shù)據(jù)連結(jié),而產(chǎn)生低128位的密鑰數(shù)據(jù)SKlow并予以輸出。
其次,在輸入256位密鑰數(shù)據(jù)的場合時,被輸入的密鑰數(shù)據(jù)的高128位做為SKhigh、且低128位做為SKlow而被輸出。
在第一G位密鑰變換部320從位長度變換部310將128位密鑰數(shù)據(jù)SKhigh與SKlow做異或邏輯運(yùn)算結(jié)果輸入,在接受2段非線性變換后,與128位密鑰數(shù)據(jù)SKhigh做異或邏輯運(yùn)算,進(jìn)而接受2段非線性變換,輸出128位密鑰數(shù)據(jù)k1。
在輸入于位長度變換部310的密鑰數(shù)據(jù)長度為128位的場合時,使用從第一G位密鑰變換部320所輸出的128位密鑰數(shù)據(jù)和被輸入的元密鑰數(shù)據(jù)而使密鑰移位部340產(chǎn)生擴(kuò)展密鑰。而輸入于位長度變換部310的密鑰數(shù)據(jù)長度為192位或256位的場合時,進(jìn)而將第一G位密鑰變換部320所輸出的128位密鑰數(shù)據(jù)輸入于第二G位密鑰變換部320,而與低128位密鑰數(shù)據(jù)SKlow做異或,在執(zhí)行2段非線性變換后,輸出128位密鑰數(shù)據(jù)k2。在密鑰移位部340輸出從第一G位密鑰變換部320與第二G位密鑰變換部320兩方所輸出的2個128位密鑰數(shù)據(jù),使用兩者與所輸入的元密鑰數(shù)據(jù)而使密鑰移位部340產(chǎn)生擴(kuò)展密鑰。
密鑰移位部340包括移位寄存器A341與移位寄存器B342與移位寄存器C343與移位寄存器D344與移位控制部345。從移位控制部345輸出選擇信號346到移位寄存器,而控制移位寄存器的動作。
圖18是顯示移位寄存器A341的構(gòu)成的圖。
移位寄存器A341包括具有128位開關(guān)群的選擇器A347;及128位的寄存器A348。選擇信號346包括開關(guān)信號,指示將選擇器A347的各開關(guān)全部同時連接于A側(cè)或B側(cè)的任一側(cè)。在圖中,是顯示通過選擇信號346而選擇器A347的開關(guān)群為選擇A的情形,在該場合時,是顯示寄存器A348為循環(huán)移位于17位左側(cè)的情形。而且,顯示于開關(guān)群連接B的場合時,寄存器A以15位循環(huán)移位于左側(cè)。該15位移位或17位移位是在一時鐘機(jī)器周期里執(zhí)行。
還有,循環(huán)移位的移位數(shù)(15、17)是一例,也可為其他的移位數(shù)。
圖19是顯示存儲于移位控制部345的控制表的一部分的圖。
該控制表是在每一時鐘存儲使寄存器移位幾個位的表。例如,在寄存器A控制表中,顯示在第一時鐘移位15位。而且,更顯示在第二時鐘移位15位。同樣地來顯示第三時鐘及第四時鐘也移位15位。第五時鐘~第八時鐘顯示分別移位17位。
圖20是顯示在從128位密鑰數(shù)據(jù)來產(chǎn)生擴(kuò)展密鑰的場合時,移位控制部345使用圖19所示的表來控制移位寄存器的結(jié)果的圖。
在移位寄存器A341設(shè)定從位長度變換部310所輸入的高128位密鑰數(shù)據(jù)SKhigh。在移位寄存器A342設(shè)定從第一G位密鑰變換部320所輸入的128位密鑰數(shù)據(jù)K1。在如此狀態(tài)中,根據(jù)圖19所示的控制表,而動作移位寄存器A341及移位寄存器A342。在圖20中,無視畫斜線的部分,表示不輸出。在此以外的未畫斜線的部分如圖21所示,做為擴(kuò)展密鑰而被輸出。
圖21是顯示與寄存器的值與擴(kuò)展密鑰的對應(yīng)的圖。
在圖20中,顯示每一時鐘以每15位做4次移位,從第五時鐘起每一時鐘做17位移位的情形。從移位寄存器A341與移位寄存器A342輸出或不輸出高64位及低64位做為擴(kuò)展密鑰的判斷、或者其輸出的順序號碼被記載于未做圖示的控制表里,而基于其控制表,通過使輸入指示信號含于選擇信號346而輸出到移位寄存器,成為從各移位寄存器可以每64位輸出擴(kuò)展密鑰。
圖22是顯示從192位或256位的密鑰數(shù)據(jù)來產(chǎn)生擴(kuò)展密鑰的情形。
即,顯示在移位寄存器A341設(shè)定位長度變換部310所輸入的高128位密鑰數(shù)據(jù)SKhigh,在移位寄存器A342設(shè)定低128位密鑰數(shù)據(jù)SKlow,在移位寄存器A343設(shè)定第一G位密鑰變換部320所輸出的128位密鑰數(shù)據(jù)K1,在移位寄存器A344設(shè)定第二G位密鑰變換部320所輸出的128位密鑰數(shù)據(jù)K2的情形。
斜線部分是顯示未使用做為擴(kuò)展密鑰的密鑰。
圖23是顯示寄存器的值與擴(kuò)展密鑰的對應(yīng)的圖。
未使用做為擴(kuò)展密鑰的密鑰和圖23所示的寄存器的值與擴(kuò)展密鑰的對應(yīng)也存儲在處于前述控制部的控制表。
圖19的所示,移位控制部345存儲移位設(shè)定于移位寄存器A341的密鑰數(shù)據(jù)的位數(shù)。即,如移位寄存器A控制表的所示,通過使設(shè)定于移位寄存器A 341的密鑰數(shù)據(jù)移動Z0=0位、Z1=15位、Z2=45位、Z3=60位、Z4=77位、Z5=94位、Z6=111位、Z7=128位,而成為一個一個地產(chǎn)生擴(kuò)展密鑰。
各移位數(shù)之和成為15+15+15+15+17+17+17+17=128,通過將128位的寄存器做128位循環(huán)移位,寄存器返回初期狀態(tài)。
如此而來,將移位數(shù)的總和做為128位(寄存器的位數(shù))而返回初期狀態(tài)的理由是在對于初期狀態(tài)的寄存器而有其次的處理的場合時,仍然可開始其次的處理。而且,即使在執(zhí)行逆變換處理(解密)的場合時,因為從為了產(chǎn)生擴(kuò)展密鑰的處理的開始為仍然照樣地從初期狀態(tài)來開始,所以通過設(shè)定初期狀態(tài),而變換處理(加密)與逆變換處理(解密)均可執(zhí)行。而且,將移位數(shù)的總數(shù)不做成比128位(寄存器的位數(shù))更大,原因是因為例如128位(寄存器的位數(shù))以下的2位循環(huán)移位與比128位(寄存器的位數(shù))還大的130位循環(huán)移位已成為同一值,而做為依據(jù)已做為一循環(huán)以上的移位(128位以上的移位數(shù))的寄存器內(nèi)的狀態(tài),可防止相同值的發(fā)生。寄存器A控制表最好是每當(dāng)寄存器做一循環(huán),盡可能在其途中來設(shè)定成為不規(guī)則的移位數(shù)的值。然而,為了簡單做成移位寄存器的構(gòu)成,最好以被限制的移位數(shù)來移位。在此,將寄存器在1個時鐘(1時鐘)里可做15位與17位兩種類的移位來加以構(gòu)成,使用該兩種類的移位,進(jìn)而,如以下所述般地,可實現(xiàn)移位不同的位數(shù)。
做成所謂Z1-Z0=15(在此,設(shè)Z1-Z0=B1),Z2-Z1=30(即,Z2-Z1=2B1),Z2-Z1=2(Z1-Z0)的關(guān)系。而且,如移位寄存器B控制表的所示,做成所謂Z5-Z4=34(在此,設(shè)Z5-Z4=2B2),Z6-Z5=17(即,Z6-Z5=B2),Z5-Z4=2(Z6-Z5)的關(guān)系。即,將移位數(shù)的差分做為15位和30位或17位和34位,做成為1次的移位數(shù)(15位和17位)的整數(shù)倍(2倍=I倍)的移位數(shù)(30位或34位)。
如此而來,通過將移位數(shù)的差分做成1次的移位數(shù)或1次的移位數(shù)的2倍以上的整數(shù)倍(I倍、I是2以上的整數(shù))的任一種,并通過使移位寄存器A 341動作1次或2次(I次),而可容易地實現(xiàn)存儲于控制表的移位數(shù)的操作。所謂使動作2次(I次)是意味著為了動作移位寄存器A341而被供應(yīng)的動作時鐘的2時鐘(I時鐘)機(jī)器周期里移位動作完畢。
在此,使移位I次(2次)的場合時,直至I-1次(2-1=1次)為止的已移位的數(shù)據(jù)是無視高數(shù)據(jù)與低數(shù)據(jù),而做為擴(kuò)展密鑰不使用。例如,于從圖19的Z1=15移位至Z2=45的場合時,成為I=(Z2-Z1)/(I次的移位數(shù))=(45-15)/15=2,而第I-1次(2-1=第1次)的移位后的數(shù)據(jù)無視于高數(shù)據(jù)與低數(shù)據(jù),而做為擴(kuò)展密鑰不使用。此在圖20中為在key[8]和key[9]畫斜線,而表示做為擴(kuò)展密鑰不使用。因而,以使用第I次(第2次)的移位后的高數(shù)據(jù)與低數(shù)據(jù)的任一方或兩方做為擴(kuò)展密鑰。此是表示在圖20中將key[12]和key[13]做為擴(kuò)展密鑰予以輸出。
如此而來,因為執(zhí)行2以上的整數(shù)倍的移位,并不僅為15位或17位的移位,也可執(zhí)行30(=15×2)位或34(=17×2)位(或45(=15×3))位或51(=17×3)位等的移位,而使移位數(shù)變化,因而更提高了安全性。而且,即使是設(shè)置前述的做為擴(kuò)展密鑰未使用的場合時,同樣地也是為了提高安全性。
做為擴(kuò)展密鑰未使用的數(shù)據(jù)(在圖20和圖22中,做為畫斜線的擴(kuò)展密鑰未使用的密鑰)是最好產(chǎn)生于如硬件的處理、或程序的處理為未連續(xù)執(zhí)行的場合時。例如,在圖3中,最好于執(zhí)行數(shù)據(jù)正變換部(FL)與數(shù)據(jù)逆變換部(FL-1)的操作時,或者于其前后,或在程序中調(diào)用函數(shù),或在執(zhí)行副程序或中斷處理的場合時的處理的分界線,或在處理的變化時來執(zhí)行。
而且,圖19所示的控制表的特征是指定B1=8×2-1=15(B1=8×J1-1,在此J1是1以上的整數(shù))位的移位數(shù)、及B2=8×2+1=17(B2=8×J2+1,在此J2是0以上的整數(shù),J1=J2或J1≠J2)位的移位數(shù)。通過將移位的量做成于8的倍數(shù)±1,而成為執(zhí)行奇數(shù)位的移位,所以比起僅以偶數(shù)位移位其安全性更加提高。而且因為做為移位量而僅執(zhí)行于8的倍數(shù)±1,所以會有在只具有1位移位命令的CPU等中,比起移位3位和5位,有時更可執(zhí)行高速處理。而且,即使在使用只可以移位1位的硬件來執(zhí)行該移位處理的場合時,同樣地,也會有可適用高速處理的場合。
在前述位長度變換部310的說明中,雖顯示輸入3種類的位寬度的密鑰數(shù)據(jù)的場合,但于輸入具有128位(G位)和256位(2G位)間的位長度Q(G<Q<2G)的密鑰數(shù)據(jù)的場合時,也可使用任何算法處理而可以與輸入256位的密鑰數(shù)據(jù)的場合同樣大小般地來伸長密鑰數(shù)據(jù)。即,在輸入具有G位和2G位間的長度Q的密鑰數(shù)據(jù)的場合時,通過位長度變換部310而可將Q位的密鑰數(shù)據(jù)變換成2G位的密鑰數(shù)據(jù)。
其次,使用圖34來說明等價密鑰的非存在證明。
在以下的圖34的說明中,以“+”來意味為異或邏輯運(yùn)算。
在此,做成輸入2個128位的密鑰數(shù)據(jù)SK1和SK2(SK1≠SK2),并做成位長度變換部310為從SK1輸出SK1high=SK1=(SKH1|SKL1),且從SK2輸出SK2high=SK2=(SKH2|SKL2)。在此,SKHi(i=1、2)是Ski的高64位數(shù)據(jù),而SKLi(i=1、2)是Ski的低64位數(shù)據(jù)。
將SKH1與SKH2做異或邏輯運(yùn)算結(jié)果做為ΔA,將SKL1與SKL2做異或邏輯運(yùn)算結(jié)果做為ΔB,因為SK1≠SK2,所以成立“至少ΔA≠0或ΔB≠0”。
如圖34的所示,通過該ΔA與ΔB接受2段非線性變換,而變化成ΔA+ΔD、及ΔB+ΔC。此是意味著SK1high與SK2high的異或邏輯運(yùn)算結(jié)果(ΔA|ΔB)變化成自接受2段非線性變換的數(shù)據(jù)與自SK2high接受2段非線性變換的數(shù)據(jù)做異或邏輯運(yùn)算的結(jié)果(ΔA+ΔD|ΔB+ΔC)。因而,只要接受該2段非線性變換的數(shù)據(jù)在異或邏輯電路999分別與SK1high、SK2high做異或邏輯運(yùn)算,則該兩個數(shù)據(jù)的異或邏輯運(yùn)算結(jié)果便成為(ΔD|ΔC)。還有,在此若非線性變換為全單射函數(shù),則對于ΔX≠0的輸入,因為輸出ΔY≠0,所以若為“至少ΔA≠0或ΔB≠0”,則成為“至少ΔC≠0或ΔD≠0”。所以,意味著絕無通過2段非線性變換而從SK1high和SK2high輸出相同數(shù)據(jù)的情形,成為等價密鑰的非存在證明。
一方面,如圖35的所示,不僅執(zhí)行2段非線性變換,也可考慮關(guān)于3段非線性變換的場合。因為成立“至少ΔA≠0或ΔB≠0”,所以會有ΔA或ΔB的任一個為0的情形。假如ΔA=0則ΔC=0,而且,通過與上述相同的計論,則SK1high與SK2high的異或邏輯運(yùn)算結(jié)果(0|ΔB)變化成自SK1high接受3段非線性變換的數(shù)據(jù)與自SK2high接受3段非線性變換的數(shù)據(jù)做異或邏輯運(yùn)算的結(jié)果(ΔB+ΔE|ΔD)。因而,只要接受該3段非線性變換的數(shù)據(jù)在異或邏輯電路999分別與SK1high、SK2high做異或邏輯運(yùn)算,則該兩個數(shù)據(jù)的異或邏輯運(yùn)算結(jié)果便成為(ΔB+ΔE|ΔB+ΔD)。還有,在此若假定ΔB=ΔD=ΔE≠0成立,則成為(ΔB+ΔE|ΔB+ΔD)=(0|0)??傊?,意味著只要分別與SK1high和SK2high做異或邏輯運(yùn)算,則其運(yùn)算結(jié)果為一致。即,意味著從SK1high和SK2high輸出相同數(shù)據(jù)的情形,即為加密的安全性問題上很多的等價密鑰存在著。
不僅以上所述的3段非線性變換,即使在一般的非線性變換上也有從不同的SK1和SK2輸出等價的K1,即有存在等價密鑰的可能性,但可證明若為在本實施形態(tài)中所述的2段非線性變換則等價密鑰即不存在。
而且,附上等價密鑰的非存在證明,是因為雖可想到在該2段非線性變換之外也有,但在執(zhí)行2段非線性變換的場合時,因為除了可附上等價密鑰的非存在證明,且為簡單的構(gòu)成,所以做成2段非線性變換的構(gòu)成最佳。
圖24是顯示實裝加密用數(shù)據(jù)變換裝置100或解密用數(shù)據(jù)變換裝置400的計算機(jī)的圖。
加密用數(shù)據(jù)變換裝置100或/及解密用數(shù)據(jù)變換裝置400做成印刷電路板連接于總線。在該印刷電路板包括CPU、存儲器或邏輯電路元件,并通過執(zhí)行前述說明過的動作將由CPU所供應(yīng)的明文做成密文,再送回CPU。或者是,將從CPU送過來的密文解密成明文,再送回CPU。
加密用數(shù)據(jù)變換裝置100或解密用數(shù)據(jù)變換裝置400可全部以使用硬件來加以實現(xiàn)。而且,加密用數(shù)據(jù)變換裝置100或解密用數(shù)據(jù)變換裝置400也可全部以使用軟件而做為數(shù)據(jù)變換方法來加以實現(xiàn)。即,使用存儲于硬盤裝置和軟盤裝置的程序而可使執(zhí)行前述的動作。或者是,雖未予以圖示,但也可組合硬件和軟件使實現(xiàn)前述的動作。而且,雖未予以圖示,無需以一臺計算機(jī)來實現(xiàn)前述的動作全部,而也可以如服務(wù)器與客戶終端、或主計算機(jī)與終端計算機(jī)那樣地,在被分散的系統(tǒng)中來達(dá)成前述的動作。
在前述的圖1~圖47的圖中記載有箭頭的圖其箭頭的方向表示動作的流向,在前述的圖1~圖47的圖中記載有箭頭的圖是數(shù)據(jù)變換裝置的方塊圖,而且也為流程圖。因而,在前述的方塊圖的記載有“什么部”的部分是通過改成“什么步驟”或“什么處理”,而成為表示數(shù)據(jù)變換方法的動作流程圖或程序流程圖。
還有,在前述的實施形態(tài)中,雖顯示128位的明文和密文的場合,但也可為256位的明文和密文及其他位的明文和密文的場合。
而且,在前述的實施形態(tài)中,雖顯示128、192、256位的密鑰數(shù)據(jù)和64位的擴(kuò)展密鑰的場合,但也可為其他位數(shù)的場合。
在明文和密文和擴(kuò)展密鑰的位長度改變的場合時,不用說以對應(yīng)其位長度,各部和各步驟和各處理的所處理的位長度也要改變。產(chǎn)業(yè)上的可利用性若依據(jù)該發(fā)明的實施形態(tài),則因為加密和解密可在同一處理步驟來執(zhí)行,包括數(shù)據(jù)正變換部(FL)251及數(shù)據(jù)逆變換部(FL-1)271,所以可兼用加密部200和解密部500來加以使用。
而且,若依據(jù)該發(fā)明的實施形態(tài),則因為兼用變換表T來構(gòu)成S盒第一變換部13及S盒第二變換部14,所以會有所謂構(gòu)成變?yōu)楹唵蔚男Ч?br> 而且,若依據(jù)該發(fā)明的實施形態(tài),則因為使用有限域變換部18,所以構(gòu)成變?yōu)楹唵危瑫r因為設(shè)置線性變換部85及線性變換部87,所以即使在使用有限域變換部18的場合時也可使安全性提高。
而且,若依據(jù)該發(fā)明的實施形態(tài),則通過移位控制部345以整數(shù)次動作移位寄存器來執(zhí)行可使用非僅15位和17位的一定值的移位數(shù)(例如,30位和34位)密鑰數(shù)據(jù)的移位,故可提高安全性。
而且,若依據(jù)該發(fā)明的實施形態(tài),則因為在移位寄存器設(shè)置從被移位的數(shù)據(jù)做為擴(kuò)展密鑰不使用的場合,所以更可提高安全性。
而且,若依據(jù)該發(fā)明的實施形態(tài),則因為即使在輸入位數(shù)不同的密鑰數(shù)據(jù)的場合時,通過位長度變換部310變換成一定長度的密鑰數(shù)據(jù),所以可執(zhí)行具有柔軟性的密鑰產(chǎn)生操作。
而且,若依據(jù)該發(fā)明的實施形態(tài),則通過在第一G位密鑰變換部320使用2段非線性變換,而可證明對于K1并不存在等價密鑰,而可使安全性提高。
而且,若依據(jù)該發(fā)明的實施形態(tài),則因為變更密鑰函數(shù)部25的配置位置,所以可行高速處理。
權(quán)利要求
1.一種數(shù)據(jù)變換裝置,包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換,其特征在于上述數(shù)據(jù)處理部是將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)分割為第一數(shù)據(jù)(L)和第二數(shù)據(jù)(R)而做數(shù)據(jù)變換;以及上述數(shù)據(jù)處理部是包括數(shù)據(jù)正變換部(FL),變換第一數(shù)據(jù)(L);及數(shù)據(jù)逆變換部(FL-1),將第二數(shù)據(jù)(R)做與上述數(shù)據(jù)正變換部(FL)的變換相反的變換。
2.如權(quán)利要求1所述的數(shù)據(jù)變換裝置,其中,上述數(shù)據(jù)處理部具有第一輸入和第二輸入;及第一輸出和第二輸出;上述數(shù)據(jù)正變換部(FL)將變換后的數(shù)據(jù)輸出至數(shù)據(jù)處理部的第一輸入;上述數(shù)據(jù)逆變換部(FL-1)變換從數(shù)據(jù)處理部的第二輸出所輸出的數(shù)據(jù)予以輸出。
3.如權(quán)利要求1所述的數(shù)據(jù)變換裝置,其中,上述數(shù)據(jù)處理部具有第一輸入和第二輸入;及第一輸出和第二輸出;上述數(shù)據(jù)正變換部(FL)將變換后的數(shù)據(jù)輸出至數(shù)據(jù)處理部的第二輸入;上述數(shù)據(jù)逆變換部(FL-1)變換從數(shù)據(jù)處理部的第一輸出所輸出的數(shù)據(jù)予以輸出。
4.一種數(shù)據(jù)變換裝置,包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換,其特征在于上述數(shù)據(jù)處理部包括非線性變換部,將數(shù)據(jù)做非線性變換;非線性變換部包括第一變換部(s1),將欲變換的數(shù)據(jù)的一部分?jǐn)?shù)據(jù)輸入做為第一部分?jǐn)?shù)據(jù),以使用可將輸入后的數(shù)據(jù)的值變換成其他的值予以輸出的變換表T來變換第一部分?jǐn)?shù)據(jù),并輸出變換后的數(shù)據(jù);及第二變換部(s2),將欲變換的數(shù)據(jù)的至少其他的一部分?jǐn)?shù)據(jù)輸入做為第二部分?jǐn)?shù)據(jù),以使用可使用上述變換表T的變換與第二部分用運(yùn)算來變換第二部分?jǐn)?shù)據(jù),并輸出變換后的數(shù)據(jù)。
5.如權(quán)利要求4所述的數(shù)據(jù)變換裝置,其中,上述第一變換部(s1)在變換表T輸入數(shù)據(jù)y1并輸出數(shù)據(jù)s1(y1),并將該數(shù)據(jù)輸出做為數(shù)據(jù)z1=s1(y1);上述第二變換部(s2)在變換表T輸入數(shù)據(jù)y2并輸出數(shù)據(jù)s1(y2),將以循環(huán)移位處理數(shù)據(jù)s1(y2)的數(shù)據(jù)(rot(s1(y2)))輸出做為數(shù)據(jù)z2=rot(s1(y2))。
6.如權(quán)利要求4所述的數(shù)據(jù)變換裝置,其中,上述數(shù)據(jù)處理部進(jìn)而包括第三變換部(s3)和第四變換部(s4),與欲變換的數(shù)據(jù)的第一部分?jǐn)?shù)據(jù)和第二部分?jǐn)?shù)據(jù)不同的一部分?jǐn)?shù)據(jù)輸入做為第三部分?jǐn)?shù)據(jù),并將與第一部分?jǐn)?shù)據(jù)和第二部分?jǐn)?shù)據(jù)和第三部分?jǐn)?shù)據(jù)不同的一部分?jǐn)?shù)據(jù)分別輸入做為第四部分?jǐn)?shù)據(jù),而通過使用上述變換表T的變換及分別與第二變換部(s2)的第二部分用運(yùn)算不同的第三部分用運(yùn)算和第四部分用運(yùn)算,來分別變換第三部分?jǐn)?shù)據(jù)和第四部分?jǐn)?shù)據(jù),并輸出變換后的數(shù)據(jù)。
7.一種數(shù)據(jù)變換裝置,包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換,其特征在于上述數(shù)據(jù)處理部包括有限域變換部,輸入欲變換的數(shù)據(jù),將所輸入的數(shù)據(jù)視為某一域(field)的元,而使用已使用其有限域的逆元電路加以變換,而輸出變換后數(shù)據(jù);及GF(2)上的向量空間CF(2)n的仿射變換部,將欲變換成上述有限域變換部的前段和后段的至少任何一方的CF(2n)上的數(shù)據(jù)視為自然的對應(yīng)CF(2)n的元。
8.如權(quán)利要求7所述的數(shù)據(jù)變換裝置,其中,上述有限域變換部只具有多個N/2位運(yùn)算器,將N(N為偶數(shù))位的數(shù)據(jù)X以成為X=X0+βX1(X0、X1有限域的元,β原來的域的元)的高N/2位數(shù)據(jù)X1與低N/2位數(shù)據(jù)X0予以等分,并將成為Y=Y(jié)0+βY1=1/(X0+βX1)(X=0時Y=0)的高N/2位數(shù)據(jù)Y1與低N/2位數(shù)據(jù)Y0分別以N/2位單位來運(yùn)算而求得數(shù)據(jù)Y。
9.一種數(shù)據(jù)變換裝置,包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于上述數(shù)據(jù)處理部具有多段非線性數(shù)據(jù)變換部,在每一段輸入擴(kuò)展密鑰并與做非線性變換的多段連接;上述密鑰產(chǎn)生部包括密鑰移位部,對于上述多段非線性數(shù)據(jù)變換部的每一段而每當(dāng)產(chǎn)生欲供應(yīng)的擴(kuò)展密鑰,則輸入密鑰數(shù)據(jù)與依存于從密鑰數(shù)據(jù)所產(chǎn)生的密鑰數(shù)據(jù)的至少任一數(shù)據(jù)而僅以預(yù)先所決定的位數(shù)Z1、Z2、…、Zm(在此,i、j、k是做為1~m中的任何一個值,Zk-Zj=I×(Zi+1-Zi)=I×B(I為整數(shù),B=Zi+1-Zi))做循環(huán)移位,而從該循環(huán)移位后的密鑰數(shù)據(jù)來產(chǎn)生各段的非線性數(shù)據(jù)變換部的擴(kuò)展密鑰;以及上述密鑰移位部包括循環(huán)移位寄存器,在1次動作里做(Zi+1-Zi)位(B位)的循環(huán)移位;及控制部,對于已做Zi位循環(huán)移位的密鑰數(shù)據(jù)通過使循環(huán)移位寄存器動作一次并使執(zhí)行(Zi+1-Zi)位(B位)的循環(huán)移位,而在循環(huán)移位寄存器產(chǎn)生做Zi+1位循環(huán)移位的密鑰數(shù)據(jù),并對于已做Zi+1位循環(huán)移位的密鑰數(shù)據(jù)通過使循環(huán)移位寄存器動作I次并使執(zhí)行I×(Zi+1-Zi)位(I×B位)的循環(huán)移位,而在循環(huán)移位寄存器產(chǎn)生做Zi+2位循環(huán)移位的密鑰數(shù)據(jù)。
10.如權(quán)利要求9所述的數(shù)據(jù)變換裝置,其中,上述循環(huán)移位寄存器是在為了使循環(huán)移位寄存器動作而被供應(yīng)的動作時鐘的1時鐘機(jī)器周期里做Zi+1-Zi位(B位)的循環(huán)移位的電路。
11.如權(quán)利要求9所述的數(shù)據(jù)變換裝置,其中,上述循環(huán)移位電路包括選擇器,以做為(Zi+1-Zi)位(B位)的值,而選擇B1=8×J1+1(J1=0以上的整數(shù))位與B2=8×J2-1(J2=1以上的整數(shù),而J1和J2無關(guān)系,即J1≠J2或J1=J2)位的任一值。
12.一種數(shù)據(jù)變換裝置,包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于上述數(shù)據(jù)處理部具有多段非線性數(shù)據(jù)變換部,在每一段輸入擴(kuò)展密鑰并與做非線性變換的多段連接;上述密鑰產(chǎn)生部包括密鑰移位部,對于上述多段非線性數(shù)據(jù)變換部的每一段而每當(dāng)產(chǎn)生欲供應(yīng)的擴(kuò)展密鑰,則僅以預(yù)先決定某一密鑰數(shù)據(jù)的位數(shù)(B位)的順序來做循環(huán)移位,而從該循環(huán)移位后的密鑰數(shù)據(jù)來產(chǎn)生供應(yīng)至各段的非線性數(shù)據(jù)變換部的擴(kuò)展密鑰;上述密鑰移位部在僅以B位順序做循環(huán)移位的數(shù)據(jù)里,可無視一部分的數(shù)據(jù)而不產(chǎn)生擴(kuò)展密鑰,而后從剩余的其他數(shù)據(jù)來產(chǎn)生擴(kuò)展密鑰。
13.一種數(shù)據(jù)變換裝置,包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于上述密鑰產(chǎn)生部包括第一G位密鑰變換部,輸入并變換G位的G位密鑰數(shù)據(jù),而輸出G位的第一G位變換密鑰數(shù)據(jù);及第二G位密鑰變換部,輸入從上述第一G位密鑰變換部所輸出的第一G位變換密鑰數(shù)據(jù),進(jìn)而予以變換而輸出G位的第二G位變換密鑰數(shù)據(jù);而在上述密鑰產(chǎn)生部輸入G位密鑰數(shù)據(jù)K的場合時,將G位密鑰數(shù)據(jù)K輸入到第一G位密鑰變換部并予以變換,而將由第一G位密鑰變換部所輸出的第一G位變換密鑰數(shù)據(jù)K1予以輸出做為G位密鑰數(shù)據(jù);在上述密鑰產(chǎn)生部輸入2G位密鑰數(shù)據(jù)K的場合時,將從2G位密鑰數(shù)據(jù)K產(chǎn)生G位密鑰數(shù)據(jù)所產(chǎn)生的G位密鑰數(shù)據(jù)予以輸入到第一G位密鑰變換部并變換后輸出第一G位變換密鑰數(shù)據(jù)K1,而將第一G位變換密鑰數(shù)據(jù)K1輸入到第二G位密鑰變換部予以變換而輸出第二G位變換密鑰數(shù)據(jù)K2,將由第一G位密鑰變換部所輸出的第一G位變換密鑰數(shù)據(jù)K1與由第二G位密鑰變換部所輸出的第二G位變換密鑰數(shù)據(jù)K2予以連結(jié),而輸出做為變換后的2G位密鑰數(shù)據(jù)(K1、K2)。
14.如權(quán)利要求13所述的數(shù)據(jù)變換裝置,其中,上述第一G位密鑰變換部包括2段非線性數(shù)據(jù)變換部,將G位密鑰數(shù)據(jù)做非線性變換;及邏輯運(yùn)算部,執(zhí)行自2段非線性數(shù)據(jù)變換部所輸出的變換途中的G位密鑰數(shù)據(jù)與第一G位密鑰變換部所輸入的G位密鑰數(shù)據(jù)的邏輯運(yùn)算。
15.如權(quán)利要求13所述的數(shù)據(jù)變換裝置,其中,上述密鑰產(chǎn)生部進(jìn)而包括位長度變換部,于輸入Q位(G<Q<2G)的密鑰數(shù)據(jù)的場合時,將Q位的密鑰數(shù)據(jù)做成2G位的密鑰數(shù)據(jù)。
16.一種數(shù)據(jù)變換裝置,包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于包括非線性函數(shù)部(F),其包括密鑰函數(shù)部,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)與密鑰數(shù)據(jù)做邏輯運(yùn)算;S函數(shù)部,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)予以置換變換成其他數(shù)據(jù);及P函數(shù)部,在執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)間做邏輯運(yùn)算;非線性函數(shù)部(F)將密鑰函數(shù)部配置于S函數(shù)部與P函數(shù)部之間。
17.一種數(shù)據(jù)變換裝置,包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于包括非線性函數(shù)部(F),其包括密鑰函數(shù)部,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)與密鑰數(shù)據(jù)做邏輯運(yùn)算;S函數(shù)部,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)予以置換變換成其他數(shù)據(jù);及P函數(shù)部,在執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)間做邏輯運(yùn)算;非線性函數(shù)部(F)將密鑰函數(shù)部配置于S函數(shù)部與P函數(shù)部兩者之前及兩者之后的任一者。
18.如權(quán)利要求16所述的數(shù)據(jù)變換裝置,其中,上述S函數(shù)部包括第一變換部(s1),輸入欲變換的數(shù)據(jù)的一部分?jǐn)?shù)據(jù)做為第一部分?jǐn)?shù)據(jù),而使用可將輸入后的數(shù)據(jù)的值變換成其他的值并予以輸出的變換表T,來變換第一部分?jǐn)?shù)據(jù)而輸出變換后的數(shù)據(jù);及第二變換部(s2),輸入欲變換的數(shù)據(jù)的至少其他的一部分?jǐn)?shù)據(jù)做為第二部分?jǐn)?shù)據(jù),而使用已使用上述變換表T的變換及第二部分用運(yùn)算,來變換第二部分?jǐn)?shù)據(jù)而輸出變換后的數(shù)據(jù)。
19.如權(quán)利要求16所述的數(shù)據(jù)變換裝置,其中,包括至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換的數(shù)據(jù)處理部,還包括非線性函數(shù)部(F),其包括P函數(shù)部,在執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)間做邏輯運(yùn)算;上述P函數(shù)輸入z1、z2、…、z8的8個4n(n是1以上的整數(shù))位數(shù)據(jù),并包括于上述z1、z2、z3、z4的4個數(shù)據(jù)里,執(zhí)行至少2個以上的數(shù)據(jù)的異或邏輯運(yùn)算而得到4n位的結(jié)果的U1電路;于上述z5、z6、z7、z8的4個數(shù)據(jù)里,執(zhí)行至少2個以上的數(shù)據(jù)的異或邏輯運(yùn)算而得到4n位的結(jié)果的U2電路;執(zhí)行U1與U2的異或邏輯運(yùn)算而得到4n位的結(jié)果的U3電路;對于U1做循環(huán)移位的循環(huán)電路;及執(zhí)行上述循環(huán)電路的輸出與U3的異或邏輯運(yùn)算而得到4n位的結(jié)果的U4電路;將上述U3、U4分別分割成4個而做為z′1、z′2、…、z′8的8個n位數(shù)據(jù)而輸出。
20.一種數(shù)據(jù)變換方法,以實行輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換的數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)分割為第一數(shù)據(jù)(L)和第二數(shù)據(jù)(R);及上述數(shù)據(jù)處理包括數(shù)據(jù)正變換處理(FL),變換第一數(shù)據(jù)(L);及數(shù)據(jù)逆變換處理(FL-1),將第二數(shù)據(jù)(R)做與上述數(shù)據(jù)正變換處理(FL)的變換相反的變換。
21.一種數(shù)據(jù)變換方法,以實行輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換的數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理包括非線性變換處理,將數(shù)據(jù)做非線性變換;非線性變換處理包括第一變換處理(s1),將欲變換的數(shù)據(jù)的一部分?jǐn)?shù)據(jù)輸入做為第一部分?jǐn)?shù)據(jù),使用可將輸入后的數(shù)據(jù)的值變換成其他的值予以輸出的變換表T來變換第一部分?jǐn)?shù)據(jù),而輸出變換后的數(shù)據(jù);及第二變換處理(s2),將欲變換的數(shù)據(jù)的至少其他的一部分?jǐn)?shù)據(jù)輸入做為第二部分?jǐn)?shù)據(jù),使用可使用上述變換表T的變換與第二部分用運(yùn)算來變換第二部分?jǐn)?shù)據(jù),而輸出變換后的數(shù)據(jù)。
22.一種數(shù)據(jù)變換方法,以實行輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換的數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理包括有限域變換處理,輸入欲變換的數(shù)據(jù),將所輸入的數(shù)據(jù)視為某一域(field)的元,而使用已使用其有限域的逆元電路加以變換,而輸出變換后的數(shù)據(jù);及GF(2)上的向量空間CF(2)n的仿射變換處理,將欲變換成上述有限域變換部的前段和后段的至少任何一方的CF(2n)上的數(shù)據(jù)視為自然的對應(yīng)CF(2)n的元。
23.一種數(shù)據(jù)變換方法,實行如下數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理具有多段非線性數(shù)據(jù)變換處理,于每一段輸入擴(kuò)展密鑰并與做非線性變換的多段連接;上述密鑰產(chǎn)生處理包括密鑰移位處理,對于上述多段非線性數(shù)據(jù)變換處理的每一段而當(dāng)產(chǎn)生欲供應(yīng)的擴(kuò)展密鑰,則輸入密鑰數(shù)據(jù)與依存于從密鑰數(shù)據(jù)所產(chǎn)生的密鑰數(shù)據(jù)的至少任一數(shù)據(jù)而僅以預(yù)先所決定的位數(shù)Z1、Z2、…、Zm(在此,i、j、k是做為1~m中的任何一個值,Zk-Zj=I×(Zi+1-Zi)=I×B(I為整數(shù),B=Zi+1-Zi))做循環(huán)移位,而從該循環(huán)移位后的密鑰數(shù)據(jù)來產(chǎn)生各段的非線性數(shù)據(jù)變換處理的擴(kuò)展密鑰;及上述密鑰移位處理包括循環(huán)移位處理,在1次動作里做(Zi+1-Zi)位(B位)的循環(huán)移位;及控制處理,對于已做Zi位循環(huán)移位的密鑰數(shù)據(jù)通過循環(huán)移位處理動作一次并使執(zhí)行(Zi+1-Zi)位(B位)的循環(huán)移位,而通過循環(huán)移位處理產(chǎn)生做Zi+1位循環(huán)移位的密鑰數(shù)據(jù),并對于已做Zi+1位循環(huán)移位的密鑰數(shù)據(jù)通過循環(huán)移位處理動作I次并執(zhí)行I×(Zi+1-Zi)位(I×B位)的循環(huán)移位,而通過循環(huán)移位處理產(chǎn)生做Zi+2位循環(huán)移位的密鑰數(shù)據(jù)。
24.一種數(shù)據(jù)變換方法,實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理具有多段非線性數(shù)據(jù)變換處理,在每一段輸入擴(kuò)展密鑰并與做非線性變換的多段連接;上述密鑰產(chǎn)生處理包括密鑰移位處理,對于上述多段非線性數(shù)據(jù)變換部的每一段而每當(dāng)產(chǎn)生欲供應(yīng)的擴(kuò)展密鑰,則僅以預(yù)先決定某一密鑰數(shù)據(jù)的位數(shù)(B位)順序來做循環(huán)移位,而從該循環(huán)移位后的密鑰數(shù)據(jù)來產(chǎn)生供應(yīng)做各段的非線性數(shù)據(jù)變換處理的擴(kuò)展密鑰;及上述密鑰移位處理在僅以B位順序做循環(huán)移位的數(shù)據(jù)里,可無視一部分的數(shù)據(jù)而不產(chǎn)生擴(kuò)展密鑰,而從剩余的其他數(shù)據(jù)來產(chǎn)生擴(kuò)展密鑰。
25.一種數(shù)據(jù)變換方法,實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于上述密鑰產(chǎn)生處理包括第一G位密鑰變換處理,輸入并變換G位的G位密鑰數(shù)據(jù),而輸出G位的第一G位變換密鑰數(shù)據(jù);及第二G位密鑰變換處理,輸入從上述第一G位密鑰變換處理所輸出的第一G位密鑰數(shù)據(jù),進(jìn)而予以變換而輸出G位的第二G位變換密鑰數(shù)據(jù);而在上述密鑰產(chǎn)生部輸入G位密鑰數(shù)據(jù)K的場合時,將G位密鑰數(shù)據(jù)K輸入到第一G位密鑰變換部并予以變換,而將由第一G位密鑰變換處理所輸出的第一G位密鑰數(shù)據(jù)K1予以輸出做為G位密鑰數(shù)據(jù);在上述密鑰產(chǎn)生部輸入2G位密鑰數(shù)據(jù)K的場合時,將從2G位密鑰數(shù)據(jù)K產(chǎn)生G位密鑰數(shù)據(jù)所產(chǎn)生的G位密鑰數(shù)據(jù)予以輸入到第一G位密鑰變換部并變換后輸出第一G位變換密鑰數(shù)據(jù)K1,而將第一G位變換密鑰數(shù)據(jù)K1輸入做第二G位密鑰變換處理予以變換而輸出第二G位變換密鑰數(shù)據(jù)K2,將由第一G位密鑰變換處理所輸出的第一G位變換密鑰數(shù)據(jù)K1與由第二G位密鑰變換處理所輸出的第二G位變換密鑰數(shù)據(jù)K2予以連結(jié),而輸出做為變換后的2G位密鑰數(shù)據(jù)(K1、K2)。
26.一種數(shù)據(jù)變換方法,實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于包括非線性函數(shù)處理(F),其包括密鑰函數(shù)處理,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)與密鑰數(shù)據(jù)做邏輯運(yùn)算;S函數(shù)處理,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)予以置換變換成其他數(shù)據(jù);及P函數(shù)處理,在執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)間做邏輯運(yùn)算;非線性函數(shù)處理(F)使密鑰函數(shù)動作在S函數(shù)處理與P函數(shù)處理之間。
27.一種數(shù)據(jù)變換方法,實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于包括非線性函數(shù)處理(F),其包括密鑰函數(shù)處理,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)與密鑰數(shù)據(jù)做邏輯運(yùn)算;S函數(shù)處理,將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)予以置換變換成其他數(shù)據(jù);及P函數(shù)處理,在執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)間做邏輯運(yùn)算;非線性函數(shù)處理(F)使密鑰函數(shù)動作在S函數(shù)處理與P函數(shù)處理兩者之前及兩者之后的任一者。
28.一種數(shù)據(jù)變換裝置,包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換,其特征在于上述數(shù)據(jù)處理部包括第一輸入部;第二輸入部;第一輸出部;第二輸出部;非線性變換部,將數(shù)據(jù)的加密與數(shù)據(jù)的解密用同一算法執(zhí)行;第一輸入數(shù)據(jù)正變換部,變換輸入于第一輸入部的數(shù)據(jù);及第二輸出數(shù)據(jù)逆變換部,輸入從第二輸出部所輸出的數(shù)據(jù)而做與上述第一輸入數(shù)據(jù)正變換部的變換相反的變換。
29.如權(quán)利要求28所述的數(shù)據(jù)變換裝置,其中,上述非線性變換部包括算法處理部,為從第一輸入部輸入第一輸入數(shù)據(jù);從第二輸入部輸入第二輸入數(shù)據(jù);使用加密用密鑰數(shù)據(jù)來非線性變換第一輸入數(shù)據(jù)和第二輸入數(shù)據(jù),產(chǎn)生第一變換數(shù)據(jù)和第二變換數(shù)據(jù);從第一輸出部輸出第一變換數(shù)據(jù);從第二輸出部輸出第二變換數(shù)據(jù);從第二輸入部輸入上述第一變換數(shù)據(jù),并從第一輸入部輸入上述第二變換數(shù)據(jù),而使用解密用密鑰數(shù)據(jù)來非線性變換第一變換數(shù)據(jù)和第二變換數(shù)據(jù),以產(chǎn)生第一輸出數(shù)據(jù)和第二輸出數(shù)據(jù);在從第二輸出部輸出第一輸出數(shù)據(jù)、從第一輸出部輸出第二輸出數(shù)據(jù)時,使第一輸入數(shù)據(jù)與第二輸出數(shù)據(jù)為同一,第二輸入數(shù)據(jù)與第一輸出數(shù)據(jù)為同一。
30.如權(quán)利要求28所述的數(shù)據(jù)變換裝置,其中,上述數(shù)據(jù)處理部進(jìn)而包括第二輸入數(shù)據(jù)正變換部,變換輸入于第二輸入部的數(shù)據(jù);及第一輸出數(shù)據(jù)逆變換部,輸入從第一輸出部所輸出的數(shù)據(jù),而做與上述第二輸入數(shù)據(jù)正變換部的變換相反的變換。
31.一種數(shù)據(jù)變換裝置,包括數(shù)據(jù)處理部,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生部,產(chǎn)生上述數(shù)據(jù)處理部所使用的密鑰數(shù)據(jù)而供應(yīng)至數(shù)據(jù)處理部,其特征在于上述數(shù)據(jù)處理部包括非線性函數(shù)部(F),將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)做非線性變換;上述密鑰產(chǎn)生部加工供應(yīng)至非線性函數(shù)部(F)的密鑰數(shù)據(jù),而將加工后的密鑰數(shù)據(jù)供應(yīng)至數(shù)據(jù)處理部的非線性函數(shù)部(F)以外的部分并與數(shù)據(jù)做運(yùn)算。
32.一種數(shù)據(jù)變換方法,實行數(shù)據(jù)處理,輸入密鑰數(shù)據(jù)而至少執(zhí)行數(shù)據(jù)的加密和數(shù)據(jù)的解密的任一種的數(shù)據(jù)變換;及密鑰產(chǎn)生處理,產(chǎn)生上述數(shù)據(jù)處理所使用的密鑰數(shù)據(jù)而供應(yīng)做為數(shù)據(jù)處理,其特征在于上述數(shù)據(jù)處理包括非線性函數(shù)處理(F),將執(zhí)行數(shù)據(jù)變換的數(shù)據(jù)做非線性變換;上述密鑰產(chǎn)生處理加工供應(yīng)到非線性函數(shù)處理(F)的密鑰數(shù)據(jù),而將加工后的密鑰數(shù)據(jù)供應(yīng)至數(shù)據(jù)處理的非線性函數(shù)處理(F)以外的處理并與數(shù)據(jù)做運(yùn)算。
33.一種計算機(jī)可讀取存儲記錄媒體,用以在計算機(jī)上執(zhí)行上述權(quán)利要求20所述的數(shù)據(jù)變換方法的程序或記錄上述程序。
34.一種計算機(jī)可讀取存儲記錄媒體,用以在計算機(jī)上執(zhí)行上述權(quán)利要求21所述的數(shù)據(jù)變換方法的程序或記錄上述程序。
35.一種計算機(jī)可讀取存儲記錄媒體,用以在計算機(jī)上執(zhí)行上述權(quán)利要求22所述的數(shù)據(jù)變換方法的程序或記錄上述程序。
36.一種計算機(jī)可讀取存儲記錄媒體,用以在計算機(jī)上執(zhí)行上述權(quán)利要求23所述的數(shù)據(jù)變換方法的程序或記錄上述程序。
37.一種計算機(jī)可讀取存儲記錄媒體,用以在計算機(jī)上執(zhí)行上述權(quán)利要求24所述的數(shù)據(jù)變換方法的程序或記錄上述程序。
38.一種計算機(jī)可讀取存儲記錄媒體,用以在計算機(jī)上執(zhí)行上述權(quán)利要求25所述的數(shù)據(jù)變換方法的程序或記錄上述程序。
39.一種計算機(jī)可讀取存儲記錄媒體,用以在計算機(jī)上執(zhí)行上述權(quán)利要求26所述的數(shù)據(jù)變換方法的程序或記錄上述程序。
40.一種計算機(jī)可讀取存儲記錄媒體,用以在計算機(jī)上執(zhí)行上述權(quán)利要求27所述的數(shù)據(jù)變換方法的程序或記錄上述程序。
41.一種計算機(jī)可讀取存儲記錄媒體,用以在計算機(jī)上執(zhí)行上述權(quán)利要求32所述的數(shù)據(jù)變換方法的程序或記錄上述程序。
全文摘要
可將加密部200和解密部500兼用同一電路。以非線性數(shù)據(jù)變換部200為中心而將數(shù)據(jù)正變換部(FL)251與數(shù)據(jù)逆變換部(FL
文檔編號G09C1/00GK1364284SQ01800470
公開日2002年8月14日 申請日期2001年3月8日 優(yōu)先權(quán)日2000年3月9日
發(fā)明者松井充, 時田俊雄, 中嶋純子, 神田雅透, 盛合志帆, 青木和麻呂 申請人:三菱電機(jī)株式會社, 日本電信電話株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
麦盖提县| 青铜峡市| 友谊县| 福清市| 开封县| 临武县| 信阳市| 阿瓦提县| 乐山市| 绥芬河市| 彭阳县| 武清区| 双牌县| 商都县| 铅山县| 深圳市| 海盐县| 新巴尔虎左旗| 汉川市| 泸溪县| 肃宁县| 贡觉县| 柘荣县| 海盐县| 临高县| 无为县| 米林县| 武穴市| 灵山县| 前郭尔| 浦江县| 太湖县| 商河县| 新河县| 瓦房店市| 靖安县| 昂仁县| 元氏县| 永德县| 金溪县| 云阳县|