两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

密碼處理裝置、密碼處理裝置制造裝置及方法、以及計算機(jī)程序的制作方法

文檔序號:7674961閱讀:165來源:國知局
專利名稱:密碼處理裝置、密碼處理裝置制造裝置及方法、以及計算機(jī)程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種密碼處理裝置、密碼處理裝置制造裝置及方法、以及計算機(jī)程序。更詳細(xì)地說,涉及一種執(zhí)行Feistel型共用密鑰塊密碼處理的密碼處理裝置、密碼處理裝置制造裝置及方法、以及計算機(jī)程序。

背景技術(shù)
近來伴隨著網(wǎng)絡(luò)通信、電子商務(wù)的發(fā)展,通信中的安全保障成為重要的問題。安全保障的方法之一是密碼技術(shù),當(dāng)前實際上正在進(jìn)行使用了各種加密方法的通信。
例如已經(jīng)實用化了如下系統(tǒng)在IC卡等小型裝置中嵌入密碼處理模塊,在IC卡和作為數(shù)據(jù)讀取寫入裝置的讀寫器之間進(jìn)行數(shù)據(jù)發(fā)送接收,從而進(jìn)行認(rèn)證處理、或者發(fā)送接收數(shù)據(jù)的加密、解密。
密碼處理算法中有各種算法,大致分類為將加密密鑰和解密密鑰設(shè)定為不同密鑰例如公開密鑰和私密密鑰的公開密鑰密碼方式、以及將加密密鑰和解密密鑰設(shè)定為共用密鑰的共用密鑰密碼方式。
共用密鑰密碼方式中也存在各種算法,其中之一是以共用密鑰為基礎(chǔ)生成多個密鑰、并使用生成的多個密鑰重復(fù)執(zhí)行組單位(64比特、128比特等)的數(shù)據(jù)變換處理的方式。應(yīng)用了這種密鑰生成方式和數(shù)據(jù)變換處理的代表性算法是共用密鑰塊密碼方式。
作為共用密鑰塊密碼方式的設(shè)計之一,大多使用被稱為Feistel結(jié)構(gòu)的結(jié)構(gòu),該Feistel結(jié)構(gòu)對作為加密處理對象輸入的明文數(shù)據(jù)重復(fù)執(zhí)行成為基本的變換函數(shù)。Feistel結(jié)構(gòu)是由被稱為循環(huán)函數(shù)的基本的處理單元的重復(fù)所構(gòu)成。循環(huán)函數(shù)的重復(fù)數(shù)量、即循環(huán)數(shù)(或者級數(shù))設(shè)置為多少并不特別固定,而在設(shè)計時決定。
如果將循環(huán)數(shù)設(shè)定得多,則處理時間變長,但是能夠提高相對于各種攻擊、即差分解析等密碼解析的強(qiáng)度,使安全性強(qiáng)固。因而,在設(shè)為處理時間優(yōu)先的情況、和設(shè)為安全性優(yōu)先的情況等中,最好根據(jù)利用目的進(jìn)行循環(huán)數(shù)設(shè)定。


發(fā)明內(nèi)容
發(fā)明所要解決的問題 本發(fā)明的目的在于提供一種密碼處理裝置、密碼處理裝置制造裝置及方法、以及計算機(jī)程序,在執(zhí)行具有作為共用密鑰塊密碼方式的設(shè)計之一的Feistel結(jié)構(gòu)的Feistel型共用密鑰塊密碼處理的結(jié)構(gòu)中,能夠容易地進(jìn)行循環(huán)數(shù)的變更,并且能夠在維持對差分攻擊等攻擊的高抵抗力的結(jié)構(gòu)的情況下進(jìn)行各種循環(huán)數(shù)設(shè)定下的密碼處理。
用于解決問題的方案 本發(fā)明的第1側(cè)面是一種密碼處理裝置,其特征在于,具有 密碼處理部,該密碼處理部是執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理部,所述SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,所述密碼處理部具有密碼處理基本單元,該密碼處理基本單元具備對合性,僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù),并且將多個不同的F函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列; 控制部,其根據(jù)在所述密碼處理部中構(gòu)成的密碼處理基本單元的利用次數(shù)設(shè)定信息,進(jìn)行將所述密碼處理基本單元利用一次或者重復(fù)利用多次的密碼處理運(yùn)算的執(zhí)行控制。
并且,在本發(fā)明的密碼處理裝置的一實施方式中,其特征在于,所述F函數(shù)排列條件是以下排列條件在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了三個不同線性變換矩陣M0、M1、M2的三種F函數(shù)F0、F1、F2的結(jié)構(gòu)的情況下,在從開頭起依次選擇了奇數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2、在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2。
并且,在本發(fā)明的密碼處理裝置的一實施方式中,其特征在于,所述F函數(shù)排列條件是以下排列條件在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了兩個不同線性變換矩陣M0、M1的兩種F函數(shù)F0、F1的結(jié)構(gòu)的情況下,在從開頭循環(huán)起依次選擇了奇數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1、在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1。
并且,本發(fā)明的第2側(cè)面是一種密碼處理裝置制造裝置,其特征在于,具有 密碼處理基本單元生成部,其生成密碼處理基本單元,該密碼處理基本單元是執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理部,所述SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,所述密碼處理基本單元具備對合性,僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù),并且將多個不同F(xiàn)函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列;以及 循環(huán)數(shù)變更部,其應(yīng)用所述密碼處理基本單元,根據(jù)在密碼處理裝置中設(shè)定的密碼處理部的循環(huán)數(shù),執(zhí)行選擇并追加滿足所述F函數(shù)排列條件的F函數(shù)的處理。
并且,在本發(fā)明的密碼處理裝置制造裝置的一實施方式中,其特征在于,所述F函數(shù)排列條件是以下排列條件在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)的F函數(shù)是包含應(yīng)用了三個不同線性變換矩陣M0、M1、M2的三種F函數(shù)F0、F1、F2的結(jié)構(gòu)的情況下,在從開頭起依次選擇了奇數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2、在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2。
并且,在本發(fā)明的密碼處理裝置制造裝置的一實施方式中,其特征在于,所述F函數(shù)排列條件是以下排列條件在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)的F函數(shù)是包含應(yīng)用了兩個不同線性變換矩陣M0、M1的兩種F函數(shù)F0、F1的結(jié)構(gòu)的情況下,在從開頭循環(huán)起依次選擇了奇數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1、在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1的排列條件。
并且,在本發(fā)明的密碼處理裝置制造裝置的一實施方式中,其特征在于,所述循環(huán)數(shù)變更部是執(zhí)行如下處理的結(jié)構(gòu)在構(gòu)成所述密碼處理基本單元的開頭循環(huán)之前、以及最后循環(huán)之后,依次逐個選擇并追加滿足所述F函數(shù)排列條件的F函數(shù)。
并且,在本發(fā)明的密碼處理裝置制造裝置的一實施方式中,其特征在于,所述循環(huán)數(shù)變更部是以下結(jié)構(gòu)多單元地連接所述密碼處理基本單元來執(zhí)行F函數(shù)追加處理。
并且,本發(fā)明的第3側(cè)面是一種密碼處理方法,其特征在于,具有以下步驟 密碼處理步驟,該密碼處理步驟是執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理步驟,執(zhí)行利用了密碼處理基本單元的密碼處理,所述SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,所述密碼處理基本單元具備對合性,僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù),并且將多個不同F(xiàn)函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列;以及 控制步驟,根據(jù)在所述密碼處理部中構(gòu)成的密碼處理基本單元的利用次數(shù)設(shè)定信息,進(jìn)行將所述密碼處理基本單元利用一次或者重復(fù)利用多次的密碼處理運(yùn)算的執(zhí)行控制。
并且,在本發(fā)明的密碼處理方法的一實施方式中,其特征在于,所述F函數(shù)排列條件是以下排列條件在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了三個不同線性變換矩陣M0、M1、M2的三種F函數(shù)F0、F1、F2的結(jié)構(gòu)的情況下,在從開頭起依次選擇了奇數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2、在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2。
并且,在本發(fā)明的密碼處理方法的一實施方式中,其特征在于,所述F函數(shù)排列條件是以下排列條件在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了兩個不同線性變換矩陣M0、M1的兩種F函數(shù)F0、F1的結(jié)構(gòu)的情況下,在從開頭循環(huán)起依次選擇了奇數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1、在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1。
并且,本發(fā)明的第4側(cè)面是一種密碼處理裝置制造方法,其特征在于,具有 密碼處理基本單元生成步驟,生成密碼處理基本單元,該密碼處理基本單元是執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理部,所述SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,所述密碼處理基本單元基本對合性,僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù)、并且將多個不同F(xiàn)函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列;以及 循環(huán)數(shù)變更步驟,應(yīng)用所述密碼處理基本單元,根據(jù)在密碼處理裝置中設(shè)定的密碼處理部的循環(huán)數(shù),執(zhí)行選擇并追加滿足所述F函數(shù)排列條件的F函數(shù)的處理。
并且,在本發(fā)明的密碼處理裝置制造方法的一實施方式中,其特征在于,所述F函數(shù)排列條件是以下排列條件在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)的F函數(shù)是包含應(yīng)用了三個不同線性變換矩陣M0、M1、M2的三種F函數(shù)F0、F1、F2的結(jié)構(gòu)的情況下,在從開頭起依次選擇奇數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2、在從最終循環(huán)起選擇偶數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2。
并且,在本發(fā)明的密碼處理裝置制造方法的一實施方式中,其特征在于,所述F函數(shù)排列條件是以下排列條件在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了兩個不同線性變換矩陣M0、M1的兩種F函數(shù)F0、F1的結(jié)構(gòu)的情況下,在從開頭循環(huán)起依次選擇奇數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1、在從最終循環(huán)起選擇偶數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1。
并且,在本發(fā)明的密碼處理裝置制造方法的一實施方式中,其特征在于,所述循環(huán)數(shù)變更步驟執(zhí)行如下處理在構(gòu)成所述密碼處理基本單元的開頭循環(huán)之前、以及最后循環(huán)之后,依次逐個選擇并追加滿足所述F函數(shù)排列條件的F函數(shù)。
并且,在本發(fā)明的密碼處理裝置制造方法的一實施方式中,其特征在于,所述循環(huán)數(shù)變更步驟是以下步驟多單元地連接所述密碼處理基本單元來執(zhí)行F函數(shù)追加處理。
并且,本發(fā)明的第5側(cè)面是一種計算機(jī)程序,在密碼處理裝置中執(zhí)行密碼處理,其特征在于,具有 密碼處理步驟,是在密碼處理部中執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理步驟,執(zhí)行利用了密碼處理基本單元的密碼處理,所述SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,所述密碼處理基本單元具備對合性,僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù),并且將多個不同F(xiàn)函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列;以及 控制步驟,在控制部中根據(jù)在所述密碼處理部中構(gòu)成的密碼處理基本單元的利用次數(shù)設(shè)定信息,進(jìn)行將所述密碼處理基本單元利用一次或者重復(fù)利用多次的密碼處理運(yùn)算的執(zhí)行控制。
此外,本發(fā)明的計算機(jī)程序是例如可以對能夠執(zhí)行各種程序代碼的計算機(jī)系統(tǒng)通過以計算機(jī)可讀形式提供的存儲介質(zhì)、通信介質(zhì)、例如CD、FD、MO等記錄介質(zhì)、或者網(wǎng)絡(luò)等通信介質(zhì)提供的計算機(jī)程序。通過以計算機(jī)可讀形式提供這種程序,在計算機(jī)系統(tǒng)上實現(xiàn)與程序相應(yīng)的處理。
可通過基于后述的本發(fā)明實施例、附圖的更詳細(xì)的說明來明確本發(fā)明的其它目的、特征、優(yōu)點(diǎn)。此外,在本說明書中,系統(tǒng)是指多個裝置的邏輯集合結(jié)構(gòu),與各結(jié)構(gòu)的裝置是否在同一框體內(nèi)無關(guān)。
發(fā)明的效果 根據(jù)本發(fā)明的結(jié)構(gòu),在將具有非線性變換部以及線性變換部的SP型F函數(shù)重復(fù)循環(huán)多次執(zhí)行的Feistel型共用密鑰塊密碼處理中,作為密碼處理基本單元而構(gòu)成n循環(huán)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu),該n循環(huán)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)具有滿足預(yù)先設(shè)定的對合性、以及作為預(yù)先設(shè)定的F函數(shù)的排列條件的ODM-MR或者SDM-MR的矩陣排列,通過對該密碼處理基本單元追加在滿足F函數(shù)的排列條件的條件設(shè)定下所選擇的F函數(shù)的處理、或者連接多個密碼處理基本單元的處理,能夠構(gòu)筑使具有滿足對合性以及ODM-MR或者SDM-MR的排列的循環(huán)數(shù)增加的Feistel密碼結(jié)構(gòu)。



圖1是表示具有Feistel結(jié)構(gòu)的代表性的共用密鑰塊密碼結(jié)構(gòu)的圖。
圖2是說明作為循環(huán)函數(shù)部而設(shè)定的F函數(shù)的結(jié)構(gòu)的圖。
圖3是說明Feistel型密碼處理中的對合性的圖。
圖4是說明利用了兩個不同的線性變換矩陣的Feistel型密碼算法的圖。
圖5是說明利用了三個不同的線性變換矩陣的Feistel型密碼算法的圖。
圖6是說明具有三種F函數(shù)部的6循環(huán)結(jié)構(gòu)的Feistel型密碼算法的圖。
圖7是說明具有三種F函數(shù)部的8循環(huán)結(jié)構(gòu)的Feistel型密碼算法的圖。
圖8是說明對具有三種F函數(shù)部的Feistel型密碼處理基本單元進(jìn)行循環(huán)數(shù)追加處理的圖。
圖9是說明對具有三種F函數(shù)部的Feistel型密碼處理基本單元進(jìn)行循環(huán)數(shù)追加處理的圖。
圖10是說明利用多個具有三種F函數(shù)部的Feistel型密碼處理基本單元的循環(huán)數(shù)追加處理的圖。
圖11是說明利用多個具有兩種F函數(shù)部的Feistel型密碼處理基本單元的循環(huán)數(shù)追加處理的圖。
圖12是說明利用具有三種F函數(shù)部的Feistel型密碼處理基本單元的密碼處理裝置的控制處理的圖。
圖13是說明利用具有兩種F函數(shù)部的Feistel型密碼處理基本單元的密碼處理裝置的控制處理的圖。
圖14是表示作為執(zhí)行與本發(fā)明有關(guān)的密碼處理的密碼處理裝置的IC模塊的結(jié)構(gòu)例的圖。
圖15是表示與本發(fā)明有關(guān)的密碼處理裝置制造裝置的結(jié)構(gòu)例的圖。

具體實施例方式 下面詳細(xì)說明本發(fā)明的密碼處理裝置、密碼處理裝置制造裝置及方法、以及計算機(jī)程序。按照以下項目進(jìn)行說明。
1.具有SP型F函數(shù)的Feistel結(jié)構(gòu) 2.關(guān)于最優(yōu)擴(kuò)散變換以及準(zhǔn)最優(yōu)擴(kuò)散變換 3.關(guān)于對合性 4.具有利用多個不同的變換矩陣的SP型F函數(shù)的Feistel型密碼結(jié)構(gòu) 5.在具有利用多個不同的變換矩陣的SP型F函數(shù)的Feistel型密碼中使循環(huán)數(shù)容易變更的結(jié)構(gòu) 6.密碼處理裝置的結(jié)構(gòu)例 7.密碼處理裝置制造裝置的結(jié)構(gòu)例 [1.具有SP型F函數(shù)的Feistel結(jié)構(gòu)] 首先,說明具有SP型F函數(shù)的Feistel結(jié)構(gòu)。作為共用密鑰塊密碼的設(shè)計大多使用被稱作Feistel結(jié)構(gòu)的結(jié)構(gòu),該結(jié)構(gòu)是在明文數(shù)據(jù)的變換方法中將基本變換函數(shù)以某種特別順序進(jìn)行排列的結(jié)構(gòu)。Feistel結(jié)構(gòu)具有通過簡單重復(fù)被稱作循環(huán)函數(shù)的變換函數(shù)而將明文變換為密碼文的結(jié)構(gòu)。
參照圖1說明Feistel結(jié)構(gòu)。將作為加密對象而輸入的明文長度設(shè)為2mn比特。其中m、n都是整數(shù)。最初,將2mn比特的明文分割為mn比特的兩個輸入數(shù)據(jù)PL(Plain-Left)101、PR(Plain-Right)102,將其設(shè)為輸入值。
通過重復(fù)被稱作循環(huán)函數(shù)的基本結(jié)構(gòu)來表現(xiàn)Feistel結(jié)構(gòu),各循環(huán)函數(shù)中包含的數(shù)據(jù)變換函數(shù)被稱作F函數(shù)120。在圖1的結(jié)構(gòu)中表示將F函數(shù)(循環(huán)函數(shù))120重復(fù)r級而得到的結(jié)構(gòu)例。
例如在第1個循環(huán)中,mn比特的輸入數(shù)據(jù)X、和從密鑰生成部(未圖示)輸入的mn比特的循環(huán)密鑰K1103輸入到F函數(shù)120,在F函數(shù)120中的數(shù)據(jù)變換處理之后輸出mn比特的數(shù)據(jù)Y。輸出與來自另一方的前級的輸入數(shù)據(jù)(第1級的情況下是輸入數(shù)據(jù)PL)在異或部104中進(jìn)行異或運(yùn)算,將mn比特的運(yùn)算結(jié)果向下個循環(huán)函數(shù)輸出。該處理、即將F函數(shù)重復(fù)應(yīng)用所決定的循環(huán)數(shù)(r)來完成加密處理,輸出密碼文的分割數(shù)據(jù)CL(Cipher-Lefr)、CR(Cipher-Right)。可知通過以上結(jié)構(gòu),F(xiàn)eistel結(jié)構(gòu)的解密處理僅使插入循環(huán)密鑰的順序相反即可,而不需要構(gòu)成逆函數(shù)。
參照圖2說明作為各循環(huán)的函數(shù)而設(shè)定的F函數(shù)120的結(jié)構(gòu)。圖2(a)是表示對一個循環(huán)中的F函數(shù)120的輸入以及輸出的圖,圖2(b)是表示F函數(shù)120的詳細(xì)結(jié)構(gòu)的圖。如圖2(b)所示,F(xiàn)函數(shù)120具有連接了非線性變換層(S層)和線性變換層(P層)的所謂SP型結(jié)構(gòu)。
圖2所示的F函數(shù)120是具有輸入輸出長度設(shè)定為m×n(m、n整數(shù))比特的函數(shù)。在SP型F函數(shù)內(nèi)部中,首先執(zhí)行密鑰數(shù)據(jù)Ki和數(shù)據(jù)Xi之間的異或,接著應(yīng)用非線性變換層(S層),然后應(yīng)用線性變換層(P層)。
具體地說,非線性變換層(S層)排列了m個被稱作S盒(S-box)121的n比特輸入n比特輸出的非線性變換表而成,以每n比特對mn比特的數(shù)據(jù)進(jìn)行分割,分別輸入到對應(yīng)的S盒(S-box)121來變換數(shù)據(jù)。在各S盒中,例如執(zhí)行應(yīng)用了變換表的非線性變換處理。
線性變換層(P層)由線性變換部122構(gòu)成,線性變換部122輸入來自S盒121的輸出數(shù)據(jù)的mn比特的輸出值Z,對該輸入實施線性變換來輸出mn比特結(jié)果。線性變換部122執(zhí)行輸入比特位置的替換處理等線性變換處理,輸出mn比特的輸出值Y。該輸出值Y與來自前級的輸入數(shù)據(jù)進(jìn)行異或,作為下一循環(huán)的F函數(shù)的輸入值。
此外,在下面說明的本實施例的結(jié)構(gòu)中,在作為線性變換層(P層)的線性變換部122中執(zhí)行的線性變換被定義為應(yīng)用了在GF(2)上定義的mn×mn矩陣而進(jìn)行的線性變換,并且將第i循環(huán)中包含的矩陣稱作Mi。
[2.關(guān)于最優(yōu)擴(kuò)散變換以及準(zhǔn)最優(yōu)擴(kuò)散變換] 在具有上述SP型F函數(shù)的Feistel型密碼中,在F函數(shù)的線性變換層中執(zhí)行的線性變換中應(yīng)用的線性變換矩陣優(yōu)選為應(yīng)用滿足一定條件的矩陣使得密碼強(qiáng)度不下降。對該條件進(jìn)行說明。
作為線性變換的特殊例子,如下定義最優(yōu)擴(kuò)散變換(ODMOptimal Diffusion Mappings)。
對于從n×a比特數(shù)據(jù)向n×b比特數(shù)據(jù)進(jìn)行線性變換的映射, θ{0,1}na→{0,1}nb 如下定義分支數(shù)B(θ)。
B(θ)=minα≠0{hwn(α)+hwn(θ(α))} 其中,minα≠0{Xα}設(shè)為表示滿足α≠0的所有Xα中的最小值的Xα,hwn(Y)設(shè)為在以每n比特對比特列Y進(jìn)行劃分表示時、返回n比特數(shù)據(jù)全部都不是0(非零)的元素數(shù)量的函數(shù)。
此時,將分支數(shù)B(θ)是b+1的映射θ定義為最優(yōu)擴(kuò)散變換(ODMOptimal Diffusion Mappings)。另外為了方便,還將矩陣M的分支數(shù)表示為B(M)。
并且,將分支數(shù)B(θ)不足b+1的映射θ定義為準(zhǔn)最優(yōu)擴(kuò)散變換(SDMSub Optimal Diffusion Mappings)。
在具有上述SP型F函數(shù)的Feistel型密碼中,在決定在F函數(shù)的線性變換層中執(zhí)行的線性變換中應(yīng)用的線性變換矩陣的情況下,優(yōu)選為研究是否設(shè)定為執(zhí)行上述最優(yōu)擴(kuò)散變換(ODM)即分支數(shù)B(θ)是b+1的映射θ、以及準(zhǔn)最優(yōu)擴(kuò)散變換(SDM)即分支數(shù)B(θ)不足b+1的映射θ,來決定矩陣。在后面說明具體的矩陣決定處理。
[3.關(guān)于對合性] 如下這樣定義執(zhí)行具有上述SP型F函數(shù)的Feistel型密碼的加密函數(shù)E。
E(PL‖PR,K1,K2,…,Kr) 上述加密函數(shù)E中所示的PL、PR表示作為密碼處理對象而輸入的明文,‖表示連接,K1,K2,…,Kr表示在各循環(huán)中使用的循環(huán)密鑰。
在以這種函數(shù)E所示的密碼處理中,能夠如下地表示其解密函數(shù)D。
D(CL‖CR,K1,K2,…,Kr)=E(CL‖CR,Kr,…,K2,K1) 上述解密函數(shù)D中所示的CL、CR表示作為解密處理對象而輸入的密碼文,‖表示連接,Kr,…,K2,K1表示在各循環(huán)中使用的循環(huán)密鑰。
這樣,在Feistel結(jié)構(gòu)共用密鑰塊密碼中,通常具有僅使所使用的循環(huán)密鑰的使用順序相反就能夠以相同的電路實現(xiàn)加密函數(shù)和解密函數(shù)的特征。即不在密碼處理和解密處理中單獨(dú)設(shè)定電路,而是應(yīng)用相同的電路,僅將其處理順序設(shè)定為相反就能夠執(zhí)行密碼處理和解密處理兩者。將Feistel結(jié)構(gòu)共用密鑰塊密碼所具有的該性質(zhì)定義為對合性。
參照

Feistel結(jié)構(gòu)共用密鑰塊密碼所具有對合性。將圖1所示的Feistel結(jié)構(gòu)設(shè)為在加密處理中應(yīng)用的Feistel結(jié)構(gòu)。在這種情況下執(zhí)行加密函數(shù)E。即執(zhí)行 E(PL‖PR,K1,K2,…,Kr) PL、PR如圖1所示表示作為密碼處理對象而輸入的明文,K1,K2,…,Kr如圖1所示表示在各循環(huán)中使用的循環(huán)密鑰。
另一方面,用于解密作為圖1所示的Feistel結(jié)構(gòu)的加密處理結(jié)果的密碼文CL、CR的Feistel結(jié)構(gòu)變成圖3所示的結(jié)構(gòu)。圖3所示的Feistel結(jié)構(gòu)執(zhí)行解密函數(shù)D,即執(zhí)行 D(CL‖CR,K1,K2,…,Kr) =E(CL‖CR,Kr,…,K2,K1) CL、CR如圖3所示是作為解密處理對象而輸入的密碼文,Kr,…,K2,K1如圖3所示表示在各循環(huán)中使用的循環(huán)密鑰。
這樣,在Feistel結(jié)構(gòu)共用密鑰塊密碼中,不在密碼處理和解密處理中單獨(dú)設(shè)定電路,而是應(yīng)用相同的電路,僅將其處理順序設(shè)定為相反就能夠執(zhí)行密碼處理和解密處理兩者。將這一性質(zhì)定義為對合性。
[4.具有利用多個不同的變換矩陣的SP型F函數(shù)的Feistel型密碼結(jié)構(gòu)] 在具有SP型F函數(shù)的Feistel型密碼中,當(dāng)將在各循環(huán)中應(yīng)用的線性變換矩陣設(shè)定為不同矩陣時,能夠提高對例如差分解析等攻擊的抵抗力。即能夠提高密碼強(qiáng)度。此外,關(guān)于通過將在各循環(huán)中應(yīng)用的線性變換矩陣設(shè)定為不同矩陣來提高具有SP型F函數(shù)的Feistel型密碼的密碼強(qiáng)度的詳細(xì)結(jié)構(gòu),在與本發(fā)明相同申請人在先申請的專利申請?zhí)卦?005-313842中進(jìn)行了說明。
在現(xiàn)有的Feistel型密碼中,在全部循環(huán)(級)的F函數(shù)中使用相同的線性變換層,因此存在在差分傳播時同時取消多個差分的性質(zhì)。作為密碼解析方法的代表性方法,已知有通過多次解析具有某種差分的輸入數(shù)據(jù)(明文)及其輸出數(shù)據(jù)(密碼文)來解析各循環(huán)函數(shù)中的應(yīng)用密鑰的差分解析(或者差分解讀法),在現(xiàn)有的DES密碼算法等共用密鑰塊密碼中,將在F函數(shù)的線性變換部中應(yīng)用的處理(變換矩陣)設(shè)定為在各級的循環(huán)中相同,因此容易進(jìn)行差分解析,其結(jié)果導(dǎo)致密鑰的解析容易。
通過將在各循環(huán)的F函數(shù)中應(yīng)用的線性變換矩陣設(shè)為按照特定序列的不同矩陣,能夠排除差分在傳播時同時取消多個差分的性質(zhì),能夠提高對差分解析等攻擊的抵抗力。
參照圖4、圖5說明具體的例子。圖4的例子是利用兩個不同的矩陣M0、M1作為用于在具有多級(循環(huán))的Feistel型共用密鑰塊密碼處理結(jié)構(gòu)中的各級F函數(shù)中的線性變換部中應(yīng)用的線性變換處理的矩陣的例子。
具體地說,如圖4所示, (a)在奇數(shù)級中以M0、M1的順序排列 (b)從偶數(shù)級的最終級起以M0、M1的順序排列 設(shè)為應(yīng)用兩個不同的矩陣M0、M1使得滿足上述(a)、(b)的條件的結(jié)構(gòu)。此外,M0、M1的順序也可以相反。即,相同矩陣在連續(xù)奇數(shù)級中不連續(xù),相同矩陣當(dāng)從最終級起看偶數(shù)級時也在連續(xù)偶數(shù)級中不連續(xù),這成為提高對差分解析等攻擊的抵抗力的條件。
條件(a)是(a)在奇數(shù)級中以M0、M1的順序排列的條件,如圖4所示,將矩陣M0、M1按照循環(huán)1、3、5、...的順序順序排列。條件(b)是(b)從偶數(shù)級的最終級起以M0、M1的順序排列的條件,如圖4所示,將矩陣M0、M1按照循環(huán)12、10、8、...的順序排列。在此,各矩陣M0、M1是在各循環(huán)中的F函數(shù)中被執(zhí)行的兩個不同的線性變換矩陣。
圖4所示的例子是利用了兩個不同的線性變換矩陣的例子,在該結(jié)構(gòu)中也能夠提高對差分攻擊的抵抗力,但是還可以是利用了三個不同矩陣M0、M1、M2的結(jié)構(gòu)。圖5是利用三個不同的矩陣M0、M1、M2作為用于在具有多級(循環(huán))的Feistel型共用密鑰塊密碼處理結(jié)構(gòu)中的各級F函數(shù)中的線性變換部中應(yīng)用的線性變換處理的矩陣的例子。
如圖5所示, (a)在奇數(shù)級中以M0、M1、M2的順序排列 (b)從偶數(shù)級的最終級起以M0、M1、M2的順序排列 設(shè)為應(yīng)用三個不同矩陣M0、M1、M2來滿足上述(a)、(b)的條件的結(jié)構(gòu)。此外,M0、M1、M2的順序也可以不同。即,在奇數(shù)級的三個連續(xù)部分中必須包含M0、M1、M2這三個不同的矩陣,當(dāng)從最終級起觀察偶數(shù)級時,在三個連續(xù)部分中必須包含M0、M1、M2這三個不同的矩陣,這成為提高對差分解析等攻擊的抵抗力的條件。
條件(a)是(a)在奇數(shù)級中以M0、M1、M2的順序排列的條件,如圖5所示,按照循環(huán)1、3、5、...的順序?qū)⒕仃嘙0、M1、M2順序排列。條件(b)是(b)從偶數(shù)級的最終級起以M0、M1、M2的順序排列的條件,如圖5所示,按照循環(huán)12、10、8、...的順序?qū)⒕仃嘙0、M1、M2順序排列。在此,各矩陣M0、M1、M2是在各循環(huán)中的F函數(shù)中被執(zhí)行的線性變換矩陣。
如參照圖4、圖5所說明的那樣,通過設(shè)為以特定順序排列不同的矩陣來執(zhí)行F函數(shù)的結(jié)構(gòu),實現(xiàn)了提高對差分解析等攻擊的抵抗力的、具有更高安全性的Feistel型密碼。此外,關(guān)于其結(jié)構(gòu)以及處理的詳細(xì)內(nèi)容,在與本發(fā)明是相同申請人的在先專利申請?zhí)卦?005-313842中進(jìn)行說明。
并且,為了保持一定的密碼強(qiáng)度,希望參照圖4、圖5所說明的在設(shè)定多個不同線性變換矩陣的Feistel型密碼中應(yīng)用的線性變換矩陣?yán)镁哂刑囟ㄐ再|(zhì)的矩陣。評價、設(shè)定該線性變換矩陣時,可以使用最優(yōu)擴(kuò)散變換、準(zhǔn)最優(yōu)擴(kuò)散變換的評價基準(zhǔn)。
說明最優(yōu)擴(kuò)散變換、準(zhǔn)最優(yōu)擴(kuò)散變換的定義。在將參照圖5說明的三個不同矩陣設(shè)為M0、M1、M2的情況下,當(dāng){M0‖M1‖M2}、{tM0-1‖tM1-1}、{tM0-1‖tM2-1}、{tM1-1‖tM2-1}四個矩陣全部是最優(yōu)擴(kuò)散變換(Optimal Diffusion Mappings)時,將M0、M1、M2定義為具有ODM-MR(Optimal Diffusion Mappingsacross Multiple Rounds多級最優(yōu)擴(kuò)散變換)結(jié)構(gòu)的矩陣。其中,‖表示連接,tM表示M的轉(zhuǎn)置矩陣,M-1表示M的逆矩陣。
另外,在將參照圖5說明的三個不同的矩陣設(shè)為M0、M1、M2的情況下,當(dāng){M0‖M1‖M2}、{tM0-1‖tM1-1}、{tM0-1‖tM2-1}、{tM1-1‖tM2-1}的四個矩陣中任何一個是準(zhǔn)最優(yōu)擴(kuò)散變換(SubOptimal Diffusion Mappings)時,將M0、M1、M2定義為具有SDM-MR(SubO ptimal Diffusion Mappings across MultipleRounds多級準(zhǔn)最優(yōu)擴(kuò)散變換)結(jié)構(gòu)的矩陣。
此外,在將三個不同的矩陣設(shè)為M0、M1、M2的情況下,為了滿足ODM-MR、或者SDM-MR,將三個不同矩陣M0、M1、M2的排列順序按先前參照圖5說明的排列順序排列,即 (a)在奇數(shù)級中以M0、M1、M2的順序排列 (b)從偶數(shù)級的最終級起以M0、M1、M2的順序排列 條件是排列三個不同矩陣M0、M1、M2以滿足上述(a)、(b)的條件。此外,如先前所說明的那樣,M0、M1、M2的順序也可以不同。即,在奇數(shù)級的三個連續(xù)部分中必須包含M0、M1、M2這三個不同的矩陣,當(dāng)從最終級起看偶數(shù)級時在三個連續(xù)部分中也必須包含M0、M1、M2這三個不同的矩陣,這是成為滿足ODM-MR、或者SDM-MR的矩陣排列、能夠提高對差分解析等攻擊的抵抗力的條件。
另外,在將兩個不同的矩陣設(shè)為M0、M1的情況下,為了滿足ODM-MR、或者SDM-MR,將兩個不同的矩陣M0、M1的排列順序按先前參照圖4說明的排列順序排列,即 (a)在奇數(shù)級中以M0、M1的順序排列 (b)從偶數(shù)級的最終級起以M0、M1的順序排列 條件是排列兩個不同的矩陣M0、M1以滿足上述(a)、(b)的條件。此外,如先前所說明,M0、M1的順序也可以相反。即,在連續(xù)奇數(shù)級中相同的矩陣不連續(xù),從最終級起看偶數(shù)級時,在連續(xù)偶數(shù)級中相同的矩陣也不連續(xù),這是成為滿足ODM-MR、或者SDM-MR的矩陣排列、能夠提高對差分解析等攻擊的抵抗力的條件。
如上所述,在利用多個不同矩陣的Feistel型密碼結(jié)構(gòu)中,通過將在各循環(huán)中應(yīng)用的線性變換矩陣的設(shè)定設(shè)為ODM-MR結(jié)構(gòu)、或者SDM-MR結(jié)構(gòu),能夠?qū)崿F(xiàn)安全性高的密碼處理。
[5.在具有利用多個不同的變換矩陣的SP型F函數(shù)的Feistel型密碼中使循環(huán)數(shù)的變更容易的結(jié)構(gòu)] 下面說明在具有利用多個不同的變換矩陣的SP型F函數(shù)的Feistel型密碼中使循環(huán)數(shù)的變更容易的結(jié)構(gòu)。
在共用密鑰塊密碼中,其處理循環(huán)數(shù)(級數(shù))在速度、安全性之間進(jìn)行折中,因此希望能夠靈活地進(jìn)行增減。通常存在如下關(guān)系如果循環(huán)數(shù)(級數(shù))增加則安全性變高,但是速度下降,如果級數(shù)減少則安全性變低,但是速度上升。因而,希望設(shè)為如下結(jié)構(gòu)在設(shè)為處理速度優(yōu)先的情況、或者設(shè)為安全性優(yōu)先的情況等下,能夠根據(jù)其用途靈活地變更處理循環(huán)數(shù)。
另外,也存在根據(jù)在應(yīng)用了Feistel型密碼的密碼處理中應(yīng)用的密鑰大小而變更處理循環(huán)數(shù)的要求。例如,在變更在密碼處理中應(yīng)用的密鑰大小的情況下,為了確保足夠的安全性,最好是結(jié)合密鑰的大小來適當(dāng)變更處理循環(huán)數(shù)。例如,在執(zhí)行AES密碼算法的情況下,有如下要求應(yīng)用的密鑰大小是128比特時是10級,密鑰大小是192比特時是12級,密鑰大小是256比特時是14級,與密鑰大小一起變更處理循環(huán)數(shù),從而設(shè)定能夠有效利用密鑰大小的密鑰結(jié)構(gòu)比特數(shù)據(jù)的循環(huán)數(shù)。
在構(gòu)筑具有將具有上述ODM-MR結(jié)構(gòu)、SDM-MR結(jié)構(gòu)的矩陣應(yīng)用在線性變換中的SP型F函數(shù)的Feistel結(jié)構(gòu)共用密鑰塊密碼的情況下,也希望維持所述的對合性,但是在排列包含不同線性變換矩陣的不同的F函數(shù)時,必須在先前參照圖4、圖5說明的制約下進(jìn)行排列。
此外,在下面的說明中,將使用線性變換矩陣M0的F函數(shù)記為F0,使用線性變換矩陣M1的F函數(shù)記為F1,使用線性變換矩陣M2的F函數(shù)記為F2。
在利用了利用三個不同矩陣M0、M1、M2的F函數(shù)F0、F1、F2的情況下,如先前參照圖5所說明那樣, (a)在從上方起選擇奇數(shù)循環(huán)的情況下,以F0,F(xiàn)1,F(xiàn)2,F(xiàn)0,F(xiàn)1,…的順序排列 (b)在從下方起選擇偶數(shù)循環(huán)的情況下,以F0,F(xiàn)1,F(xiàn)2,F(xiàn)0,F(xiàn)1,…的順序排列 需要設(shè)為排列應(yīng)用三個不同矩陣M0、M1、M2的F函數(shù)F0、F1、F2以滿足上述(a)、(b)的條件的結(jié)構(gòu)。此外,如先前所說明那樣,F(xiàn)0、F1、F2的順序也可以不同。即在奇數(shù)級的三個連續(xù)部分中必須包含利用了三個不同的矩陣M0、M1、M2的F函數(shù)F0、F1、F2,從最終級看偶數(shù)級時在三個連續(xù)部分中也必須包含應(yīng)用了M0、M1、M2三個不同的矩陣的三個不同的F函數(shù)F0、F1、F2,這是成為滿足ODM-MR、或者SDM-MR的矩陣排列、能夠提高對差分解析等攻擊的抵抗力的條件。
同樣,在利用了利用兩個不同矩陣M0、M1的F函數(shù)F0、F1的情況下,如先前參照圖4所說明那樣, (a)在從上方起選擇奇數(shù)循環(huán)的情況下,以F0,F(xiàn)1,F(xiàn)0,F(xiàn)1,F(xiàn)0,…的順序排列 (b)在從下方起選擇偶數(shù)循環(huán)的情況下,以F0,F(xiàn)1,F(xiàn)0,F(xiàn)1,F(xiàn)0,…的順序排列 需要設(shè)為排列應(yīng)用兩個不同矩陣M0、M1的F函數(shù)F0、F1以滿足上述(a)、(b)的條件的結(jié)構(gòu)。此外,如先前所說明那樣,F(xiàn)0、F1的順序也可以相反。即,連續(xù)包含不同的兩個F函數(shù)F0、F1使得在連續(xù)奇數(shù)級中相同矩陣不連續(xù),連續(xù)包含不同的兩個F函數(shù)F0、F1使得從最終級起看偶數(shù)級時、在連續(xù)偶數(shù)級中相同矩陣不連續(xù),這是成為滿足ODM-MR、或者SDM-MR的矩陣排列、能夠提高對差分解析等攻擊的抵抗力的條件。
并且,在應(yīng)用了利用不同的多個矩陣的F函數(shù)的Feistel型密碼中,為了維持對合性、即如先前所說明那樣僅使所使用的循環(huán)密鑰的使用順序相反就能夠以相同的電路進(jìn)行加密函數(shù)和解密函數(shù)的對合性,需要使Feistel型密碼的各循環(huán)的F函數(shù)從上方起的排列順序和從下方起的排列順序相同。
這樣,在Feistel型密碼中,為了維持對差分解析等密碼攻擊的抵抗力需要維持對合性的條件,并且,需要在設(shè)為應(yīng)用利用了多個不同的線性變換矩陣的不同F(xiàn)函數(shù)的Feistel型密碼結(jié)構(gòu)的情況下、其排列也設(shè)為滿足如上所述的ODM-MR、或者SDM-MR的矩陣排列的條件。
在應(yīng)用利用了多個不同線性變換矩陣的不同F(xiàn)函數(shù)的Feistel型密碼結(jié)構(gòu)中需要滿足這種條件,在設(shè)計密碼處理結(jié)構(gòu)的情況下,預(yù)先決定循環(huán)數(shù),根據(jù)決定的固定循環(huán)數(shù)決定具有多個不同的線性變換矩陣的不同F(xiàn)函數(shù)的排列。其結(jié)果是在固定了的循環(huán)數(shù)中能夠進(jìn)行滿足對合性、以及滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的設(shè)計,但是存在不能容易地變更這些循環(huán)數(shù)的問題。
例如,在假設(shè)使用三個不同矩陣的ODM-MR結(jié)構(gòu)Feistel密碼作為6循環(huán)(6級)結(jié)構(gòu)的情況下,所排列的F函數(shù)的順序需要設(shè)為如圖6所示的設(shè)定。即,如圖6所示, 從上方起設(shè)為[F0→F2→F1→F1→F2→F0]的設(shè)定。另外,在8級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼的情況下,所排列的F函數(shù)的順序需要設(shè)為如圖7所示的設(shè)定。即,如圖7所示,從上方起設(shè)為[F0→F0→F1→F2→F2→F1→F0→F0]的設(shè)定。
這樣,能夠與各循環(huán)數(shù)對應(yīng)地分別地進(jìn)行滿足對合性、和ODM-MR、或者SDM-MR的矩陣排列這兩個條件的設(shè)計,但是將6級結(jié)構(gòu)變更為8級結(jié)構(gòu)并不容易。即如圖6、圖7所示,6級結(jié)構(gòu)、8級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼F函數(shù)的順序大為不同,因此能夠重新利用的地方非常少。例如假設(shè)安裝了如圖6所示的6級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼的硬件已制造完成。在此,在存在想使用如圖7所示的8級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼的請求的情況下,存在如下問題幾乎無法利用圖6所示的6級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼的硬件,需要重新制作圖7所示的8級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼的硬件?;蛘咝枰M(jìn)行作為處理程序的軟件變更的處理。
下面說明減輕這種處理負(fù)擔(dān)的結(jié)構(gòu)例。即,說明能夠在具有ODM-MR結(jié)構(gòu)或者SDM-MR結(jié)構(gòu)的Feistel密碼處理結(jié)構(gòu)中有效執(zhí)行處理循環(huán)數(shù)的增加、減少等循環(huán)數(shù)變更的結(jié)構(gòu)。
(處理例1)在Feistel密碼處理基本單元中追加F函數(shù)的處理例 首先,說明通過對預(yù)先設(shè)定的Feistel密碼處理基本單元、即具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的結(jié)構(gòu)的Feistel密碼處理基本單元追加F函數(shù)來增加循環(huán)數(shù)的處理結(jié)構(gòu)。
作為一例,將具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的結(jié)構(gòu)的6級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼設(shè)為基本的密碼處理基本單元。在此,設(shè)為由具有三個不同線性變換矩陣的不同的F函數(shù)F0、F1、F2構(gòu)成的Feistel密碼處理基本單元。如先前參照圖6所說明那樣,該基本密碼處理基本單元的F函數(shù)排列成為從上方起[F0→F2→F1→F1→F2→F0],具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的結(jié)構(gòu)。
說明將該6級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼變更為8循環(huán)(級)結(jié)構(gòu)的處理。在將6級變更為8級的情況下,如圖8所示,在具有[F0→F2→F1→F1→F2→F0]的排列的6級結(jié)構(gòu)的密碼處理基本單元201的上下分別追加[F0]的F函數(shù)。
通過該F函數(shù)[F0]的追加,如圖8所示,F(xiàn)eistel密碼結(jié)構(gòu)變更為8循環(huán)(級)結(jié)構(gòu),F(xiàn)函數(shù)的排列順序變成從上方起[F0→F0→F2→F1→F1→F2→F0→F0]的設(shè)定。
在該8級結(jié)構(gòu)的情況下,F(xiàn)函數(shù)的排列順序在從上方起選擇奇數(shù)級的情況下,成為 [F0→F2→F1→F0], 在從下方起選擇偶數(shù)級的情況下,成為 [F0→F2→F1→F0]。
該8級結(jié)構(gòu)的Feistel密碼結(jié)構(gòu),各循環(huán)的F函數(shù)從上方起的排列順序和從下方起的排列順序相同,因而滿足對合性。并且,在奇數(shù)級的三個連續(xù)部分中必然包含利用了三個不同的矩陣M0、M1、M2的F函數(shù)F0、F1、F2,當(dāng)從最終級起看偶數(shù)級時,在三個連續(xù)部分中也必然包含應(yīng)用了M0、M1、M2三個不同的矩陣的三個不同的F函數(shù)F0、F1、F2,因此成為滿足ODM-MR、或者SDM-MR的矩陣排列。
這種情況下的F函數(shù)的選擇條件是選擇成為如下設(shè)定的F函數(shù) 在奇數(shù)級的三個連續(xù)部分中必須包含利用了三個不同的矩陣M0、M1、M2的F函數(shù)F0、F1、F2,且從最終級起看偶數(shù)級時,在三個連續(xù)部分中也必須包含應(yīng)用了M0、M1、M2三個不同的矩陣的三個不同的F函數(shù)F0、F1、F2。
當(dāng)根據(jù)該選擇條件選擇進(jìn)行追加的F函數(shù)時,在從圖8所示的從6級向8級的循環(huán)數(shù)追加處理中,進(jìn)行追加的F函數(shù)成為F函數(shù)[F0],能夠?qū)?級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼變更為具有對合性、以及滿足ODM-MR、或者SDM-MR的矩陣排列的8循環(huán)(級)結(jié)構(gòu)的Feistel密碼。
并且,參照圖9說明將該圖8所示的具有對合性以及滿足ODM-MR、或者SDM-MR的矩陣排列的8循環(huán)(級)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)變更為10級的情況的處理例。在將8級變更為10級的情況下,如圖9所示,在具有[F0→F0→F2→F1→F1→F2→F0→F0]的排列的8級結(jié)構(gòu)的密碼處理基本單元202的上下分別追加[F2]的F函數(shù)。
通過該F函數(shù)[F2]的追加,如圖9所示,F(xiàn)eistel密碼結(jié)構(gòu)變更為10循環(huán)(級)結(jié)構(gòu),F(xiàn)函數(shù)的排列順序成為從上方起[F2→F0→F0→F2→F1→F1→F2→F0→F0→F2]的設(shè)定。
在該10級結(jié)構(gòu)的情況下,F(xiàn)函數(shù)的排列順序在從上方起選擇奇數(shù)級的情況下,成為 [F2→F0→F1→F2→F0], 在從下方起選擇偶數(shù)級的情況下,成為 [F2→F0→F1→F2→F0]。
該10級結(jié)構(gòu)的Feistel密碼結(jié)構(gòu),各循環(huán)的F函數(shù)從上方起的排列順序和從下方起的排列順序相同,因而滿足對合性。并且,在奇數(shù)級的三個連續(xù)部分中必然包含利用了三個不同的矩陣M0、M1、M2的F函數(shù)F0、F1、F2,從最終級起看偶數(shù)級時在三個連續(xù)部分中也必然包含應(yīng)用了M0、M1、M2三個不同的矩陣的三個不同的F函數(shù)F0、F1、F2,因此成為滿足ODM-MR、或者SDM-MR的矩陣排列。
這種情況的F函數(shù)的選擇條件也與從6級向8級的變更相同,是選擇成為如下設(shè)定的F函數(shù) 在奇數(shù)級的三個連續(xù)部分中必須包含利用了三個不同的矩陣M0、M1、M2的F函數(shù)F0、F1、F2,且從最終級起看偶數(shù)級時在三個連續(xù)部分中也必須包含應(yīng)用了M0、M1、M2三個不同的矩陣的三個不同的F函數(shù)F0、F1、F2。
當(dāng)根據(jù)該選擇條件選擇進(jìn)行追加的F函數(shù)時,在圖9所示的從8級向10級的循環(huán)數(shù)追加處理中,進(jìn)行追加的F函數(shù)變成F函數(shù)[F2],能夠?qū)?級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼變更為具有對合性、以及滿足ODM-MR、或者SDM-MR的矩陣排列的10循環(huán)(級)結(jié)構(gòu)的Feistel密碼。
這樣,在使預(yù)先設(shè)定的具有對合性、以及滿足ODM-MR、或者SDM-MR的矩陣排列的n循環(huán)(級)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)成為n+2循環(huán)(級)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)的情況下,通過選擇成為如下設(shè)定的F函數(shù)并追加到上下方,能夠構(gòu)筑具有對合性、以及滿足ODM-MR、或者SDM-MR的矩陣排列的n+2循環(huán)(級)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)。所述F函數(shù)的設(shè)定為在奇數(shù)級的三個連續(xù)部分中必須包含利用了三個不同的矩陣M0、M1、M2的F函數(shù)F0、F1、F2,且從最終級看偶數(shù)級時在三個連續(xù)部分中也必須包含應(yīng)用了M0、M1、M2三個不同的矩陣的三個不同的F函數(shù)F0、F1、F2。
滿足這種條件來進(jìn)行F函數(shù)的追加處理,即對于預(yù)先設(shè)定的具有對合性、以及滿足ODM-MR、或者SDM-MR的矩陣排列的n循環(huán)(級)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)單元,在最上級和最下級分別附加適當(dāng)?shù)腇函數(shù)的處理,由此附加的函數(shù)以外的部分能夠直接重新利用變更以前的函數(shù),能夠高效地進(jìn)行每次兩級的級數(shù)的增減。
通過以上的處理,能夠維持ODM-MR或者SDM-MR結(jié)構(gòu)Feistel密碼的對合性并高效地每次兩級地增減其處理循環(huán)數(shù)。另外,即使依次從上下逐一去除在上下追加設(shè)定的F函數(shù),也能夠剩下具有對合性、滿足ODM-MR、或者SDM-MR的矩陣排列的n循環(huán)(級)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)單元,不僅能夠?qū)?yīng)循環(huán)的增加,也能夠?qū)?yīng)到當(dāng)初密碼處理基本單元水平為止的循環(huán)數(shù)削減。
此外,在上述處理例中,說明了包含具有三個不同線性變換矩陣的三個F函數(shù)F0、F1、F2的結(jié)構(gòu)例,但是在包含具有兩個不同線性變換矩陣的兩個F函數(shù)F0、F1的結(jié)構(gòu)中,通過相同的處理,也能夠?qū)崿F(xiàn)循環(huán)數(shù)的增加。
對于包含具有兩個不同線性變換矩陣的兩個F函數(shù)F0、F1的Fesitel密碼結(jié)構(gòu),進(jìn)行循環(huán)數(shù)增加的情況下的條件如下。在使預(yù)先設(shè)定的具有對合性、以及滿足ODM-MR、或者SDM-MR的矩陣排列的n循環(huán)(級)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)變?yōu)閚+2循環(huán)(級)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)的情況下,通過選擇如下設(shè)定的F函數(shù)并追加到上下方,能夠構(gòu)筑具有對合性、以及滿足ODM-MR、或者SDM-MR的矩陣排列的n+2循環(huán)(級)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)。所述F函數(shù)的設(shè)定為在奇數(shù)級的兩個連續(xù)部分中必須包含利用了兩個不同的矩陣M0、M1的F函數(shù)F0、F1,且從最終級起看偶數(shù)級時在兩個連續(xù)部分中也必須包含應(yīng)用了M0、M1兩個不同的矩陣的兩個不同的F函數(shù)F0、F1。
(處理例2)利用多個Feistel密碼處理基本單元的處理例 在上述處理例中,說明了在基本的Feistel密碼處理基本單元的上下方分別逐一追加F函數(shù)來構(gòu)筑增加2循環(huán)的Feistel密碼處理結(jié)構(gòu)的例子。接著,說明通過組合多個基本的Feistel密碼處理基本單元來進(jìn)行循環(huán)數(shù)變更的處理例。
參照圖10說明通過組合多個基本的Feistel密碼處理基本單元來進(jìn)行循環(huán)數(shù)變更的處理例。圖10所示的Feistel密碼處理基本單元231、232分別是具有如下結(jié)構(gòu)的6級結(jié)構(gòu)的Feistel密碼處理基本單元F函數(shù)的排列從上起為[F0→F2→F1→F1→F2→F0],具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件。
圖10所示的結(jié)構(gòu)是使用該兩個6級Feistel密碼處理基本單元231、232來設(shè)定12級結(jié)構(gòu)的Feistel密碼處理結(jié)構(gòu)的結(jié)構(gòu)。圖10所示的12級結(jié)構(gòu)的Feistel密碼結(jié)構(gòu),F(xiàn)函數(shù)排列從上方起變成[F0→F2→F1→F1→F2→F0→F0→F2→F1→F1→F2→F0]。
在該12級結(jié)構(gòu)的情況下,F(xiàn)函數(shù)的排列順序在從上方起選擇奇數(shù)級的情況下,成為 [F0→F1→F2→F0→F1→F2], 在從下方起選擇偶數(shù)級的情況下,成為 [F0→F1→F2→F0→F1→F2]。
該12級結(jié)構(gòu)的Feistel密碼結(jié)構(gòu),各循環(huán)的F函數(shù)從上方起的排列順序和從下方起的排列順序相同,因而滿足對合性。并且,在奇數(shù)級的三個連續(xù)部分中必然包含利用了三個不同的矩陣M0、M1、M2的F函數(shù)F0、F1、F2,從最終級起看偶數(shù)級時在三個連續(xù)部分中也必然包含應(yīng)用了M0、M1、M2三個不同的矩陣的三個不同的F函數(shù)F0、F1、F2,因此成為滿足ODM-MR、或者SDM-MR的矩陣排列。
圖10中表示了連接兩個6級單元來生成12級結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)的例子,但是通過進(jìn)一步連接三個、四個…多個6級單元,能夠同樣地構(gòu)成18級、24級的Feistel密碼結(jié)構(gòu)、即是ODM-MR結(jié)構(gòu)且保持了對合性的Feistel密碼結(jié)構(gòu)。
這樣,通過組合多個(k)具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的結(jié)構(gòu)的n級Feistel密碼處理基本單元,能夠構(gòu)筑k×n級的滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的Feistel密碼處理結(jié)構(gòu)。
說明將使用兩個不同矩陣M0、M1的ODM-MR或者SDM-MR結(jié)構(gòu)Feistel密碼處理結(jié)構(gòu)作為密碼處理基本單元,同樣地通過將其組合多個來進(jìn)行循環(huán)數(shù)變更的處理例。圖11所示的Feistel密碼處理基本單元251、252、253分別是具有如下結(jié)構(gòu)的4級結(jié)構(gòu)的Feistel密碼處理基本單元F函數(shù)的排列從上方起成為[F0→F1→F1→F0],具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件。
圖11所示的結(jié)構(gòu)是使用該三個4級Feistel密碼處理基本單元251、252、253來設(shè)定12級結(jié)構(gòu)的Feistel密碼處理結(jié)構(gòu)的結(jié)構(gòu)。圖11所示的12級結(jié)構(gòu)的Feistel密碼結(jié)構(gòu),F(xiàn)函數(shù)的排列從上方起成為[F0→F1→F1→F0→F0→F1→F1→F0→F0→F1→F1→F0]。
在該12級結(jié)構(gòu)的情況下,F(xiàn)函數(shù)的排列順序在從上方起選擇奇數(shù)級的情況下,成為 [F0→F1→F0→F1→F0→F1], 在從下方起選擇偶數(shù)級的情況下,成為 [F0→F1→F0→F1→F0→F1]。
該12級結(jié)構(gòu)的Feistel密碼結(jié)構(gòu),各循環(huán)的F函數(shù)從上方起的排列順序和從下方起的排列順序相同,因而滿足對合性。并且,在奇數(shù)級的兩個連續(xù)部分中必然包含利用了兩個不同的矩陣M0、M1、M2的F函數(shù)F0、F1,從最終級看偶數(shù)級時在兩個連續(xù)部分中也必然包含應(yīng)用了M0、M1兩個不同的矩陣的兩個不同的F函數(shù)F0、F1,因此成為滿足ODM-MR、或者SDM-MR的矩陣排列。
圖11中表示了連接三個4級單元來生成12級結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)的例子,但是通過進(jìn)一步連接四個、五個…多個4級單元,能夠同樣地構(gòu)成16級、20級的Feistel密碼結(jié)構(gòu)、即是ODM-MR結(jié)構(gòu)且保持了對合性的Feistel密碼結(jié)構(gòu)。
這樣,通過組合多個(k)具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的結(jié)構(gòu)的n級Feistel密碼處理基本單元,能夠構(gòu)筑k×n級的滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的Feistel密碼處理結(jié)構(gòu)。
例如,在IC卡等執(zhí)行密碼處理的信息處理裝置中的安裝處理中,設(shè)為如下結(jié)構(gòu)在硬件中僅安裝一個例如參照圖10說明的6級結(jié)構(gòu)的ODM-MR結(jié)構(gòu)Feistel密碼處理基本單元,設(shè)定可選擇使用次數(shù)的處理程序,根據(jù)用途執(zhí)行變更使用次數(shù)的處理程序,由此能夠執(zhí)行根據(jù)各種數(shù)據(jù)處理而選擇的循環(huán)數(shù)的密碼處理,能夠以低成本實現(xiàn)可進(jìn)行處理循環(huán)數(shù)增減的裝置。
參照圖12來說明具體的例子。圖12中表示執(zhí)行密碼處理的6級結(jié)構(gòu)的Feistel密碼處理基本單元270、和開關(guān)271~274。此外,開關(guān)271~274可以是作為硬件進(jìn)行設(shè)定的結(jié)構(gòu),也可以是在軟件上進(jìn)行與開關(guān)執(zhí)行相同的處理的控制的結(jié)構(gòu)。
圖12所示的6級結(jié)構(gòu)的Feistel密碼處理基本單元270與先前參照圖6、圖10說明相同,是如下6級結(jié)構(gòu)的Feistel密碼處理基本單元,其F函數(shù)的排列從上方起為[F0→F2→F1→F1→F2→F0],具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的結(jié)構(gòu)。
通過未圖示的控制部的控制來控制開關(guān)271~274。輸入初始數(shù)據(jù)時,開關(guān)271、272設(shè)定在[a]側(cè),例如輸入明文數(shù)據(jù)PL、PR,在6級結(jié)構(gòu)的Feistel密碼處理基本單元270中執(zhí)行6循環(huán)的Feistel密碼處理。在開關(guān)273、274被設(shè)定在[c]側(cè)的情況下輸出處理結(jié)果。
在執(zhí)行6循環(huán)Feistel密碼處理的情況下,開關(guān)273、274被設(shè)定在[c]側(cè),輸出結(jié)果。例如在執(zhí)行12循環(huán)的密碼處理的設(shè)定的情況下,通過控制部的控制,開關(guān)273、274被設(shè)定在[d]側(cè),開關(guān)271、272被設(shè)定在[b]側(cè)。其結(jié)果是在6級結(jié)構(gòu)的Feistel密碼處理基本單元270中執(zhí)行的6循環(huán)的處理結(jié)果被再次輸入到6級結(jié)構(gòu)的Feistel密碼處理基本單元270的最上級,并且執(zhí)行+6循環(huán)的F函數(shù)的密碼處理。
在密碼處理是12循環(huán)的處理設(shè)定的情況下,之后開關(guān)273、274被設(shè)定在[c]側(cè),進(jìn)行輸出。在進(jìn)一步執(zhí)行18、24…循環(huán)的F函數(shù)處理的情況下,開關(guān)273、274被設(shè)定在[d]側(cè),在預(yù)定的處理循環(huán)結(jié)束后,開關(guān)273、274被設(shè)定在[c]側(cè),進(jìn)行輸出。由此,將一個基本的密碼處理基本單元、即具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的結(jié)構(gòu)的n級結(jié)構(gòu)的Feistel密碼處理基本單元構(gòu)成在IC卡等密碼處理裝置內(nèi),通過設(shè)為能夠由CPU等控制部執(zhí)行的程序來選擇利用該單元的處理的重復(fù)次數(shù)的結(jié)構(gòu),能夠執(zhí)行與各個數(shù)據(jù)處理相應(yīng)的最優(yōu)循環(huán)數(shù)的密碼處理運(yùn)算。
圖13表示利用了兩種矩陣的結(jié)構(gòu)例。表示有4級結(jié)構(gòu)的Feistel密碼處理基本單元280、以及開關(guān)281~284。圖13所示的4級結(jié)構(gòu)的Feistel密碼處理基本單元280與先前參照圖11說明的相同,是如下4級結(jié)構(gòu)的Feistel密碼處理基本單元,其F函數(shù)的排列從上方起成為[F0→F1→F1→F0],具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的結(jié)構(gòu)。
通過未圖示的控制部的控制來控制開關(guān)281~284。輸入初始數(shù)據(jù)時,開關(guān)281、282被設(shè)定在[a]側(cè),例如輸入明文數(shù)據(jù)PL、PR,在4級結(jié)構(gòu)的Feistel密碼處理基本單元280中執(zhí)行4循環(huán)的Feistel密碼處理。在開關(guān)283、284被設(shè)定在[c]側(cè)的情況下輸出處理結(jié)果。
在執(zhí)行4循環(huán)Feistel密碼處理的情況下,開關(guān)283、284被設(shè)定在[c]側(cè),輸出結(jié)果。例如在執(zhí)行8循環(huán)密碼處理的設(shè)定的情況下,通過控制部的控制,開關(guān)283、284被設(shè)定在[d]側(cè),開關(guān)281、282被設(shè)定在[b]側(cè)。其結(jié)果是在4級結(jié)構(gòu)的Feistel密碼處理基本單元280中執(zhí)行的4循環(huán)的處理結(jié)果被再次輸入到4級結(jié)構(gòu)的Feistel密碼處理基本單元280的最上級,并且執(zhí)行+4循環(huán)的F函數(shù)的密碼處理。
在密碼處理是8循環(huán)的處理設(shè)定的情況下,之后開關(guān)283、284被設(shè)定在[c]側(cè),進(jìn)行輸出。在進(jìn)一步執(zhí)行12、16…循環(huán)的F函數(shù)處理的情況下,開關(guān)283、284被設(shè)定在[d]側(cè),在預(yù)定的處理循環(huán)結(jié)束后,開關(guān)283、28被4設(shè)定在[c]側(cè),進(jìn)行輸出。由此,將一個基本的密碼處理基本單元、即具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的結(jié)構(gòu)的n級結(jié)構(gòu)的Feistel密碼處理基本單元構(gòu)成在IC卡等密碼處理裝置內(nèi),通過設(shè)為能夠由CPU等控制部執(zhí)行的程序來選擇利用該單元的處理的重復(fù)次數(shù)的結(jié)構(gòu),能夠執(zhí)行與各個數(shù)據(jù)處理相應(yīng)的最優(yōu)循環(huán)數(shù)的密碼處理運(yùn)算。
[6.密碼處理裝置的結(jié)構(gòu)例] 下面,參照圖14說明作為執(zhí)行密碼處理的密碼處理裝置的IC模塊300的結(jié)構(gòu)例。密碼處理能夠在例如PC、IC卡、讀寫器、其它各種信息處理裝置中執(zhí)行,圖14所示的IC模塊300表示密碼處理裝置的一例。
圖14所示的CPU(Central processing Unit中央處理單元)301是執(zhí)行密碼處理的開始、結(jié)束、數(shù)據(jù)發(fā)送接收控制、各結(jié)構(gòu)部之間數(shù)據(jù)傳輸控制、其它各種程序的處理器。存儲器302由保存CPU301執(zhí)行的程序、或者運(yùn)算參數(shù)等固定數(shù)據(jù)的ROM(Read-Only-Memory只讀存儲器)、作為在CPU301的處理中執(zhí)行的程序、以及在程序處理中適當(dāng)變化的參數(shù)的保存區(qū)域、工作區(qū)域而使用的RAM(Random Access Memory隨機(jī)存取存儲器)等構(gòu)成。另外,存儲器302可以用作密碼處理所需的密鑰數(shù)據(jù)、在密碼處理中應(yīng)用的變換表(置換表)、變換矩陣中應(yīng)用的數(shù)據(jù)等的保存區(qū)域。此外,希望數(shù)據(jù)保存區(qū)域構(gòu)成為具有防篡改結(jié)構(gòu)的存儲器。
密碼處理部303例如執(zhí)行按照上述Feistel型共用密鑰塊密碼處理算法的密碼處理、解密處理。此外,在此表示了將密碼處理單元設(shè)為單獨(dú)模塊的例子,但是也可以不設(shè)置這種獨(dú)立的密碼處理模塊的結(jié)構(gòu),例如將密碼處理程序保存在ROM中,CPU301讀出ROM保存程序來執(zhí)行。
隨機(jī)數(shù)產(chǎn)生器304執(zhí)行在生成密碼處理所需密鑰等中所需的隨機(jī)數(shù)的產(chǎn)生處理。
發(fā)送接收部305是執(zhí)行與外部的數(shù)據(jù)通信的數(shù)據(jù)通信處理部,例如執(zhí)行讀寫器等與IC模塊之間的數(shù)據(jù)通信,執(zhí)行在IC模塊內(nèi)生成的密碼文的輸出、或者來自外部讀寫器等設(shè)備的數(shù)據(jù)輸入等。
在該IC模塊300中,密碼處理部303例如設(shè)為圖12、圖13所示的密碼處理基本單元、即具有滿足對合性和滿足ODM-MR、或者SDM-MR的矩陣排列這兩個條件的結(jié)構(gòu)的n級結(jié)構(gòu)的Feistel密碼處理基本單元,能夠根據(jù)作為控制部的CPU301所執(zhí)行的程序來決定處理循環(huán)數(shù),執(zhí)行決定的循環(huán)數(shù)的Feistel密碼處理。
[7.密碼處理裝置制造裝置的結(jié)構(gòu)例] 下面參照圖15說明制造例如上述密碼處理裝置的制造裝置的結(jié)構(gòu)例。如圖15所示,制造密碼處理裝置的制造裝置具有密碼處理基本單元生成部501、以及循環(huán)數(shù)變更部502。
密碼處理基本單元生成部501生成密碼處理基本單元,該密碼處理基本單元是先前參照圖1、圖2所說明的執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理部,該SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,密碼處理基本單元具備僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù)的對合性、且將多個不同F(xiàn)函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列。密碼處理基本單元是例如參照圖12、圖13說明的密碼處理基本單元。
循環(huán)數(shù)變更部502應(yīng)用密碼處理基本單元,根據(jù)在密碼處理裝置中設(shè)定的密碼處理部的循環(huán)數(shù),執(zhí)行選擇并追加滿足所述F函數(shù)排列條件的F函數(shù)的處理,從而制造密碼處理裝置510。
循環(huán)數(shù)變更部502例如參照圖8、圖9所說明那樣,在構(gòu)成密碼處理基本單元的開頭循環(huán)之前、以及最后循環(huán)之后,執(zhí)行依次逐一地選擇并追加滿足所述F函數(shù)排列條件的F函數(shù)的處理。或者如參照圖10、圖11所說明那樣,多單元地連接密碼處理基本單元來執(zhí)行F函數(shù)追加處理。
此外,上述F函數(shù)排列條件是如下排列條件在執(zhí)行Feistel型共用密鑰塊密碼處理的密碼處理部中包含的各循環(huán)的F函數(shù)是包含應(yīng)用了三個不同的線性變換矩陣M0、M1、M2的三種F函數(shù)F0、F1、F2的結(jié)構(gòu)的情況下,在從開頭起依次選擇奇數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2、在從最終循環(huán)起選擇偶數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2。
另外,F(xiàn)函數(shù)排列條件是如下排列條件在執(zhí)行Feistel型共用密鑰塊密碼處理的密碼處理部中包含的各循環(huán)的F函數(shù)是包含應(yīng)用了兩個不同的線性變換矩陣M0、M1的兩種F函數(shù)F0、F1的結(jié)構(gòu)的情況下,在從開頭循環(huán)起依次選擇奇數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1、在從最終循環(huán)起選擇偶數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1。
以上,參照特定的實施例詳細(xì)說明了本發(fā)明。然而,本領(lǐng)域技術(shù)人員能夠在不超出本發(fā)明精神的范圍內(nèi)進(jìn)行該實施例的修正、代用是不言而喻的。即,以例示的方式公開了本發(fā)明,不應(yīng)解釋為用其限定了本發(fā)明。為了判斷本發(fā)明的精神,應(yīng)參酌權(quán)利要求書一欄。
此外,在說明書中說明的一系列處理能夠由硬件、或者軟件、或者兩者的復(fù)合結(jié)構(gòu)來執(zhí)行。在執(zhí)行軟件的處理的情況下,能夠?qū)⒂涗浟颂幚硇蛄械某绦虬惭b到組裝到專用硬件中的計算機(jī)內(nèi)的存儲器來執(zhí)行、或者在能夠執(zhí)行各種處理的通用計算機(jī)上安裝程序來執(zhí)行。
例如,程序能夠預(yù)先記錄在作為記錄介質(zhì)的硬盤、ROM(Read Only Memory只讀存儲器)中?;蛘叱绦蚰軌蛟谲洷P、CD-ROM(Compact Disc Read Only Memory小型只讀光盤)、MO(Magneto optical光磁)盤、DVD(Digital Versatile Disc數(shù)字通用光盤)、磁盤、半導(dǎo)體存儲器等可移動記錄介質(zhì)上臨時或者永久保存(記錄)。能夠作為所謂封裝軟件來提供這種可移動記錄介質(zhì)。
此外,程序除了可以從如上述的可移動記錄介質(zhì)安裝在計算機(jī)中之外,還可以從下載站點(diǎn)無線傳輸?shù)接嬎銠C(jī)、或通過LAN(Local Area Network局域網(wǎng))、因特網(wǎng)等網(wǎng)絡(luò)有線傳輸?shù)接嬎銠C(jī)中,在計算機(jī)中能夠接收這樣傳輸過來的程序,并安裝在內(nèi)置的硬盤等記錄介質(zhì)中。
此外,在說明書中記載的各種處理不僅可以按照記載以時間序列執(zhí)行,還可以根據(jù)執(zhí)行處理的裝置的處理能力或者需要而并行或者單獨(dú)執(zhí)行。另外,在本說明書中,系統(tǒng)是指多個裝置的邏輯集合結(jié)構(gòu),與各結(jié)構(gòu)的裝置是否在同一框體內(nèi)無關(guān)。
工業(yè)實用性 如上所述,根據(jù)本發(fā)明的結(jié)構(gòu),在將具有非線性變換部以及線性變換部的SP型F函數(shù)重復(fù)循環(huán)多次執(zhí)行的Feistel型共用密鑰塊密碼處理結(jié)構(gòu)中,將具有滿足預(yù)先設(shè)定的對合性、以及滿足作為預(yù)先設(shè)定的F函數(shù)排列條件的ODM-MR或者SDM-MR的矩陣排列的n循環(huán)結(jié)構(gòu)的Feistel密碼結(jié)構(gòu)構(gòu)成為密碼處理基本單元,能夠通過對該密碼處理單元追加在滿足F函數(shù)排列條件的條件設(shè)定下選擇的F函數(shù)的處理、或者連接多個密碼處理基本單元,來構(gòu)筑增加具有對合性、以及滿足ODM-MR或者SDM-MR的排列的循環(huán)數(shù)的Feistel密碼結(jié)構(gòu)。
權(quán)利要求
1.一種密碼處理裝置,其特征在于,具有
密碼處理部,該密碼處理部是執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理部,所述SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,所述密碼處理部具有密碼處理基本單元,該密碼處理基本單元具備對合性,僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù),并且將多個不同的F函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列;以及
控制部,其根據(jù)在所述密碼處理部中構(gòu)成的密碼處理基本單元的利用次數(shù)設(shè)定信息,進(jìn)行將所述密碼處理基本單元利用一次或者重復(fù)利用多次的密碼處理運(yùn)算的執(zhí)行控制。
2.根據(jù)權(quán)利要求1所述的密碼處理裝置,其特征在于,
所述F函數(shù)排列條件是以下排列條件
在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了三個不同的線性變換矩陣M0、M1、M2的三種F函數(shù)F0、F1、F2的結(jié)構(gòu)的情況下,
在從開頭起依次選擇了奇數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2,在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2。
3.根據(jù)權(quán)利要求1所述的密碼處理裝置,其特征在于,
所述F函數(shù)排列條件是以下排列條件
在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了兩個不同的線性變換矩陣M0、M1的兩種F函數(shù)F0、F1的結(jié)構(gòu)的情況下,
在從開頭循環(huán)起依次選擇了奇數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1,在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1。
4.一種密碼處理裝置制造裝置,其特征在于,具有
密碼處理基本單元生成部,其生成密碼處理基本單元,該密碼處理基本單元是執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理部,所述SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,所述密碼處理基本單元具備對合性,僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù),并且將多個不同F(xiàn)函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列;以及
循環(huán)數(shù)變更部,其應(yīng)用所述密碼處理基本單元,根據(jù)在密碼處理裝置中設(shè)定的密碼處理部的循環(huán)數(shù),執(zhí)行選擇并追加滿足所述F函數(shù)排列條件的F函數(shù)的處理。
5.根據(jù)權(quán)利要求4所述的密碼處理裝置制造裝置,其特征在于,
所述F函數(shù)排列條件是以下排列條件
在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了三個不同線性變換矩陣M0、M1、M2的三種F函數(shù)F0、F1、F2的結(jié)構(gòu)的情況下,
在從開頭起依次選擇了奇數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2,在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2。
6.根據(jù)權(quán)利要求4所述的密碼處理裝置制造裝置,其特征在于,
所述F函數(shù)排列條件是以下排列條件
在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了兩個不同線性變換矩陣M0、M1的兩種F函數(shù)F0、F1的結(jié)構(gòu)的情況下,
在從開頭循環(huán)起依次選擇了奇數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1,在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1。
7.根據(jù)權(quán)利要求4所述的密碼處理裝置制造裝置,其特征在于,
所述循環(huán)數(shù)變更部是執(zhí)行如下處理的結(jié)構(gòu)在構(gòu)成所述密碼處理基本單元的開頭循環(huán)之前、以及最后循環(huán)之后,依次逐個選擇并追加滿足所述F函數(shù)排列條件的F函數(shù)。
8.根據(jù)權(quán)利要求4所述的密碼處理裝置制造裝置,其特征在于,
所述循環(huán)數(shù)變更部是以下結(jié)構(gòu)多單元地連接所述密碼處理基本單元來執(zhí)行F函數(shù)追加處理。
9.一種密碼處理方法,其特征在于,具有以下步驟
密碼處理步驟,該密碼處理步驟是執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理步驟,執(zhí)行利用了密碼處理基本單元的密碼處理,所述SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,所述密碼處理基本單元具備對合性,僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù),并且將多個不同F(xiàn)函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列;以及
控制步驟,根據(jù)在所述密碼處理部中構(gòu)成的密碼處理基本單元的利用次數(shù)設(shè)定信息,進(jìn)行將所述密碼處理基本單元利用一次或者重復(fù)利用多次的密碼處理運(yùn)算的執(zhí)行控制。
10.根據(jù)權(quán)利要求9所述的密碼處理方法,其特征在于,
所述F函數(shù)排列條件是以下排列條件
在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了三個不同線性變換矩陣M0、M1、M2的三種F函數(shù)F0、F1、F2的結(jié)構(gòu)的情況下,
在從開頭起依次選擇了奇數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2,在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2。
11.根據(jù)權(quán)利要求9所述的密碼處理方法,其特征在于,
所述F函數(shù)排列條件是以下排列條件
在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了兩個不同線性變換矩陣M0、M1的兩種F函數(shù)F0、F1的結(jié)構(gòu)的情況下,
在從開頭循環(huán)起依次選擇了奇數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1,在從最終循環(huán)起選擇了偶數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1。
12.一種密碼處理裝置制造方法,其特征在于,具有以下步驟
密碼處理基本單元生成步驟,生成密碼處理基本單元,該密碼處理基本單元是執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理部,所述SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,所述密碼處理基本單元具備對合性,僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù),并且將多個不同F(xiàn)函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列;以及
循環(huán)數(shù)變更步驟,應(yīng)用所述密碼處理基本單元,根據(jù)在密碼處理裝置中設(shè)定的密碼處理部的循環(huán)數(shù),執(zhí)行選擇并追加滿足所述F函數(shù)排列條件的F函數(shù)的處理。
13.根據(jù)權(quán)利要求12所述的密碼處理裝置制造方法,其特征在于,
所述F函數(shù)排列條件是以下排列條件
在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了三個不同線性變換矩陣M0、M1、M2的三種F函數(shù)F0、F1、F2的結(jié)構(gòu)的情況下,
在從開頭起依次選擇奇數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2,在從最終循環(huán)起選擇偶數(shù)循環(huán)的情況下在三個連續(xù)部分中包含三種F函數(shù)F0、F1、F2。
14.根據(jù)權(quán)利要求12所述的密碼處理裝置制造方法,其特征在于,
所述F函數(shù)排列條件是以下排列條件
在執(zhí)行所述Feistel型共用密鑰塊密碼處理的密碼處理部中所包含的各循環(huán)F函數(shù)是包含應(yīng)用了兩個不同線性變換矩陣M0、M1的兩種F函數(shù)F0、F1的結(jié)構(gòu)的情況下,
在從開頭循環(huán)起依次選擇奇數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1,在從最終循環(huán)起選擇偶數(shù)循環(huán)的情況下在兩個連續(xù)部分中包含兩種F函數(shù)F0、F1。
15.根據(jù)權(quán)利要求12所述的密碼處理裝置制造方法,其特征在于,
所述循環(huán)數(shù)變更步驟執(zhí)行如下處理在構(gòu)成所述密碼處理基本單元的開頭循環(huán)之前、以及最后循環(huán)之后,依次逐個選擇并追加滿足所述F函數(shù)排列條件的F函數(shù)。
16.根據(jù)權(quán)利要求12所述的密碼處理裝置制造方法,其特征在于,
所述循環(huán)數(shù)變更步驟是以下步驟多單元地連接所述密碼處理基本單元來執(zhí)行F函數(shù)追加處理。
17.一種計算機(jī)程序,在密碼處理裝置中執(zhí)行密碼處理,其特征在于,具有
密碼處理步驟,是在密碼處理部中執(zhí)行將SP型F函數(shù)重復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理的密碼處理步驟,執(zhí)行利用了密碼處理基本單元的密碼處理,所述SP型F函數(shù)執(zhí)行包括非線性變換處理以及線性變換處理的數(shù)據(jù)變換處理,所述密碼處理基本單元具備對合性,僅通過使所使用的循環(huán)密鑰的使用順序相反就能夠以相同電路實現(xiàn)加密函數(shù)和解密函數(shù),并且將多個不同F(xiàn)函數(shù)設(shè)為滿足預(yù)先設(shè)定的F函數(shù)排列條件的排列;以及
控制步驟,在控制部中根據(jù)在所述密碼處理部中構(gòu)成的密碼處理基本單元的利用次數(shù)設(shè)定信息,進(jìn)行將所述密碼處理基本單元利用一次或者重復(fù)利用多次的密碼處理運(yùn)算的執(zhí)行控制。
全文摘要
實現(xiàn)一種能夠維持對合性、安全性、且容易進(jìn)行循環(huán)數(shù)變更的Feistel型共用密鑰塊密碼處理結(jié)構(gòu)。在具有包括非線性變換部以及線性變換部的SP型F函數(shù)的Feistel型密碼處理結(jié)構(gòu)中,構(gòu)成具有對合性、以及滿足作為預(yù)先設(shè)定的F函數(shù)排列條件的ODM-MR或者SDM-MR的矩陣排列的n循環(huán)的基本單元,通過對該單元選擇并追加滿足F函數(shù)排列條件的F函數(shù)、或者連接多個基本單元來構(gòu)筑增加具有對合性、以及滿足ODM-MR或者SDM-MR的排列的循環(huán)數(shù)的Feistel密碼結(jié)構(gòu)。
文檔編號H04L9/06GK101375323SQ20078000338
公開日2009年2月25日 申請日期2007年1月4日 優(yōu)先權(quán)日2006年1月24日
發(fā)明者澀谷香士, 白井太三 申請人:索尼株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
乐昌市| 怀安县| 玉龙| 昂仁县| 三江| 哈尔滨市| 榆中县| 子长县| 尼玛县| 清镇市| 定结县| 织金县| 蒙城县| 南阳市| 大埔县| 奉贤区| 大厂| 奇台县| 灵山县| 吉首市| 大丰市| 泰州市| 仙桃市| 彰化市| 乌拉特后旗| 广安市| 富民县| 哈密市| 淮阳县| 兴安县| 望江县| 交城县| 周宁县| 新邵县| 武夷山市| 淅川县| 拜城县| 武穴市| 广宗县| 榕江县| 宝山区|