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

密碼處理裝置、密碼處理算法構(gòu)建方法和密碼處理方法、以及計(jì)算機(jī)程序的制作方法

文檔序號(hào):2411106閱讀:309來(lái)源:國(guó)知局
專利名稱:密碼處理裝置、密碼處理算法構(gòu)建方法和密碼處理方法、以及計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種密碼處理裝置、密碼處理算法構(gòu)建方法和密碼處理方法、以及計(jì)算機(jī)程序。更詳細(xì)地說(shuō),涉及一種執(zhí)行Feistel型共用密鑰塊密碼處理的密碼處理裝置、密碼處理算法構(gòu)建方法和密碼處理方法、以及計(jì)算機(jī)程序。

背景技術(shù)
最近,隨著網(wǎng)絡(luò)通信、電子商務(wù)的發(fā)展,確保通信中的安全成為重要的問(wèn)題。確保安全的方法之一是密碼技術(shù),現(xiàn)在實(shí)際進(jìn)行著使用了各種加密方法的通信。
例如實(shí)際應(yīng)用有如下的系統(tǒng)在IC卡等小型裝置中嵌入密碼處理模塊,在IC卡與作為數(shù)據(jù)讀取寫入裝置的讀寫器之間進(jìn)行數(shù)據(jù)的發(fā)送接收,進(jìn)行認(rèn)證處理或者發(fā)送接收數(shù)據(jù)的加密、解密。
在密碼處理算法中存在各種算法,大致分類為公開密鑰密碼方式和共用密鑰密碼方式,其中,上述公開密鑰密碼方式將加密密鑰和解密密鑰設(shè)定為不同的密鑰、例如公開密鑰和私人密鑰,上述共用密鑰密碼方式將加密密鑰和解密密鑰設(shè)定為共用的密鑰。
在共用密鑰密碼方式中也存在各種算法,其中之一是如下的方式以共用密鑰為基礎(chǔ)生成多個(gè)密鑰,使用所生成的多個(gè)密鑰來(lái)反復(fù)執(zhí)行塊單位(64比特、128比特等)的數(shù)據(jù)變換處理。應(yīng)用了這種密鑰生成方式和數(shù)據(jù)變換處理的算法的代表方式是共用密鑰塊密碼方式。
作為代表的共用密鑰塊密碼的算法,例如存在作為美國(guó)標(biāo)準(zhǔn)密碼的DES(Data Encryption Standard數(shù)據(jù)加密標(biāo)準(zhǔn))算法,在各種領(lǐng)域中廣泛使用。
以DES為代表的共用密鑰塊密碼的算法主要可分為循環(huán)函數(shù)部和密鑰調(diào)度部,其中,上述循環(huán)函數(shù)部執(zhí)行輸入數(shù)據(jù)的變換,上述密鑰調(diào)度部生成在循環(huán)函數(shù)(F函數(shù))部的各循環(huán)中應(yīng)用的密鑰。根據(jù)一個(gè)主密鑰(Master key),將其輸入到密鑰調(diào)度部來(lái)生成在循環(huán)函數(shù)部的各循環(huán)中應(yīng)用的,在各循環(huán)函數(shù)部中應(yīng)用該循環(huán)密鑰(副密鑰)。
作為執(zhí)行應(yīng)用了這種循環(huán)函數(shù)的算法的具體結(jié)構(gòu),已知有Feistel結(jié)構(gòu)。Feistel結(jié)構(gòu)具有如下結(jié)構(gòu)通過(guò)簡(jiǎn)單的反復(fù)被稱為循環(huán)函數(shù)的變換函數(shù),將明文變換為密文。作為記載有應(yīng)用了Feistel結(jié)構(gòu)的密碼處理的文獻(xiàn),例如存在非專利文獻(xiàn)1、非專利文獻(xiàn)2。
但是,例如在應(yīng)用Feistel結(jié)構(gòu)的共用密鑰密碼處理中,由密碼分析引起的密鑰的泄漏成為問(wèn)題。作為密碼分析或者攻擊方法的代表方法,已知有差分分析(也稱為差分解讀法或者差分攻擊)、線性分析(也稱為線性解讀法或者線性攻擊),其中,上述差分分析通過(guò)多次分析具有某個(gè)差分的輸入數(shù)據(jù)(明文)及其輸出數(shù)據(jù)(密文)來(lái)分析各循環(huán)函數(shù)中的應(yīng)用密鑰,上述線性分析根據(jù)明文和對(duì)應(yīng)的密文進(jìn)行分析。
利用密碼分析容易分析密鑰是指其密碼處理的安全性較低。在現(xiàn)有的密碼算法中,在循環(huán)函數(shù)(F函數(shù))部的線性變換部中應(yīng)用的處理(變換矩陣)在各級(jí)的循環(huán)中相同,因此容易進(jìn)行分析,其結(jié)果導(dǎo)致容易分析密鑰。
作為應(yīng)對(duì)這種問(wèn)題的結(jié)構(gòu),提出在Feistel結(jié)構(gòu)的循環(huán)函數(shù)(F函數(shù))部的線性變換部中配置兩個(gè)以上不同的矩陣的結(jié)構(gòu)。該技術(shù)被稱為擴(kuò)散矩陣切換機(jī)構(gòu)(DSMDiffusion SwitchingMechanism,下面為DSM)。通過(guò)該DSM能夠提高對(duì)差分攻擊、線性攻擊的抵抗性。
該擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)被表示為對(duì)于通常的具有兩個(gè)數(shù)據(jù)序列的Feistel結(jié)構(gòu)的應(yīng)用結(jié)構(gòu)。另一方面,與這種一般的具有兩個(gè)數(shù)據(jù)序列的Feistel結(jié)構(gòu)不同,存在具有三個(gè)以上數(shù)據(jù)序列的擴(kuò)展型Feistel結(jié)構(gòu)。但是,并沒(méi)有公開在這種具有三個(gè)以上數(shù)據(jù)序列的擴(kuò)展型Feistel結(jié)構(gòu)中應(yīng)用上述擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)來(lái)提高對(duì)差分攻擊、線性攻擊的抵抗性的結(jié)構(gòu)。
非專利文獻(xiàn)1K.Nyberg,“Generalized Feistel networks”,ASIACRYPT’96,Springer Verlag,1996,pp.91~104. 非專利文獻(xiàn)2Yuliang Zheng,Tsutomu Matsumoto,HidekiImaiOn the Construction of Block Ciphers Provably Secure andNot Relying on Any Unproved Hypotheses.CRYPTO 1989461-480

發(fā)明內(nèi)容
發(fā)明要解決的問(wèn)題 本發(fā)明是鑒于上述問(wèn)題點(diǎn)而完成的,其目的在于提供一種實(shí)現(xiàn)對(duì)線性分析、差分分析的抵抗性較高的共用密鑰塊密碼算法的密碼處理裝置、密碼處理算法構(gòu)建方法和密碼處理方法、以及計(jì)算機(jī)程序。
更具體地說(shuō),本發(fā)明的目的在于提供如下的密碼處理裝置、密碼處理算法構(gòu)建方法和密碼處理方法、以及計(jì)算機(jī)程序在擴(kuò)展具有兩個(gè)數(shù)據(jù)序列的Feistel結(jié)構(gòu)得到的Feistel結(jié)構(gòu)、即例如具有三個(gè)、四個(gè)等兩個(gè)以上的任意數(shù)據(jù)序列的擴(kuò)展型Feistel結(jié)構(gòu)中,設(shè)定應(yīng)用了多個(gè)不同的線性變換矩陣的循環(huán)函數(shù)部,實(shí)現(xiàn)對(duì)線性分析、差分分析的抵抗性較高的共用密鑰塊密碼算法。
用于解決問(wèn)題的方案 本發(fā)明的第一側(cè)面在于,一種密碼處理裝置,其特征在于,具有密碼處理部,該密碼處理部執(zhí)行將SP型F函數(shù)反復(fù)多次循環(huán)的Feistel型共用密鑰塊密碼處理,其中,上述SP型F函數(shù)執(zhí)行包括非線性變換處理和線性變換處理的數(shù)據(jù)變換處理,上述密碼處理部是執(zhí)行應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的結(jié)構(gòu),具有在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中選擇性地應(yīng)用至少兩個(gè)以上的多個(gè)不同的矩陣的結(jié)構(gòu),上述兩個(gè)以上的多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中,具有在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中反復(fù)配置上述多個(gè)不同的矩陣的結(jié)構(gòu)。
并且,在本發(fā)明的密碼處理裝置的一個(gè)實(shí)施方式中,其特征在于,在上述密碼處理部中利用的上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[BkD(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[BkD]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的k個(gè)(其中,k為2以上的整數(shù))F函數(shù)中。
并且,在本發(fā)明的密碼處理裝置的一個(gè)實(shí)施方式中,其特征在于,在上述密碼處理部中利用的上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[B2D(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[B2D]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的兩個(gè)F函數(shù)中。
并且,在本發(fā)明的密碼處理裝置的一個(gè)實(shí)施方式中,其特征在于,在上述密碼處理部中利用的上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[B2L(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[B2L]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的兩個(gè)F函數(shù)中。
并且,在本發(fā)明的密碼處理裝置的一個(gè)實(shí)施方式中,其特征在于,上述密碼處理部具有如下結(jié)構(gòu)在將上述多個(gè)不同的矩陣設(shè)為n個(gè)(其中,n為2以上的整數(shù))不同的矩陣M0、M1、··Mn-1時(shí),在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中依次反復(fù)配置這些不同的矩陣M0、M1、··Mn-1。
并且,在本發(fā)明的密碼處理裝置的一個(gè)實(shí)施方式中,其特征在于,上述密碼處理部是執(zhí)行應(yīng)用了在一個(gè)循環(huán)中僅執(zhí)行一個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的結(jié)構(gòu)。
并且,在本發(fā)明的密碼處理裝置的一個(gè)實(shí)施方式中,其特征在于,上述密碼處理部是執(zhí)行應(yīng)用了在一個(gè)循環(huán)中并行地執(zhí)行多個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的結(jié)構(gòu)。
并且,在本發(fā)明的密碼處理裝置的一個(gè)實(shí)施方式中,其特征在于,上述密碼處理部是如下結(jié)構(gòu)在設(shè)為a≥2的任意的整數(shù)、x≥1的任意的整數(shù)時(shí),執(zhí)行應(yīng)用了數(shù)據(jù)序列數(shù)d=2ax的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理,所述擴(kuò)展Feistel結(jié)構(gòu)利用了由上述多個(gè)不同的矩陣執(zhí)行不同的線性變換處理的a種F函數(shù),在一個(gè)循環(huán)中均等地執(zhí)行所有種類(a種類)的F函數(shù)各x個(gè)。
并且,在本發(fā)明的密碼處理裝置的一個(gè)實(shí)施方式中,其特征在于,上述密碼處理部具備F函數(shù)執(zhí)行部,其執(zhí)行在一個(gè)循環(huán)中并行地執(zhí)行的ax個(gè)F函數(shù);以及控制部,其執(zhí)行對(duì)上述F函數(shù)執(zhí)行部的數(shù)據(jù)輸入輸出控制。
并且,在本發(fā)明的密碼處理裝置的一個(gè)實(shí)施方式中,其特征在于,上述密碼處理部具備多個(gè)F函數(shù)執(zhí)行部,其利用上述多個(gè)不同的矩陣執(zhí)行不同的線性變換處理;以及控制部,其根據(jù)設(shè)定而變更上述多個(gè)F函數(shù)執(zhí)行部的利用順序,其中,上述控制部是選擇性地執(zhí)行(a)、(b1)、(b2)中的任一個(gè)的密碼處理的結(jié)構(gòu),其中,上述(a)、(b1)、(b2)為 (a)通過(guò)設(shè)為數(shù)據(jù)序列數(shù)d=2的Feistel結(jié)構(gòu)進(jìn)行的密碼處理、或者 (b1)是設(shè)為數(shù)據(jù)序列數(shù)d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中僅允許執(zhí)行一個(gè)F函數(shù)的密碼處理、或者 (b2)是設(shè)為數(shù)據(jù)序列數(shù)d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中允許并行執(zhí)行多個(gè)F函數(shù)的密碼處理。
并且,在本發(fā)明的密碼處理裝置的一個(gè)實(shí)施方式中,其特征在于,上述控制部是根據(jù)成為加密或解密處理的對(duì)象的數(shù)據(jù)的比特長(zhǎng)度來(lái)選擇要執(zhí)行的處理方式的結(jié)構(gòu)。
并且,本發(fā)明的第二側(cè)面在于,一種密碼處理方法,在密碼處理裝置中執(zhí)行密碼處理,其特征在于,具有密碼處理步驟,在密碼處理部中執(zhí)行將SP型F函數(shù)反復(fù)多次循環(huán)的Feistel型共用密鑰塊密碼處理,其中,上述SP型F函數(shù)執(zhí)行包括非線性變換處理和線性變換處理的數(shù)據(jù)變換處理,上述密碼處理步驟是執(zhí)行應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的步驟,具有運(yùn)算步驟,在該運(yùn)算步驟中,執(zhí)行在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中選擇性地應(yīng)用了至少兩個(gè)以上的多個(gè)不同的矩陣的運(yùn)算,在上述運(yùn)算步驟中應(yīng)用的多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中,上述運(yùn)算步驟是在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中執(zhí)行基于上述多個(gè)不同的矩陣的線性變換運(yùn)算的步驟。
并且,在本發(fā)明的密碼處理方法的一個(gè)實(shí)施方式中,其特征在于,上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[BkD(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[BkD]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的k個(gè)(其中,k為2以上的整數(shù))F函數(shù)中。
并且,在本發(fā)明的密碼處理方法的一個(gè)實(shí)施方式中,其特征在于,上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[B2D(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[B2D]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的兩個(gè)F函數(shù)中。
并且,在本發(fā)明的密碼處理方法的一個(gè)實(shí)施方式中,其特征在于,上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[B2L(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[B2L]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的兩個(gè)F函數(shù)中。
并且,在本發(fā)明的密碼處理方法的一個(gè)實(shí)施方式中,其特征在于,在將上述多個(gè)不同的矩陣設(shè)為n個(gè)(其中,n為2以上的整數(shù))不同的矩陣M0、M1、··Mn-1時(shí),上述運(yùn)算步驟是在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中依次反復(fù)執(zhí)行這些不同的矩陣M0、M1、··Mn-1的步驟。
并且,在本發(fā)明的密碼處理方法的一個(gè)實(shí)施方式中,其特征在于,上述密碼處理步驟是執(zhí)行應(yīng)用了在一個(gè)循環(huán)中僅執(zhí)行一個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的步驟。
并且,在本發(fā)明的密碼處理方法的一個(gè)實(shí)施方式中,其特征在于,上述密碼處理步驟是執(zhí)行應(yīng)用了在一個(gè)循環(huán)中并行地執(zhí)行多個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的步驟。
并且,在本發(fā)明的密碼處理方法的一個(gè)實(shí)施方式中,其特征在于,上述密碼處理步驟是如下的步驟在設(shè)為a≥2的任意的整數(shù)、x≥1的任意的整數(shù)時(shí),執(zhí)行應(yīng)用了數(shù)據(jù)序列數(shù)d=2ax的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理,所述擴(kuò)展Feistel結(jié)構(gòu)利用了由上述多個(gè)不同的矩陣執(zhí)行不同的線性變換處理的a種F函數(shù),在一個(gè)循環(huán)中均等地執(zhí)行所有種類(a種類)的F函數(shù)各x個(gè)。
并且,在本發(fā)明的密碼處理方法的一個(gè)實(shí)施方式中,其特征在于,上述密碼處理步驟是應(yīng)用F函數(shù)執(zhí)行部,按照控制部的控制來(lái)執(zhí)行密碼處理的步驟,其中,上述F函數(shù)執(zhí)行部執(zhí)行在一個(gè)循環(huán)中并行地執(zhí)行的ax個(gè)F函數(shù),上述控制部執(zhí)行對(duì)上述F函數(shù)執(zhí)行部的數(shù)據(jù)輸入輸出控制。
并且,在本發(fā)明的密碼處理方法的一個(gè)實(shí)施方式中,其特征在于,在上述密碼處理步驟中,利用由上述多個(gè)不同的矩陣執(zhí)行不同的線性變換處理的多個(gè)F函數(shù)執(zhí)行部和根據(jù)設(shè)定而變更上述多個(gè)F函數(shù)執(zhí)行部的利用順序的控制部來(lái)執(zhí)行密碼處理,通過(guò)上述控制部的控制,選擇性地執(zhí)行(a)、(b1)、(b2)中的任一個(gè)的密碼處理,其中,上述(a)、(b1)、(b2)為 (a)通過(guò)設(shè)為數(shù)據(jù)序列數(shù)d=2的Feistel結(jié)構(gòu)進(jìn)行的密碼處理、或者 (b1)是設(shè)為數(shù)據(jù)序列數(shù)d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中僅允許執(zhí)行一個(gè)F函數(shù)的密碼處理、或者 (b2)是設(shè)為數(shù)據(jù)序列數(shù)d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中允許并行執(zhí)行多個(gè)F函數(shù)的密碼處理。
并且,在本發(fā)明的密碼處理方法的一個(gè)實(shí)施方式中,其特征在于,上述控制部根據(jù)成為加密或解密處理的對(duì)象的數(shù)據(jù)的比特長(zhǎng)度來(lái)選擇要執(zhí)行的處理方式。
并且,本發(fā)明的第三側(cè)面在于,一種密碼處理算法構(gòu)建方法,在信息處理裝置中構(gòu)建密碼處理算法,其特征在于,具有以下步驟矩陣決定步驟,在應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理算法的結(jié)構(gòu)中,信息處理裝置中的控制部決定在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中應(yīng)用的至少兩個(gè)以上的多個(gè)不同的矩陣;以及矩陣設(shè)定步驟,上述控制部在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中反復(fù)配置在上述矩陣決定步驟中決定的多個(gè)不同的矩陣,其中,上述矩陣決定步驟是執(zhí)行以下處理的步驟作為上述兩個(gè)以上的多個(gè)不同的矩陣,將滿足從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上的條件的多個(gè)不同的矩陣決定為應(yīng)用矩陣,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中。
并且,本發(fā)明的第四側(cè)面在于,一種計(jì)算機(jī)程序,使密碼處理裝置執(zhí)行密碼處理,其特征在于,具有密碼處理步驟,使密碼處理部執(zhí)行將SP型F函數(shù)反復(fù)多次循環(huán)的Feistel型共用密鑰塊密碼處理,其中,上述SP型F函數(shù)執(zhí)行包括非線性變換處理和線性變換處理的數(shù)據(jù)變換處理,上述密碼處理步驟是執(zhí)行應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的步驟,包括運(yùn)算步驟,在該運(yùn)算步驟中,執(zhí)行在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中選擇性地應(yīng)用了至少兩個(gè)以上的多個(gè)不同的矩陣的運(yùn)算,在上述運(yùn)算步驟中應(yīng)用的多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中,上述運(yùn)算步驟是在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中執(zhí)行基于上述多個(gè)不同的矩陣的線性變換運(yùn)算的步驟。
并且,本發(fā)明的第五側(cè)面在于,一種計(jì)算機(jī)程序,在信息處理裝置中構(gòu)建密碼處理算法,其特征在于,具有以下步驟矩陣決定步驟,在應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理算法的結(jié)構(gòu)中,使信息處理裝置中的控制部決定在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中應(yīng)用的至少兩個(gè)以上的多個(gè)不同的矩陣;以及矩陣設(shè)定步驟,使上述控制部在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中反復(fù)配置在上述矩陣決定步驟中決定的多個(gè)不同的矩陣,其中,上述矩陣決定步驟是執(zhí)行以下處理的步驟作為上述兩個(gè)以上的多個(gè)不同的矩陣,將滿足從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上的條件的多個(gè)不同的矩陣決定為應(yīng)用矩陣,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中。
此外,本發(fā)明的計(jì)算機(jī)程序例如是以計(jì)算機(jī)可讀形式提供的能夠通過(guò)存儲(chǔ)介質(zhì)、通信介質(zhì)、例如CD、FD、MO等記錄介質(zhì)、或網(wǎng)絡(luò)等通信介質(zhì)來(lái)對(duì)可執(zhí)行各種程序代碼的計(jì)算機(jī)系統(tǒng)提供的計(jì)算機(jī)程序。通過(guò)以計(jì)算機(jī)可讀形式提供這種程序,在計(jì)算機(jī)系統(tǒng)上實(shí)現(xiàn)與程序相應(yīng)的處理。
通過(guò)基于后述的本發(fā)明的實(shí)施例、附圖的更詳細(xì)的說(shuō)明,本發(fā)明的進(jìn)一步的其它目的、特征、優(yōu)點(diǎn)會(huì)更清楚。此外,在本說(shuō)明書中的系統(tǒng)是多個(gè)裝置的邏輯集合結(jié)構(gòu),并不限于各結(jié)構(gòu)的裝置在同一殼體內(nèi)。
發(fā)明的效果 根據(jù)本發(fā)明的一個(gè)實(shí)施例的結(jié)構(gòu),在將具有非線性變換部和線性變換部的SPN型F函數(shù)反復(fù)執(zhí)行多個(gè)循環(huán)的Feistel型共用密鑰塊密碼處理中,在將具有兩個(gè)數(shù)據(jù)序列的Feistel結(jié)構(gòu)擴(kuò)展得到的Feistel結(jié)構(gòu)、即具有例如三個(gè)、四個(gè)等兩個(gè)以上的任意的數(shù)據(jù)序列的擴(kuò)展型Feistel結(jié)構(gòu)中,通過(guò)設(shè)定應(yīng)用了多個(gè)不同的線性變換矩陣的循環(huán)函數(shù)部來(lái)實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSM),能夠構(gòu)建對(duì)線性分析、差分分析的抵抗性較高的共用密鑰塊密碼算法以及執(zhí)行密碼處理。
根據(jù)本發(fā)明的一個(gè)實(shí)施例的結(jié)構(gòu),在執(zhí)行應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的結(jié)構(gòu)中,具有在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中選擇性地應(yīng)用至少兩個(gè)以上的多個(gè)不同的矩陣的結(jié)構(gòu),作為兩個(gè)以上多個(gè)不同的矩陣設(shè)定為滿足從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上的條件的多個(gè)不同的矩陣,由此實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSM),能夠構(gòu)建對(duì)線性分析、差分分析的抵抗性較高的共用密鑰塊密碼算法以及執(zhí)行密碼處理,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中。
并且,根據(jù)本發(fā)明的一個(gè)實(shí)施例的結(jié)構(gòu),在利用由多個(gè)不同的矩陣執(zhí)行不同的線性變換處理的a(a≥2)種F函數(shù)執(zhí)行應(yīng)用了數(shù)據(jù)序列數(shù)d=2ax的擴(kuò)展Feistel結(jié)構(gòu)(x≥1)的密碼處理的結(jié)構(gòu)中,設(shè)為在一個(gè)循環(huán)中均等地執(zhí)行所有種類(a種類)的F函數(shù)各x個(gè)的結(jié)構(gòu),因此實(shí)現(xiàn)沒(méi)有設(shè)置多余的電路的小型密碼處理裝置。
并且,根據(jù)本發(fā)明的一個(gè)實(shí)施例的結(jié)構(gòu),設(shè)為構(gòu)成由多個(gè)不同的矩陣執(zhí)行不同的線性變換處理的多個(gè)F函數(shù)執(zhí)行部、并根據(jù)設(shè)定來(lái)變更多個(gè)F函數(shù)執(zhí)行部的利用順序的結(jié)構(gòu),由此實(shí)現(xiàn)能夠選擇性地執(zhí)行(a)、(b1)、(b2)中的任一個(gè)的密碼處理的密碼處理裝置,其中,上述(a)、(b1)、(b2)為 (a)通過(guò)設(shè)為數(shù)據(jù)序列數(shù)為d=2的Feistel結(jié)構(gòu)進(jìn)行的密碼處理、或者 (b1)是設(shè)為數(shù)據(jù)序列數(shù)為d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中僅允許執(zhí)行一個(gè)F函數(shù)的密碼處理、或者 (b2)是設(shè)為數(shù)據(jù)序列數(shù)為d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中允許并行執(zhí)行多個(gè)F函數(shù)的密碼處理。



圖1是表示具有Feistel結(jié)構(gòu)的代表性的共用密鑰塊密碼的結(jié)構(gòu)的圖。
圖2是說(shuō)明作為循環(huán)函數(shù)部設(shè)定的F函數(shù)的結(jié)構(gòu)的圖。
圖3是說(shuō)明利用了兩個(gè)不同的線性變換矩陣的Feistel型密碼算法的圖。
圖4是說(shuō)明利用了三個(gè)不同的線性變換矩陣的Feistel型密碼算法的圖。
圖5是說(shuō)明擴(kuò)展Feistel結(jié)構(gòu)的定義的圖。
圖6是表示具有7個(gè)數(shù)據(jù)序列(d=7)的擴(kuò)展Feistel結(jié)構(gòu)例的圖。
圖7是說(shuō)明擴(kuò)展Feistel結(jié)構(gòu)的各結(jié)構(gòu)部以及各結(jié)構(gòu)部的輸入輸出數(shù)據(jù)的定義的圖。
圖8是說(shuō)明對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型1的DSM應(yīng)用的圖。
圖9是說(shuō)明對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型2的DSM應(yīng)用的圖。
圖10是說(shuō)明對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型1的DSM應(yīng)用的圖。
圖11是說(shuō)明對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型2的DSM應(yīng)用的圖。
圖12是說(shuō)明提高了擴(kuò)展Feistel結(jié)構(gòu)的安裝效率的結(jié)構(gòu)的圖。
圖13是說(shuō)明提高了擴(kuò)展Feistel結(jié)構(gòu)的安裝效率的硬件結(jié)構(gòu)例的圖。
圖14是說(shuō)明用于有效安裝三種F函數(shù)的配置例的圖。
圖15是表示設(shè)為數(shù)據(jù)序列d=2的Feistel結(jié)構(gòu)的2mn比特的塊密碼結(jié)構(gòu)的圖。
圖16是表示滿足擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的數(shù)據(jù)序列數(shù)d=4的擴(kuò)展Feistel結(jié)構(gòu)的圖。
圖17是說(shuō)明能夠執(zhí)行不同比特?cái)?shù)的塊密碼的電路共用結(jié)構(gòu)的圖。
圖18是說(shuō)明應(yīng)用了三種F函數(shù)F1、F2、F3的F函數(shù)的數(shù)據(jù)序列d=2的Feistel結(jié)構(gòu)的圖。
圖19是說(shuō)明執(zhí)行三種F函數(shù)F1、F2、F3的密碼處理裝置的結(jié)構(gòu)例的圖。
圖20是表示作為本發(fā)明所涉及的執(zhí)行密碼處理的密碼處理裝置的IC模決的結(jié)構(gòu)例的圖。

具體實(shí)施例方式 下面,詳細(xì)說(shuō)明本發(fā)明的密碼處理裝置和密碼處理方法、以及計(jì)算機(jī)程序。按照以下項(xiàng)目進(jìn)行說(shuō)明。
1.具有SP型F函數(shù)的Feistel結(jié)構(gòu) 2.分支數(shù)運(yùn)算函數(shù)和抵抗性評(píng)價(jià)函數(shù) 2-1.分支數(shù)運(yùn)算函數(shù)Branch() 2-2.對(duì)差分攻擊的抵抗性評(píng)價(jià)指標(biāo) 2-3.對(duì)線性攻擊的抵抗性評(píng)價(jià)指標(biāo) 3.對(duì)于具有兩個(gè)數(shù)據(jù)序列的Feistel結(jié)構(gòu)的DSM的設(shè)定方法 4.擴(kuò)展Feistel結(jié)構(gòu)中的DSM的設(shè)定 4-1.關(guān)于擴(kuò)展Feistel結(jié)構(gòu) 4-2.在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)差分攻擊的抵抗性的結(jié)構(gòu) 4-2-1.使最小分支數(shù)B2D的值為3以上的F函數(shù)中的矩陣選擇結(jié)構(gòu) 4-2-2.使最小分支數(shù)BkD的值為3以上的F函數(shù)中的矩陣選擇結(jié)構(gòu) 4-3.在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)線性攻擊的抵抗性的結(jié)構(gòu) 4-3-1.使最小分支數(shù)B2L的值為3以上的F函數(shù)中的矩陣選擇結(jié)構(gòu) 5.對(duì)于具有特定形式的擴(kuò)展Feistel結(jié)構(gòu)的DSM的利用結(jié)構(gòu) 5-1.對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型1的DSM的應(yīng)用 5-2.對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型2的DSM的應(yīng)用 6.擴(kuò)展Feistel結(jié)構(gòu)的各類型的有效S-box數(shù)與基于F函數(shù)中的線性變換矩陣的最小分支數(shù)之間的關(guān)系式的證明 6-1.擴(kuò)展Feistel結(jié)構(gòu)的類型1的有效S-box數(shù)與基于F函數(shù)中的線性變換矩陣的最小分支數(shù)之間的關(guān)系式的證明 6-2.擴(kuò)展Feistel結(jié)構(gòu)的類型2的有效S-box數(shù)與基于F函數(shù)中的線性變換矩陣的最小分支數(shù)之間的關(guān)系式的證明 7.基于F函數(shù)的設(shè)定以及利用處理的方法的安裝中的改進(jìn)結(jié)構(gòu) 7-1.擴(kuò)展Feistel的類型2的有效的F函數(shù)配置方法 7-2.Feistel結(jié)構(gòu)與擴(kuò)展Feistel結(jié)構(gòu)中的部件的共用化 8.本發(fā)明的密碼處理以及密碼算法構(gòu)建處理的歸納 9.密碼處理裝置的結(jié)構(gòu)例 [1.具有SP型F函數(shù)的Feistel結(jié)構(gòu)] 首先,說(shuō)明具有SP型F函數(shù)的Feistel結(jié)構(gòu)。作為共用密鑰塊密碼的設(shè)計(jì),已知有Feistel結(jié)構(gòu)。Feistel結(jié)構(gòu)具有如下結(jié)構(gòu)通過(guò)被稱為循環(huán)函數(shù)的基本處理單位的重復(fù),將明文變換為密文。
參照?qǐng)D1說(shuō)明Feistel結(jié)構(gòu)的基本結(jié)構(gòu)。在圖1中示出具有r個(gè)循環(huán)的循環(huán)數(shù)=r的具有兩個(gè)數(shù)據(jù)序列的Feistel結(jié)構(gòu)的例子。此外,循環(huán)數(shù)r是在設(shè)計(jì)階段決定的參數(shù),例如是能夠根據(jù)所輸入的密鑰的長(zhǎng)度而改變的值。
在圖1所示的Feistel結(jié)構(gòu)中,將作為加密對(duì)象而輸入的明文的長(zhǎng)度設(shè)為2mn比特。其中,m、n都是整數(shù)。首先,將2mn比特的明文分割為mn比特的兩個(gè)輸入數(shù)據(jù)PL(Plain-Left左明文)101、PR(Plain-Right右明文)102,并將其設(shè)為輸入值。
以被稱為循環(huán)函數(shù)的基本處理單位的重復(fù)來(lái)表現(xiàn)Feistel結(jié)構(gòu),各循環(huán)中所包含的數(shù)據(jù)變換函數(shù)被稱為F函數(shù)120。在圖1的結(jié)構(gòu)中,示出有F函數(shù)(循環(huán)函數(shù))120重復(fù)了r級(jí)的結(jié)構(gòu)例。
例如在第一個(gè)循環(huán)中,將mn比特的輸入數(shù)據(jù)X和從密鑰生成部(未圖示)輸入的mn比特的循環(huán)密鑰K1 103輸入到F函數(shù)120,在F函數(shù)120中進(jìn)行數(shù)據(jù)變換處理之后輸出mn比特的數(shù)據(jù)Y。在異或部104中對(duì)輸出與來(lái)自另一方前級(jí)的輸入數(shù)據(jù)(第1級(jí)的情況下是輸入數(shù)據(jù)PL)進(jìn)行異或運(yùn)算,并向下一個(gè)循環(huán)函數(shù)輸出mn比特的運(yùn)算結(jié)果。應(yīng)用該處理、即僅反復(fù)應(yīng)用F函數(shù)決定的循環(huán)數(shù)(r)來(lái)完成加密處理,輸出密文的分割數(shù)據(jù)CL(Cipher-Left左密碼)、CR(Cipher-Right右密碼)。通過(guò)以上結(jié)構(gòu)得出Feistel結(jié)構(gòu)的解密處理只要使插入循環(huán)密鑰的順序反轉(zhuǎn)即可、不需要構(gòu)成反函數(shù)。
參照?qǐng)D2說(shuō)明設(shè)定為各循環(huán)的函數(shù)的F函數(shù)120的結(jié)構(gòu)。圖2的(a)是表示對(duì)一個(gè)循環(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是輸入輸出比特長(zhǎng)度具有m×n(m、n為整數(shù))比特的設(shè)定的函數(shù)。在SP型F函數(shù)內(nèi)部中,首先執(zhí)行密鑰數(shù)據(jù)Ki與數(shù)據(jù)Xi之間的異或,然后應(yīng)用非線性變換層(S層),接著應(yīng)用線性變換層(P層)。
具體地說(shuō),在非線性變換層(S層)中排列了m個(gè)被稱為S盒(S-box)121的n比特輸入n比特輸出的非線性變換表,將mn比特的數(shù)據(jù)以每n比特進(jìn)行分割、并分別輸入到對(duì)應(yīng)的S盒(S-box)121來(lái)變換數(shù)據(jù)。在各S盒中例如執(zhí)行應(yīng)用了變換表的非線性變換處理。
線性變換層(P層)由線性變換部122構(gòu)成,對(duì)線性變換部122輸入來(lái)自S盒121的作為輸出數(shù)據(jù)的mn比特的輸出值Z,線性變換部122對(duì)該輸入實(shí)施線性變換而輸出mn比特的結(jié)果。線性變換部122執(zhí)行輸入比特位置的替換處理等線性變換處理,輸出mn比特的輸出值Y。該輸出值Y與來(lái)自前級(jí)的輸入數(shù)據(jù)進(jìn)行異或,被設(shè)為下一個(gè)循環(huán)的F函數(shù)的輸入值。
此外,在下面說(shuō)明的本實(shí)施例的結(jié)構(gòu)中,將在作為線性變換層(P層)的線性變換部122中執(zhí)行的線性變換定義為應(yīng)用在GF(2)上定義的mn×mn矩陣而進(jìn)行的線性變換,另外,將包含在第i個(gè)循環(huán)中的矩陣稱為Mi。此外,將在本發(fā)明中說(shuō)明的結(jié)構(gòu)中的作為非線性變換部的S盒和線性變換都設(shè)為雙射。
[2.分支數(shù)運(yùn)算函數(shù)和抵抗性評(píng)價(jià)函數(shù)] 接著,說(shuō)明為了理解本發(fā)明而需要的分支數(shù)運(yùn)算函數(shù)和抵抗性評(píng)價(jià)函數(shù)。
(2-1.分支數(shù)運(yùn)算函數(shù)Branch()) 將作為在線性變換部122中執(zhí)行的線性變換的例子的最優(yōu)擴(kuò)散變換(Optimal Diffusion Mappings)的分支數(shù)運(yùn)算函數(shù)Branch()定義為如下,其中,上述線性變換部122作為上述F函數(shù)內(nèi)的線性變換層(P層)。
對(duì)于進(jìn)行從n×a比特?cái)?shù)據(jù)向n×b比特?cái)?shù)據(jù)的線性變換的映射, θ{0,1}na→{0,1}nb 將分支數(shù)Branchn(θ)定義為如下。
Branchn(θ)=minα≠0n{hwn(α)+hwn(θ(α))} 其中,將minα≠0{Xα}設(shè)為表示滿足α≠0的所有Xα中的最小值的Xα,將hwn(Y)設(shè)為在將比特列Y按每n比特進(jìn)行分割來(lái)表示時(shí)n比特的數(shù)據(jù)都返回不是0的(非零)元素的數(shù)的函數(shù)。
此外,此時(shí),將Branchn(θ)為b+1那樣的映射θ定義為最優(yōu)擴(kuò)散變換。
(2-2.對(duì)差分攻擊的抵抗性評(píng)價(jià)指標(biāo)) 在應(yīng)用Feistel結(jié)構(gòu)的共用密鑰密碼處理中,由密碼分析引起的密鑰的泄漏成為問(wèn)題。作為密碼分析或者攻擊方法的代表方法,已知有差分分析(也稱為差分解讀法或者差分攻擊)、線性分析(也稱為線性解讀法或者線性攻擊),其中,上述差分分析通過(guò)多次分析具有某個(gè)差分(ΔX)的輸入數(shù)據(jù)(明文)及其輸出數(shù)據(jù)(密文)來(lái)分析各循環(huán)函數(shù)中的應(yīng)用密鑰,上述線性分析根據(jù)明文與對(duì)應(yīng)的密文進(jìn)行分析。
作為實(shí)現(xiàn)對(duì)差分攻擊的抵抗性的指標(biāo),能夠應(yīng)用包含在表現(xiàn)差分的連接關(guān)系的差分路徑中的差分有效S盒的最小數(shù)。
差分路徑是對(duì)除了加密函數(shù)中的密鑰數(shù)據(jù)以外的所有數(shù)據(jù)部分指定特定的差分值而得到的。差分值并不是自由決定的,而是變換處理前后的差分值互相關(guān)聯(lián)。在線性變換處理的前后,一對(duì)一地決定輸入差分與輸出差分之間的關(guān)系。在非線性變換的前后,不是一對(duì)一地決定輸入差分與輸出差分之間的關(guān)系,而是導(dǎo)入概率的概念。設(shè)為能夠事先計(jì)算對(duì)于某個(gè)輸入差分和輸出差分的概率。將對(duì)于所有輸出的概率全部相加為1。
在具有SP型F函數(shù)的Feistel結(jié)構(gòu)中,非線性變換僅為由S盒進(jìn)行處理的部分。因而,在這種情況下,具有0以外的概率的差分路徑是從對(duì)明文(輸入)的差分值開始直到密文(輸出)的差分值為止的差分?jǐn)?shù)據(jù)的集合,在所有的S盒前后提供的差分值具有0以外的概率。設(shè)為將具有0以外的概率的某個(gè)差分路徑的輸入到S盒的差分值不是0的S盒稱為差分有效S盒。已知將具有0以外的概率的所有差分路徑的有效S盒數(shù)之中最小的數(shù)稱為最小差分有效S盒數(shù),該數(shù)值作為對(duì)差分攻擊的安全性指標(biāo)。此外,所有差分值為0那樣的差分路徑概率為1,作為攻擊沒(méi)有意義,因此以后不予考慮。
在本發(fā)明的一個(gè)實(shí)施例中,具有通過(guò)保證該最小差分有效S盒數(shù)較大來(lái)提高對(duì)差分攻擊的安全性的結(jié)構(gòu)。
(2-3.對(duì)線性攻擊的抵抗性評(píng)價(jià)指標(biāo)) 并且,作為實(shí)現(xiàn)對(duì)線性攻擊的抵抗性的指標(biāo),能夠應(yīng)用包含在表現(xiàn)線性掩模的連接關(guān)系的線性路徑(多被稱為線性近似,但是為了與差分對(duì)應(yīng),在此使用稱為“路徑”的詞語(yǔ))中的線性有效S盒的最小數(shù)。
線性路徑是對(duì)除了加密函數(shù)中的密鑰數(shù)據(jù)以外的所有數(shù)據(jù)部分指定特定的線性掩模值而得到的。線性掩模值并不是自由決定的,而是變換處理前后的線性值互相關(guān)聯(lián)。在線性變換處理的前后,一對(duì)一地決定輸入線性掩模值與輸出線性掩模值之間的關(guān)系。在非線性變換的前后,不是一對(duì)一地決定輸入線性掩模值與輸出線性掩模值之間的關(guān)系,而是導(dǎo)入概率的概念。對(duì)于輸入線性掩模值,存在能夠輸出的一個(gè)以上的線性掩模值的集合,能夠事先計(jì)算各線性掩模值被輸出的概率。對(duì)所有輸出的概率全部相加為1。
在具有SP型F函數(shù)的Feistel結(jié)構(gòu)中,非線性變換僅為由S盒進(jìn)行處理的部分。因而,在這種情況下,具有0以外的概率的線性路徑是從對(duì)明文(輸入)的線性值開始直到密文(輸出)的線性值為止的線性掩模值數(shù)據(jù)的集合,在所有的S盒前后提供的線性值是具有0以外的概率的線性值。設(shè)為將具有0以外的概率的某個(gè)線性路徑的輸入到S盒的線性值不是0的S盒稱為線性有效S盒。將具有0以外的概率的所有線性路徑的有效S盒數(shù)之中最小的數(shù)稱為最小線性有效S盒數(shù),已知該數(shù)值作為對(duì)線性攻擊的安全性指標(biāo)。此外,所有線性掩模值為0那樣的線性路徑概率為1,作為攻擊沒(méi)有意義,因此以后不予考慮。
在本發(fā)明的一個(gè)實(shí)施例中,通過(guò)保證該最小線性有效S盒數(shù)較大來(lái)提高對(duì)線性攻擊的安全性。
[3.對(duì)于具有兩個(gè)數(shù)據(jù)序列的Feistel結(jié)構(gòu)的DSM的設(shè)定方法] 如之前所說(shuō)明的那樣,在應(yīng)用了Feistel結(jié)構(gòu)的密碼處理中,作為提高對(duì)上述的差分攻擊、線性攻擊的抵抗性的結(jié)構(gòu),提出應(yīng)用擴(kuò)散矩陣切換機(jī)構(gòu)(DSMDiffusion Switching Mechanism,下面是DSM)的結(jié)構(gòu)。DSM是在Feistel結(jié)構(gòu)的循環(huán)函數(shù)(F函數(shù))部的線性變換部中配置兩個(gè)以上不同的矩陣的結(jié)構(gòu)。通過(guò)該DSM能夠保證最小線性有效S盒數(shù)較大,能夠提高對(duì)差分攻擊、線性攻擊的抵抗性。
關(guān)于該DSM,說(shuō)明其概要。在Feistel結(jié)構(gòu)中,在應(yīng)用了擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的情況下,在構(gòu)成Feistel結(jié)構(gòu)的循環(huán)函數(shù)(F函數(shù))部的線性變換部(P層)中應(yīng)用的矩陣為多個(gè)不同的矩陣。例如,如圖1所示的r個(gè)循環(huán)的Feistel結(jié)構(gòu)的各循環(huán)中的應(yīng)用矩陣不是設(shè)定為全部相同的線性變換矩陣,而是按照特定的規(guī)則排列至少兩種以上的矩陣。
例如,圖3示出通過(guò)兩個(gè)線性變換矩陣M0、M1來(lái)實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的Feistel結(jié)構(gòu)例,圖4示出通過(guò)三個(gè)線性變換矩陣M0、M1、M2來(lái)實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的Feistel結(jié)構(gòu)例。
在圖3所示的Feistel結(jié)構(gòu)例中,兩個(gè)線性變換矩陣M0、M1由不同的矩陣構(gòu)成。另外,在圖4所示的Feistel結(jié)構(gòu)例中,三個(gè)線性變換矩陣M0、M1、M2由不同的矩陣構(gòu)成。
為了實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSM),所應(yīng)用的矩陣需要滿足規(guī)定的條件。該條件之一是與上述分支數(shù)(Branch)有關(guān)的限制。下面,說(shuō)明該限制。
在Feistel結(jié)構(gòu)中的循環(huán)函數(shù)部的線性變換所應(yīng)用的多個(gè)不同的矩陣M0~Mn各自的分支數(shù)中, 將應(yīng)用矩陣中的分支數(shù)的最小值B1D、 與所應(yīng)用的多個(gè)矩陣的關(guān)聯(lián)矩陣對(duì)應(yīng)的分支數(shù)的最小值B2D、B3D、B2L定義為如下。
[數(shù)1] 在上式中, Mi表示在Feistel結(jié)構(gòu)中的第i個(gè)循環(huán)的線性變換處理中應(yīng)用的線性變換矩陣, [Mi|Mi+2|··]表示通過(guò)Mi|Mi+2|··各矩陣關(guān)聯(lián)得到的關(guān)聯(lián)矩陣, tM表示矩陣M的轉(zhuǎn)置矩陣,M-1表示矩陣M的逆矩陣。
在上式中,B2D、B3D、B2L具體表示將在Feistel結(jié)構(gòu)中的一個(gè)數(shù)據(jù)序列中連續(xù)的兩個(gè)循環(huán)或者三個(gè)循環(huán)的F函數(shù)所包含的矩陣關(guān)聯(lián)得到的矩陣的分支數(shù)的最小值。
可知例如通過(guò)設(shè)定各矩陣使得上述各分支數(shù)滿足以下條件、即 B2D≥3、B3D≥3、B2L≥3 上述條件,在Feistel結(jié)構(gòu)中能夠提高對(duì)差分攻擊、線性攻擊的抵抗性。
此外,B1D、B2D、B3D、B2L中的各上下標(biāo)具有下面的意思。
BnD的n表示所關(guān)聯(lián)的矩陣數(shù),BnD的D表示用于具有對(duì)差分攻擊(Differential Attack)的抵抗性的條件,BnL中的L表示用于具有對(duì)線性攻擊(Linear Attack)的抵抗性的條件。
[4.擴(kuò)展Feistel結(jié)構(gòu)中的DSM的設(shè)定] 在本發(fā)明中,提出對(duì)具有例如三個(gè)序列、四個(gè)序列等兩個(gè)以上的任意的數(shù)據(jù)序列的Feistel結(jié)構(gòu)實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的結(jié)構(gòu),而不是對(duì)具有兩個(gè)數(shù)據(jù)序列的Feistel結(jié)構(gòu)實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的結(jié)構(gòu)。下面,詳細(xì)說(shuō)明該結(jié)構(gòu)。
在本發(fā)明中要處理的Feistel結(jié)構(gòu)在使用SP型F函數(shù)這點(diǎn)上與上述具有兩個(gè)數(shù)據(jù)序列的Feistel結(jié)構(gòu)相同,但是以將數(shù)據(jù)序列數(shù)的分割數(shù)一般化為d的擴(kuò)展Feistel結(jié)構(gòu)為對(duì)象。其中,d是2以上的整數(shù)。
如上所述,提出了對(duì)于限定為數(shù)據(jù)序列數(shù)=2的Feistel結(jié)構(gòu)的DSM的應(yīng)用結(jié)構(gòu),但是并不知道對(duì)于具有將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的任意數(shù)的d的擴(kuò)展Feistel結(jié)構(gòu)應(yīng)用DSM來(lái)提高抵抗性的方法。本發(fā)明實(shí)現(xiàn)對(duì)具有設(shè)為d≥2的任意數(shù)的數(shù)據(jù)序列數(shù)d的擴(kuò)展Feistel結(jié)構(gòu)應(yīng)用擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)來(lái)提高對(duì)差分攻擊、線性攻擊的抵抗性的結(jié)構(gòu)。
下面,說(shuō)明本發(fā)明的具體結(jié)構(gòu)以及處理例。
(4-1.關(guān)于擴(kuò)展Feistel結(jié)構(gòu)) 下面,參照?qǐng)D5說(shuō)明擴(kuò)展Feistel結(jié)構(gòu)的定義。在本說(shuō)明書中將擴(kuò)展Feistel結(jié)構(gòu)定義為如下。
1.具有d個(gè)(d是2以上)數(shù)據(jù)序列,各數(shù)據(jù)序列的大小是mn比特。
2.F函數(shù)的輸入輸出大小是mn比特。
3.具有稱為循環(huán)的處理單位,在循環(huán)內(nèi)對(duì)一個(gè)或多個(gè)數(shù)據(jù)序列實(shí)施由F函數(shù)進(jìn)行的變換處理,在其它的數(shù)據(jù)序列中對(duì)其結(jié)果進(jìn)行異或。其中,設(shè)為在一個(gè)循環(huán)內(nèi)包含兩個(gè)以上F函數(shù)的情況下,在所有的成為F函數(shù)的輸入輸出的數(shù)據(jù)序列中不存在重復(fù)的序列。
參照?qǐng)D5說(shuō)明由上述定義構(gòu)建的擴(kuò)展Feistel結(jié)構(gòu)的例子。
上述定義1.具有d個(gè)(d是2以上)數(shù)據(jù)序列,各數(shù)據(jù)序列的大小是mn比特。
參照?qǐng)D5說(shuō)明該定義。在圖5中,意味著數(shù)據(jù)序列1~d的各數(shù)據(jù)序列的輸入輸出大小是mn比特,輸入輸出的總比特?cái)?shù)是dmn比特。
上述定義2.F函數(shù)的輸入輸出大小是mn比特。
參照?qǐng)D5說(shuō)明該定義。例如從數(shù)據(jù)序列2的上一級(jí)的異或(XOR)運(yùn)算部201對(duì)F函數(shù)202輸入作為運(yùn)算結(jié)果的mn比特,并且輸入循環(huán)密鑰K來(lái)執(zhí)行運(yùn)算處理。該運(yùn)算處理是參照?qǐng)D2的(b)所說(shuō)明的處理,包括S盒中的非線性變換和線性變換部中的應(yīng)用線性變換矩陣Mi的線性變換處理。F函數(shù)202的輸出是mn比特,被輸入到數(shù)據(jù)序列4的異或(XOR)運(yùn)算部203。
上述定義3.具有稱為循環(huán)的處理單位,在循環(huán)內(nèi)對(duì)一個(gè)或多個(gè)數(shù)據(jù)序列實(shí)施由F函數(shù)進(jìn)行的變換處理,在其它的數(shù)據(jù)序列中對(duì)其結(jié)果進(jìn)行異或。其中,設(shè)為在一個(gè)循環(huán)內(nèi)包含兩個(gè)以上的F函數(shù)的情況下,在所有成為F函數(shù)的輸入輸出的數(shù)據(jù)序列中不存在重復(fù)的序列。
參照?qǐng)D5說(shuō)明該定義。圖5示出具有r個(gè)循環(huán)的結(jié)構(gòu)的擴(kuò)展Feistel結(jié)構(gòu)。在各循環(huán)中包含一個(gè)以上的F函數(shù),在其它的數(shù)據(jù)序列中對(duì)其結(jié)果進(jìn)行異或。圖5所示的循環(huán)n,在一個(gè)循環(huán)內(nèi)包含多個(gè)F函數(shù)。是圖5所示的F函數(shù)211和F函數(shù)212。
這樣,在一個(gè)循環(huán)中包含多個(gè)F函數(shù)的情況下,各F函數(shù)的輸入輸出序列分別是不同的數(shù)據(jù)序列,設(shè)定為重復(fù)的數(shù)據(jù)序列不作為輸入輸出序列來(lái)應(yīng)用。
圖5所示的F函數(shù)211的輸入數(shù)據(jù)序列是數(shù)據(jù)序列1,輸出數(shù)據(jù)序列是數(shù)據(jù)序列2, F函數(shù)212的輸入數(shù)據(jù)序列是數(shù)據(jù)序列5以上的任一個(gè),輸出數(shù)據(jù)序列是數(shù)據(jù)序列3, 設(shè)定為任意的輸入輸出數(shù)據(jù)序列都不重復(fù)。
此外,也如圖5所示,在本說(shuō)明書中,F(xiàn)函數(shù)表示為[F],循環(huán)密鑰表示為[K]。對(duì)這些各標(biāo)識(shí)符F、K設(shè)定的上下標(biāo)具有下面的意思。
Fin、Kin的i表示循環(huán),n表示同一循環(huán)中的F函數(shù)或者循環(huán)密鑰的識(shí)別編號(hào)。
此外,雖然沒(méi)有圖示,但是在以下的說(shuō)明中,在各循環(huán)的F函數(shù)的線性變換部中應(yīng)用的線性變換矩陣表示為[M],對(duì)M設(shè)定的上下標(biāo)也與上述同樣地, 設(shè)Min的i表示循環(huán),n表示與設(shè)定在同一循環(huán)中的多個(gè)F函數(shù)分別對(duì)應(yīng)的線性變換矩陣的識(shí)別編號(hào)。
圖6表示滿足上述定義的具有7個(gè)數(shù)據(jù)序列(d=7)的擴(kuò)展Feistel結(jié)構(gòu)例。此外,在圖6中,省略各F函數(shù)的輸出與各數(shù)據(jù)序列之間的異或運(yùn)算(XOR)部的標(biāo)記,但是是如下的結(jié)構(gòu)各F函數(shù)的輸出與各數(shù)據(jù)序列在各交叉點(diǎn)上利用各自的輸入執(zhí)行異或運(yùn)算(XOR),向同一數(shù)據(jù)序列的下方向輸出該異或運(yùn)算(XOR)結(jié)果。在圖6所示的例子中,循環(huán)i+4、循環(huán)i+5、循環(huán)i+9、循環(huán)i+10是在一個(gè)循環(huán)中包含兩個(gè)以上F函數(shù)的循環(huán),在這些循環(huán)中示出的F函數(shù)[F]和循環(huán)密鑰[K]的右上方顯示表示同一循環(huán)中的F函數(shù)或循環(huán)密鑰的識(shí)別編號(hào)的編號(hào)。
當(dāng)根據(jù)上述定義1~3構(gòu)建將序列數(shù)d設(shè)為d=2的Feistel結(jié)構(gòu)時(shí),成為由兩個(gè)數(shù)據(jù)序列構(gòu)成的Feistel結(jié)構(gòu)、即之前參照?qǐng)D1所說(shuō)明的Feistel結(jié)構(gòu)。即,成為F函數(shù)交替往來(lái)于兩個(gè)數(shù)據(jù)序列間那樣的結(jié)線結(jié)構(gòu),但是在具有三個(gè)以上的數(shù)據(jù)序列的擴(kuò)展Feistel結(jié)構(gòu)的情況下,由于存在多個(gè)被選為F函數(shù)的輸入和輸出的數(shù)據(jù)序列,因此無(wú)法唯一地確定結(jié)線結(jié)構(gòu)。也就是說(shuō),在擴(kuò)展Feistel結(jié)構(gòu)中,d越大F函數(shù)的設(shè)置位置的自由度呈指數(shù)函數(shù)增大。
在本發(fā)明中,提出在這種擴(kuò)展Feistel結(jié)構(gòu)中實(shí)現(xiàn)提高對(duì)差分攻擊、線性攻擊的抵抗性的擴(kuò)散矩陣切換機(jī)構(gòu)(DSMDiffusion Switching Mechanism)的結(jié)構(gòu)。
在將序列數(shù)d設(shè)為d=2的Feistel結(jié)構(gòu)中,例如如圖3、圖4所示,通過(guò)將在構(gòu)成Feistel結(jié)構(gòu)的循環(huán)函數(shù)(F函數(shù))部的線性變換部(P層)中應(yīng)用的矩陣設(shè)為兩個(gè)不同的線性變換矩陣M0、M1、或者三個(gè)不同的線性變換矩陣M0、M1、M2等來(lái)實(shí)現(xiàn)DSM。其中,為了實(shí)現(xiàn)DSM,需要所應(yīng)用的矩陣滿足規(guī)定的條件。該條件之一是與上述分支數(shù)(Branch)有關(guān)的限制。
在說(shuō)明在將數(shù)據(jù)序列數(shù)d設(shè)為 dd≥2的任意的整數(shù) 的擴(kuò)展Feistel結(jié)構(gòu)中實(shí)現(xiàn)DSM的結(jié)構(gòu)之前,參照?qǐng)D7說(shuō)明在下面的說(shuō)明中使用的擴(kuò)展Feistel結(jié)構(gòu)的各結(jié)構(gòu)部以及各結(jié)構(gòu)部的輸入輸出數(shù)據(jù)的定義。
圖7是僅提取表示例如構(gòu)成如圖6所示的擴(kuò)展Feistel結(jié)構(gòu)的一個(gè)數(shù)據(jù)序列的圖。如圖7所示,可知對(duì)某一個(gè)數(shù)據(jù)序列的輸入數(shù)據(jù)與一次以上的F函數(shù)的輸出進(jìn)行異或(XOR)而輸出。該處理適用于擴(kuò)展Feistel結(jié)構(gòu)所包含的任意的數(shù)據(jù)序列。
在圖7中,表示對(duì)一個(gè)數(shù)據(jù)序列[s(i)]通過(guò)異或運(yùn)算(XOR)將多個(gè)F函數(shù)[Fs(i),1、Fs(i),2、…]的輸出相加的情形。
此外,將擴(kuò)展Feistel結(jié)構(gòu)中具有d個(gè)的數(shù)據(jù)序列分別設(shè)為s(i)(1≤i≤d),將對(duì)數(shù)據(jù)序列s(i)進(jìn)行輸入的F函數(shù)從靠近數(shù)據(jù)序列s(i)的輸入起依次命名為Fs(i),1、Fs(i),2、…。
另外,將數(shù)據(jù)序列s(i)的輸入數(shù)據(jù)設(shè)為Ws(i),0, 將對(duì)F函數(shù)Fs(i),j的輸出進(jìn)行異或之后的數(shù)據(jù)設(shè)為Ws(i),j。
另外,將對(duì)F函數(shù)Fs(i),j的輸入數(shù)據(jù)設(shè)為Xs(i),j。
各Xs(i),j是屬于數(shù)據(jù)序列s(i)以外的其它的序列的數(shù)據(jù),在此設(shè)為不追究其屬于哪個(gè)序列。
此時(shí),能夠認(rèn)為擴(kuò)展Feistel結(jié)構(gòu)是將這種數(shù)據(jù)序列d個(gè)相互連接而構(gòu)成的結(jié)構(gòu)。
在擴(kuò)展Feistel結(jié)構(gòu)中用于實(shí)現(xiàn)DSM的結(jié)構(gòu) 下面,說(shuō)明在設(shè)為dd≥2的任意的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)中用于實(shí)現(xiàn)DSM的結(jié)構(gòu)。針對(duì) (4-2)在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)差分攻擊的抵抗性的結(jié)構(gòu) (4-3)在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)線性攻擊的抵抗性的結(jié)構(gòu) 這些各個(gè)結(jié)構(gòu)依次進(jìn)行說(shuō)明。
(4-2.在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)差分攻擊的抵抗性的結(jié)構(gòu)) 首先,說(shuō)明在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)差分攻擊的抵抗性的結(jié)構(gòu)。
如上所述,差分攻擊是通過(guò)多次分析具有某個(gè)差分(ΔX)的輸入數(shù)據(jù)(明文)及其輸出數(shù)據(jù)(密文)來(lái)分析各循環(huán)函數(shù)中的應(yīng)用密鑰的攻擊,作為實(shí)現(xiàn)對(duì)差分攻擊的抵抗性的指標(biāo),應(yīng)用包含在表現(xiàn)差分的連接關(guān)系的差分路徑中的差分有效S盒的最小數(shù)。差分路徑是除了加密函數(shù)中的密鑰數(shù)據(jù)之外的數(shù)據(jù)部分的差分值。在線性變換處理的前后,一對(duì)一地決定輸入差分與輸出差分之間的關(guān)系,在非線性變換處理的前后,不是一對(duì)一地決定,而是算出對(duì)某個(gè)輸入差分的輸出差分的出現(xiàn)概率。將對(duì)于所有輸出的概率全部相加為1。
在具有SP型F函數(shù)的Feistel結(jié)構(gòu)中,非線性變換僅是S盒。在這種情況下,具有0以外的概率的差分路徑是從對(duì)明文(輸入)的差分值開始直到密文(輸出)的差分值為止的差分?jǐn)?shù)據(jù)的集合,在所有的S盒前后提供的差分值具有0以外的概率。將具有0以外的概率的某個(gè)差分路徑的輸入到S盒的差分值不是0的S盒稱為差分有效S盒。將具有0以外的概率的所有差分路徑的有效S盒數(shù)之中最小的數(shù)稱為最小差分有效S盒數(shù),使用該數(shù)值作為對(duì)差分攻擊的安全性指標(biāo)。
使最小差分有效S盒數(shù)變大來(lái)提高對(duì)差分攻擊的抵抗性。下面說(shuō)明在將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的任意整數(shù)的擴(kuò)展Fei stel結(jié)構(gòu)中構(gòu)建使最小差分有效S盒數(shù)的數(shù)量變大的D SM結(jié)構(gòu)的方法。
將擴(kuò)展Fei stel結(jié)構(gòu)所包含的F函數(shù)[Fs(i),x]中使用的線性變換矩陣設(shè)為[Ms(i),x]。此時(shí),將應(yīng)用了分支數(shù)運(yùn)算函數(shù)Branch()的分支數(shù)算出式B2D(s(i))定義為如下。
[數(shù)2] 上式是求出在對(duì)構(gòu)成擴(kuò)展Feistel結(jié)構(gòu)的任意的數(shù)據(jù)序列s(i)進(jìn)行輸入的兩個(gè)相鄰的F函數(shù)[Fs(i),j、Fs(i),j+1]中使用的兩個(gè)線性變換矩陣[Ms(i),j、Ms(i),j+1]的關(guān)聯(lián)矩陣[Ms(i),j |Ms(i),j+1]中的分支數(shù)的最小值的式子。
在構(gòu)成擴(kuò)展Feistel結(jié)構(gòu)的任意的數(shù)據(jù)序列s(i)中,將與從上一級(jí)輸入到數(shù)據(jù)序列s(i)的F函數(shù)的個(gè)數(shù)相當(dāng)?shù)腫j]設(shè)為任意的j,考慮數(shù)據(jù)序列s(i)上的數(shù)據(jù)[Ws(i),j]。
針對(duì)夾著對(duì)數(shù)據(jù)序列s(i)進(jìn)行輸入的兩個(gè)F函數(shù)[Fs(i),j+1]、[Fs(i),j+2]的對(duì)數(shù)據(jù)序列s(i)的輸入部的數(shù)據(jù)序列s(i)上的輸入輸出數(shù)據(jù)[Ws(i),j]和[Ws(i),j+2],考慮 Ws(i),j=0、 Ws(i),j+2=0的情況。
此時(shí), 在向?qū)?shù)據(jù)序列s(i)進(jìn)行輸入的F函數(shù)中相鄰的F函數(shù)[Fs(i),j+1]和[Fs(i),j+2]輸入的各輸入差分值[ΔXs(i),j+1]和[ΔXs(i),j+2]之間, [數(shù)3] 的關(guān)系式成立。
此外,在上式中,hw是漢明重量,上式的左邊表示F函數(shù)的輸入差分?jǐn)?shù)據(jù)中的非零的要素?cái)?shù)、即有效S盒數(shù)之和。保證該數(shù)為較大的值是能夠期望提高對(duì)差分攻擊的抵抗性的條件。因而,如果其以外的條件相同,則得出優(yōu)選為選擇構(gòu)成擴(kuò)展Feistel結(jié)構(gòu)的各F函數(shù)內(nèi)的矩陣使得B2D(s(i))盡可能變大。
在目前為止的擴(kuò)展Feistel型密碼中一般為在所有F函數(shù)內(nèi)的線性變換部中利用一個(gè)線性變換矩陣的結(jié)構(gòu)。
然而,當(dāng)對(duì)數(shù)據(jù)序列s(i)進(jìn)行輸入的兩個(gè)相鄰的F函數(shù)[Fs(i),j、Fs(i),j+1]中使用的兩個(gè)線性變換矩陣[Ms(i),j]和[Ms(i),j+1]是相同的矩陣時(shí),導(dǎo)致應(yīng)用了上述分支數(shù)運(yùn)算函數(shù)Branch()的分支數(shù)的算出式、即 B2D(s(i)) 一定是最低的值、即2。因此,無(wú)法期望得到抵抗性提高的效果。
另外,即使在使用不同的矩陣的情況下,當(dāng)隨意選擇兩個(gè)矩陣時(shí),也存在B2D(s(i))為2的情況。
將由上述分支數(shù)算出式定義的B2D(s(i))設(shè)為更大的分支數(shù)能夠保證局部的最小差分有效S盒數(shù)較大,從而提高對(duì)差分攻擊的抵抗性。因而,例如通過(guò)選擇矩陣使得B2D(s(i))為3以上,能夠提高對(duì)差分攻擊的抵抗性。
對(duì)擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列計(jì)算B2D(s(i)),將它們之中最小值的B2D(s(i))設(shè)為B2D。下面說(shuō)明選擇F函數(shù)中的矩陣使得該B2D為3以上的方法。
(4-2-1.使最小分支數(shù)B2D的值為3以上的F函數(shù)中的矩陣選擇結(jié)構(gòu)) 首先,下面說(shuō)明只要存在最少兩種矩陣就能夠?qū)崿F(xiàn)使擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列的最小分支數(shù)[B2D(s(i))]中最小的分支數(shù)[B2D]為3以上的情形。
首先,準(zhǔn)備兩個(gè)不同的矩陣[A0]和[A1]的關(guān)聯(lián)矩陣[A0|A1]的分支數(shù)為3以上、即滿足 Branchn([A0|A1])≥3 的兩個(gè)不同的矩陣[A0]和[A1]。
接著,將對(duì)擴(kuò)展Feistel結(jié)構(gòu)的數(shù)據(jù)序列s(i)進(jìn)行輸入的多個(gè)F函數(shù)的線性變換部的線性變換矩陣設(shè)定為如下。
設(shè)定在最初的F函數(shù)Fs(i),1的線性變換部中的線性變換矩陣為A0、 設(shè)定在第二個(gè)F函數(shù)Fs(i),2的線性變換部中的線性變換矩陣為A1、 設(shè)定在第三個(gè)F函數(shù)Fs(i),3的線性變換部中的線性變換矩陣為A0、 . . 如上那樣,對(duì)向數(shù)據(jù)序列s(i)進(jìn)行輸入的多個(gè)F函數(shù)從上開始依次交替地配置兩個(gè)不同的矩陣[A0]和[A1]。
在這樣設(shè)定線性變換矩陣的情況下,求出對(duì)任意的數(shù)據(jù)序列s(i)進(jìn)行輸入的兩個(gè)相鄰的F函數(shù)[Fs(i),j、Fs(i),j+1]中使用的兩個(gè)線性變換矩陣[Ms(i),j、Ms(i),j+1]的關(guān)聯(lián)矩陣[Ms(i),j|Ms(i),j+1]中的分支數(shù)的最小值的上式是 [數(shù)4] 即,保證最小分支數(shù)為3以上。
當(dāng)然,即使輪換矩陣[A0]和[A1],效果也相同。另外,如果對(duì)擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列s(i)同樣地設(shè)定矩陣,則僅使用兩個(gè)矩陣就能夠使B2D的值為3以上。
這樣,準(zhǔn)備滿足Branchn([A0|A1])≥3的兩個(gè)不同的矩陣[A0]和[A1],通過(guò)設(shè)定為在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的F函數(shù)中交替地配置這些各個(gè)矩陣,能夠使最小分支數(shù)B2D的值為3以上,從而實(shí)現(xiàn)利用擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)提高對(duì)差分攻擊的抵抗性。
上述的說(shuō)明是應(yīng)用兩個(gè)不同的矩陣[A0]和[A1]的例子。
接著,下面說(shuō)明將不同的矩陣一般化為2以上的任意數(shù)[k]的例子。
將在擴(kuò)展Feistel結(jié)構(gòu)所包含的F函數(shù)[Fs(i),j]中使用的線性變換矩陣設(shè)為[Ms(i),j]。此時(shí),將應(yīng)用了分支數(shù)運(yùn)算函數(shù)Branch()的分支數(shù)的算出式B2D(s(i))定義為如下。
[數(shù)5] 上式是求出在對(duì)構(gòu)成擴(kuò)展Feistel結(jié)構(gòu)的任意數(shù)據(jù)序列s(i)進(jìn)行輸入的k個(gè)相鄰的F函數(shù)[Fs(i),j、Fs(i),j+1、…、Fs(i),j+k-1]中使用的k個(gè)線性變換矩陣[Ms(i),j、Ms(i),j+1、…、Ms(i),j+k-1]的關(guān)聯(lián)矩陣[Ms(i),j|Ms(i),j+1|…|Ms(i),j+k-1]中的分支數(shù)的最小值的式子。
在構(gòu)成擴(kuò)展Feistel結(jié)構(gòu)的任意數(shù)據(jù)序列s(i)中,將與從上一級(jí)輸入到數(shù)據(jù)序列s(i)的F函數(shù)的個(gè)數(shù)相當(dāng)?shù)腫j]設(shè)為任意的j,考慮數(shù)據(jù)序列s(i)上的數(shù)據(jù)[Ws(i),j]。
對(duì)夾著對(duì)數(shù)據(jù)序列s(i)進(jìn)行輸入的k個(gè)F函數(shù)[Fs(i),j+1]…[Fs(i),j+k]的對(duì)數(shù)據(jù)序列s(i)的輸入部的數(shù)據(jù)序列s(i)上的輸入輸出數(shù)據(jù)[Ws(i),j]和[Ws(i),j+k],考慮 Ws(i),j=0、 Ws(i),j+k=0的情況。
此時(shí), 在向?qū)?shù)據(jù)序列s(i)進(jìn)行輸入的F函數(shù)中相鄰的k個(gè)F函數(shù)[Fs(i),j+1]…[Fs(i),j+k]輸入的各輸入差分值[ΔXs(i),j+1]…[ΔXs(i),j+k]之間,得到 [數(shù)6] 的關(guān)系式。
此外,在上式中,hw是漢明重量,上式的左邊表示F函數(shù)的輸入差分?jǐn)?shù)據(jù)中的非零要素?cái)?shù)、即有效S盒數(shù)之和。保證該數(shù)為較大的值是能夠期望提高對(duì)差分攻擊的抵抗性的條件。因而,如果其以外的條件相同,則得出優(yōu)選為選擇構(gòu)成擴(kuò)展Feistel結(jié)構(gòu)的各F函數(shù)內(nèi)的矩陣使得BkD(s(i))盡可能大。
然而,即使在向數(shù)據(jù)序列s(i)進(jìn)行輸入的k個(gè)相鄰的F函數(shù)[Fs(i),j]…[Fs(i),j+k-1]中使用的k個(gè)線性變換矩陣[Ms(i),j]…[Ms(i),j+k-1]中存在一個(gè)相同的矩陣,也會(huì)導(dǎo)致應(yīng)用了上述分支數(shù)運(yùn)算函數(shù)Branch()的分支數(shù)的算出式、即 BkD(s(i)) 一定是最低的值、即2。因此,無(wú)法期望得到抵抗性提高的效果。
另外,即使在k個(gè)線性變換矩陣[Ms(i),j]…[Ms(i),j+k-1]中使用不同的矩陣的情況下,當(dāng)隨意選擇矩陣時(shí),也存在BkD(s(i))為2的情況。
將由上述分支數(shù)算出式定義的BkD(s(i))設(shè)為更大的分支數(shù)能夠保證局部的最小線性有效S盒數(shù)變大,從而提高對(duì)差分攻擊的抵抗性。因而,例如通過(guò)選擇矩陣使得BkD(s(i))為3以上,能夠提高對(duì)差分攻擊的抵抗性。
對(duì)擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列計(jì)算BkD(s(i)),將它們之中最小值的BkD(s(i))設(shè)為BkD。下面說(shuō)明選擇F函數(shù)中的矩陣使得該BkD為3以上的方法。
(4-2-2.使最小分支數(shù)BkD的值為3以上的F函數(shù)中的矩陣選擇結(jié)構(gòu)) 下面說(shuō)明只要存在至少k種矩陣就能夠?qū)崿F(xiàn)使擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列的最小分支數(shù)[BkD(s(i))]中最小的分支數(shù)[BkD]為3以上的情形。
首先,準(zhǔn)備k個(gè)不同的矩陣[A0]、[A1]、[A2]、…[Ak-1]的關(guān)聯(lián)矩陣[A0|A1|…|Ak-1]的分支數(shù)為3以上、即滿足 Branchn([A0|A1|…|Ak-1])≥3 的k個(gè)不同的矩陣[A0]、[A1]、[A2]、…[Ak-1]。
接著,將對(duì)擴(kuò)展Feistel結(jié)構(gòu)的數(shù)據(jù)序列s(i)進(jìn)行輸入的多個(gè)F函數(shù)的線性變換部的線性變換矩陣設(shè)定為如下。
設(shè)定在最初的F函數(shù)Fs(i),1的線性變換部中的線性變換矩陣為A0、 設(shè)定在第二個(gè)F函數(shù)Fs(i),2的線性變換部中的線性變換矩陣為A1、 設(shè)定在第三個(gè)F函數(shù)Fs(i),3的線性變換部中的線性變換矩陣為A2、 設(shè)定在第k個(gè)F函數(shù)Fs(i),k的線性變換部中的線性變換矩陣為Ak-1、 設(shè)定在第k+1個(gè)F函數(shù)Fs(i),k+1的線性變換部中的線性變換矩陣為A0、 設(shè)定在第k+2個(gè)F函數(shù)Fs(i),k+2的線性變換部中的線性變換矩陣為A1、 如上那樣,對(duì)向數(shù)據(jù)序列s(i)進(jìn)行輸入的多個(gè)F函數(shù)從上開始依次重復(fù)配置k個(gè)不同的矩陣[A0]、[A1]、[A2]、…[Ak-1]。
在這樣設(shè)定線性變換矩陣[A0]、[A1]、[A2]、…[Ak-1]的情況下,求出對(duì)任意數(shù)據(jù)序列s(i)進(jìn)行輸入的k個(gè)相鄰的F函數(shù)[Fs(i),j、Fs(i),j+1…Fs(i),j+k-1]中使用的k個(gè)線性變換矩陣[Ms(i),j、Ms(i),j+1…Ms(i),j+k-1]的關(guān)聯(lián)矩陣[Ms(i),j|Ms(i),j+1|…Ms(i),j+k-1]中的分支數(shù)的最小值的式子是 [數(shù)7] 即,保證最小分支數(shù)為3以上。
當(dāng)然,即使輪換矩陣[A0]、[A1]、[A2]、…[Ak-1],效果也相同。另外,如果對(duì)擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列s(i)同樣地設(shè)定矩陣,則僅使用k個(gè)矩陣就能夠使B2D的值為3以上。
這樣,準(zhǔn)備滿足 Branchn([A0|A1|…|Ak-1])≥3 的k個(gè)不同的矩陣[A0]、[A1]、[A2]、…[Ak-1],通過(guò)設(shè)定為在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的F函數(shù)中依次反復(fù)配置這些各矩陣,能夠使最小分支數(shù)BkD的值為3以上,從而實(shí)現(xiàn)利用擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)提高對(duì)差分攻擊的抵抗性。
此外,關(guān)于k的值的選擇,只要k至少為2以上就能夠期望得到上述效果。k越大,被保證的范圍越大,因此能夠進(jìn)一步期望抵抗性的提高。但是,另一方面,由于所需的矩陣種類的最小數(shù)變大,因此有可能不適于有效安裝。因此,k的值應(yīng)該是在設(shè)計(jì)階段根據(jù)狀況而選擇的值。
(4-3.在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)線性攻擊的抵抗性的結(jié)構(gòu)) 接著,說(shuō)明在擴(kuò)展Feistel結(jié)構(gòu)中提高對(duì)線性攻擊的抵抗性的結(jié)構(gòu)。
首先,如所說(shuō)明的那樣,作為實(shí)現(xiàn)對(duì)線性攻擊的抵抗性的指標(biāo),能夠應(yīng)用表現(xiàn)線性掩模的連接關(guān)系的線性路徑(多被稱為線性近似,但是為了與差分對(duì)應(yīng),在此使用稱為“路徑”的詞語(yǔ))所包含的線性有效S盒的最小數(shù)。線性路徑是對(duì)除了加密函數(shù)中的密鑰數(shù)據(jù)以外的所有數(shù)據(jù)部分指定特定的線性掩模值而得到的。在線性變換處理的前后,一對(duì)一地決定輸入線性掩模值與輸出線性掩模值之間的關(guān)系,在非線性變換處理的前后,不是一對(duì)一地決定,而是算出對(duì)某輸入線性掩模的輸出線性掩模的出現(xiàn)概率。對(duì)所有輸出的概率全部相加為1。
在具有SP型F函數(shù)的Feistel結(jié)構(gòu)中,非線性變換僅為由S盒進(jìn)行處理的部分。因而,在這種情況下,具有0以外的概率的線性路徑是從對(duì)明文(輸入)的線性值開始直到密文(輸出)的線性值為止的線性掩模值數(shù)據(jù)的集合,在所有S盒前后提供的線性值具有0以外的概率。將具有0以外的概率的某線性路徑的輸入到S盒的線性值不是0的S盒稱為線性有效S盒。將具有0以外的概率的所有線性路徑的有效S盒數(shù)之中最小的數(shù)稱為最小線性有效S盒數(shù),使用該數(shù)值作為對(duì)線性攻擊的安全性指標(biāo)。
使最小線性有效S盒數(shù)變大來(lái)提高對(duì)線性攻擊的抵抗性。下面說(shuō)明在將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的任意整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)中構(gòu)建使最小線性有效S盒數(shù)的數(shù)量變大的DSM結(jié)構(gòu)的方法。
將在擴(kuò)展Feistel結(jié)構(gòu)所包含的F函數(shù)[Fs(i),x]中使用的線性變換矩陣設(shè)為[Ms(i),x]。此時(shí),將應(yīng)用了分支數(shù)運(yùn)算函數(shù)Branch()的分支數(shù)的算出式B2L(s(i))定義為如下。
[數(shù)8] 上式是求出在對(duì)構(gòu)成擴(kuò)展Feistel結(jié)構(gòu)的任意數(shù)據(jù)序列s(i)進(jìn)行輸入的兩個(gè)相鄰的F函數(shù)[Fs(i),j、Fs(i),j+1]中使用的兩個(gè)線性變換矩陣[Ms(i),j]、[Ms(i),j+1]各自的逆矩陣的轉(zhuǎn)置矩陣[tM-1s(i),j]、[tM-1s(i),j+1]的關(guān)聯(lián)矩陣[tM-1s(i),j|tM-1s(i),j+1]中的分支數(shù)的最小值的式子。
在構(gòu)成擴(kuò)展Feistel結(jié)構(gòu)的任意數(shù)據(jù)序列s(i)中,將與從上一級(jí)對(duì)數(shù)據(jù)序列s(i)進(jìn)行輸入的F函數(shù)的個(gè)數(shù)相當(dāng)?shù)腫j]設(shè)為任意的j,對(duì)于某j, 對(duì)第j個(gè)F函數(shù)的輸入Xs(i),j、 第j個(gè)F函數(shù)的輸出與數(shù)據(jù)序列s(i)上的數(shù)據(jù)之間的異或(XOR)結(jié)果Ws(i),j、 對(duì)第j+1個(gè)F函數(shù)的輸入Xs(i),j+1, 當(dāng)將這些各數(shù)據(jù)的線性掩模分別設(shè)為 ΓXs(i),j、 ΓWs(i),j、 ΓXs(i),j+1 時(shí),如果它們之中任一個(gè)都不為0,則滿足下式。
即, [數(shù)9] 滿足上式。意味著上式左邊的值越大,局部的線性有效S盒數(shù)越大。因而,可以說(shuō)優(yōu)選為選擇矩陣以使B2L(s(i))變大。
然而,當(dāng)在對(duì)數(shù)據(jù)序列s(i)進(jìn)行輸入的兩個(gè)相鄰的F函數(shù)[Fs(i)j、Fs(i),j+1]中使用的兩個(gè)線性變換矩陣[Ms(i),j]、[Ms(i),j+1]是相同的矩陣時(shí),上述的分支數(shù)算出式、即 B2L(s(i)) 一定是最低的值、即2。因此無(wú)法期望得到抵抗性提高的效果。將B2L(s(i))設(shè)為更大的分支數(shù)能夠保證最小線性有效S盒數(shù)變大,從而提高對(duì)線性攻擊的抵抗性。因而,例如通過(guò)選擇矩陣使得B2L(s(i))為3以上,能夠提高對(duì)線性攻擊的抵抗性。
對(duì)擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列計(jì)算B2L(s(i)),將它們之中最小值的B2L(s(i))設(shè)為B2L。下面說(shuō)明選擇F函數(shù)中的矩陣使得該B2L為3以上的方法。
(4-3-1.使最小分支數(shù)B2L的值為3以上的F函數(shù)中的矩陣選擇結(jié)構(gòu)) 下面說(shuō)明只要存在至少兩種矩陣就能夠?qū)崿F(xiàn)使擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列的最小分支數(shù)[B2L(s(i))]中最小的分支數(shù)[B2L]為3以上的情形。
首先,準(zhǔn)備兩個(gè)不同的矩陣[A0]和[A1]的關(guān)聯(lián)矩陣[tA0-1|tA1-1]的分支數(shù)為3以上、即滿足 Branchn([tA0-1|tA1-1])≥3 的兩個(gè)不同的矩陣[A0]和[A1]。
接著,將對(duì)擴(kuò)展Feistel結(jié)構(gòu)的數(shù)據(jù)序列s(i)進(jìn)行輸入的多個(gè)F函數(shù)的線性變換部的線性變換矩陣設(shè)定為如下。
設(shè)定在最初的F函數(shù)Fs(i),1的線性變換部中的線性變換矩陣為A0、 設(shè)定在第二個(gè)F函數(shù)Fs(i),2的線性變換部中的線性變換矩陣為A1、 設(shè)定在第三個(gè)F函數(shù)Fs(i),3的線性變換部中的線性變換矩陣為A0、 如上那樣,對(duì)向數(shù)據(jù)序列s(i)進(jìn)行輸入的多個(gè)F函數(shù)從上開始依次交替地配置兩個(gè)不同的矩陣[A0]和[A1]。
在這樣設(shè)定線性變換矩陣的情況下,求出在對(duì)任意數(shù)據(jù)序列s(i)進(jìn)行輸入的兩個(gè)相鄰的F函數(shù)[Fs(i),j、Fs(i),j+1]中使用的兩個(gè)線性變換矩陣[Ms(i),j]、[Ms(i),j+1]各自的逆矩陣的轉(zhuǎn)置矩陣[tM-1s(i),j]、[tM-1s(i),j+1]的關(guān)聯(lián)矩陣[tM-1s(i),j|tM-1s(i),j+1]中的分支數(shù)的最小值的上式成為 [數(shù)10] 即,保證最小分支數(shù)為3以上。
當(dāng)然,即使輪換矩陣[A0]和[A1],效果也相同。另外,如果對(duì)擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列s(i)同樣地設(shè)定矩陣,則僅使用兩個(gè)矩陣就能夠使B2L的值為3以上。
這樣,準(zhǔn)備滿足Branchn([tA0-1|tA1-1])≥3的兩個(gè)不同的矩陣[A0]和[A1],通過(guò)設(shè)定為在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的F函數(shù)中交替地配置這些各矩陣,能夠使最小分支數(shù)B2L的值為3以上,從而實(shí)現(xiàn)利用擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)提高對(duì)線性攻擊的抵抗性。
[5.對(duì)于具有特定形式的擴(kuò)展Feistel結(jié)構(gòu)的DSM的利用結(jié)構(gòu)] 如上所述,通過(guò)在將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的任意整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)中應(yīng)用DSM技術(shù),能夠提高對(duì)差分攻擊、線性攻擊的抵抗性。下面,說(shuō)明能夠以較高的水平保證對(duì)差分攻擊、線性攻擊的安全性指標(biāo)的具體的擴(kuò)展Feistel結(jié)構(gòu)。
如之前參照?qǐng)D5、圖6所說(shuō)明的那樣,將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的任意整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)是能夠進(jìn)行從其它各種數(shù)據(jù)序列對(duì)一個(gè)數(shù)據(jù)序列的輸入、并且能夠在一個(gè)循環(huán)中并行地執(zhí)行多個(gè)F函數(shù)等的各種結(jié)構(gòu)。下面,將擴(kuò)展Feistel結(jié)構(gòu)大致分類為兩個(gè)類型(類型1、類型2),按每各個(gè)類型說(shuō)明能夠以較高的水平保證對(duì)差分攻擊、線性攻擊的安全性指標(biāo)的具體的擴(kuò)展Feistel結(jié)構(gòu)。
(5-1.對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型1的DSM的應(yīng)用) 首先,參照?qǐng)D8說(shuō)明對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型1的DSM的應(yīng)用。
設(shè)擴(kuò)展Feistel結(jié)構(gòu)的類型1具有以下參數(shù)。
參數(shù) (a)數(shù)據(jù)分割數(shù)d(d為3以上) (b)輸入輸出數(shù)據(jù)長(zhǎng)度dmn比特 (c)分割數(shù)據(jù)長(zhǎng)度mn比特 (d)每一個(gè)循環(huán)的F函數(shù)的數(shù)量1 如圖8所示,在各循環(huán)內(nèi),對(duì)圖8所示的左端的數(shù)據(jù)序列上的mn比特?cái)?shù)據(jù)應(yīng)用F函數(shù),將F函數(shù)的處理結(jié)果輸出到緊鄰的數(shù)據(jù)序列并進(jìn)行異或。此外,在圖8中省略異或的運(yùn)算標(biāo)記。
如圖8所示,采用如下結(jié)構(gòu)在各循環(huán)中對(duì)F函數(shù)進(jìn)行數(shù)據(jù)輸入的左端的數(shù)據(jù)序列在下一個(gè)循環(huán)中移動(dòng)到右端,其以外的數(shù)據(jù)序列逐一向左移動(dòng)。
說(shuō)明這樣在各循環(huán)的每一個(gè)循環(huán)中執(zhí)行一個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)中應(yīng)用DSM來(lái)提高對(duì)差分攻擊和線性攻擊的抵抗性的結(jié)構(gòu)。
在之前所說(shuō)明的(4-2.在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)差分攻擊的抵抗性的結(jié)構(gòu))中,說(shuō)明了以下情形對(duì)擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列計(jì)算B2D(s(i)),將它們之中最小值的B2D(s(i))設(shè)為B2D,選擇F函數(shù)中的矩陣使得該B2D為3以上,由此提高對(duì)差分攻擊的抵抗性。
并且,在之前所說(shuō)明的(4-3.在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)線性攻擊的抵抗性的結(jié)構(gòu))中,說(shuō)明了以下情形對(duì)擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列計(jì)算B2L(s(i)),將它們之中最小值的B2L(s(i))設(shè)為B2L,選擇F函數(shù)中的矩陣使得該B2L為3以上,由此提高對(duì)線性攻擊的抵抗性。
除了該B2D和B2L,還將B1D設(shè)為包含在如圖8所示的類型1的擴(kuò)展Feistel結(jié)構(gòu)中的F函數(shù)中的線性變換矩陣的分支數(shù)中的最小的分支數(shù)。
此時(shí),當(dāng)將包含在如圖8所示的類型1的擴(kuò)展Feistel結(jié)構(gòu)中的連續(xù)p個(gè)循環(huán)中的差分有效S盒數(shù)記載為ActD(p)、將線性有效S盒數(shù)記載為ActL(p)時(shí),存在下面的關(guān)系式。
ActD(3d)≥B1D+B2D ActL(3d)≥2B2L 在上式中, ActD(3d)表示包含在連續(xù)的3d個(gè)循環(huán)中的差分有效S盒數(shù), ActL(3d)表示包含在連續(xù)的3d個(gè)循環(huán)中的線性有效S盒數(shù)。
稍后記述這些關(guān)系式成立的證明。
根據(jù)該內(nèi)容,通過(guò)利用使B1D、B2D、B2L變大那樣的矩陣,能夠確保有效S盒數(shù)變大,其結(jié)果,能夠提高對(duì)差分攻擊和線性攻擊的抵抗性。
此外,已知這些B1D、B2D、B2L的邏輯上的最大值為m+1。
在上述的式子、即 ActD(3d)≥B1D+B2D ActL(3d)≥2B2L 這些式子的右邊包含之前所說(shuō)明的最小分支數(shù)B2D或B2L,使這些最小分支數(shù)的值變大有助于確保有效S盒數(shù)變大,對(duì)提高對(duì)差分攻擊和線性攻擊的抵抗性是有效的。因而,在如圖8所示的擴(kuò)展Feistel結(jié)構(gòu)的類型1的結(jié)構(gòu)中,之前所說(shuō)明的使最小分支數(shù)B2D或B2L為3以上的結(jié)構(gòu)是有效的,通過(guò)設(shè)為該結(jié)構(gòu)能夠保證對(duì)差分攻擊和線性攻擊的抵抗性比以往更高。
(5-2.對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型2的DSM的應(yīng)用) 接著,參照?qǐng)D9說(shuō)明對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型2的DSM的應(yīng)用。
設(shè)擴(kuò)展Feistel結(jié)構(gòu)的類型2具有以下參數(shù)。
參數(shù) (a)數(shù)據(jù)分割數(shù)d(其中,d為4以上的偶數(shù)) (b)輸入輸出數(shù)據(jù)長(zhǎng)度dmn比特 (c)分割數(shù)據(jù)長(zhǎng)度mn比特 (d)每一個(gè)循環(huán)的F函數(shù)的數(shù)量d/2 如圖9所示,在各循環(huán)內(nèi),對(duì)從左端起處于第奇數(shù)個(gè)的mn比特的數(shù)據(jù)序列應(yīng)用F函數(shù),將F函數(shù)的處理結(jié)果輸出到緊鄰的數(shù)據(jù)序列并進(jìn)行異或。此外,在圖9中省略異或的運(yùn)算標(biāo)記。
如圖9所示,采用如下結(jié)構(gòu)在各循環(huán)中,對(duì)F函數(shù)進(jìn)行數(shù)據(jù)輸入的左端的數(shù)據(jù)序列在下一個(gè)循環(huán)中移動(dòng)到右端,其以外的數(shù)據(jù)序列逐一向左移動(dòng)。
說(shuō)明這樣在各循環(huán)的每一個(gè)循環(huán)中執(zhí)行d/2個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)中應(yīng)用DSM來(lái)提高對(duì)差分攻擊和線性攻擊的抵抗性的結(jié)構(gòu)。
在之前所說(shuō)明的(4-2.在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)差分攻擊的抵抗性的結(jié)構(gòu))中,說(shuō)明了以下情形對(duì)擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列計(jì)算B2D(s(i)),將它們之中最小值的B2D(s(i))設(shè)為B2D,選擇F函數(shù)中的矩陣使得該B2D為3以上,由此提高對(duì)差分攻擊的抵抗性。
并且,在之前所說(shuō)明的(4-3.在擴(kuò)展Feistel結(jié)構(gòu)中用于提高對(duì)線性攻擊的抵抗性的結(jié)構(gòu))中,說(shuō)明了以下情形對(duì)擴(kuò)展Feistel結(jié)構(gòu)的所有數(shù)據(jù)序列計(jì)算B2L(s(i)),將它們之中最小值的B2L(s(i))設(shè)為B2L,選擇F函數(shù)中的矩陣使得該B2L為3以上,由此提高對(duì)線性攻擊的抵抗性。
除了該B2D和B2L,還將B1D設(shè)為如圖9所示的類型2的擴(kuò)展Feistel結(jié)構(gòu)中包含的F函數(shù)中的線性變換矩陣的分支數(shù)中的最小的分支數(shù)。
此時(shí),當(dāng)將包含在如圖9所示的類型2的擴(kuò)展Feistel結(jié)構(gòu)中的連續(xù)p個(gè)循環(huán)中的差分有效S盒數(shù)記載為ActD(p)、將線性有效S盒數(shù)記載為ActL(p)時(shí),存在下面的關(guān)系式。
ActD(6)≥B1D+B2D ActL(6)≥2B2 在上式中, ActD(6)表示包含在連續(xù)的6個(gè)循環(huán)中的差分有效S盒數(shù), ActL(6)表示包含在連續(xù)的6個(gè)循環(huán)中的線性有效S盒數(shù)。
稍后記述這些關(guān)系式成立的證明。
根據(jù)該內(nèi)容,通過(guò)利用使B1D、B2D、B2L變大那樣的矩陣,能夠確保有效S盒數(shù)變大,其結(jié)果,能夠提高對(duì)差分攻擊和線性攻擊的抵抗性。
此外,已知這些B1D、B2D、B2L的邏輯上的最大值為m+1。
在上述的式子、即 ActD(6)≥B1D+B2D ActL(6)≥2B2L 這些式子的右邊包含之前所說(shuō)明的最小分支數(shù)B2D或B2L,使這些最小分支數(shù)的值變大有助于確保有效S盒數(shù)變大,對(duì)提高對(duì)差分攻擊和線性攻擊的抵抗性是有效的。因而,在如圖9所示的擴(kuò)展Feistel結(jié)構(gòu)的類型2的結(jié)構(gòu)中,之前所說(shuō)明的使最小分支數(shù)B2D或B2L為3以上的結(jié)構(gòu)是有效的,通過(guò)設(shè)為該結(jié)構(gòu)能夠保證對(duì)差分攻擊和線性攻擊的抵抗性比以往更高。
[6.擴(kuò)展Feistel結(jié)構(gòu)各類型的有效S盒數(shù)與基于F函數(shù)中的線性變換矩陣的最小分支數(shù)之間的關(guān)系式的證明] 接著,說(shuō)明在上述的 (5-1.對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型1的DSM的應(yīng)用) (5-2.對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型2的DSM的應(yīng)用) 中所說(shuō)明的有效S盒數(shù)與基于F函數(shù)中的線性變換矩陣的最小分支數(shù)之間的關(guān)系式的證明。
(6-1.擴(kuò)展Feistel結(jié)構(gòu)的類型1的有效S盒數(shù)與基于F函數(shù)中的線性變換矩陣的最小分支數(shù)之間的關(guān)系式的證明) 首先,說(shuō)明之前參照?qǐng)D8所說(shuō)明的擴(kuò)展Feistel結(jié)構(gòu)的類型1的有效S盒數(shù)與基于F函數(shù)中的線性變換矩陣的最小分支數(shù)之間的關(guān)系式的證明。
即,證明將包含在類型1的擴(kuò)展Feistel結(jié)構(gòu)中的連續(xù)的p個(gè)循環(huán)中的差分有效S盒數(shù)記載為ActD(p)、將線性有效S盒數(shù)記載為ActL(p)的情況下的關(guān)系式、 ActD(3d)≥B1D+B2D ActL(3d)≥2B2L 該關(guān)系式成立。
能夠如圖10那樣以其它的形式表示之前參照?qǐng)D8所說(shuō)明的擴(kuò)展Feistel結(jié)構(gòu)的類型1的結(jié)構(gòu)。在圖8中在每個(gè)循環(huán)中輪換表示各數(shù)據(jù)序列的排列使得對(duì)F函數(shù)進(jìn)行輸入的數(shù)據(jù)序列位于左端,但是圖10不進(jìn)行數(shù)據(jù)序列在每個(gè)循環(huán)中的輪換,而以一條直線表示。在圖10中示出循環(huán)1~6d。將d個(gè)的循環(huán)(循環(huán)1~d、d+1~2d、…、5d+1~6d)排列在一條橫線上來(lái)表示,但是它們并不是被并行地執(zhí)行,而是依次執(zhí)行各循環(huán)、例如循環(huán)1~d。
另外,圖中省略了在F函數(shù)的輸出與各數(shù)據(jù)序列的交點(diǎn)的異或(XOR)運(yùn)算,但是在F函數(shù)的輸出與各數(shù)據(jù)序列的交點(diǎn)上執(zhí)行異或(XOR)運(yùn)算,其結(jié)果成為下一個(gè)循環(huán)的F函數(shù)的輸入。
證明在該擴(kuò)展Feistel結(jié)構(gòu)的類型1的結(jié)構(gòu)中之前在(5-1.對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型1的DSM的應(yīng)用)中所說(shuō)明的關(guān)系式、 ActD(3d)≥B1D+B2D ActL(3d)≥2B2L 成立。
在上式中, ActD(3d)、ActL(3d)意味著包含在圖8或圖10所示的類型1的擴(kuò)展Feistel結(jié)構(gòu)中的連續(xù)的3d個(gè)循環(huán)中的差分有效S盒數(shù)和線性有效S盒數(shù)。
B1B是包含在類型1的擴(kuò)展Feistel結(jié)構(gòu)中的F函數(shù)中的線性變換矩陣的分支數(shù)中的最小的分支數(shù), B2D、B2L是在之前在(4-2)、(4-3)中所說(shuō)明的對(duì)擴(kuò)展Feistel結(jié)構(gòu)中包含的一個(gè)數(shù)據(jù)序列進(jìn)行輸入的連續(xù)的F函數(shù)中的線性變換矩陣的關(guān)聯(lián)矩陣的最小分支數(shù)、以及逆矩陣的轉(zhuǎn)置矩陣的關(guān)聯(lián)矩陣的最小分支數(shù)。
將B1D、B2D、B2L定義為如下。
[數(shù)11] 此外,在上述定義中, 的關(guān)系成立。
另外,設(shè)為用Dk表示包含在圖8或圖10所示的類型1的擴(kuò)展Feistel結(jié)構(gòu)中的第k個(gè)F函數(shù)中的差分有效S盒數(shù),用Lk表示線性有效S盒數(shù)。
(證明1.ActD(3d)≥B1D+B2D的證明) 首先證明ActD(3d)≥B1D+B2D。
即,證明包含在圖8、圖10所示的類型1的擴(kuò)展Feistel結(jié)構(gòu)中連續(xù)的3d個(gè)循環(huán)中的差分有效S盒的個(gè)數(shù)為B1D+B2D以上。
考察在類型1的擴(kuò)展Feistel結(jié)構(gòu)中提供輸入不是零的差分(ΔX)的情況。在這種情況下,類型1的擴(kuò)展Feistel結(jié)構(gòu)具有以下四個(gè)性質(zhì)。
(性質(zhì)1)在連續(xù)的d個(gè)循環(huán)中至少一個(gè)循環(huán)中存在不是0的差分有效S盒 (性質(zhì)2)如果Dk=0,則Dk-d+1=Dk+1 (性質(zhì)3)如果Dk≠0,則Dk-d+1+Dk+Dk+1≥B1D (性質(zhì)4)如果Dk+Dk+d≠0,則Dk-d+1+Dk+Dk+d+Dk+d+1≥B2D 利用以上四個(gè)性質(zhì),進(jìn)行 ActD(3d)≥B1D+B2D 的證明、即證明“包含在連續(xù)的3d個(gè)循環(huán)中的差分有效S盒的個(gè)數(shù)為B1D+B2D以上”。
考慮作為對(duì)象的循環(huán)為從第i+1個(gè)到第i+3d個(gè)的循環(huán)。
情況1假設(shè)在從第i+d+2個(gè)循環(huán)到第i+2d-1個(gè)循環(huán)中存在不是0的有效S盒的情況。
當(dāng)將存在不是0的有效S盒的循環(huán)設(shè)為k時(shí),表示為Dk≠0。
情況1-1除了情況1,在Dk+d-1≠0的情況下, 根據(jù)性質(zhì)3,Dk+Dk+1+Dk-d+1≥B1D 根據(jù)性質(zhì)4,Dk+d-1+Dk-2d+Dk-1+Dk+d≥B2D, 因此得出 [數(shù)12] 情況1-2除了情況1,在Dk+1≠0的情況下, 根據(jù)性質(zhì)3,Dk+1+Dk+2+Dk-d+2≥B1D 根據(jù)性質(zhì)4,Dk+Dk-d+1+Dk+d+Dk+d+1≥B2D, 因此得出 [數(shù)13] 情況1-3除了情況1,在Dk+d-1=0并且Dk+1=0的情況下, 根據(jù)性質(zhì)2,Dk=Dk+d≠0 根據(jù)性質(zhì)3,Dk+Dk+1+Dk-d+1≥B1D 根據(jù)性質(zhì)3,Dk+d+Dk+d+1+Dk+1≥B2D Dk+1=0,因此得出 [數(shù)14] 情況2假設(shè)在從第i+d+2個(gè)循環(huán)到第i+2d-1個(gè)循環(huán)中不存在不是0的有效S盒的情況。
根據(jù)性質(zhì)1,Di+d+1≠0、或者Di+2d≠0。
情況2-1在Di+d+1≠0而Di+2d=0的情況下, 根據(jù)性質(zhì)2,Di+d+1=Di+2d+1≠0 根據(jù)性質(zhì)3,Di+d+1+Di+d+2+Di+2≥B1D 根據(jù)性質(zhì)3,Di+2d+1+Di+2d+2+Di+d+2≥B1D Di+d+2=0,因此得出 [數(shù)15] 情況2-2在Di+d+1=0而Di+2d≠0的情況下, 根據(jù)性質(zhì)2,Di+2d=Di+d≠0 根據(jù)性質(zhì)3,Di+d+Di+d+1+Di+1≥B1D 根據(jù)性質(zhì)3,Di+2d+Di+2d+1+Di+d+1≥B1D Di+d+1=0,因此得出 [數(shù)16] 情況2-3在Di+d+1≠0并且Di+2d≠0的情況下, 根據(jù)性質(zhì)3,Di+d+1+Di+d+2+Di+2≥B1D 根據(jù)性質(zhì)3,Di+2d+Di+2d+1+Di+d+Di+1≥B2D,因此得出 [數(shù)17] 當(dāng)綜合以上的情況1和情況2時(shí),證明出 [數(shù)18] 即, ActD(3d)≥B1D+B2D 成立,證明出包含在圖8、圖10所示的類型1的擴(kuò)展Feistel結(jié)構(gòu)中連續(xù)的3d個(gè)循環(huán)中的差分有效S盒的個(gè)數(shù)為B1D+B2D以上。
(證明2.ActL(3d)≥2B2L的證明) 接著,證明ActL(3d)≥2B2L。
即,證明包含在圖8、圖10所示的類型1的擴(kuò)展Feistel結(jié)構(gòu)中連續(xù)的3d個(gè)循環(huán)中的線性有效S盒的個(gè)數(shù)為2B2L以上。
此外,B2L如上所述那樣,定義為 [數(shù)19] 另外,設(shè)為用Lk表示包含在第k個(gè)F函數(shù)中的線性有效S盒的數(shù)量。
在類型1的擴(kuò)展Feistel結(jié)構(gòu)中提供了輸入不是零的線性掩模的情況下,具有以下兩個(gè)性質(zhì)。
(性質(zhì)5)在連續(xù)的d個(gè)循環(huán)中的至少一個(gè)循環(huán)中存在不是0的線性有效S盒 (性質(zhì)6)Lk+Lk+1+Lk+d≥B2L、或者Lk+Lk+1+Lk+d=0。此外,在Lk+Lk+1+Lk+d≥B2L的情況下,左邊包含的兩個(gè)以上的項(xiàng)不會(huì)同時(shí)為0。
利用以上兩個(gè)性質(zhì),進(jìn)行 ActL(3d)≥2B2L 的證明、即證明“包含在連續(xù)的3d個(gè)循環(huán)中的線性有效S盒的個(gè)數(shù)為2B2L以上”。
考慮作為對(duì)象的循環(huán)為從第i+1個(gè)到第i+3d個(gè)的循環(huán)。
情況1假設(shè)在從第i+d+2個(gè)循環(huán)到第i+2d個(gè)循環(huán)中存在不是0的有效S盒的情況。
當(dāng)將存在不是0的有效S盒的循環(huán)設(shè)為k時(shí),Lk≠0。
情況1-1除了情況1,在Lk+d≠0或者Lk-1≠0的情況下, 根據(jù)性質(zhì)6,Lk+Lk+d+Lk+1≥B2L 根據(jù)性質(zhì)6,Lk-1+Lk-1-d+Lk-d≥B2L, 因此得出 [數(shù)20] 情況1-2除了情況1,在Lk+d=0并且Lk-1=0的情況下,根捱性質(zhì)6,Lk-d+1≠0 根據(jù)性質(zhì)6,Lk+Lk-1+Lk+d-1≥B2L 根據(jù)性質(zhì)6,Lk-d+1+Lk+1+Lk-d+2≥B2L 此時(shí)如果d≥4,則得出 [數(shù)21] 如果d=3,則雖然Lk-1重復(fù),但是已知Lk-1=0,因此同樣得出 [數(shù)22] 情況2假設(shè)在從第i+d+2個(gè)循環(huán)到第i+2d-1個(gè)循環(huán)中不存在不是0的有效S盒的情況。
根據(jù)性質(zhì)1,得出Li+d+1≠0。
根據(jù)性質(zhì)6,Li+d≠0 根據(jù)性質(zhì)6,Li+d+1+Li+d+2+Li+2d+1≥B2L 根據(jù)性質(zhì)6,Li+d+Li+d-1+Li+2d-1≥B2L 此時(shí),如果d≥4,則得出 [數(shù)23] 如果d=3,則雖然Li+5重復(fù),但是已知Li+5=0,因此同樣得出 [數(shù)24] 當(dāng)綜合以上的情況1和情況2時(shí),證明出 [數(shù)25] 即, ActL(3d)≥2B2L成立,證明出包含在圖8、圖10所示的類型1的擴(kuò)展Feistel結(jié)構(gòu)中連續(xù)的3d個(gè)循環(huán)中的線性有效S盒的個(gè)數(shù)為2B2L以上。
(6-2.擴(kuò)展Feistel結(jié)構(gòu)的類型2的有效S盒數(shù)與基于F函數(shù)中的線性變換矩陣的最小分支數(shù)之間的關(guān)系式的證明) 接著,說(shuō)明參照?qǐng)D9所說(shuō)明的擴(kuò)展Feistel結(jié)構(gòu)的類型2的有效S盒數(shù)與基于F函數(shù)中的線性變換矩陣的最小分支數(shù)之間的關(guān)系式的證明。
即,證明將包含在類型2的擴(kuò)展Feistel結(jié)構(gòu)中的連續(xù)的p個(gè)循環(huán)中的差分有效S盒數(shù)記載為ActD(p)、將線性有效S盒數(shù)記載為ActL(p)的情況下的關(guān)系式 ActD(6)≥B1D+B2D ActL(6)≥2B2L 該關(guān)系式成立。
能夠如圖11所示那樣以其它的形式表示之前參照?qǐng)D9所說(shuō)明的擴(kuò)展Feistel結(jié)構(gòu)的類型2的結(jié)構(gòu)。在圖9中,在每個(gè)循環(huán)中輪換表示各數(shù)據(jù)序列的排列,但是圖11不進(jìn)行數(shù)據(jù)序列的輪換,而以一條直線表示。在圖11中,表示循環(huán)1~12。將兩個(gè)循環(huán)(1~2、3~4、··)的F函數(shù)排列在一條橫線上來(lái)顯示。例如,在第一個(gè)循環(huán)中并行地執(zhí)行圖11所示的循環(huán)1~2的橫線上表示出的F函數(shù)F1,0~F1,d-1中的F1,0、F1,2、…、F1,d-2的每隔一個(gè)的F函數(shù)(輸出的箭頭向上)。在接下來(lái)的第二個(gè)循環(huán)中并行地執(zhí)行剩余的F1,1、F1,3、…、F1,d-1的每隔一個(gè)的F函數(shù)(輸出的箭頭向下)。
在圖11中,用于識(shí)別F函數(shù)的編號(hào)是為了容易理解證明而新導(dǎo)入的編號(hào),使用兩個(gè)數(shù)字決定F函數(shù)的位置。
Fi,j的i表示循環(huán)數(shù)(1=1、2循環(huán),2=3、4循環(huán)··),y表示兩個(gè)循環(huán)中的F函數(shù)之一。此外,如果j是0、2、4的偶數(shù),則為先行循環(huán)中的F函數(shù),如果j是1、3、5的奇數(shù),則為后續(xù)循環(huán)中的F函數(shù)。此外,將包含在F函數(shù)Fi,j中的線性變換矩陣稱為[Mi,j]。
證明在該擴(kuò)展Feistel結(jié)構(gòu)的類型2的結(jié)構(gòu)中之前在(5-2.對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型2的DSM的應(yīng)用)中說(shuō)明的關(guān)系式 ActD(6)≥B1D+B2D ActL(6)≥2B2L 成立。
在上式中, ActD(6)、ActL(6)意味著包含在圖9或圖11所示的類型2的擴(kuò)展Feistel結(jié)構(gòu)中的連續(xù)的6個(gè)循環(huán)中的差分有效S盒數(shù)和線性有效S盒數(shù)。
B1D是包含在類型2的擴(kuò)展Feistel結(jié)構(gòu)中的F函數(shù)中的線性變換矩陣的分支數(shù)中的最小的分支數(shù), B2D、B2L是包含在之前在(4-2)、(4-3)中所說(shuō)明的擴(kuò)展Feistel結(jié)構(gòu)中的對(duì)一個(gè)數(shù)據(jù)序列進(jìn)行輸入的連續(xù)的F函數(shù)中的線性變換矩陣的關(guān)聯(lián)矩陣的最小分支數(shù)、以及逆矩陣的轉(zhuǎn)置矩陣的關(guān)聯(lián)矩陣的最小分支數(shù)。
將B1D、B2D、B2L定義為如下。
[數(shù)26] 此外,在上述定義中, B1D≥B2D 的關(guān)系成立。
另外,用Dp,q表示包含在Fp,q中的有效S盒數(shù)。此外,以后,在下標(biāo)q的部分具有負(fù)值或d以上的值的情況下,設(shè)為利用d進(jìn)行剩余運(yùn)算(q mod d)來(lái)進(jìn)行補(bǔ)正使得總是成為0≤q<d。
(證明3.ActD(6)≥B1D+B2D的證明) 首先,證明ActD(6)≥B1D+B2D。
即,證明包含在圖9、圖11所示的類型2的擴(kuò)展Feistel結(jié)構(gòu)中連續(xù)的6個(gè)循環(huán)中的差分有效S盒的個(gè)數(shù)為B1D+B2D以上。
考察在類型2的擴(kuò)展Feistel結(jié)構(gòu)中提供輸入了不是零的差分(ΔX)的情況。在這種情況下,類型2的擴(kuò)展Feistel結(jié)構(gòu)具有以下四個(gè)性質(zhì)。
(性質(zhì)1)對(duì)于某個(gè)i,在Fp,q(p=i、q∈{0、…d-1})中存在不是0的差分有效S盒 (性質(zhì)2)如果Dp,q=0,則 Dp-1,q+1=Dp,q+1(q是偶數(shù)時(shí)) Dp,q+1=Dp+1,q+1(q是奇數(shù)時(shí)) (性質(zhì)3)如果Dp,q≠0,則 Dp,q+Dp-1,q+1+Dp,q+1≥B1D(q是偶數(shù)時(shí)) Dp,q+Dp,q+1+Dp+1,q+1≥B1D(q是奇數(shù)時(shí)) (性質(zhì)4)如果Dp,q+Dp+1,q≠0,則 Dp,q+Dp+1,q+Dp-1,q+1+Dp+1,q+1≥B2D(q是偶數(shù)時(shí)) Dp,q+Dp+1,q+Dp,q+1+Dp+2,q+1≥B2D(q是奇數(shù)時(shí)) 利用以上四個(gè)性質(zhì),進(jìn)行 ActD(6)≥B1D+B2D 的證明、即證明“對(duì)于1以上的任意整數(shù)i,包含在滿足p∈{i、i+1、i+2}、q∈{0、1、…d-1}的3d個(gè)F函數(shù)Fp,q中的差分有效S盒的總數(shù)為B1D+B2D以上”。
在任意取出Dp,q(p=i+1、q∈{0、…d-1})的非零要素時(shí),將其設(shè)為Dj,k≠0。根據(jù)上述的(性質(zhì)1)示出一定存在。
情況1在Dj,k-1≠0的情況下, 根據(jù)性質(zhì)3, Dj,k+Dj-1,k+1+Dj,k+1≥B1D(k是偶數(shù)時(shí)) Dj,k+Dj,k+1+Dj+1,k+1≥B1D(k是奇數(shù)時(shí)) 根據(jù)性質(zhì)4, Dj-1,k-1+Dj,k-1+Dj-1,k+Dj+1,k≥B2D(k是偶數(shù)時(shí)) Dj,k-1+Dj+1,k-1+Dj-1,k+Dj+1,k≥B2D(k是奇數(shù)時(shí)),因此 [數(shù)27] 成立。
情況2在Dj,k+1≠0的情況下, 根據(jù)性質(zhì)3, Dj,k+1+Dj,k+2+Dj+1,k+2≥B1D(k是偶數(shù)時(shí)) Dj,k+1+Dj-1,k+2+Dj,k+2≥B1D(k是奇數(shù)時(shí)) 根據(jù)性質(zhì)4, Dj,k+Dj+1,k+Dj-1,k+1+Dj+1,k+1≥B2D(k是偶數(shù)時(shí)) Dj-1,k+Dj,k+Dj-1,k+1+Dj+1,k+1≥B2D(k是奇數(shù)時(shí)),因此 [數(shù)28] 成立。
情況3在Dj,k-1=0并且Dj,k+1=0的情況下, 根據(jù)性質(zhì)2,Dj,k-1=0,因此 Dj+1,k=Dj,k≠0(k是偶數(shù)時(shí)) Dj-1,k=Dj,k≠0(k是奇數(shù)時(shí)) 根據(jù)性質(zhì)3, Dj,k+Dj-1,k+1+Dj,k+1≥B1D(k是偶數(shù)時(shí)) Dj,k+Dj,k+1+Dj+1,k+1≥B1D(k是奇數(shù)時(shí))還根據(jù)性質(zhì)3, Dj+1,k+Dj,k+1+Dj+1,k+1≥B1D(k是偶數(shù)時(shí)) Dj-1,k+Dj-1,k+1+Dj,k+1≥B1D(k是奇數(shù)時(shí))Dj,k+1=0,因此 [數(shù)29] 成立。
當(dāng)綜合以上時(shí),證明出 [數(shù)30] 即, ActD(6)≥B1D+B2D 成立,證明出包含在圖9、圖11所示的類型2的擴(kuò)展Feistel結(jié)構(gòu)中連續(xù)6個(gè)循環(huán)中的差分有效S盒的個(gè)數(shù)為B1D+B2D以上。
(證明4.ActL(6)≥2B2L的證明) 接著,證明ActL(6)≥2B2L。
即,證明包含在圖9、圖11所示的類型2的擴(kuò)展Feistel結(jié)構(gòu)中連續(xù)6個(gè)循環(huán)中的線性有效S盒的個(gè)數(shù)為2B2L以上。
此外,如上所述,B2L定義為 [數(shù)31] 另外,設(shè)為用Lp,q表示包含在第Fp,q個(gè)F函數(shù)中的線性有效S盒數(shù)。
在類型2的擴(kuò)展Feistel結(jié)構(gòu)中提供了輸入不是零的線性掩模的情況下,具有以下兩個(gè)性質(zhì)。
(性質(zhì)5)對(duì)于某個(gè)i,在Fp,q(p=i、q∈{0、…d-1})中存在不是0的線性有效S盒 (性質(zhì)6) Lj,k+Lj+1,k+Lj,k+1≥B2L、或者Lj,k+Lj+1,k+Lj,k+1=0(k是偶數(shù)時(shí)) Lj,k+Lj+1,k+Lj+1,k+1≥B2L、或者Lj,k+Lj+1,k+Lj+1,k+1=0(k是奇數(shù)時(shí)) 此外,在La+Lb+Lc≥B2L的形式的情況下,左邊包含的兩個(gè)以上的項(xiàng)不會(huì)同時(shí)為0。
利用以上兩個(gè)性質(zhì),進(jìn)行 ActL(6)≥2B2L 的證明、即證明“對(duì)于1以上的任意整數(shù)i,包含在滿足p∈{i、i+1、i+2}、q∈{0、1、…d-1}的3d個(gè)F函數(shù)Fp,q中的線性有效S盒的總數(shù)為2B2L以上”。
在任意取出Lp,q(p=i+1、q∈{0、…d-1})的不是0的要素時(shí),將其設(shè)為L(zhǎng)j,k≠0。根據(jù)性質(zhì)5示出一定存在上述Lj,k。
根據(jù)性質(zhì)6, Lj-1,k+Lj,k+Lj-1,k+1≥B2L(k是偶數(shù)時(shí)) Lj,k+Lj+1,k+Lj+1,k+1≥B2L(k是奇數(shù)時(shí)) 情況1在Lj,k-1≠0的情況下, 根據(jù)性質(zhì)6, Lj,k-1+Lj+1,k-1+Lj+1,k≥B2L(k是偶數(shù)時(shí)) Lj-1,k-1+Lj,k-1+Lj-1,k≥B2L(k是奇數(shù)時(shí)) 因而,在這種情況下, [數(shù)32] 成立。
情況2在Lj,k-1=0的情況下, 根據(jù)性質(zhì)6, Lj-1,k-1≠0(k是偶數(shù)時(shí)) Lj+1,k-1≠0(k是奇數(shù)時(shí)) 因此, Lj-1,k-2+Lj,k-2+Lj-1,k-1≥B2L(k是偶數(shù)時(shí)) Lj,k-2+Lj+1,k-2+Lj+1,k-1≥B2L(k是奇數(shù)時(shí)) 此時(shí)d≥4,因此,在這種情況下 [數(shù)33] 成立。
當(dāng)綜合以上的情況1和情況2時(shí),證明出 [數(shù)34] 即, ActL(6)≥2B2L 成立,證明出包含在圖9、圖11所示的類型2的擴(kuò)展Feistel結(jié)構(gòu)中連續(xù)的6個(gè)循環(huán)中的線性有效S盒的個(gè)數(shù)為2B2L以上。
[7.基于F函數(shù)的設(shè)定以及利用處理的方法的安裝中的改進(jìn)結(jié)構(gòu)] 如上所述,在本發(fā)明中實(shí)現(xiàn)如下結(jié)構(gòu)在將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)中,作為各循環(huán)的F函數(shù)的線性變換處理,應(yīng)用選擇性地應(yīng)用至少兩個(gè)以上的不同的矩陣的所謂的擴(kuò)散矩陣切換機(jī)構(gòu)(DSM),由此提高對(duì)線性分析、差分分析的抵抗性。
這樣,在利用硬件來(lái)實(shí)現(xiàn)執(zhí)行選擇應(yīng)用不同的多個(gè)矩陣的運(yùn)算處理的結(jié)構(gòu)的情況下,需要具有進(jìn)行與各個(gè)矩陣對(duì)應(yīng)的運(yùn)算的硬件結(jié)構(gòu)的不同的F函數(shù)處理部。特別是要在一個(gè)循環(huán)中并行地執(zhí)行多個(gè)F函數(shù)的情況下,需要用于進(jìn)行并行處理的多個(gè)F函數(shù)用電路。
即,在之前參照?qǐng)D9、圖11說(shuō)明的類型2的擴(kuò)展Feistel結(jié)構(gòu)中,是并行地執(zhí)行在同一循環(huán)中應(yīng)用了多個(gè)F函數(shù)的數(shù)據(jù)變換處理的結(jié)構(gòu),在利用硬件執(zhí)行基于該類型2的結(jié)構(gòu)的處理的情況下,需要安裝在一個(gè)循環(huán)中并行執(zhí)行的個(gè)數(shù)的F函數(shù)的硬件。即使在這種被要求并行執(zhí)行的F函數(shù)是相同結(jié)構(gòu)的情況下,也必須具備多個(gè)具有該相同結(jié)構(gòu)的F函數(shù)。
如上所述,本發(fā)明的密碼處理結(jié)構(gòu)具有如下結(jié)構(gòu)通過(guò)設(shè)為在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中選擇性地應(yīng)用至少兩個(gè)以上的多個(gè)不同的矩陣的結(jié)構(gòu),提高了對(duì)各種攻擊的抵抗性。即,設(shè)為具備擴(kuò)散矩陣切換機(jī)構(gòu)(DSMDiffusionSwitching Mechanism)的結(jié)構(gòu)。
為了滿足該擴(kuò)散矩陣切換機(jī)構(gòu)(DSM),只要滿足設(shè)定為多個(gè)不同的矩陣等條件即可,并不特別限定在各循環(huán)中并行執(zhí)行的F函數(shù),其中,上述多個(gè)不同的矩陣滿足如下條件從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[BkD(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[BkD]為3以上,其中,所述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的k個(gè)(其中,k為2以上的整數(shù))F函數(shù)中。
下面,根據(jù)該特性說(shuō)明在擴(kuò)展Feistel結(jié)構(gòu)中維持基于擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的抵抗性的同時(shí)提高了安裝效率的結(jié)構(gòu)例。
(7-1.擴(kuò)展Feistel的類型2的有效的F函數(shù)配置方法) 首先,說(shuō)明之前參照?qǐng)D9、圖11所說(shuō)明的擴(kuò)展Feistel的類型2的有效的F函數(shù)配置結(jié)構(gòu)。如在之前所說(shuō)明的項(xiàng)目(5-2.對(duì)于擴(kuò)展Feistel結(jié)構(gòu)的類型2的DSM的應(yīng)用)中記述的那樣,類型2的擴(kuò)展Feistel結(jié)構(gòu)具有以下參數(shù)。
參數(shù) (a)數(shù)據(jù)分割數(shù)d(其中,d為4以上的偶數(shù)) (b)輸入輸出數(shù)據(jù)長(zhǎng)度dmn比特 (c)分割數(shù)據(jù)長(zhǎng)度mn比特 (d)每一個(gè)循環(huán)的F函數(shù)的數(shù)量d/2 即,如圖9所示,在各循環(huán)內(nèi),對(duì)從左端起處于第奇數(shù)個(gè)的mn比特的數(shù)據(jù)序列應(yīng)用F函數(shù),將F函數(shù)的處理結(jié)果輸出到緊鄰的數(shù)據(jù)序列并進(jìn)行異或。此外,在圖9中省略異或的運(yùn)算標(biāo)記。
下面,說(shuō)明提高對(duì)于具有這種結(jié)構(gòu)的類型2的擴(kuò)展Feistel結(jié)構(gòu)的安裝效率的結(jié)構(gòu)。作為一例,參照?qǐng)D12說(shuō)明數(shù)據(jù)序列數(shù)(分割數(shù))d=4的情況。在圖12中,將由兩個(gè)不同的線性變換矩陣M1、M2執(zhí)行線性變換的不同的兩個(gè)F函數(shù)分別設(shè)為F1、F2。
圖12所示的Feistel結(jié)構(gòu)是使用F函數(shù)F1、F2這兩個(gè)F函數(shù)的d=4的擴(kuò)展Feistel結(jié)構(gòu)的類型2。即,是具有 (a)數(shù)據(jù)分割數(shù)4 (b)輸入輸出數(shù)據(jù)長(zhǎng)度4mn比特 (c)分割數(shù)據(jù)長(zhǎng)度mn比特 (d)每一個(gè)循環(huán)的F函數(shù)的數(shù)量4/2=2 的結(jié)構(gòu)。
在該圖12所示的結(jié)構(gòu)的情況下,為了使用兩個(gè)F函數(shù)滿足DSM條件而考慮幾種配置。即,為了滿足DSM條件,如上所述那樣,只要滿足設(shè)定為多個(gè)不同的矩陣等條件即可,并不特別限定在各循環(huán)中并行執(zhí)行的F函數(shù),其中,上述多個(gè)不同的矩陣滿足以下條件從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[BkD(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[BkD]為3以上,其中,所述線性變換矩陣包含在對(duì)各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的k個(gè)(其中,k為2以上的整數(shù))F函數(shù)中。
因而,作為F函數(shù)的設(shè)定方式, (a)將設(shè)定在一個(gè)循環(huán)中的多個(gè)F函數(shù)設(shè)為相同的F函數(shù)的設(shè)定、 (b)將設(shè)定在一個(gè)循環(huán)中的多個(gè)F函數(shù)設(shè)為不同的F函數(shù)的設(shè)定 能夠設(shè)定為上述兩種方式。
在此,如圖12所示,采用如下結(jié)構(gòu)選擇在一個(gè)循環(huán)中存在的兩個(gè)F函數(shù)使得相互成為F1、F2。在以一個(gè)循環(huán)的處理為基礎(chǔ)進(jìn)行硬件(H/W)安裝的情況下,該結(jié)構(gòu)的優(yōu)點(diǎn)表現(xiàn)得明顯。
即,作為硬件(H/W)安裝,設(shè)定具有僅能夠執(zhí)行一個(gè)循環(huán)的處理的結(jié)構(gòu)、即如圖13所示那樣能夠并行地執(zhí)行F函數(shù)F1和函數(shù)F2的結(jié)構(gòu)的硬件。圖13是表示具有執(zhí)行基于圖12所示的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的硬件結(jié)構(gòu)的密碼處理裝置250的框圖。
密碼處理裝置250由執(zhí)行F函數(shù)F1的第一F函數(shù)(F1)專用處理電路251、執(zhí)行F函數(shù)F2的第二F函數(shù)(F2)專用處理電路252、控制電路253以及輔助電路254構(gòu)成。第一F函數(shù)(F1)專用處理電路251和第二F函數(shù)(F2)專用處理電路252是能夠并行地進(jìn)行動(dòng)作的結(jié)構(gòu),在各循環(huán)中,應(yīng)用這兩個(gè)電路執(zhí)行基于兩個(gè)不同的F函數(shù)的數(shù)據(jù)變換。
控制電路253執(zhí)行對(duì)各F函數(shù)專用處理電路251、252以及輔助電路254的輸入輸出數(shù)據(jù)的控制。輔助電路254執(zhí)行F函數(shù)以外的運(yùn)算處理等。
通過(guò)應(yīng)用該結(jié)構(gòu),應(yīng)用第一F函數(shù)(F1)專用處理電路251、第二F函數(shù)(F2)專用處理電路252能夠進(jìn)行僅所需的循環(huán)數(shù)的循環(huán)運(yùn)算。在所有的循環(huán)中并行地執(zhí)行兩個(gè)F函數(shù)專用電路,能夠?qū)崿F(xiàn)沒(méi)有設(shè)置多余的電路的安裝。
如圖12所示,在各循環(huán)中并行地執(zhí)行的F函數(shù)是兩個(gè)的情況下,通過(guò)將這兩個(gè)F函數(shù)設(shè)定為不同的F函數(shù),利用圖13所示的硬件安裝,能夠進(jìn)行所有的循環(huán)運(yùn)算。順便提及,在設(shè)為在一個(gè)循環(huán)中執(zhí)行的F函數(shù)相同的設(shè)定、例如在第一循環(huán)中并行地執(zhí)行F1、F1,在第二循環(huán)中執(zhí)行F2、F2的結(jié)構(gòu)的情況下,作為硬件,需要設(shè)置F1執(zhí)行電路和F2執(zhí)行電路各兩個(gè),與圖13所示的結(jié)構(gòu)相比,需要增大電路規(guī)模。
通過(guò)如圖12所示那樣將在各循環(huán)中執(zhí)行的F函數(shù)的組合全部設(shè)定為F1、F2,應(yīng)用圖13所示的硬件,能夠在各循環(huán)中始終同時(shí)執(zhí)行F1、F2,不會(huì)產(chǎn)生多余的電路,而實(shí)現(xiàn)減小電路規(guī)模的小型裝置。
圖12所示的結(jié)構(gòu)是數(shù)據(jù)序列d=4的情況,但是在其它數(shù)據(jù)序列數(shù)的情況下,通過(guò)設(shè)為同樣的設(shè)定,也能夠?qū)崿F(xiàn)有效的安裝。例如在數(shù)據(jù)序列數(shù)d=8的情況下,設(shè)為如下結(jié)構(gòu)在一個(gè)循環(huán)中設(shè)定4個(gè)F函數(shù),將該4個(gè)F函數(shù)設(shè)定為兩個(gè)不同的F函數(shù)F1、F2各兩個(gè)。
這種情況下的安裝結(jié)構(gòu)設(shè)為如下結(jié)構(gòu)設(shè)置F函數(shù)F1、F2各兩個(gè),能夠并行地執(zhí)行4個(gè)F函數(shù)(F1、F1、F2、F2)。通過(guò)該結(jié)構(gòu),能夠在所有的循環(huán)中并行地執(zhí)行全部4個(gè)F函數(shù),實(shí)現(xiàn)沒(méi)有設(shè)置多余的電路的安裝。
另外,在數(shù)據(jù)序列數(shù)d=16的情況下,將在一個(gè)循環(huán)中存在的8個(gè)F函數(shù)設(shè)定為F1、F2各四個(gè)。并且,一般化為在數(shù)據(jù)序列數(shù)d=4x的情況下在各循環(huán)中利用F函數(shù)F1、F2各x個(gè)的結(jié)構(gòu),作為硬件安裝,如果設(shè)為設(shè)定F函數(shù)F1、F2各x個(gè)的結(jié)構(gòu),則由于在每個(gè)循環(huán)中需要的F1、F2的個(gè)數(shù)相同,因此不會(huì)過(guò)多或過(guò)少地執(zhí)行F函數(shù),能夠提高安裝效率。
上述的處理例是為了滿足擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)而設(shè)定了應(yīng)用兩個(gè)線性變換矩陣的兩個(gè)不同的F函數(shù)的例子,但是即使在使用三種以上的線性變換矩陣來(lái)設(shè)定三種以上的F函數(shù)的情況下也可以說(shuō)是相同的。
圖14示出用于有效安裝三種F函數(shù)的配置例。圖14是數(shù)據(jù)序列數(shù)d=6的擴(kuò)展Feistel的類型2的結(jié)構(gòu)例。在該圖14所示的結(jié)構(gòu)中,進(jìn)行設(shè)定使其成為在一個(gè)循環(huán)中存在的三個(gè)F函數(shù)一定利用F1、F2、F3各一個(gè)的結(jié)構(gòu)。
通過(guò)該結(jié)構(gòu),在硬件(H/W)安裝時(shí)僅安裝F1、F2、F3各一個(gè),就能夠成為在各循環(huán)中并行地執(zhí)行F函數(shù)的結(jié)構(gòu),從H/W方面來(lái)看實(shí)現(xiàn)沒(méi)有多余的電路的電路結(jié)構(gòu)。
并且,在數(shù)據(jù)序列數(shù)d=12的情況下,將在一個(gè)循環(huán)中存在的6個(gè)F函數(shù)設(shè)定為F1、F2、F3各兩個(gè)。另外,在數(shù)據(jù)序列數(shù)d=18的情況下,關(guān)于在一個(gè)循環(huán)中設(shè)定的9個(gè)F函數(shù),設(shè)定為F1、F2、F3各三個(gè)。將它們一般化為在數(shù)據(jù)序列數(shù)d=6x的情況下將在各循環(huán)中設(shè)定的F函數(shù)設(shè)定為F1、F2、F3各x個(gè)。即,設(shè)為在各循環(huán)中均等地利用不同的F函數(shù)的結(jié)構(gòu)。
通過(guò)設(shè)為這種F函數(shù)的設(shè)定結(jié)構(gòu),能夠?qū)⒚總€(gè)循環(huán)中需要的F1、F2、F3的個(gè)數(shù)設(shè)定為相同的數(shù)量,在硬件安裝中能夠設(shè)定不會(huì)過(guò)多或者過(guò)少地利用的電路,能夠提高安裝效率。在軟件的情況下,也由于用于獲取輸入輸出值的表的利用方式在各循環(huán)中相同,因此不用構(gòu)成設(shè)想各種模式的表,而能夠設(shè)定與一個(gè)利用方式相應(yīng)的表并保存到存儲(chǔ)器中。
當(dāng)將上述各處理例進(jìn)一步一般化時(shí),如下所述。
(1)在構(gòu)成利用了a種F函數(shù)的Type2的擴(kuò)展Feistel結(jié)構(gòu)的情況下,通過(guò)設(shè)為如下結(jié)構(gòu)能夠提高安裝效率當(dāng)設(shè)數(shù)據(jù)序列數(shù)(分割數(shù))d=2ax、其中a為2以上的整數(shù)、x為1以上的整數(shù)時(shí),均等地設(shè)定全部種類的F函數(shù)各x個(gè)作為在一個(gè)循環(huán)內(nèi)設(shè)定的ax個(gè)F函數(shù)。
此外,在上述F函數(shù)的設(shè)定中,通過(guò)將對(duì)各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)的設(shè)定設(shè)為滿足上述DSM條件的設(shè)定,能夠維持抵抗性。
(7-2.Feistel結(jié)構(gòu)與擴(kuò)展Feistel結(jié)構(gòu)中的部件的共用化) 如上所述,通過(guò)對(duì)目前為止所說(shuō)明的Feistel結(jié)構(gòu)、擴(kuò)展Feistel的類型1、擴(kuò)展Feistel的類型2中的任一個(gè)利用DSM機(jī)構(gòu),而具有提高對(duì)攻擊的抵抗性的優(yōu)點(diǎn)。
即,將Feistel結(jié)構(gòu)大致分類為 (a)設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d=2的Feistel結(jié)構(gòu) (b)設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu), 并且,擴(kuò)展Feistel結(jié)構(gòu)為 (b1)在各循環(huán)中僅允許執(zhí)行一個(gè)F函數(shù)的類型1、 (b2)在各循環(huán)中允許并行執(zhí)行多個(gè)F函數(shù)的類型2, 從而,能夠?qū)eistel結(jié)構(gòu)分類為(a)、(b1)、(b2)這三種。
在這三種Feistel結(jié)構(gòu)的任一種中都通過(guò)應(yīng)用DSM機(jī)構(gòu)實(shí)現(xiàn)抵抗性的提高。
為了應(yīng)用DSM機(jī)構(gòu),需要安裝執(zhí)行至少兩個(gè)以上不同的線性變換矩陣的不同的F函數(shù),但是,通過(guò)具有該不同的多個(gè)F函數(shù)的安裝結(jié)構(gòu),能夠?qū)崿F(xiàn)可選擇性地執(zhí)行上述多個(gè)不同的Feistel結(jié)構(gòu)(a)、(b1)、(b2)的裝置。下面說(shuō)明執(zhí)行這種選擇處理的裝置結(jié)構(gòu)。
決定執(zhí)行滿足擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的線性變換矩陣的多個(gè)不同的F函數(shù),將這些各F函數(shù)中的輸入輸出數(shù)據(jù)的數(shù)據(jù)大小設(shè)為mn比特。通過(guò)應(yīng)用這種F函數(shù),例如在如圖15所示的數(shù)據(jù)序列d=2的Feistel結(jié)構(gòu)中執(zhí)行2mn比特的塊密碼。
圖15所示的數(shù)據(jù)序列d=2的Feistel結(jié)構(gòu)的各F函數(shù)F1、F2的輸入輸出數(shù)據(jù)大小是mn比特。該數(shù)據(jù)序列d=2的Feistel結(jié)構(gòu)進(jìn)行將2mn比特的明文轉(zhuǎn)換為2mn比特的密文的處理、或者與其相反的解密處理,執(zhí)行2mn比特的塊密碼。
另外,通過(guò)利用該圖15所示的輸入輸出數(shù)據(jù)大小為mn比特的F函數(shù)F1、F2,能夠構(gòu)成滿足擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的數(shù)據(jù)序列數(shù)d=4的擴(kuò)展Feistel結(jié)構(gòu)。圖16示出該結(jié)構(gòu)。
圖16所示的數(shù)據(jù)序列d=4的擴(kuò)展Feistel結(jié)構(gòu)的各F函數(shù)F1、F2是輸入輸出數(shù)據(jù)大小為mn比特、按原樣應(yīng)用圖15所示的F函數(shù)F1、F2的F函數(shù)。該數(shù)據(jù)序列d=4的擴(kuò)展Feistel結(jié)構(gòu)進(jìn)行將4mn比特的明文轉(zhuǎn)換為4mn比特的密文的處理、或者與其相反的解密處理,執(zhí)行4mn比特的塊密碼。
并且,一般化為在設(shè)為數(shù)據(jù)序列數(shù)d=x、其中x為2以上的整數(shù)的情況下,能夠使用相同的F函數(shù)執(zhí)行結(jié)構(gòu)來(lái)構(gòu)建執(zhí)行xmn比特的加密或者解密處理的塊密碼結(jié)構(gòu)。
例如,僅使用輸入輸出比特為64比特的不同的F函數(shù)F1、F2,就能夠構(gòu)成可選擇性地執(zhí)行實(shí)現(xiàn)DSM機(jī)構(gòu)的輸入輸出128比特塊密碼處理和256比特塊密碼處理。
即,安裝輸入輸出比特為64比特的不同的兩個(gè)F函數(shù)F1、F2作為F函數(shù),并控制它們的利用方式。例如,在執(zhí)行基于設(shè)為數(shù)據(jù)序列數(shù)d=2的Feistel結(jié)構(gòu)(圖15)的密碼處理的情況下,設(shè)為在各循環(huán)中執(zhí)行各F函數(shù)F1、F2之一的結(jié)構(gòu)。另一方面,在執(zhí)行基于設(shè)為數(shù)據(jù)序列數(shù)d=4的擴(kuò)展Feistel結(jié)構(gòu)(圖16)的密碼處理的情況下,設(shè)為在各循環(huán)中并行地執(zhí)行各F函數(shù)F1、F2的結(jié)構(gòu)。這樣,通過(guò)安裝兩種F函數(shù),實(shí)現(xiàn)能夠選擇性地執(zhí)行輸入輸出128比特塊密碼和256比特塊密碼的裝置。即,通過(guò)使用相同的F函數(shù)、改變連接方法,能夠執(zhí)行不同比特?cái)?shù)的塊密碼,在S/W、H/W兩者中能夠期望通過(guò)電路、代碼的共享等來(lái)提高安裝效率。
圖17示出具有這種結(jié)構(gòu)的密碼處理裝置的結(jié)構(gòu)例。圖17所示的密碼處理裝置270由執(zhí)行F函數(shù)F1的第一F函數(shù)(F1)專用處理電路271、執(zhí)行F函數(shù)F2的第二F函數(shù)(F2)專用處理電路272、控制電路273以及輔助電路274構(gòu)成。第一F函數(shù)(F1)專用處理電路271和第二F函數(shù)(F2)專用處理電路272是能夠并行地進(jìn)行動(dòng)作的結(jié)構(gòu)。控制電路273對(duì)各處理部進(jìn)行數(shù)據(jù)輸入輸出控制,并且執(zhí)行Feistel結(jié)構(gòu)選擇處理。輔助電路254執(zhí)行F函數(shù)以外的運(yùn)算處理等。
作為Feistel結(jié)構(gòu)選擇處理,控制電路273選擇執(zhí)行基于以下的任一個(gè)結(jié)構(gòu)的密碼處理 (a)設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d=2的Feistel結(jié)構(gòu) (b1)是設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中僅允許執(zhí)行一個(gè)F函數(shù)的類型1、 (b2)是設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中允許并行執(zhí)行多個(gè)F函數(shù)的類型2。
此外,例如從外部輸入設(shè)定信息?;蛘咭部梢栽O(shè)為根據(jù)成為加密或解密處理的對(duì)象的數(shù)據(jù)的比特長(zhǎng)度來(lái)選擇要執(zhí)行的處理方式的結(jié)構(gòu)。控制電路273進(jìn)行根據(jù)選擇變更各F函數(shù)專用電路的應(yīng)用順序,執(zhí)行按照各Feistel結(jié)構(gòu)的循環(huán)函數(shù)的控制。
通過(guò)應(yīng)用該結(jié)構(gòu),應(yīng)用第一F函數(shù)(F1)專用處理電路251和第二F函數(shù)(F2)專用處理電路252能夠進(jìn)行應(yīng)用了各種Feistel結(jié)構(gòu)的密碼處理,能夠執(zhí)行加密處理或解密處理的處理比特不同的對(duì)應(yīng)各種比特的密碼處理。
另外,圖17示出具有兩個(gè)F函數(shù)的例子,但是并不限于使用兩個(gè)F函數(shù)的例子,在使用任意個(gè)數(shù)的F函數(shù)的結(jié)構(gòu)中也能夠期望得到同樣的效果。例如,在之前參照?qǐng)D14所說(shuō)明的擴(kuò)展Feistel結(jié)構(gòu)中,應(yīng)用三個(gè)不同的F函數(shù)F1、F2、F3構(gòu)成滿足擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的數(shù)據(jù)序列數(shù)d=6的擴(kuò)展Feistel結(jié)構(gòu)。能夠應(yīng)用與其相同的三種F函數(shù)F1、F2、F3的F函數(shù)來(lái)構(gòu)建圖18所示的具有數(shù)據(jù)序列d=2的Feistel結(jié)構(gòu)的密碼處理結(jié)構(gòu)。在該數(shù)據(jù)序列d=2的結(jié)構(gòu)中,也利用滿足DSM機(jī)構(gòu)的設(shè)定來(lái)配置各矩陣F1、F2、F3。
圖19示出執(zhí)行這樣的三種F函數(shù)F1、F2、F3的密碼處理裝置的結(jié)構(gòu)例。圖19所示的密碼處理裝置280由執(zhí)行F函數(shù)F1的第一F函數(shù)(F1)專用處理電路281、執(zhí)行F函數(shù)F2的第二F函數(shù)(F2)專用處理電路282、執(zhí)行F函數(shù)F3的第三F函數(shù)(F3)專用處理電路283、控制電路284以及輔助電路275構(gòu)成。第一F函數(shù)(F1)專用處理電路281、第二F函數(shù)(F2)專用處理電路282以及第三F函數(shù)(F3)專用處理電路283是能夠并行地進(jìn)行動(dòng)作的結(jié)構(gòu)??刂齐娐?84對(duì)各處理部進(jìn)行數(shù)據(jù)輸入輸出控制,并且執(zhí)行Feistel結(jié)構(gòu)選擇處理。輔助電路285執(zhí)行F函數(shù)以外的運(yùn)算處理等。
作為Feistel結(jié)構(gòu)選擇處理,控制電路284選擇執(zhí)行基于以下的任一個(gè)結(jié)構(gòu)的密碼處理 (a)設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d=2的Feistel結(jié)構(gòu) (b1)是設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中僅允許執(zhí)行一個(gè)F函數(shù)的類型1、 (b2)是設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中允許并行執(zhí)行多個(gè)F函數(shù)的類型2。
此外,例如從外部輸入設(shè)定信息??刂齐娐?84進(jìn)行根據(jù)設(shè)定變更各F函數(shù)專用電路的應(yīng)用順序,執(zhí)行按照各Feistel結(jié)構(gòu)的循環(huán)函數(shù)的控制。
通過(guò)應(yīng)用該結(jié)構(gòu),應(yīng)用第一F函數(shù)(F1)專用處理電路281~第三F函數(shù)(F3)專用處理電路283能夠進(jìn)行應(yīng)用了各種Feistel結(jié)構(gòu)的密碼處理,能夠執(zhí)行加密處理或解密處理的處理比特不同的對(duì)應(yīng)各種比特的密碼處理。此外,也可以是具有4個(gè)以上F函數(shù)執(zhí)行部的結(jié)構(gòu)。
如上所述,決定執(zhí)行滿足擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的線性變換矩陣的多個(gè)不同的F函數(shù),安裝這些各F函數(shù),變更應(yīng)用了F函數(shù)的處理順序,由此實(shí)現(xiàn)選擇性地執(zhí)行基于以下任一個(gè)結(jié)構(gòu)的密碼處理的結(jié)構(gòu),并實(shí)現(xiàn)能夠變更加密處理或解密處理中的處理比特?cái)?shù)的裝置, (a)設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d=2的Feistel結(jié)構(gòu) (b1)是設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中僅允許執(zhí)行一個(gè)F函數(shù)的類型1、 (b2)是設(shè)為數(shù)據(jù)序列數(shù)(分割數(shù))d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中允許并行執(zhí)行多個(gè)F函數(shù)的類型2。
例如,通過(guò)構(gòu)成a種(a為2以上的整數(shù))F函數(shù)、執(zhí)行基于上述三種Feistel結(jié)構(gòu)的密碼處理、并且滿足擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的處理結(jié)構(gòu),能夠進(jìn)行抵抗性較高的密碼處理。
[8.本發(fā)明的密碼處理以及密碼算法構(gòu)建處理的歸納] 最后統(tǒng)一說(shuō)明上述的本發(fā)明的密碼處理以及密碼算法構(gòu)建處理。
如參照?qǐng)D1、圖2所說(shuō)明的那樣,本發(fā)明的密碼處理裝置具有密碼處理部,該密碼處理部執(zhí)行將SP型F函數(shù)反復(fù)多次循環(huán)的Feistel型共用密鑰塊密碼處理,其中,上述SP型F函數(shù)執(zhí)行包括非線性變換處理和線性變換處理的數(shù)據(jù)變換處理。并且,如參照?qǐng)D5之后的圖所說(shuō)明的那樣,密碼處理部是執(zhí)行應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的結(jié)構(gòu),具有在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中選擇性地應(yīng)用至少兩個(gè)以上的多個(gè)不同的矩陣的結(jié)構(gòu)。
設(shè)定這些兩個(gè)以上的多個(gè)不同的矩陣使其實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSMDiffusion Switching Mechanism),通過(guò)DSM實(shí)現(xiàn)提高對(duì)差分攻擊、線性攻擊的抵抗性的密碼處理。為了通過(guò)該DSM實(shí)現(xiàn)提高抵抗性,按照特定的條件進(jìn)行矩陣的選擇、配置。
即,作為在F函數(shù)中執(zhí)行的線性變換處理所應(yīng)用的多個(gè)矩陣,選擇滿足條件的多個(gè)不同的矩陣,在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中反復(fù)配置這些多個(gè)不同的矩陣,其中,上述條件為從基于對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)所包含的線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上。
并且,具體地說(shuō),在密碼處理部中利用的多個(gè)不同的矩陣是滿足如下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[BkD(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[BkD]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的k個(gè)(其中,k為2以上的整數(shù))F函數(shù)中。
或者,是滿足如下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[B2L(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[B2L]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的兩個(gè)F函數(shù)中。
本發(fā)明的密碼處理裝置的密碼處理部具有如下結(jié)構(gòu)在將這些多個(gè)不同的矩陣設(shè)為n個(gè)(其中,n為2以上的整數(shù))不同的矩陣M0、M1、··Mn-1時(shí),在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中依次反復(fù)配置這些矩陣。作為具體的擴(kuò)展Feistel結(jié)構(gòu)的例子,例如具有參照?qǐng)D8、圖10所說(shuō)明的在一個(gè)循環(huán)中僅執(zhí)行一個(gè)F函數(shù)的類型1的擴(kuò)展Feistel結(jié)構(gòu)、參照?qǐng)D9、圖11所說(shuō)明的在一個(gè)循環(huán)中并行地執(zhí)行多個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)。
此外,本發(fā)明包括執(zhí)行應(yīng)用了這種擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的密碼處理裝置和方法、以及執(zhí)行密碼處理的計(jì)算機(jī)程序,還包括構(gòu)建用于執(zhí)行應(yīng)用了上述擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的密碼處理算法的信息處理裝置、方法以及計(jì)算機(jī)程序。
構(gòu)建密碼處理算法的信息處理裝置例如能夠應(yīng)用一般的PC等信息處理裝置,具有能夠執(zhí)行以下處理步驟的控制部。即, 矩陣決定步驟,在應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理算法的結(jié)構(gòu)中,決定在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中應(yīng)用的至少兩個(gè)以上的多個(gè)不同的矩陣;以及 矩陣設(shè)定步驟,在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中反復(fù)配置在矩陣決定步驟中決定的多個(gè)不同的矩陣。
上述矩陣決定步驟作為執(zhí)行如下處理的步驟而被執(zhí)行作為兩個(gè)以上的多個(gè)不同的矩陣,將滿足從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上的條件的多個(gè)不同的矩陣決定為應(yīng)用矩陣,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中。
在應(yīng)用了通過(guò)這種處理算法設(shè)定的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理中,實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSMDiffusion SwitchingMechanism),通過(guò)DSM實(shí)現(xiàn)提高對(duì)差分攻擊、線性攻擊的抵抗性的密碼處理。
[9.密碼處理裝置的結(jié)構(gòu)例] 最后,在圖20中示出了作為執(zhí)行按照上述實(shí)施例的密碼處理的密碼處理裝置的IC模塊300的結(jié)構(gòu)例。能夠在例如PC、IC卡、讀寫器、其它各種信息處理裝置中執(zhí)行上述處理,圖20所示的IC模塊300能夠構(gòu)成在這些各種設(shè)備中。
圖20所示的CPU(Central processing Unit中央處理單元)301是執(zhí)行密碼處理的開始、結(jié)束、數(shù)據(jù)的發(fā)送和接收的控制、各結(jié)構(gòu)部之間的數(shù)據(jù)傳輸控制、其它各種程序的處理器。存儲(chǔ)器302由ROM(Read-Only-Memory只讀存儲(chǔ)器)、RAM(Random Access Memory隨機(jī)存取存儲(chǔ)器)等構(gòu)成,其中,上述ROM保存由CPU 301所執(zhí)行的程序、或運(yùn)算參數(shù)等固定數(shù)據(jù),上述RAM作為在CPU 301的處理中執(zhí)行的程序以及在程序處理中適當(dāng)變化的參數(shù)的保存區(qū)域、工作區(qū)域而使用。另外,存儲(chǔ)器302能夠作為密碼處理所需的密鑰數(shù)據(jù)、在密碼處理中應(yīng)用的變換表(置換表)、在變換矩陣中應(yīng)用的數(shù)據(jù)等的保存區(qū)域而使用。此外,數(shù)據(jù)保存區(qū)域優(yōu)選構(gòu)成為具有耐短波結(jié)構(gòu)的存儲(chǔ)器。
密碼處理部303例如執(zhí)行按照上述Feistel型共用密鑰塊密碼處理算法的密碼處理、解密處理。此外,在此示出了將密碼處理單元設(shè)為單獨(dú)模塊的例子,但是也可以構(gòu)成為不設(shè)置這種獨(dú)立的密碼處理模塊,例如將密碼處理程序保存在ROM中,由CPU 301讀出ROM保存程序來(lái)執(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)生成的密文的輸出、或者來(lái)自外部讀寫器等設(shè)備的數(shù)據(jù)輸入等。
該IC模塊300例如按照上述實(shí)施例執(zhí)行將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel型密碼處理。按照上述實(shí)施例的方式設(shè)定不同的線性變換矩陣作為擴(kuò)展Feistel結(jié)構(gòu)中的F函數(shù)的線性變換矩陣,由此實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSMDiffusionSwitching Mechanism),能夠提高對(duì)差分攻擊、線性攻擊的抵抗性。
以上,參照特定的實(shí)施例詳細(xì)說(shuō)明了本發(fā)明。然而,顯然在不脫離本發(fā)明的要旨的范圍內(nèi),本領(lǐng)域技術(shù)人員可進(jìn)行該實(shí)施例的修改、代用。即,以例示的形式公開了本發(fā)明,但不是限定性地解釋本發(fā)明。為了判斷本發(fā)明的要旨,應(yīng)該參考權(quán)利要求書的范圍一欄。
此外,在說(shuō)明書中說(shuō)明的一系列處理能夠通過(guò)硬件、或軟件、或兩者的復(fù)合結(jié)構(gòu)來(lái)執(zhí)行。在通過(guò)軟件執(zhí)行處理的情況下,能夠?qū)⒂涗浟颂幚眄樞虻某绦虬惭b到嵌入在專用硬件中的計(jì)算機(jī)內(nèi)的存儲(chǔ)器中來(lái)執(zhí)行、或?qū)⒊绦虬惭b到可執(zhí)行各種處理的通用計(jì)算機(jī)中來(lái)執(zhí)行。
例如,可將程序預(yù)先記錄在作為記錄介質(zhì)的硬盤、ROM(Read Only Memory)中?;蛘撸蓪⒊绦驎簳r(shí)或永久性地保存(記錄)在軟盤、CD-ROM(Compact Disc Read Only Memory光盤只讀存儲(chǔ)器)、MO(Magneto optical磁光)盤、DVD(DigitalVersatile Disc數(shù)字多功能光盤)、磁盤、半導(dǎo)體存儲(chǔ)器等可移動(dòng)記錄介質(zhì)中??蓪⑦@種可移動(dòng)記錄介質(zhì)作為所謂的封裝軟件進(jìn)行提供。
此外,程序除了從如上所述的可移動(dòng)記錄介質(zhì)安裝到計(jì)算機(jī)之外,還能夠從下載站點(diǎn)無(wú)線傳送到計(jì)算機(jī)、或通過(guò)稱為L(zhǎng)AN(Local Area Nerwork局域網(wǎng))、因特網(wǎng)的網(wǎng)絡(luò)而有線傳送到計(jì)算機(jī),在計(jì)算機(jī)中接收這樣傳送來(lái)的程序并安裝到內(nèi)置的硬盤等記錄介質(zhì)中。
此外,不僅按照記載以時(shí)間序列執(zhí)行,也可以根據(jù)執(zhí)行處理的裝置的處理能力或需要來(lái)并行或單獨(dú)地執(zhí)行說(shuō)明書中記載的各種處理。另外,在本說(shuō)明書中系統(tǒng)是多個(gè)裝置的邏輯集合結(jié)構(gòu),并不限于各結(jié)構(gòu)的裝置在同一殼體內(nèi)。
產(chǎn)業(yè)上的可利用性 如上所述,根據(jù)本發(fā)明的一個(gè)實(shí)施例的結(jié)構(gòu),在反復(fù)多個(gè)循環(huán)執(zhí)行具有非線性變換部和線性變換部的SPN型F函數(shù)的Feistel型共用密鑰塊密碼處理中,在擴(kuò)展具有兩個(gè)數(shù)據(jù)序列的Feistel結(jié)構(gòu)得到的Feistel結(jié)構(gòu)、即具有例如三個(gè)、四個(gè)等兩個(gè)以上的任意的數(shù)據(jù)序列的擴(kuò)展型Feistel結(jié)構(gòu)中,通過(guò)設(shè)定應(yīng)用了多個(gè)不同的線性變換矩陣的循環(huán)函數(shù)部來(lái)實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSM),能夠構(gòu)建對(duì)線性分析、差分分析的抵抗性較高的共用密鑰塊密碼算法以及執(zhí)行密碼處理。
根據(jù)本發(fā)明的一個(gè)實(shí)施例的結(jié)構(gòu),在執(zhí)行應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的結(jié)構(gòu)中,具有在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中選擇性地應(yīng)用至少兩個(gè)以上的多個(gè)不同的矩陣的結(jié)構(gòu),作為兩個(gè)以上的多個(gè)不同的矩陣,設(shè)定為滿足從基于包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中的線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上的條件的多個(gè)不同的矩陣,由此實(shí)現(xiàn)擴(kuò)散矩陣切換機(jī)構(gòu)(DSM),能夠構(gòu)建對(duì)線性分析、差分分析的抵抗性較高的共用密鑰塊密碼算法以及執(zhí)行密碼處理。
并且,根據(jù)本發(fā)明的一個(gè)實(shí)施例的結(jié)構(gòu),執(zhí)行應(yīng)用了數(shù)據(jù)序列數(shù)d=2ax的擴(kuò)展Feistel結(jié)構(gòu)(x≥1)的密碼處理的結(jié)構(gòu)中,設(shè)為在一個(gè)循環(huán)中均等地執(zhí)行所有種類(a種類)的F函數(shù)各x個(gè)的結(jié)構(gòu),因此實(shí)現(xiàn)沒(méi)有設(shè)置多余的電路的小型的密碼處理裝置,其中,所述擴(kuò)展Feistel結(jié)構(gòu)利用了由多個(gè)不同的矩陣執(zhí)行不同的線性變換處理的a(a≥2)種F函數(shù)。
并且,根據(jù)本發(fā)明的一個(gè)實(shí)施例的結(jié)構(gòu),構(gòu)成由多個(gè)不同的矩陣執(zhí)行不同的線性變換處理的多個(gè)F函數(shù)執(zhí)行部,設(shè)為根據(jù)設(shè)定來(lái)變更多個(gè)F函數(shù)執(zhí)行部的利用順序的結(jié)構(gòu),由此實(shí)現(xiàn)能夠選擇性地執(zhí)行(a)、(b1)、(b2)中的任一個(gè)的密碼處理的密碼處理裝置,其中,上述(a)、(b1)、(b2)為 (a)通過(guò)設(shè)為數(shù)據(jù)序列數(shù)d=2的Feistel結(jié)構(gòu)進(jìn)行的密碼處理、或者 (b1)是設(shè)為數(shù)據(jù)序列數(shù)d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中僅允許執(zhí)行一個(gè)F函數(shù)的密碼處理、或者 (b2)是設(shè)為數(shù)據(jù)序列數(shù)d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中允許并行執(zhí)行多個(gè)F函數(shù)的密碼處理。
權(quán)利要求
1.一種密碼處理裝置,其特征在于,
具有密碼處理部,該密碼處理部執(zhí)行將SP型F函數(shù)反復(fù)多次循環(huán)的Feistel型共用密鑰塊密碼處理,其中,上述SP型F函數(shù)執(zhí)行包括非線性變換處理和線性變換處理的數(shù)據(jù)變換處理,
上述密碼處理部是執(zhí)行應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的結(jié)構(gòu),具有在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中選擇性地應(yīng)用至少兩個(gè)以上的多個(gè)不同的矩陣的結(jié)構(gòu),
其中,上述兩個(gè)以上的多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中,
具有在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中反復(fù)配置上述多個(gè)不同的矩陣的結(jié)構(gòu)。
2.根據(jù)權(quán)利要求1所述的密碼處理裝置,其特征在于,
在上述密碼處理部中利用的上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[BkD(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[BkD]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的k個(gè)(其中,k為2以上的整數(shù))的F函數(shù)中。
3.根據(jù)權(quán)利要求1所述的密碼處理裝置,其特征在于,
在上述密碼處理部中利用的上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[B2D(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[B2D]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的兩個(gè)F函數(shù)中。
4.根據(jù)權(quán)利要求1所述的密碼處理裝置,其特征在于,
在上述密碼處理部中利用的上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[B2L(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[B2L]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的兩個(gè)F函數(shù)中。
5.根據(jù)權(quán)利要求1所述的密碼處理裝置,其特征在于,
上述密碼處理部具有如下結(jié)構(gòu)
當(dāng)將上述多個(gè)不同的矩陣設(shè)為n個(gè)(其中,n為2以上的整數(shù))不同的矩陣M0、M1、··Mn-1時(shí),
在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中依次反復(fù)配置這些不同的矩陣M0、M1、··Mn-1。
6.根據(jù)權(quán)利要求1~5中的任一項(xiàng)所述的密碼處理裝置,其特征在于,
上述密碼處理部是執(zhí)行應(yīng)用了在一個(gè)循環(huán)中僅執(zhí)行一個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的結(jié)構(gòu)。
7.根據(jù)權(quán)利要求1~5中的任一項(xiàng)所述的密碼處理裝置,其特征在于,
上述密碼處理部是執(zhí)行應(yīng)用了在一個(gè)循環(huán)中并行地執(zhí)行多個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的結(jié)構(gòu)。
8.根據(jù)權(quán)利要求1~5中的任一項(xiàng)所述的密碼處理裝置,其特征在于,
上述密碼處理部是如下結(jié)構(gòu)
在設(shè)為a≥2的任意的整數(shù)、x≥1的任意的整數(shù)時(shí),執(zhí)行應(yīng)用了數(shù)據(jù)序列數(shù)d=2ax的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理,其中,所述擴(kuò)展Feistel結(jié)構(gòu)利用了由上述多個(gè)不同的矩陣執(zhí)行不同的線性變換處理的a種F函數(shù),
在一個(gè)循環(huán)中均等地執(zhí)行所有種類(a種類)的F函數(shù)各x個(gè)。
9.根據(jù)權(quán)利要求8所述的密碼處理裝置,其特征在于,
上述密碼處理部具備
F函數(shù)執(zhí)行部,其執(zhí)行在一個(gè)循環(huán)中并行地執(zhí)行的ax個(gè)F函數(shù);以及
控制部,其執(zhí)行對(duì)上述F函數(shù)執(zhí)行部的數(shù)據(jù)輸入輸出控制。
10.根據(jù)權(quán)利要求1~5中的任一項(xiàng)所述的密碼處理裝置,其特征在于,
上述密碼處理部具備
多個(gè)F函數(shù)執(zhí)行部,其利用上述多個(gè)不同的矩陣執(zhí)行不同的線性變換處理;以及
控制部,其根據(jù)設(shè)定而變更上述多個(gè)F函數(shù)執(zhí)行部的利用順序,
其中,上述控制部是選擇性地執(zhí)行(a)、(b1)、(b2)中的任一個(gè)的密碼處理的結(jié)構(gòu),其中,上述(a)、(b1)、(b2)為
(a)通過(guò)設(shè)為數(shù)據(jù)序列數(shù)d=2的Feistel結(jié)構(gòu)進(jìn)行的密碼處理、或者
(b1)是設(shè)為數(shù)據(jù)序列數(shù)d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中僅允許執(zhí)行一個(gè)F函數(shù)的密碼處理、或者
(b2)是設(shè)為數(shù)據(jù)序列數(shù)d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中允許并行執(zhí)行多個(gè)F函數(shù)的密碼處理。
11.根據(jù)權(quán)利要求10所述的密碼處理裝置,其特征在于,
上述控制部是根據(jù)成為加密或解密處理的對(duì)象的數(shù)據(jù)的比特長(zhǎng)度來(lái)選擇要執(zhí)行的處理方式的結(jié)構(gòu)。
12.一種密碼處理方法,在密碼處理裝置中執(zhí)行密碼處理,其特征在于,
具有密碼處理步驟,在密碼處理部中執(zhí)行將SP型F函數(shù)反復(fù)多次循環(huán)的Feistel型共用密鑰塊密碼處理,其中,上述SP型F函數(shù)執(zhí)行包括非線性變換處理和線性變換處理的數(shù)據(jù)變換處理,
上述密碼處理步驟是執(zhí)行應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的步驟,具有運(yùn)算步驟,在該運(yùn)算步驟中,執(zhí)行在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中選擇性地應(yīng)用了至少兩個(gè)以上的多個(gè)不同的矩陣的運(yùn)算,
在上述運(yùn)算步驟中應(yīng)用的多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中,
上述運(yùn)算步驟是在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中執(zhí)行基于上述多個(gè)不同的矩陣的線性變換運(yùn)算的步驟。
13.根據(jù)權(quán)利要求12所述的密碼處理方法,其特征在于,
上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[BkD(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[BkD]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的k個(gè)(其中,k為2以上的整數(shù))F函數(shù)中。
14.根據(jù)權(quán)利要求12所述的密碼處理方法,其特征在于,
上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[B2D(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[B2D]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的兩個(gè)F函數(shù)中。
15.根據(jù)權(quán)利要求12所述的密碼處理方法,其特征在于,
上述多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從根據(jù)線性變換矩陣而算出的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)[B2L(s(i))]中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)[B2L]為3以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列s(i)進(jìn)行輸入的連續(xù)的兩個(gè)F函數(shù)中。
16.根據(jù)權(quán)利要求12所述的密碼處理方法,其特征在于,
在將上述多個(gè)不同的矩陣設(shè)為n個(gè)(其中,n為2以上的整數(shù))不同的矩陣M0、M1、··Mn-1時(shí),
上述運(yùn)算步驟是在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中依次反復(fù)執(zhí)行這些不同的矩陣M0、M1、··Mn-1的步驟。
17.根據(jù)權(quán)利要求12~16中的任一項(xiàng)所述的密碼處理方法,其特征在于,
上述密碼處理步驟是執(zhí)行應(yīng)用了在一個(gè)循環(huán)中僅執(zhí)行一個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的步驟。
18.根據(jù)權(quán)利要求12~16中的任一項(xiàng)所述的密碼處理方法,其特征在于,
上述密碼處理步驟是執(zhí)行應(yīng)用了在一個(gè)循環(huán)中并行地執(zhí)行多個(gè)F函數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的步驟。
19.根據(jù)權(quán)利要求12~16中的任一項(xiàng)所述的密碼處理方法,其特征在于,
上述密碼處理步驟是如下的步驟
在設(shè)為a≥2的任意的整數(shù)、x≥1的任意的整數(shù)時(shí),執(zhí)行應(yīng)用了數(shù)據(jù)序列數(shù)d=2ax的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理,其中所述擴(kuò)展Feistel結(jié)構(gòu)利用了由上述多個(gè)不同的矩陣執(zhí)行不同的線性變換處理的a種F函數(shù),
在一個(gè)循環(huán)中均等地執(zhí)行所有種類(a種類)的F函數(shù)各x個(gè)。
20.根據(jù)權(quán)利要求19所述的密碼處理方法,其特征在于,
上述密碼處理步驟是應(yīng)用F函數(shù)執(zhí)行部,按照控制部的控制來(lái)執(zhí)行密碼處理的步驟,其中,上述F函數(shù)執(zhí)行部執(zhí)行在一個(gè)循環(huán)中并行地執(zhí)行的ax個(gè)F函數(shù),上述控制部執(zhí)行對(duì)上述F函數(shù)執(zhí)行部的數(shù)據(jù)輸入輸出控制。
21.根據(jù)權(quán)利要求12~16中的任一項(xiàng)所述的密碼處理方法,其特征在于,
在上述密碼處理步驟中,
利用由上述多個(gè)不同的矩陣執(zhí)行不同的線性變換處理的多個(gè)F函數(shù)執(zhí)行部和根據(jù)設(shè)定而變更上述多個(gè)F函數(shù)執(zhí)行部的利用順序的控制部來(lái)執(zhí)行密碼處理,通過(guò)上述控制部的控制,選擇性地執(zhí)行(a)、(b1)、(b2)中的任一個(gè)的密碼處理,其中,上述(a)、(b1)、(b2)為
(a)通過(guò)設(shè)為數(shù)據(jù)序列數(shù)d=2的Feistel結(jié)構(gòu)進(jìn)行的密碼處理、或者
(b1)是設(shè)為數(shù)據(jù)序列數(shù)d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中僅允許執(zhí)行一個(gè)F函數(shù)的密碼處理、或者
(b2)是設(shè)為數(shù)據(jù)序列數(shù)d≥2的任意數(shù)的擴(kuò)展Feistel結(jié)構(gòu),在各循環(huán)中允許并行執(zhí)行多個(gè)F函數(shù)的密碼處理。
22.根據(jù)權(quán)利要求21所述的密碼處理方法,其特征在于,
上述控制部根據(jù)成為加密或解密處理的對(duì)象的數(shù)據(jù)的比特長(zhǎng)度來(lái)選擇要執(zhí)行的處理方式。
23.一種密碼處理算法構(gòu)建方法,在信息處理裝置中構(gòu)建密碼處理算法,其特征在于,具有以下步驟
矩陣決定步驟,在應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理算法的結(jié)構(gòu)中,信息處理裝置中的控制部決定在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中應(yīng)用的至少兩個(gè)以上的多個(gè)不同的矩陣;以及
矩陣設(shè)定步驟,上述控制部在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中反復(fù)配置在上述矩陣決定步驟中決定的多個(gè)不同的矩陣,
其中,上述矩陣決定步驟是執(zhí)行以下處理的步驟作為上述兩個(gè)以上的多個(gè)不同的矩陣,將滿足從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上的條件的多個(gè)不同的矩陣決定為應(yīng)用矩陣,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中。
24.一種計(jì)算機(jī)程序,使密碼處理裝置執(zhí)行密碼處理,其特征在于,
具有密碼處理步驟,使密碼處理部執(zhí)行將SP型F函數(shù)反復(fù)多個(gè)循環(huán)的Feistel型共用密鑰塊密碼處理,其中,上述SP型F函數(shù)執(zhí)行包括非線性變換處理和線性變換處理的數(shù)據(jù)變換處理,
上述密碼處理步驟是執(zhí)行應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理的步驟,包括運(yùn)算步驟,在該運(yùn)算步驟中,執(zhí)行在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中選擇性地應(yīng)用了至少兩個(gè)以上的多個(gè)不同的矩陣的運(yùn)算,
在上述運(yùn)算步驟中應(yīng)用的多個(gè)不同的矩陣是滿足以下條件的多個(gè)不同的矩陣從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中,
上述運(yùn)算步驟是在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中執(zhí)行基于上述多個(gè)不同的矩陣的線性變換運(yùn)算的步驟。
25.一種計(jì)算機(jī)程序,在信息處理裝置中構(gòu)建密碼處理算法,其特征在于,具有以下步驟
矩陣決定步驟,在應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理算法的結(jié)構(gòu)中,使信息處理裝置中的控制部決定在各循環(huán)的F函數(shù)中執(zhí)行的線性變換處理中應(yīng)用的至少兩個(gè)以上的多個(gè)不同的矩陣;以及
矩陣設(shè)定步驟,使上述控制部在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中反復(fù)配置在上述矩陣決定步驟中決定的多個(gè)不同的矩陣,
其中,上述矩陣決定步驟是執(zhí)行以下處理的步驟作為上述兩個(gè)以上的多個(gè)不同的矩陣,將滿足從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上的條件的多個(gè)不同的矩陣決定為應(yīng)用矩陣,其中,上述線性變換矩陣包含在對(duì)擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列進(jìn)行輸入的F函數(shù)中。
全文摘要
實(shí)現(xiàn)應(yīng)用了擴(kuò)散矩陣切換機(jī)構(gòu)(DSM)的擴(kuò)展Feistel型共用密鑰塊密碼處理結(jié)構(gòu)。在應(yīng)用了將數(shù)據(jù)序列數(shù)d設(shè)為d≥2的整數(shù)的擴(kuò)展Feistel結(jié)構(gòu)的密碼處理結(jié)構(gòu)中,在F函數(shù)部的線性變換處理中選擇性地應(yīng)用多個(gè)不同的多個(gè)矩陣。作為矩陣,選擇滿足從基于線性變換矩陣的與數(shù)據(jù)序列對(duì)應(yīng)的最小分支數(shù)中選擇的全部數(shù)據(jù)序列中的最小分支數(shù)為預(yù)先決定的值以上的條件的多個(gè)不同的矩陣,其中上述線性變換矩陣包含在輸入到擴(kuò)展Feistel結(jié)構(gòu)的各數(shù)據(jù)序列的F函數(shù)中。根據(jù)本發(fā)明,實(shí)現(xiàn)對(duì)基于DSM的線性分析、差分分析的抵抗性較高的共用密鑰塊密碼。
文檔編號(hào)G09C1/00GK101496080SQ20078002805
公開日2009年7月29日 申請(qǐng)日期2007年7月17日 優(yōu)先權(quán)日2006年7月28日
發(fā)明者白井太三, 澀谷香士 申請(qǐng)人:索尼株式會(huì)社
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
青浦区| 高密市| 佛坪县| 宕昌县| 北碚区| 东方市| 宜良县| 伽师县| 博乐市| 雷州市| 房山区| 建宁县| 赣州市| 三江| 南阳市| 廉江市| 西峡县| 曲沃县| 五台县| 巍山| 手游| 家居| 昆明市| 丹江口市| 商城县| 福鼎市| 岢岚县| 昆明市| 垦利县| 治多县| 灵丘县| 正阳县| 南川市| 镇坪县| 视频| 加查县| 南漳县| 建湖县| 临夏市| 阿鲁科尔沁旗| 象山县|