亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

密碼處理裝置和密碼處理方法、以及計算機程序的制作方法

文檔序號:2411066閱讀:219來源:國知局
專利名稱:密碼處理裝置和密碼處理方法、以及計算機程序的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種密碼處理裝置和密碼處理方法、以及計算
機程序。更詳細(xì)地說,涉及一種執(zhí)行Feistel型共用密鑰塊 (common key block)密碼處理的密碼處理裝置和密碼處理方法、 以及計算機程序。
背景技術(shù)
最近,隨著網(wǎng)絡(luò)通信、電子商務(wù)交易的發(fā)展,確保通信中 的安全成為重要的問題。確保安全的方法之一是密碼技術(shù),現(xiàn) 在實際進(jìn)行著使用了各種加密方法的通信。
例如實際應(yīng)用了如下的系統(tǒng)在IC卡等小型裝置中嵌入密 碼處理模塊,在IC卡與作為數(shù)據(jù)讀取寫入裝置的讀寫器之間進(jìn) 行數(shù)據(jù)的發(fā)送接收,進(jìn)行認(rèn)證處理、或者發(fā)送接收數(shù)據(jù)的加密、 解密。
在密碼處理算法中存在各種算法,大致分類為公開密鑰密 碼方式和共用密鑰密碼方式,其中,上述公開密鑰密碼方式將 加密密鑰和解密密鑰i殳定為不同的密鑰、例如7>開密鑰和私人 密鑰,上述共用密鑰密碼方式將加密密鑰和解密密鑰設(shè)定為共 用的密鑰。
在共用密鑰密碼方式中也存在各種算法,其中之一是如下 的方式以共用密鑰為基礎(chǔ)生成多個密鑰,使用所生成的多個 密鑰來重復(fù)執(zhí)行塊單位(64比特、128比特等)的數(shù)據(jù)變換處理。 在應(yīng)用了這種密鑰生成方式和數(shù)據(jù)變換處理的算法中代表性的 方式是共用密鑰塊密碼方式。
作為代表性的共用密鑰塊密碼的算法,在共用密鑰塊密碼
的算法中進(jìn)行的數(shù)據(jù)變換中包括非線性變換、線性變換。因而, 在設(shè)計共用密鑰塊密碼等密碼要素技術(shù)時,必須決定進(jìn)行非線 性變換的函數(shù)、在線性變換部中利用的矩陣。
例如在IC卡中執(zhí)行密碼處理運算的情況下,需要內(nèi)置執(zhí)行 密碼處理算法的硬件,在硬件內(nèi)的存儲器中記錄程序(軟件)等 數(shù)據(jù)。
最近,存在如下動向通過使IC卡、手機等信息處理終端 具備各種數(shù)據(jù)處理功能,排除用戶持有多個卡的必要性,從而 提高便利性。但是,在這種情況下,需要與在各個機關(guān)的操作 系統(tǒng)中采用的密碼算法相兼容。在IC卡、便攜終端等中,存在 如下問題為了設(shè)為可執(zhí)行多個不同的密碼算法的結(jié)構(gòu),需要 具備與各算法對應(yīng)的硬件,并且需要安裝與各算法對應(yīng)的軟件,
從而導(dǎo)致高成本。

發(fā)明內(nèi)容
本發(fā)明是鑒于上述問題點而完成的,其目的在于提供一種 在執(zhí)行Feistel共用密鑰塊密碼處理的結(jié)構(gòu)中設(shè)為執(zhí)行與能夠在 其它密碼算法、哈希(hash)函數(shù)等中應(yīng)用的數(shù)據(jù)變換共用的數(shù) 據(jù)變換的結(jié)構(gòu)而能夠通過部件的共用化降低設(shè)計成本、減少存 儲器存儲數(shù)據(jù)的密碼處理裝置和密碼處理方法、以及計算機程 序。
更具體地說,本發(fā)明的目的在于提供一種如下的密碼處理 裝置和密碼處理方法、以及計算機程序通過在作為不同算法 的密碼處理、哈希函數(shù)中能夠共同地利用為了執(zhí)行非線性變換、 線性變換而所需的至少一部分硬件、軟件,能夠降低硬件的安 裝成本,在軟件安裝中也能夠通過部件的共用化而縮小成本大
本發(fā)明的第一側(cè)面是一種密碼處理裝置,其特征在于,
具有密碼處理部,該密碼處理部執(zhí)行將SP型F函數(shù)反復(fù)循 環(huán)多次的Feistel型共用密鑰塊密碼處理,其中,上述SP型F函數(shù) 執(zhí)行包括非線性變換處理和線性變換處理的數(shù)據(jù)變換處理,
上述密碼處理部的結(jié)構(gòu)為
將在各循環(huán)中的F函數(shù)中執(zhí)行的非線性變換處理和線性變 換處理中的至少任一個變換處理作為與在上述Feistel型共用密
同的變換處理而執(zhí)行。
并且,本發(fā)明的密碼處理裝置的一個實施方式的特征在 于,上述密碼處理部是在各循環(huán)的線性變換處理中選擇性地應(yīng) 用至少兩個以上的不同的多個矩陣的結(jié)構(gòu),選擇應(yīng)用的矩陣中 的至少 一 個是在上述Feistel型共用密鑰塊密碼算法以外的密碼 算法或p合希函數(shù)中應(yīng)用的矩陣。
并且,本發(fā)明的密碼處理裝置的一個實施方式的特征在 于,上述密碼處理部是在各循環(huán)的線性變換處理中選擇性地應(yīng) 用兩個不同的矩陣Mo、 Mi的結(jié)構(gòu),是以使各矩陣Mo、 Mi的配 置滿足如下(a)、 (b)的條件的方式應(yīng)用兩個不同的矩陣M。、 Mi 的結(jié)構(gòu)
(a) 奇數(shù)循環(huán)中以Mq、 Mi的順序配置,
(b) 從偶數(shù)循環(huán)的最后級起以MG、 M!的順序配置。
并且,本發(fā)明的密碼處理裝置的一個實施方式的特征在
用三個不同的矩陣Mo、 Mp M2的結(jié)構(gòu),是以使各矩陣M()、 Mj、 M2的配置滿足如下(a)、 (b)的條件的方式應(yīng)用三個不同的矩陣 M0、 Mp M2的結(jié)構(gòu)
(a)奇數(shù)循環(huán)中以Mo、 M!、 M2的順序配置,
(b)從偶數(shù)循環(huán)的最后級起以MQ、 Mp M2的順序配置。 并且,本發(fā)明的密碼處理裝置的一個實施方式的特征在 于,上述密碼處理部是執(zhí)行64比特Feistel型共用密鑰塊密碼處
少一個是在AES密碼算法中應(yīng)用的矩陣。
并且,本發(fā)明的密碼處理裝置的一個實施方式的特征在
Feistel型共用密鑰塊密碼處理的兩個算法的結(jié)構(gòu)。
并且,本發(fā)明的密碼處理裝置的一個實施方式的特征在 于,上述密碼處理部是執(zhí)行128比特Feistel型共用密鑰塊密碼處 理的結(jié)構(gòu),在各循環(huán)的線性變換處理中選擇應(yīng)用的矩陣中的至 少 一 個是在Whirlpool口合希函數(shù)中應(yīng)用的矩陣。
并且,本發(fā)明的密碼處理裝置的一個實施方式的特征在 于,上述密碼處理部具有選擇性地執(zhí)行Whirlpool哈希函數(shù)和 128比特Feistel型共用密鑰塊密碼處理的兩個算法的結(jié)構(gòu)。
并且,本發(fā)明的第二側(cè)面是一種密碼處理方法,其特征在
于,
具有密碼處理步驟,在該密碼處理步驟中執(zhí)行將SP型F函 數(shù)反復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理,其中,上述 SP型F函數(shù)執(zhí)行包括非線性變換處理和線性變換處理的數(shù)據(jù)變 換處理,
在上述密碼處理步驟中,將在各循環(huán)中的F函數(shù)中執(zhí)行的 非線性變換處理和線性變換處理中的至少任一個變換處理作為 與在上述Feistel型共用密鑰塊密碼算法以外的密碼算法或哈希 函數(shù)中應(yīng)用的變換處理相同的變換處理而執(zhí)行。
并且,本發(fā)明的密碼處理方法的一個實施方式的特征在 于,上述密碼處理步驟在各循環(huán)的線性變換處理中選擇性地應(yīng)
用至少兩個以上的不同的多個矩陣,選擇應(yīng)用的矩陣中的至少
一個是在上述Feistel型共用密鑰塊密碼算法以外的密碼算法或 哈希函數(shù)中應(yīng)用的矩陣。
并且,本發(fā)明的密碼處理方法的一個實施方式的特征在
應(yīng)用兩個不同的矩陣M。、 Mi的步驟,以各矩陣M。、 Mj々應(yīng)用 順序滿足如下(a)、 (b)的條件的方式應(yīng)用兩個不同的矩陣Mo、 M"
(a) 奇數(shù)循環(huán)中以Mo、 Mi的順序應(yīng)用,
(b) 從偶數(shù)循環(huán)的最后級起以Mo、 Mi的順序應(yīng)用。
并且,本發(fā)明的密碼處理方法的一個實施方式的特征在 于,上述密碼處理步驟是執(zhí)行在各循環(huán)的線性變換處理中選擇 性地應(yīng)用三個不同的矩陣Mo、 Mp M2的處理的步驟,以各矩 陣Mo、 Mp M2的應(yīng)用順序滿足如下(a)、 (b)的條件的方式應(yīng)用 三個不同的矩陣Mo、 M!、 M2:
(a) 奇數(shù)循環(huán)中以Mo、 Mp M2的順序應(yīng)用,
(b) 從偶數(shù)循環(huán)的最后級起以Mo、 M!、 Mz的順序應(yīng)用。 并且,本發(fā)明的密碼處理方法的一個實施方式的特征在
于,上述密碼處理步驟是執(zhí)行64比特Feistel型共用密鑰塊密碼
至少 一個是應(yīng)用在AES密碼算法中所利用的矩陣。
并且,本發(fā)明的密碼處理方法的一個實施方式的特征在 于,上述密碼處理步驟是執(zhí)行128比特Feistel型共用密鑰塊密碼
至少 一 個是在Whirlpool哈希函數(shù)中應(yīng)用的矩陣。
并且,本發(fā)明的第三側(cè)面是一種計算機程序,該計算機程 序使密碼處理裝置執(zhí)行密碼處理,該計算機程序的特征在于,
作為使密碼處理部執(zhí)行的步驟具有密碼處理步驟,在該密
碼處理步驟中執(zhí)行將SP型F函數(shù)反復(fù)循環(huán)多次的Feistel型共用 密鑰塊密碼處理,其中,上述SP型F函數(shù)執(zhí)行包括非線性變換 處理和線性變換處理的數(shù)據(jù)變換處理, 上述密碼處理步驟是如下的步驟
將在各循環(huán)中的F函數(shù)中執(zhí)行的非線性變換處理和線性變 換處理中的至少任一個變換處理作為與在上述Feistel型共用密 鑰塊密碼算法以外的密碼算法或哈希函數(shù)中應(yīng)用的變換處理相 同的變換處理而才丸行。
此外,本發(fā)明的計算機程序例如是能夠通過以計算機可讀 的形式提供的存儲介質(zhì)、通信介質(zhì)、例如CD、 FD、 MO等記錄 介質(zhì)、或網(wǎng)絡(luò)等通信介質(zhì)來對可執(zhí)行各種程序代碼的計算機系 統(tǒng)提供的計算機程序。通過以計算機可讀的形式提供這種程序, 在計算機系統(tǒng)上實現(xiàn)與程序相應(yīng)的處理。
通過基于后述的本發(fā)明的實施例、附圖的更詳細(xì)的說明, 本發(fā)明的進(jìn)一步的其它目的、特征、優(yōu)點會更清楚。此外,在 本說明書中的系統(tǒng)是多個裝置的邏輯集合結(jié)構(gòu),并不限于各結(jié) 構(gòu)的裝置在同一殼體內(nèi)。
發(fā)明的效果
根據(jù)本發(fā)明的結(jié)構(gòu),在將具有非線性變換部和線性變換部 的SP型F函數(shù)反復(fù)循環(huán)執(zhí)行多次的Feistel型共用密鑰塊密碼處 理中,將在各循環(huán)中的F函數(shù)中執(zhí)行的非線性變換處理和線性 變換處理中的至少任一個變換處理作為與在上述Feistel型共用 密鑰塊密碼算法以外的密碼算法或哈希函數(shù)、例如AES 、 Whirlpool等中應(yīng)用的變換處理相同的變換處理而執(zhí)行,因此能 夠通過部件共用化降低設(shè)計成本、減少存儲器存儲數(shù)據(jù)。即, 通過在作為不同算法的密碼處理、哈希函數(shù)中能夠共同地利用
為了執(zhí)行非線性變換、線性變換而所需的至少一部分硬件、軟 件,能夠降低硬件的安裝成本,在軟件安裝中也能夠通過部件 的共用化而縮小成本大小。


圖l是表示具有Feistel構(gòu)造的代表性的共用密鑰塊密碼的 結(jié)構(gòu)的圖。
圖2是說明作為循環(huán)函數(shù)部設(shè)定的F函數(shù)的結(jié)構(gòu)的圖。 圖3是說明利用了兩個不同的線性變換矩陣的Feistel型密 碼算法的圖。
圖4是說明利用了三個不同的線性變換矩陣的Feistel型密 碼算法的圖。
圖5是表示作為本發(fā)明所涉及的執(zhí)行密碼處理的密碼處理 裝置的IC模塊的結(jié)構(gòu)例的圖。
具體實施例方式
下面詳細(xì)說明本發(fā)明的密碼處理裝置和密碼處理方法、以 及計算機程序。按照以下項目進(jìn)行說明。
1. 具有SP型F函數(shù)的Feistel構(gòu)造
2. 線性變換層(P層)中的最優(yōu)擴散變換
3. 各種密碼算法和哈希函數(shù)中的數(shù)據(jù)變換的方式
4. 在具有SP型F函數(shù)的Feistel型密碼中的數(shù)據(jù)變換處理中 應(yīng)用了在其它密碼算法或哈希函數(shù)中應(yīng)用的數(shù)據(jù)變換 處理結(jié)構(gòu)的結(jié)構(gòu)
(4.1) AES部件共用型64比特Feistel型密碼
(4.2) Whirlpool部件共用型128比特Feistel型密碼
5. 密碼處理裝置的結(jié)構(gòu)例[1.具有SP型F函數(shù)的Feistel構(gòu)造]
首先,說明具有SP型F函數(shù)的Feistel構(gòu)造。作為共用密鑰塊 密碼的設(shè)計,大多使用被稱為Feistel構(gòu)造的構(gòu)造,該Feistel構(gòu)
的順序進(jìn)行配置。Feistel構(gòu)造具有如下的構(gòu)造通過被稱為循 環(huán)函數(shù)的變換函數(shù)的簡單的重復(fù),將明文變換為密碼文。
參照圖l說明Feistel構(gòu)造。將作為加密對象輸入的明文的長 度設(shè)為2mn比特(bit)。其中,m、 n都是整數(shù)。首先,將2mn比 特的明文分割為mn比特的兩個輸入數(shù)據(jù)PiXPlain-Left:左明 文)IOI、 PR(Plain-Right:右明文)102,并將其^殳為輸入值。
Feistel構(gòu)造以被稱為循環(huán)函數(shù)的基本構(gòu)造的重復(fù)來表現(xiàn), 在各循環(huán)中所包含的數(shù)據(jù)變換函數(shù)被稱為F函數(shù)120。在圖l的 結(jié)構(gòu)中,示出了F函數(shù)(循環(huán)函數(shù))120重復(fù)r級的結(jié)構(gòu)例。
例如在第一個循環(huán)中,將mn比特的輸入數(shù)據(jù)X、和從密鑰 生成部(未圖示)輸入的mn比特的循環(huán)密鑰IQ 103輸入到F函數(shù) 120,在進(jìn)行F函數(shù)120中的數(shù)據(jù)變換處理之后輸出mn比特的數(shù) 據(jù)Y。在異或部104中對輸出與來自另 一方前級的輸入數(shù)據(jù)(第1 級的情況下是輸入數(shù)據(jù)PJ進(jìn)行異或運算,并向下 一 個循環(huán)函數(shù) 輸出mn比特的運算結(jié)果。將該處理、即將F函數(shù)重復(fù)應(yīng)用所決 定的循環(huán)數(shù)(r)來完成加密處理,輸出密碼文的分割數(shù)據(jù) CL(Cipher-Left:左密碼)、CR(Cipher-Right:右密碼)。通過以 上結(jié)構(gòu),得出Feistel構(gòu)造的解密處理只要使插入循環(huán)密鑰的順 序反轉(zhuǎn)即可、不需要構(gòu)成反函數(shù)。
參照圖2說明設(shè)定為各循環(huán)的函數(shù)的F函數(shù)12 0的結(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是輸入輸出比特長度具有mxn(m、 n為 整數(shù))比特的設(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比特輸出的非線性變換表,將mn比特 的數(shù)據(jù)以每n比特進(jìn)行分割、并分別輸入到對應(yīng)的S盒(S-box) 來變換數(shù)據(jù)。在各S盒中,例如執(zhí)行應(yīng)用了變換表的非線性變 換處理。
線性變換層(P層)由線性變換部12 2構(gòu)成,線性變換部12 2 被輸入作為來自S盒121的輸出數(shù)據(jù)的mn比特的輸出值Z,對該 輸入實施線性變換而輸出mn比特的結(jié)果。線性變換部122執(zhí)行 輸入比特位置的替換處理等的線性變換處理,輸出mn比特的輸 出值Y。該輸出值Y與來自前級的輸入數(shù)據(jù)進(jìn)行異或,被設(shè)為下 一個循環(huán)的F函數(shù)的輸入值。
此外,在下面說明的本實施例的結(jié)構(gòu)中,將在作為線性變
GF(2)上定義的mnxmn矩陣而進(jìn)行的線性變換,另外,將包含在 第i循環(huán)中的矩陣稱為Mi。
作為在線性變換部122中執(zhí)行的線性變換的特殊例子,將最 優(yōu)擴散變換(Optimal Diffusion Mappings)定義為如下,其中,上
對于進(jìn)行從nxa比特數(shù)據(jù)向nxb比特數(shù)據(jù)的線性變換的映
射, <formula>formula see original document page 15</formula>
將分支數(shù)B(;e)定義為如下。
<formula>formula see original document page 15</formula>
其中,將min^(Xa)設(shè)為表示滿足a邦的所有的Xa中的最小 值的Xa ,將hwn (Y)設(shè)為在將比特列Y按每n比特進(jìn)行分割而表示 時返回n比特的數(shù)據(jù)都不是O(非零)的元素的數(shù)量的函數(shù)。此時,
將如B(e)為b+i那樣的映射e定義為最優(yōu)擴散變換。另外,為了
方便,將矩陣M的分支數(shù)表示為B(M)。
下面說明各種密碼算法和哈希函數(shù)中的數(shù)據(jù)變換的方式。 之前說明的非線性變換、線性變換處理是在很多密碼算法、作 為簡化函數(shù)的哈希函數(shù)等中利用的數(shù)據(jù)變換。
在各種密碼算法和哈希函數(shù)中,為了進(jìn)行這種數(shù)據(jù)變換, 作為非線性變換層(S層)利用由n比特輸入n比特輸出的非線性 變換表構(gòu)成的S盒(S - b o x),作為線性變換層(P層)利用執(zhí)行輸入 比特位置的替換處理等的線性變換處理的線性變換矩陣。
這樣,各種密碼算法和哈希函數(shù)中的數(shù)據(jù)變換具有進(jìn)行非 線性變換、線性變換處理的共用性,因此在共用密鑰塊密碼、 哈希函數(shù)的一部分、流密碼等中,存在使用了用于進(jìn)行數(shù)據(jù)變 換的相同的部件的情況。例如,存在為了實現(xiàn)非線性變換而使 用8比特輸入輸出的置換表的盒、作為線性變換而使用GF(28) 上的4x4 、 8x8矩陣的情況。下面說明在美國標(biāo)準(zhǔn)密碼 AES(Advanced Encryption Standard: 高級加密標(biāo)準(zhǔn))和ISO中標(biāo) 準(zhǔn)化的哈希函數(shù)Whirlpool中利用的非線性變換和線性變換的 概要。
(1) AES密碼
美國標(biāo)準(zhǔn)密碼A E S是12 8比特塊密碼,在數(shù)據(jù)變換過程中存 在進(jìn)行如下的非線性運算和線性運算的部分。 [非線性變換]
上述式表示AES中的非線性變換的一部分。在上述式中,
處理函數(shù),表示進(jìn)行將l個字節(jié)數(shù)據(jù)(Xk)作為輸入、將l個字節(jié)
數(shù)據(jù)(yO作為輸出的非線性變換處理的函數(shù)。通過應(yīng)用多個S 盒,執(zhí)行將輸入4個字節(jié)數(shù)據(jù)x。 X3非線性變換為輸出4個字節(jié)數(shù) 據(jù)y。 y3的處理。
<formula>formula see original document page 16</formula>
上述式表示AES中的線性變換的一部分。上述式是利用了
執(zhí)行輸入比特位置的替換處理等的線性變換處理的線性變換矩
陣的式子。其中,設(shè)矩陣的元素表示有限體GF(2S)的元素,將
既約多項式表示為ts+t、一+t+l。在此使用的矩陣是分支數(shù)為5
的最優(yōu)擴散變換。在AES密碼算法中的線性變換中應(yīng)用上述的 4x4殺巨p車。
(2)Whirlpool
下面說明在ISO中標(biāo)準(zhǔn)化的哈希函數(shù)Whirlpool中利用的非 線性變換和線性變換的概要。哈希函數(shù)Whirlpool是具有512比 特的輸出的哈希函數(shù),在數(shù)據(jù)變換過程中存在進(jìn)行如下運算的 部分。
<formula>formula see original document page 17</formula>
上述式表示哈希函數(shù)Whirlpool的非線性變換。在上述式 中,sW(Xk)表示利用執(zhí)行應(yīng)用于哈希函數(shù)Whirlpool中的非線性 變換的S盒的處理函數(shù),表示進(jìn)行將l個字節(jié)數(shù)據(jù)(Xk)作為輸入、
將l個字節(jié)數(shù)據(jù)(yk)作為輸出的非線性變換處理的函數(shù)。通過應(yīng) 用多個S盒,執(zhí)行將輸入8個字節(jié)數(shù)據(jù)Xo X7非線性變換為輸出8
個字節(jié)數(shù)據(jù)y。 y7的處理。
<formula>formula see original document page 17</formula>
上述式表示哈希函數(shù)Whirlpool的線性變換。上述式是利用 了執(zhí)行輸入比特位置的替換處理等線性變換處理的線性變換矩 陣的式子。其中,設(shè)矩陣元素表示有限體GF(2S)的元素,將既 約多項式表示為tS+tV一+一+l。在此使用的矩陣是分支數(shù)為9的 最優(yōu)擴散變換。在哈希函數(shù)Whirlpool算法中的線性變換中應(yīng)用 上述的8x8矩陣。的項目中說明的算法,該算法與AES密碼、哈 希函數(shù)Whirlpool的算法不同。如之前參照圖l、圖2所說明的那 樣,具有SP型F函數(shù)的Feistel型密碼具有在各循環(huán)中執(zhí)行F函數(shù) 的結(jié)構(gòu),具有在各循環(huán)中的F函數(shù)中執(zhí)行應(yīng)用了S盒的非線性變 換、和應(yīng)用了線性變換矩陣的線性變換處理的結(jié)構(gòu)。
通過變更F函數(shù)的結(jié)構(gòu),能夠使具有作為共用密鑰塊密碼 的設(shè)計之一的SP型F函數(shù)的Feistel型密碼對應(yīng)于各種輸入輸出 比特結(jié)構(gòu)。例如是將輸入輸出比特設(shè)為64比特的64比特塊密碼、 或者將輸入輸出比特設(shè)為128比特的128比特塊密碼等。
在設(shè)計具有SP型F函數(shù)的Feistel型密碼的情況下,需要將在 F函數(shù)中應(yīng)用的非線性變換處理、線性變換處理結(jié)構(gòu)設(shè)為與處 理比特數(shù)對應(yīng)的結(jié)構(gòu)。
在此,例如在具有執(zhí)行將輸入輸出比特設(shè)為64比特的64比 特塊密碼的SP型F函數(shù)的Feistel型密碼中,能夠應(yīng)用在上述AES 算法中所應(yīng)用的非線性變換和線性變換處理結(jié)構(gòu)。即,能夠應(yīng)
性變換中應(yīng)用的線性變換矩陣。
另外,在寺丸行將輸入輸出比特設(shè)為128比特的128比特塊密 碼的、具有SP型F函數(shù)的Feistel型密碼中,能夠應(yīng)用在上述哈希 函數(shù)Whirlpool中所應(yīng)用的非線性變換和線性變換處理結(jié)構(gòu)。 即,能夠應(yīng)用在哈希函數(shù)Whirlpool中所應(yīng)用的非線性變換用的 變換表(置換表)、線性變換中應(yīng)用的線性變換矩陣。
在具有SP型F函數(shù)的Feistel型密碼中,當(dāng)將在各循環(huán)中應(yīng)用 的線性變換矩陣設(shè)定為不同的矩陣時,例如能夠提高對差分解 析(differential analysis)等攻擊的抗拒性。即,能夠提高密碼強 度。此外,關(guān)于通過將在各循環(huán)中應(yīng)用的線性變換矩陣設(shè)定為 不同的矩陣來提高具有SP型F函數(shù)的Feistel型密碼的密碼強度
的詳細(xì)結(jié)構(gòu),在與本發(fā)明的申請人有關(guān)的之前的專利申請曰本
特愿2005-313842中進(jìn)行了說明。
在現(xiàn)有的Feistel型密碼中,由于在所有級的F函it中4吏用相 同的線性變換層,因此存在當(dāng)差分的傳播時同時抵消多個差分 的性質(zhì)。作為密碼解析方法的代表性方法,已知差分解析(或差 分解讀法),在該差分解析(或差分解讀法)中通過多次解析具有 某差分的輸入數(shù)據(jù)(明文)及其輸出數(shù)據(jù)(密碼文)來解析各循環(huán) 函數(shù)中的應(yīng)用密鑰,在現(xiàn)有的DES密碼算法等共用密鑰塊密碼 中,在各級的循環(huán)中將在F函數(shù)的線性變換部中應(yīng)用的處理(變 換矩陣)設(shè)定為相等,因此容易進(jìn)行差分解析,其結(jié)果導(dǎo)致容易 解析密鑰。
通過將在各循環(huán)的F函數(shù)中應(yīng)用的線性變換矩陣設(shè)為按照 特定的序列的不同的矩陣,能夠排除當(dāng)差分傳播時同時抵消多 個差分的性質(zhì),能夠提高對差分解析等攻擊的抗拒性。
在將各循環(huán)中應(yīng)用的線性變換矩陣設(shè)定為不同的矩陣的
情況下,例如需要在執(zhí)行密碼處理的IC卡等信息處理裝置中保 持多個不同的線性變換矩陣數(shù)據(jù)。在Feistel型密碼中選擇多個 矩陣時,存在幾個選擇基準(zhǔn),但是例如在決定各矩陣時,不是 自己決定新的兩個、三個矩陣的全部,而是對其中之一直接利 用AES矩陣、Whirlpool矩陣,從而實現(xiàn)設(shè)計的高效化。
具體地說,是如下結(jié)構(gòu)作為在64比特Feistel型密碼中利 用的矩陣之一利用AES中所應(yīng)用的矩陣的結(jié)構(gòu)、作為在128比特 Feistel型密碼中利用的矩陣之 一 利用Whirlpool中所應(yīng)用的矩 陣。
如之前所說明的那樣,在IC卡、便攜終端中能夠由一個裝 置執(zhí)行各種數(shù)據(jù)處理,因此希望設(shè)為可執(zhí)行各種密碼算法、哈 希函數(shù)的結(jié)構(gòu)。針對這種要求,在例如設(shè)為可執(zhí)行AES和Feistel
型密碼的兩個不同算法的結(jié)構(gòu)的情況下,需要保持各個算法中 應(yīng)用的非線性變換表、線性變換矩陣。另外,在設(shè)為可執(zhí)行
Whirlpool和Feistel型密碼的兩個不同的算法的結(jié)構(gòu)的情況下, 需要保持各個算法中應(yīng)用的非線性變換表、線性變換矩陣。
為了保持這種多個算法中應(yīng)用的變換用的數(shù)據(jù),將IC卡等 裝置的有限的存儲器空間耗費在保存這些在多個算法中利用的 多個表、矩陣。另外,為了保持一定的密碼強度,對在Feistel 型密碼中應(yīng)用的例如線性變換矩陣,不適合利用任意矩陣,需 要利用具有不使密碼強度下降的性質(zhì)的矩陣。
關(guān)于在Feistel型密碼中應(yīng)用的例如線性變換矩陣的限制, 例如在與上述的本發(fā)明的申請人有關(guān)的之前的專利申請日本特 愿2005-313842中進(jìn)行了說明。下面示出例如可應(yīng)用的 一 個限制 條件的例子。
(限制條件A)
具有F函數(shù)的由r級構(gòu)成的Feistel型共用密鑰塊密碼處理結(jié) 構(gòu)中的、與各個r級對應(yīng)的F函數(shù)的線性變換部應(yīng)用滿足下述條 件的矩陣Mj。
對于進(jìn)行從nxa比特數(shù)據(jù)向nxb比特數(shù)據(jù)的線性變換的映 射e: {0, l}na—{0, l}nb,將分支數(shù)B(e)定義為如下,
分支數(shù)B(0)二min{hw (o;)+hw (0(a))}
其中,將mina#0{Xa}設(shè)為滿足#0的所有的Xa中的最小值, 將hWn(Y)設(shè)為在將比特列Y按每n比特進(jìn)行分割而表示時返回n 比特的數(shù)據(jù)都不是0(非零)的元素的數(shù)量的函數(shù),將分支數(shù)B(e) 為b+l的映射e定義為最優(yōu)擴散變換,
并且,在將矩陣M的分支數(shù)表示為B(M)時,
<formula>formula see original document page 22</formula>
其中,在將AIB設(shè)為通過矩陣A、 B的連接而得到的矩陣的 情況下,應(yīng)用如BDp BD2全部都是3以上那樣的矩陣Mi。
此外,根據(jù)3以上的條件,Mi和Mi+2必須是不同的矩陣。 例如,為了具有對差分攻擊等攻擊的抗拒性,能夠?qū)⑸鲜?(限制條件A)作為在Feistel型密碼中應(yīng)用的線性變換矩陣的條 件而應(yīng)用。
在AES、 Whirlpool中利用的例如線性變換矩陣的、作為保 持密碼強度的指標(biāo)之一的分支數(shù)滿足一定的條件,通過將它們 應(yīng)用于Feistel型密碼,保證一 定的密碼強度的保持。因而,通 過對上述應(yīng)用多個不同的線性變換矩陣的Feistel型密碼中的多 個矩陣的 一 部分應(yīng)用在AES 、 Whirlpool中所利用的線性變換矩 陣,能夠有效利用IC卡、便攜終端等的密碼處理裝置中的存儲 器,還可以實現(xiàn)Feistel型密碼的設(shè)計的高效化。即,能夠減少 設(shè)計時應(yīng)決定的矩陣的數(shù)量,設(shè)計者應(yīng)查找的候選數(shù)量變少, 減少用于限定(narrow down)的時間。
下面說明如下的結(jié)構(gòu)例在具有SP型F函數(shù)的Feistel型密碼 中,在將各循環(huán)中應(yīng)用的線性變換矩陣設(shè)定為不同的矩陣來提 高了對差分解析等攻擊的抗拒性的Feistel型密碼中,對其一部 分的線性變換矩陣應(yīng)用了 AES或Whirlpool的矩陣。在下面說明 的實施例中,對在使用兩個或三個不同的線性變換矩陣的 Feistel密碼中對這些矩陣中的一個采用AES或Whirlpool的矩陣 的例子進(jìn)行說明。
(4.1) AES部件共用型64比特Feistel型密碼
首先,說明與AES共用部件的64比特塊密碼的結(jié)構(gòu)。如上 所述,通過應(yīng)用在Feistel型密碼的各循環(huán)的F函數(shù)中所應(yīng)用的線性變換矩陣,能夠排除差分傳播時同時抵消多個差分的性質(zhì),
能夠提高對差分解析等攻擊的抗拒性。下面說明如下的結(jié)構(gòu)例 在使F函數(shù)具有非線性變換層(S層)和線性變換層(P層)的SP型 64比特Feistel型密碼結(jié)構(gòu)中應(yīng)用兩個不同的線性變換矩陣和三 個不同的線性變換矩陣,對其一部分利用了在AES密碼算法中 應(yīng)用的線性變換矩陣。
(4.1.1)應(yīng)用了兩個不同的線性變換矩陣的結(jié)構(gòu)例 首先說明執(zhí)行作為利用了兩個不同的線性變換矩陣的 Feistel型密碼的64比特塊密碼的結(jié)構(gòu)例。參照圖3說明利用了兩 個不同的線性變換矩陣的Feistel型密碼算法。
在本算法的結(jié)構(gòu)中,作為用于進(jìn)行在具有多級(循環(huán))的 Feistel型共用密鑰塊密碼處理結(jié)構(gòu)中的各級F函數(shù)中的線性變 換部中應(yīng)用的線性變換處理的矩陣,利用兩個不同的矩陣Mo、 Mi。具體地說,如圖3所示,
(a) 奇數(shù)級中以Mo、 Mi的順序配置
(b) 從偶數(shù)級的最后級起以Mo、 1V^的順序配置
設(shè)為以滿足上述(a)、 (b)的條件的方式應(yīng)用兩個不同的矩陣 M0、 Mi的結(jié)構(gòu)。
條件(a)是(a)奇數(shù)級中以Mo、 Mi的順序配置的條件,如圖3 所示,以循環(huán)l、 3、 5、…的順序依次配置矩陣M。、 M"條件 (b)是(bV人偶數(shù)級的最后級起以M。、 Mi的順序配置的條件,如 圖3所示,以循環(huán)12、 10、 8、…的順序依次配置矩陣Mo、
在此,各個矩陣M。、 Mi是在各循環(huán)中的F函數(shù)中執(zhí)行的線 性變換矩陣,表示4x4矩陣。該兩個矩陣Mo、 Mi是不同的矩陣, 對其中一個矩陣、例如矩陣Mo利用了在上述AES算法中利用的 4x4矩陣。將矩陣MJ殳為滿足Feistel密碼算法的限制條件的矩 陣。
下面示出了具體的矩陣組合的例子。例如,作為滿足如下條件的矩陣存在下面的矩陣組合即使取出M。、 Mi的兩個矩陣 整體的任意4行,分支數(shù)也是5,并且即使取出tMo—1、 tM^的兩 個矩陣的任意4行,分支數(shù)也是5。此外,tM表示M的轉(zhuǎn)置矩陣, M^表示M的逆矩陣。 [式5]
<formula>formula see original document page 24</formula>
上述矩陣M。、Mi中矩陣M。是在之前說明的AES算法中利用 的4x4矩陣,矩陣Mi是從滿足Feistel密碼算法的限制條件的矩陣 中選^奪的矩陣。應(yīng)用上述兩個不同的矩陣Mo、 M!,扭J亍Feistel 密碼算法的各循環(huán)中的F函數(shù)的線性變換。此外,各矩陣的元 素表示有限體GF(28)的元素,將既約多項式表示為t8+t4+t3+t+1 。 (4.1.2)應(yīng)用了三個不同的線性變換矩陣的結(jié)構(gòu)例 接著說明如下結(jié)構(gòu)例該結(jié)構(gòu)例是利用了三個不同的線性 變換矩陣的Feistel型密碼,執(zhí)行64比特塊密碼。參照圖4說明利 用了三個不同的線性變換矩陣的Feistel型密碼算法。
在本算法的結(jié)構(gòu)中,作為用于進(jìn)行在具有多級(循環(huán))的 Feistel型共用密鑰塊密碼處理結(jié)構(gòu)中的各級F函數(shù)中的線性變 換部中應(yīng)用的線性變換處理的矩陣,利用三個不同的矩陣M。、 Mt、 M2。具體地i兌,如圖4所示,
(a)奇數(shù)級中以Mo、 Mp M2的順序配置 (b^人偶^:級的最后級起以M()、 Mp M2的順序配置 設(shè)為以滿足上述(a)、 (b)的條件的方式應(yīng)用三個不同的矩陣 M0、 Mp M2的結(jié)構(gòu)。
條件(a)是(a)奇數(shù)級中以M。、 M,、 M2的順序配置的條件, 如圖4所示,以循環(huán)l、 3、 5、…的順序依次配置矩陣M。、 Mp M2。條件(b)是(b)/人偶數(shù)級的最后級起以M。、 Mp M2的順序配 置的條件,如圖4所示,以循環(huán)12、 10、 8、…的順序依次配置 矩降Mg、 Mp M2。
在此,各個矩陣Mo、 Mp M2是在各循環(huán)中的F函數(shù)中執(zhí)行 的線性變換矩陣,表示4x4矩陣。該三個矩陣Mo、 Mp M2是不 同的矩陣,對其中一個矩陣、例如矩陣Mo利用了在上述AES算 法中利用的4x4矩陣。將矩陣M!、 M2設(shè)為滿足Feistel密碼算法
的限制條件的矩陣。
下面示出了具體的矩陣組合的例子。例如作為滿足如下條 件的矩陣存在下面的矩陣組合即使取出Mo、 Mp M2三個矩 陣整體的任意4行,分支數(shù)也是5,并且即使取出tM(T1、 tM〃兩 個矩陣、tMr1、 1]\42_1兩個矩陣、tM2—\ tMo—i兩個矩陣的任意4 行,分支數(shù)也是5。
<formula>formula see original document page 25</formula>上述矩陣Mo、 M2中矩陣M。是在之前說明的AES算法
中利用的4x4矩陣,M2是從滿足Feistel密碼算法的限制條 件的矩陣中選擇的矩陣。應(yīng)用上述三個不同的矩陣Mo、 M2,執(zhí)行Feistel密碼算法的各循環(huán)中的F函數(shù)的線性變換。此外, 各矩陣的元素表示有限體GF(2S)的元素,將既約多項式表示為 t8+t4+t3+t+l。
(4.2) Whirlpool部件共用型128比特Feistel型密碼
接著,說明與作為ISO標(biāo)準(zhǔn)化哈希函數(shù)的Whirlpool共用部 件的128比特塊密碼的結(jié)構(gòu)。如上所述,通過應(yīng)用在Feistel型密 碼的各循環(huán)的F函數(shù)中所應(yīng)用的線性變換矩陣,能夠排除差分 傳播時同時抵消多個差分的性質(zhì),能夠提高對差分解析等攻擊 的抗拒性。下面說明如下的結(jié)構(gòu)例在使F函數(shù)具有非線性變 換層(S層)和線性變換層(P層)的SP型的128比特Feistel型密碼結(jié) 構(gòu)中應(yīng)用兩個不同的線性變換矩陣和三個不同的線性變換矩 陣,對其一部分利用了在Whirlpool密碼算法中應(yīng)用的線性變換 矩陣。
(4.2.1)應(yīng)用了兩個不同的線性變換矩陣的結(jié)構(gòu)例 首先說明執(zhí)行作為利用了兩個不同的線性變換矩陣的 Feistel型密碼的128比特塊密碼的結(jié)構(gòu)例。如之前參照圖3所說 明的那樣,利用了兩個不同的線性變換矩陣的Feistel型密碼是 如下結(jié)構(gòu)作為用于進(jìn)行在具有多級(循環(huán))的Feistel型共用密鑰 塊密碼處理結(jié)構(gòu)中的各級的F函數(shù)中的線性變換部中應(yīng)用的線 性變換處理的矩陣,利用了兩個不同的線性變換矩陣Mo、 M!。 具體地說,如圖3所示,
(a) 奇數(shù)級中以Mo、 Mi的順序配置
(b) 從偶數(shù)級的最后級起以Mo、 Mi的順序配置
設(shè)為以滿足上述(a)、 (b)的條件的方式應(yīng)用兩個不同的矩陣 Mo、 M!的結(jié)構(gòu)。
條件(a)是(a)奇數(shù)級中以M。、 Mi的順序配置的條件,如圖3 所示,以循環(huán)l、 3、 5、…的順序依次配置矩陣Mo、 MlQ條件 (b)是(b)從偶數(shù)級的最后級起以M。、 M!的順序配置的條件,如 圖3所示,以循環(huán)12、 10、 8、…的順序依次配置矩陣Mo、 M"
在此,各個矩陣Mo、 Mi是在各循環(huán)中的F函數(shù)中執(zhí)行的線 性變換矩陣,表示8x8矩陣。該兩個矩陣Mo、 Mi是不同的矩陣,
對其中 一 個矩陣、例如矩陣Mo利用了在上述Whirlpool算法中利 用的8 x 8矩陣。將矩陣MJ更為滿足Feistel密碼算法的限制條件的矩陣。
下面示出了具體的矩陣組合的例子。例如作為滿足如下條 件的矩陣存在下面的矩陣組合即使取出Mq、 M!的兩個矩陣整 體的任意8行,分支數(shù)也是8以上,并且即使取出tMo人tM〃的 兩個矩陣的任意8行,分支數(shù)也是8以上。
<formula>formula see original document page 27</formula>
上述矩陣Mo、 M!中矩陣Mo是在之前說明的Whirlpool算法 中利用的8x8矩陣,M!是從滿足Feistel密碼算法的限制條件的矩 陣中選擇的矩陣。應(yīng)用上述兩個不同的矩陣Mo、 M"執(zhí)行Feistel 密碼算法的各循環(huán)中的F函數(shù)的線性變換。此外,各矩陣的元 素表示有限體GF(28)的元素,將既約多項式表示為 t8+t4+t3+t2+l。
(4.2.2)應(yīng)用了三個不同的線性變換矩陣的結(jié)構(gòu)例 接著說明如下結(jié)構(gòu)例該結(jié)構(gòu)例是利用了三個不同的線性 變換矩陣的Feistel型密碼,執(zhí)行128比特塊密碼。如之前參照圖 4所說明的那樣,在利用了三個不同的線性變換矩陣的Feistel 型密碼中,利用三個不同的矩陣Mo、 Mp M2作為用于進(jìn)行在 具有多級(循環(huán))的Feistel型共用密鑰塊密碼處理結(jié)構(gòu)中的各級 F函數(shù)中的線性變換部中應(yīng)用的線性變換處理的矩陣。具體地
說,如圖4所示,
(a) 奇數(shù)級中以Mo、 M。 M2的順序配置
(b) 從偶數(shù)級的最后級起以MQ、 Mp M2的順序配置
設(shè)為以滿足上述(a)、 (b)的條件的方式應(yīng)用三個不同的矩陣 M0、 Mp ]\42的結(jié)構(gòu)。
條件(a)是(a)奇數(shù)級中以Mo、 M!、 M2的順序配置的條件, 如圖4所示,以循環(huán)l、 3、 5、…的順序依次配置矩陣M。、 Mp M2。條件(b)是(b)/人偶數(shù)級的最后級起以M。、 Mi、 M2的順序配 置的條件,如圖4所示,以循環(huán)12、 10、 8、…的順序依次配置 矩陣M。、 Mp M2。
在此,各個矩陣Mo、 Mp M2是在各循環(huán)中的F函數(shù)中執(zhí)行 的線性變換矩陣,表示8x8矩陣。該三個矩陣Mo、 Mr M2是不 同的矩陣,對其中 一 個矩陣、例如矩陣Mo利用了在上述 Whirlpool算法中利用的8x8矩陣。將矩陣Mp M2設(shè)為滿足Feistel
密碼算法的限制條件的矩陣。
下面示出了具體的矩陣組合的例子。例如作為滿足如下條
件的矩陣存在下面的矩陣組合即4吏取出M。、 Mp M2三個矩
陣整體的任意8行,分支數(shù)也是8以上,并且即使取出tM?!?、 tM「1
兩個矩陣、tM「\ tM^兩個矩陣、tM2_1、 tM(^兩個矩陣的任意
8行,分支數(shù)也是8以上。
最后,在圖5中示出了作為執(zhí)行密碼處理的密碼處理裝置的 IC模塊300的結(jié)構(gòu)例。能夠在例如PC、 IC卡、讀寫器、其它各 種信息處理裝置中執(zhí)行上述處理,圖5所示的IC模塊300能夠構(gòu) 成在這些各種設(shè)備中。
圖5所示的CPU(Central processing Unit:中央處理單元)301 是執(zhí)行密碼處理的開始、結(jié)束、數(shù)據(jù)的發(fā)送和接收的控制、各 結(jié)構(gòu)部之間的數(shù)據(jù)傳輸控制、其它各種程序的處理器。存儲器 302由ROM(Read-Only-Memory:只讀存儲器)和RAM(Random Access Memory:隨機存取存儲器)等構(gòu)成,其中,上述ROM保 存由CPU 301所執(zhí)行的程序、或運算參數(shù)等固定數(shù)據(jù),上述RAM 作為在CPU 301的處理中執(zhí)行的程序、以及在程序處理中適當(dāng) 變化的參數(shù)的保存區(qū)域、工作區(qū)域而使用。另外,存儲器302 能夠作為密碼處理中所需的密鑰數(shù)據(jù)、在密碼處理中應(yīng)用的變 換表(置換表)、在變換矩陣中應(yīng)用的數(shù)據(jù)等的保存區(qū)域而使用。 此外,數(shù)據(jù)保存區(qū)域最好構(gòu)成為具有耐損害(tamper)結(jié)構(gòu)的存儲 器。
密碼處理部303例如執(zhí)行按照上述Feistel型共用密鑰塊密 碼處理算法的密碼處理、解密處理,還執(zhí)行AES算法、Whirlpool 等密碼處理、哈希函數(shù)等。此外,在此示出了將密碼處理單元
設(shè)為單獨模塊的例子,但是也可以不設(shè)置這種獨立的密碼處理
才莫塊而例如將密碼處理程序保存在ROM中,CPU 301讀出ROM 保存程序來執(zhí)行。
隨機數(shù)產(chǎn)生器3 04執(zhí)行在密碼處理所需的密鑰的生成等中 所必需的隨機數(shù)的產(chǎn)生處理。
發(fā)送接收部305是執(zhí)行與外部的數(shù)據(jù)通信的數(shù)據(jù)通信處理 部,例如執(zhí)行與讀寫器等IC模塊之間的數(shù)據(jù)通信,執(zhí)行在IC模 塊內(nèi)生成的密碼文的輸出、或者來自外部讀寫器等設(shè)備的數(shù)據(jù) 輸入等。
在該IC模塊300中,例如在設(shè)為可執(zhí)行AES算法、和應(yīng)用了 多個不同的矩陣(線性變換矩陣)的Feistel型共用密鑰塊密碼處 理算法的兩個不同算法的結(jié)構(gòu)的情況下,通過將F e i s t e 1型共用 密鑰塊密碼處理算法的應(yīng)用矩陣的一部分與AES算法的應(yīng)用矩 陣共用化,能夠減少應(yīng)記錄在存儲器302中的變換矩陣用數(shù)據(jù)。
另外,同樣地,在設(shè)為可執(zhí)行哈希函數(shù)Whirlpool、和應(yīng)用 了多個不同的矩陣(線性變換矩陣)的Feistel型共用密鑰塊密碼 處理算法的兩個不同算法的結(jié)構(gòu)的情況下,通過將F e i s t e 1型共 用密鑰塊密碼處理算法的應(yīng)用矩陣的 一 部分與哈希函數(shù) Whirlpool的應(yīng)用矩陣共用化,能夠減少應(yīng)記錄在存儲器302中 的變換矩陣用數(shù)據(jù)。
以上,參照特定的實施例詳細(xì)i兌明了本發(fā)明。然而,顯然 在不脫離本發(fā)明的要旨的范圍內(nèi)本領(lǐng)域技術(shù)人員可進(jìn)行該實施 例的修改、代用。即,以例示的形式公開了本發(fā)明,但是不應(yīng) 限定性地解釋。為了判斷本發(fā)明的要旨,需要參考權(quán)利要求書 的范圍一欄。
此外,在說明書中說明的一系列處理能夠通過硬件、或軟 件、或兩者的合成結(jié)構(gòu)來執(zhí)行。在通過軟件執(zhí)行處理的情況下,
能夠?qū)⒂涗浟颂幚眄樞虻某绦虬惭b在嵌入到專用硬件中的計算 機內(nèi)的存儲器中執(zhí)行、或?qū)⒊绦虬惭b在可執(zhí)行各種處理的通用
計算機中執(zhí)行。
例如,可將程序預(yù)先記錄在作為記錄介質(zhì)的硬盤、
ROM(Read Only Memory)中?;蛘?,可將程序暫時或永久性地 {呆存(記錄)在專欠盤、CD-ROM(Compact Disc Read Only Memory: 光盤只讀存儲器)、MO(Magneto optical:,茲光)盤、DVD(Digital Versatile Disc:數(shù)字多功能光盤)、磁盤、半導(dǎo)體存儲器等可移 動記錄介質(zhì)中??蓪⑦@種可移動記錄介質(zhì)作為所謂的封裝軟件 而提供。
此外,程序除了從如上所述的可移動記錄介質(zhì)安裝到計算 機之外,還能夠從下載站點無線傳送到計算機、或通過稱為 LAN(Local Area Nerwork:局域網(wǎng))、因特網(wǎng)的網(wǎng)絡(luò)而有線傳送 到計算機,在計算機中接收這樣傳送來的程序并安裝到內(nèi)置的 硬盤等記錄介質(zhì)中。
此外,說明書中記載的各種處理,不僅按照記載以時間序 列執(zhí)行,也可以根據(jù)執(zhí)行處理的裝置的處理能力或需要來并行 或單獨地執(zhí)行。另外,在本說明書中系統(tǒng)是多個裝置的邏輯的 集合結(jié)構(gòu),并不限于各結(jié)構(gòu)的裝置在同一殼體內(nèi)。
產(chǎn)業(yè)上的可利用性
如上所述,根據(jù)本發(fā)明的結(jié)構(gòu),在將具有非線性變換部和 線性變換部的SP型F函數(shù)反復(fù)循環(huán)執(zhí)行多次的Feistel型共用密 鑰塊密碼處理中,設(shè)為將在各循環(huán)中的F函數(shù)中執(zhí)行的非線性 變換處理和線性變換處理中的至少任一個變換處理作為在與上 述Feistel型共用密鑰塊密碼算法以外的密碼算法或哈希函數(shù)、 例如AES、 Whirlpool等中應(yīng)用的變換處理相同的變換處理而執(zhí) 行的結(jié)構(gòu),因此能夠通過部件的共用化而降低設(shè)計成本、減少
存儲器存儲數(shù)據(jù)。即,能夠在作為不同算法的密碼處理、哈希
函數(shù)中共同地利用執(zhí)行非線性變換、線性變換所需的至少 一部 分硬件、軟件,由此降低硬件的安裝成本,在軟件安裝中還能 夠通過部件的共用化而縮小成本大小。
權(quán)利要求
1.一種密碼處理裝置,其特征在于,具有密碼處理部,該密碼處理部執(zhí)行將SP型F函數(shù)反復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理,其中,上述SP型F函數(shù)執(zhí)行包括非線性變換處理和線性變換處理的數(shù)據(jù)變換處理,上述密碼處理部的結(jié)構(gòu)為將在各循環(huán)中的F函數(shù)中執(zhí)行的非線性變換處理和線性變換處理中的至少任一個變換處理作為與在上述Feistel型共用密鑰塊密碼算法以外的密碼算法或哈希函數(shù)中應(yīng)用的變換處理相同的變換處理而執(zhí)行。
2. 根據(jù)權(quán)利要求l所述的密碼處理裝置,其特征在于, 上述密碼處理部是在各循環(huán)的線性變換處理中選擇性地應(yīng)用至少兩個以上的不同的多個矩陣的結(jié)構(gòu),選擇應(yīng)用的矩陣中 的至少一個是在上述Feistel型共用密鑰塊密碼算法以外的密碼 算法或哈希函數(shù)中應(yīng)用的矩陣。
3. 根據(jù)權(quán)利要求2所述的密碼處理裝置,其特征在于,用兩個不同的矩陣Mo、 Mi的結(jié)構(gòu),是以使各矩陣Mo、 Mi的配 置滿足如下(a)、 (b)的條件的方式應(yīng)用兩個不同的矩陣Mo、 Mi 的結(jié)構(gòu)(a) 奇數(shù)循環(huán)中以Mo、 Mi的順序配置,(b) 乂人偶H循環(huán)的最后級起以MQ、 Mi的順序配置。
4.根據(jù)權(quán)利要求2所述的密碼處理裝置,其特征在于, 上述密碼處理部是在各循環(huán)的線性變換處理中選擇性地應(yīng) 用三個不同的矩陣Mo、 Mp M2的結(jié)構(gòu),是以使各矩陣Mo、 Mp M2的配置滿足如下(a)、 (b)的條件的方式應(yīng)用三個不同的矩陣 Mo、 Mp M2的結(jié)構(gòu)(a)奇數(shù)循環(huán)中以Mo、 M!、 M2的順序配置, (b)從偶數(shù)循環(huán)的最后級起以Mo、 Mi、 M2的順序配置。
5. 根據(jù)權(quán)利要求1 4中的任一項所述的密碼處理裝置,其 特征在于,上述密碼處理部是執(zhí)行64比特Feistel型共用密鑰塊密碼處 理的結(jié)構(gòu),是在AES密碼算法中應(yīng)用的矩陣。
6. 根據(jù)權(quán)利要求5所述的密碼處理裝置,其特征在于,F(xiàn)eistel型共用密鑰塊密碼處理的兩個算法的結(jié)構(gòu)。
7. 根據(jù)權(quán)利要求1 4中的任一項所述的密碼處理裝置,其 特征在于,上述密碼處理部是執(zhí)行128比特Feistel型共用密鑰塊密碼 處理的結(jié)構(gòu),在各循環(huán)的線性變換處理中選擇應(yīng)用的矩陣中的至少一個 是在Whirlpool哈希函凄t中應(yīng)用的矩陣。
8. 根據(jù)權(quán)利要求7所述的密碼處理裝置,其特征在于,上述密碼處理部具有選擇性地執(zhí)行Whirlpool哈希函數(shù)和 128比特Feistel型共用密鑰塊密碼處理的兩個算法的結(jié)構(gòu)。
9. 一種密碼處理方法,其特征在于,具有密碼處理步驟,在該密碼處理步驟中執(zhí)行將SP型F函 數(shù)反復(fù)循環(huán)多次的Feistel型共用密鑰塊密碼處理,其中,上述換處理,在上述密碼處理步驟中,將在各循環(huán)中的F函數(shù)中執(zhí)行的 非線性變換處理和線性變換處理中的至少任一個變換處理作為 與在上述Feistel型共用密鑰塊密碼算法以外的密碼算法或哈希 函數(shù)中應(yīng)用的變換處理相同的變換處理而執(zhí)行。
10. 根據(jù)權(quán)利要求9所述的密碼處理方法,其特征在于, 上述密碼處理步驟在各循環(huán)的線性變換處理中選擇性地應(yīng)用至少兩個以上的不同的多個矩陣,選擇應(yīng)用的矩陣中的至少 一個是在上述Feistel型共用密鑰塊密碼算法以外的密碼算法或 哈希函數(shù)中應(yīng)用的矩陣。
11. 才艮據(jù)纟又利要求10所述的密碼處理方法,其特征在于, 上述密碼處理步驟是在各循環(huán)的線性變換處理中選擇性地應(yīng)用兩個不同的矩陣M。、 IVh的步驟,以各矩陣Mo、 JVh的應(yīng)用 順序滿足如下(a)、 (b)的條件的方式應(yīng)用兩個不同的矩陣Mo、 M"(a) 奇數(shù)循環(huán)中以Mo、 Mi的順序應(yīng)用,(b) 從偶數(shù)循環(huán)的最后級起以Mo、 ]Vh的順序應(yīng)用。
12. 根據(jù)權(quán)利要求10所述的密碼處理方法,其特征在于,性地應(yīng)用三個不同的矩陣Mo、 Mp M2的處理的步驟,以各矩 降Mq、 Mp M2的應(yīng)用順序滿足如下(a)、 (b)的條件的方式應(yīng)用 三個不同的矩陣Mo、 Mi、 M2:(a) 奇數(shù)循環(huán)中以M。、 Mi、 M2的順序應(yīng)用,(b) 乂人偶數(shù)循環(huán)的最后級起以Mo、 1V^、 M2的順序應(yīng)用。
13. 根據(jù)權(quán)利要求9 12中的任一項所述的密碼處理方法, 其特征在于,上述密碼處理步驟是執(zhí)行64比特Feistel型共用密鑰塊密碼 處理的步驟,個應(yīng)用在AES密碼算法中所利用的矩陣。
14. 根據(jù)權(quán)利要求9 12中的任一項所述的密碼處理方法,其特征在于,上述密碼處理步驟是執(zhí)行128比特Feistel型共用密鑰塊密 碼處理的步驟,在各循環(huán)的線性變換處理中選擇應(yīng)用的矩陣中的至少 一 個 是在Whirlpool哈希函數(shù)中應(yīng)用的矩陣。
15. —種計算機程序,使密碼處理裝置執(zhí)行密碼處理,該 計算機程序的特征在于,作為使密碼處理部執(zhí)行的步驟具有密碼處理步驟,在該密 碼處理步驟中執(zhí)行將SP型F函數(shù)反復(fù)循環(huán)多次的Feistel型共用 密鑰塊密碼處理,其中,上述SP型F函數(shù)執(zhí)行包括非線性變換 處理和線性變換處理的數(shù)據(jù)變換處理,上述密碼處理步驟是如下的步驟換處理中的至少任一個變換處理作為與在上述Feistel型共用密 鑰塊密碼算法以外的密碼算法或哈希函數(shù)中應(yīng)用的變換處理相 同的變換處理而執(zhí)行。
全文摘要
實現(xiàn)一種能夠低成本、并且可減少存儲器存儲數(shù)據(jù)的Feistel型共用密鑰塊密碼處理結(jié)構(gòu)。設(shè)為如下結(jié)構(gòu)在將具有非線性變換部和線性變換部的SP型F函數(shù)反復(fù)循環(huán)執(zhí)行多次的Feistel型共用密鑰塊密碼處理中,將在各循環(huán)中的F函數(shù)中執(zhí)行的非線性變換處理和線性變換處理中的至少任一個變換處理作為與在上述Feistel型共用密鑰塊密碼算法以外的密碼算法或哈希函數(shù)、例如AES、Whirlpool等中應(yīng)用的變換處理相同的變換處理而執(zhí)行。根據(jù)本結(jié)構(gòu),通過部件共用化而可降低設(shè)計成本、可減少存儲器存儲數(shù)據(jù)。
文檔編號G09C1/00GK101371286SQ20078000250
公開日2009年2月18日 申請日期2007年1月4日 優(yōu)先權(quán)日2006年1月17日
發(fā)明者澀谷香士, 白井太三 申請人:索尼株式會社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1