專利名稱:加密處理裝置、加密處理方法以及計(jì)算機(jī)程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及加密處理裝置、力口密處理方法以及計(jì)算才幾程序。更 詳細(xì)地,本發(fā)明涉及執(zhí)行公共密鑰塊加密處理的加密處理裝置、加
密處理方法以及計(jì)算枳4呈序。
背景技術(shù):
在例如網(wǎng)絡(luò)通信、電子商務(wù)交易和其它的翁::悟處理4頁域中,確
保安全是重要的課題。現(xiàn)有加密技術(shù)作為確保安全的一個(gè)方法,加 密處理^皮用于各種領(lǐng)i或。
例如以下系統(tǒng)已經(jīng);陂實(shí)用^f匕,即在IC卡等的小型的裝置中i里 入加密處理組件,在IC卡和作為數(shù)據(jù)讀寫裝置的讀寫器之間進(jìn)行 數(shù)據(jù)接收發(fā)送,并進(jìn)行認(rèn)證處理或接收發(fā)送數(shù)據(jù)的加密化、解碼。
在加密處理算法中存在各種各樣的算法,如果從大的方面分 類,可以分為將加密化密鑰和解碼密鑰設(shè)定為不同的密鑰、例如設(shè) 定為7>共密鑰(common key)和矛厶有密鑰(secret key )的^>共密鑰 加密方式、以及將加密化密鑰和解碼密鑰設(shè)定作為公共的密鑰的公 共密鑰加密方式。
在公共密鑰加密方式中也存在各種各樣的算法,其中之一,存 在以公共密鑰為基礎(chǔ)而生成多個(gè)密鑰,并使用生成的多個(gè)密鑰反復(fù) 執(zhí)行塊(block)單位(64比特、128比特、256比特等)的數(shù)據(jù)變換處理的方式。作為適用了這樣的密鑰生成方式和數(shù)據(jù)變換處理的 代表性的算法為7>共密鑰塊加密方式。
作為代表性的7>共密鑰塊加密的算法,例如已知有作為過去美
國標(biāo)準(zhǔn)力口密的DES (Data Encryption Standard,凄t據(jù)加密標(biāo)準(zhǔn))算 法、和5見在美國才示準(zhǔn)的AES ( Advanced Encryption Standard,高級
加密標(biāo)準(zhǔn))算法等。
這樣的7>共密鑰塊加密的算法主要由加密處理部和加密調(diào)度 (schedule)部構(gòu)成,其中,該加密處理部包括反復(fù)執(zhí)4亍輸入數(shù)據(jù)
的變換的循環(huán)函數(shù)執(zhí)行部,該加密調(diào)度部生成在循環(huán)函tt部的各循
環(huán)中適用的循環(huán)密鑰。密鑰調(diào)度部基于作為私有密鑰的主要密鑰 (主密鑰),首先生成使比特?cái)?shù)增加的擴(kuò)大密鑰,并基于生成的擴(kuò)
大密鑰生 成在加密處理部的各個(gè)循環(huán)函凄t部中適用的循環(huán)密鑰(副
密鑰)。
作為執(zhí)行這樣的算法的具體的構(gòu)造,已知有反復(fù)執(zhí)行包括線性 變換部以及非線性變換部的循環(huán)函數(shù)的構(gòu)造。例如作為代表性的構(gòu) 造存在有Feistel構(gòu)造。Feistel構(gòu)造具有通過作為數(shù)據(jù)變換函數(shù)的循 環(huán)函數(shù)(F函數(shù))的單純的反復(fù)而將明碼文本變換成加密文本的構(gòu) 造。在循環(huán)函數(shù)(F函數(shù))中執(zhí)行線性變換處理以及非線性變換處 理。此外,作為針對適用了 Feistel構(gòu)造的加密處理而記載的文獻(xiàn), 例如有非專利文獻(xiàn)l、非專利文獻(xiàn)2。
但是,作為這樣的公共密鑰塊加密處理的問題點(diǎn),存在由于加 密解析引起的密鑰的泄漏。所謂的由加密解析容易引起的密鑰的解 析也就是i兌該加密處理的安全性^氐,在實(shí)用上成為專交大的問題。
非專利文獻(xiàn) 1 : K. Nyberg, "Generalized Feistel networks", ASIACRYPT96, SpringerVerlag, 1996, pp.91—104,非專利文獻(xiàn)2: Yuliang Zheng, Tsutomu Matsumoto, Hideki Imai: On the Construction of Block Ciphers Provably Secure and Not Relying on Any Unproved Hypotheses. CRYPTO 1989: 461-480。
發(fā)明內(nèi)容
本發(fā)明鑒于上述問題點(diǎn),目的在于提供一種提高加密解析的困 難性、實(shí)現(xiàn)安全性高的公共密鑰塊加密算法的加密處理裝置、加密 處理方法以及計(jì)算才幾禾呈序。
本發(fā)明第一方面提供了用于執(zhí)行公共密鑰塊加密處理的加密 處理裝置,其包括加密處理部,用于進(jìn)行將循環(huán)函凄t反復(fù)多次循 環(huán)的lt據(jù)變換處理;以及密鑰調(diào)度部,用于生成適用于上述循環(huán)函 數(shù)的執(zhí)行的循環(huán)密鑰,上述密鑰調(diào)度部構(gòu)成為包括寄存器,通過 私有密鑰的變換處理生成中間密鑰,存儲生成的中間密鑰;以及數(shù)
變換處理的數(shù)據(jù)變換部,反復(fù)執(zhí)行構(gòu)成上述寄存器存儲數(shù)據(jù)的部分 數(shù)據(jù)的交換(替換)處理并生成多個(gè)不同的循環(huán)密鑰。
此外,在本發(fā)明的第一方面的加密處理裝置中,上述數(shù)據(jù)變換: 部構(gòu)成為將上述寄存器存儲數(shù)據(jù)劃分成四個(gè)部分?jǐn)?shù)據(jù),以便將具 有相等比特凄t的部分ft據(jù)的組:沒定為兩組,反復(fù)4丸4于各個(gè)部分凄t才居 的交換(替換)處理,并生成多個(gè)不同的循環(huán)密鑰。
并且,在本發(fā)明的第一方面的加密處理裝置中,上述數(shù)據(jù)變換 部將由2m比特構(gòu)成的上述寄存器存儲數(shù)據(jù)劃分為下述(a)至(d) 所示的四個(gè)部分?jǐn)?shù)據(jù),反復(fù)執(zhí)行各個(gè)部分?jǐn)?shù)據(jù)的交換(替換)處理, 并生成多個(gè)不同的循環(huán)密鑰,(a)先頭i比特的部分翁:才居Ao; (b) 從先頭開始的第i+1比特至第m比特的部分?jǐn)?shù)據(jù)( c )從先頭開始的第m+l比特至第2m-i比特的部分?jǐn)?shù)據(jù)A2;以及(d)末尾i
比特的部分?jǐn)?shù)據(jù)A3。
此外,在本發(fā)明的第一方面的加密處理裝置中,上述數(shù)據(jù)變換: 部構(gòu)成為包括雙交換處理執(zhí)行部,用于將上述寄存器存儲數(shù)據(jù)劃 分為四個(gè)部分?jǐn)?shù)據(jù),以便將具有相等比特?cái)?shù)的部分?jǐn)?shù)據(jù)的組設(shè)定為
兩組,并執(zhí)行各組的部分?jǐn)?shù)據(jù)的交換(替換)處理;以及雙交換逆 處理執(zhí)行部,用于執(zhí)行相當(dāng)于上述雙交換執(zhí)行部處理的多個(gè)反復(fù)處 理的逆處理的數(shù)據(jù)變換處理。
此外,在本發(fā)明的第一方面的加密處理裝置中,上述數(shù)據(jù)變換: 部包括如下的構(gòu)成進(jìn)4于以與加密化處理中的循環(huán)密鑰生成相反的 順序來生成循環(huán)密鑰的解碼用循環(huán)密鑰生成處理,上述凄t據(jù)變4灸部 包括解碼用循環(huán)密鑰對應(yīng)數(shù)據(jù)變換部,通過對上述寄存器存儲凄t 據(jù)進(jìn)行的變換處理來生成以才艮據(jù)預(yù)先失見定的循環(huán)凄t而確定的次凄t 反復(fù)進(jìn)^f亍雙交換處理的結(jié)果^t據(jù),其中,在上述雙交4奐處理中,3尋 上述寄存器存儲數(shù)據(jù)劃分為四個(gè)部分?jǐn)?shù)據(jù),以便將具有相等比特?cái)?shù) 的部分?jǐn)?shù)據(jù)的組設(shè)定為兩組,并執(zhí)行各組的部分?jǐn)?shù)據(jù)的交換(替換) 處理;以及雙交4灸逆處理扭J亍部,對在上述解碼用循環(huán)密鑰對應(yīng)凄t
環(huán)的循環(huán)密鑰。
此外,在本發(fā)明的第一方面的加密處理裝置中,上述數(shù)據(jù)變換: 部構(gòu)成為包括交換處理4丸4于部,用于將由2m比特構(gòu)成的上述寄 存器存儲數(shù)據(jù)劃分為下述(a)至(b)所示的兩個(gè)部分?jǐn)?shù)據(jù),并執(zhí) 行各部分?jǐn)?shù)據(jù)的交換(替換)處理;以及子交換處理執(zhí)行部,用于 將由2m比特構(gòu)成的上述寄存器存儲數(shù)據(jù)劃分為下述(c)至(e) 所示的三個(gè)部分?jǐn)?shù)據(jù),并執(zhí)行下述(c)與(d)的部分?jǐn)?shù)據(jù)的交換 (替換)處理,(a )先頭m比特的部分?jǐn)?shù)據(jù)AQ;以及(b )末尾m 比特的部分凄t據(jù)Ai, (c)先頭(m-i)比特的部分凄t才居Ao; (d) /人先頭開始的第(m-i+l)比特至第(m+i)比特的部分凄t才居A;以及
(e)從先頭開始的第(m+i+l)比特至末尾比特的部分tt據(jù)A2, 上述數(shù)據(jù)變換部一艮據(jù)循環(huán)的進(jìn)行,交替執(zhí)行上述交換處理執(zhí)行部和 上述子交#:處理#丸4于部的處理,并生成循環(huán)密鑰。
此外,在本發(fā)明的第一方面的加密處理裝置中,上述數(shù)據(jù)變換 部還包括逆變換處理#1行部,用于#1行與上述交換處理執(zhí)行部和 上述子交換處理寸丸行部的處理的反復(fù)處理的逆處理相當(dāng)?shù)臄?shù)據(jù)交換。
此外,在本發(fā)明的第一方面的加密處理裝置中,上述密鑰調(diào)度 部構(gòu)成為還包4舌常lt生成部,用于生成相乂t每個(gè)循環(huán)老卩不同的常 數(shù);以及按位加運(yùn)算部,用于執(zhí)行上述常數(shù)生成部所生成的常凄t和 上述寄存器存儲數(shù)據(jù)之間的按位加的運(yùn)算并生成循環(huán)密鑰。
此外,在本發(fā)明的第一方面的加密處理裝置中,上述常數(shù)生成 部構(gòu)成為通過比特凄t少于生成的常^:的相對每個(gè)循環(huán)者P不同的少 比特?cái)?shù)數(shù)據(jù)的移位數(shù)據(jù)的組合來生成相對每個(gè)循環(huán)都不同的常凄t。
此外,在本發(fā)明的第一方面的加密處理裝置中,上述常數(shù)生成 部構(gòu)成為通過對比特少于生成的常#t的少比特?cái)?shù)凄t才居進(jìn)行的凄t 據(jù)變換,生成相對每個(gè)循環(huán)都不同的少比特凄t凄t據(jù),通過生成的少 比特?cái)?shù)數(shù)據(jù)的移位數(shù)據(jù)的組合來生成相對每個(gè)循環(huán)都不同的常數(shù)。
本發(fā)明第二方面提供了在加密處理裝置中執(zhí)行公共密鑰塊加 密處理的加密處理方法,其包括循環(huán)密鑰生成步驟,在密鑰調(diào)度 部中生成多個(gè)循環(huán)密鑰,其中,上述多個(gè)循環(huán)密鑰應(yīng)用于在加密處 理部中執(zhí)行的多個(gè)循環(huán)的循環(huán)函數(shù)的執(zhí)行;以及加密處理步驟,在 加密處理部中進(jìn)行將適用了上述循環(huán)密鑰的循環(huán)函數(shù)反復(fù)多個(gè)循 環(huán)的數(shù)據(jù)變換處理,上述循環(huán)密鑰生成步驟包括中間密鑰生成步驟,通過私有密鑰的變換處理來生成中間密鑰并存儲在寄存器中; 以及數(shù)據(jù)變換步驟,上述數(shù)據(jù)變換部對構(gòu)成存儲在上述寄存器中的 寄存器存儲數(shù)據(jù)的部分?jǐn)?shù)據(jù)反復(fù)執(zhí)行交換(替換)處理,并生成多 個(gè)不同的循環(huán)密鑰。
并且,在本發(fā)明的第二方面的加密處理方法中,在上述數(shù)才居變 換步驟中,將上述寄存器存儲數(shù)據(jù)劃分成四個(gè)部分?jǐn)?shù)據(jù),以便將具 有相等比特?cái)?shù)的部分?jǐn)?shù)據(jù)的組設(shè)定為兩組,反復(fù)執(zhí)行各個(gè)部分凄t據(jù) 的交換(替換)處理,并生成多個(gè)不同的循環(huán)密鑰。
并且,在本發(fā)明的第二方面的加密處理方法中,在上述數(shù)據(jù)變 換步驟中,將由2m比特構(gòu)成的上述寄存器存儲數(shù)據(jù)劃分為下述(a) 至(d)所示的四個(gè)部分?jǐn)?shù)據(jù),反復(fù)執(zhí)行各個(gè)部分?jǐn)?shù)據(jù)的交換(替 換)處理,并生成多個(gè)不同的循環(huán)密鑰,(a)先頭i比特的部分?jǐn)?shù) 據(jù)A。; (b) 乂人先頭開始的第i+l比特至第m比特的部分凄t據(jù)A"
(c)從先頭開始的第m+l比特至第2m-i比特的部分凝:據(jù)A2;以 及(d )末尾i比特的部分?jǐn)?shù)據(jù)A3。
此外,在本發(fā)明的第二方面的加密處理方法中,上述數(shù)據(jù)變換: 步驟包括雙交換處理執(zhí)行步驟,將上述寄存器存儲數(shù)據(jù)劃分為四 個(gè)部分ft據(jù),以 <更將具有相等比特ft的部分凄t據(jù)的組i殳定為兩組, 并執(zhí)行各組的部分?jǐn)?shù)據(jù)的交換(替換)處理;以及雙交換逆處理4丸 行步驟,執(zhí)行相當(dāng)于上述雙交換執(zhí)行步驟的處理的多個(gè)反復(fù)處理的 逆處理的lt一居變4奐處理。
此外,在本發(fā)明的第二方面的加密處理方法中,上述凄^居變才灸 步驟包括如下的步驟進(jìn)行以與加密化處理中的循環(huán)密鑰生成相反 的順序來生成循環(huán)密鑰的解碼用循環(huán)密鑰生成處理,并且,上述凄t 據(jù)變換步驟包括解碼用循環(huán)密鑰對應(yīng)數(shù)據(jù)變換步驟,通過對上述
:數(shù)而確定的次凄t反復(fù)進(jìn)4亍雙交換處理的結(jié)果凄t據(jù),其中,在上述雙交 換處理中,將上述寄存器存儲數(shù)據(jù)劃分為四個(gè)部分?jǐn)?shù)據(jù),以便將具 有相等比特?cái)?shù)的部分ft據(jù)的組設(shè)定為兩組,并執(zhí)行各組的部分凄t據(jù)
的交換(替換)處理;以及雙交換逆處理執(zhí)行步驟,對在上述解碼
理的逆處理,生成各循環(huán)的循環(huán)密鑰。
此外,在本發(fā)明的第二方面的加密處理方法中,上述數(shù)據(jù)變才奐 步驟包括交換處理執(zhí)行步驟,將由2m比特構(gòu)成的上述寄存器存 儲數(shù)據(jù)劃分為下述(a)至(b)所示的兩個(gè)部分凄t據(jù),并執(zhí)行各部 分?jǐn)?shù)據(jù)的交換(替換)處理;以及子交換處理執(zhí)行步驟,用于將由 2m比特構(gòu)成的上述寄存器存儲數(shù)據(jù)劃分為下述(c)至(e)所示 的三個(gè)部分?jǐn)?shù)據(jù),并執(zhí)行下述(c)與(d)的部分?jǐn)?shù)據(jù)的交換(替 換)處理,(a)先頭m比特的部分?jǐn)?shù)據(jù)Aq;以及(b)末尾m比特 的部分?jǐn)?shù)據(jù)A!, (c)先頭(m-i)比特的部分?jǐn)?shù)據(jù)Ao; (d)從先頭 開始的第(m-i+l)比特至第(m+i)比特的部分?jǐn)?shù)據(jù)A,;以及(e ) 從先頭開始的第(m+i+l)比特至末尾比特的部分?jǐn)?shù)據(jù)A2,在上述 數(shù)據(jù)變換步驟中,根據(jù)循環(huán)的進(jìn)行,交替執(zhí)行上述交換處理執(zhí)行步 驟和上述子交換處理扭J于步驟的處理,并生成循環(huán)密鑰。
此外,在本發(fā)明的第二方面的加密處理方法中,上述數(shù)據(jù)變換: 步驟還包括逆變換處理執(zhí)行步驟,用于執(zhí)行與上述交換處理#丸4亍 步驟和上述子交換處理4丸行步驟的處理的反復(fù)處理的逆處理相當(dāng) 的數(shù)據(jù)交換。
此外,在本發(fā)明的第二方面的加密處理方法中,上述加密處理 方法還包括常數(shù)生成步驟,由常tt生成部生成相對每個(gè)循環(huán)都不 同的常數(shù);以及按位加運(yùn)算步驟,由上述按位加運(yùn)算部^丸行上述常 數(shù)生成部所生成的常數(shù)和上述寄存器存儲數(shù)據(jù)之間的按位加的運(yùn) 算并生成循環(huán)密鑰。此外,在本發(fā)明的第二方面的加密處理方法中,在上述常凄t生 成步驟中,通過比特?cái)?shù)少于生成的常數(shù)的相對每個(gè)循環(huán)都不同的少 比特?cái)?shù)數(shù)據(jù)的移位數(shù)據(jù)的組合來生成相對每個(gè)循環(huán)都不同的常凄t。
此外,在本發(fā)明的第二方面的加密處理方法中,在上述常凄t生 成步驟中,通過對比特?cái)?shù)少于生成的常數(shù)的少位數(shù)數(shù)據(jù)進(jìn)行的數(shù)據(jù) 變換來生成相對每個(gè)循環(huán)都不同的少比特?cái)?shù)數(shù)據(jù),通過所生成的少 比特lt^t據(jù)的移位lt據(jù)的組合來生成相對每個(gè)循環(huán)都不同的常凄t。
并且,本發(fā)明第三方面提供了使加密處理裝置執(zhí)行公共密鑰塊
加密處理的計(jì)算一幾程序,其包括循環(huán)密鑰生成步驟,^吏密鑰調(diào)度 部生成多個(gè)循環(huán)密鑰,其中,上述多個(gè)循環(huán)密鑰應(yīng)用于在加密處理 部中執(zhí)行的多個(gè)循環(huán)的循環(huán)函數(shù)的執(zhí)行;以及加密處理步驟,^吏密 鑰調(diào)度部進(jìn)行將適用了上述循環(huán)密鑰的循環(huán)函#1反復(fù)多個(gè)循環(huán)的 數(shù)據(jù)變換處理,上述循環(huán)密鑰生成步驟包括中間密鑰生成步艱《,
數(shù)據(jù)變換步驟,上述數(shù)據(jù)變換部對構(gòu)成存儲在上述寄存器中的寄存 器存儲數(shù)據(jù)的部分?jǐn)?shù)據(jù)反復(fù)執(zhí)行交換(替換)處理,并生成多個(gè)不 同的循環(huán)密鑰。
此外,本發(fā)明的計(jì)算枳4呈序是如下的計(jì)算枳4呈序可通過以計(jì) 算才幾可讀形式才是供的存4諸介質(zhì)、通信介質(zhì)、例如CD、 FD、 MO等 的記錄介質(zhì)或者網(wǎng)絡(luò)等的通信介質(zhì),對例如可執(zhí)行各種各樣的程序 碼的計(jì)算機(jī)系統(tǒng)進(jìn)行提供。通過以計(jì)算機(jī)可讀形式才是供這樣的程 序,可在計(jì)算才幾系統(tǒng)上實(shí)i見與禾呈序相應(yīng)的處理。
通過對才艮據(jù)后述的本發(fā)明的實(shí)施例和附圖進(jìn)4亍的更加詳細(xì)的 說明來說明本發(fā)明的其它的目的、特征和優(yōu)點(diǎn)。此外,本說明書中, 所謂系統(tǒng)是多個(gè)裝置的邏輯集合構(gòu)成,并不僅限于各個(gè)構(gòu)成的裝置 存在于同一個(gè)殼體內(nèi)。發(fā)明效果
根據(jù)本發(fā)明的構(gòu)成,在公共密鑰塊加密處理的循環(huán)密鑰生成處 理中,在將通過私有密鑰的變換處理而生成的中間密鑰存儲在寄存
執(zhí)行構(gòu)成寄存器存儲數(shù)據(jù)的部分?jǐn)?shù)據(jù)的交換(替換)處理并生成循 環(huán)密鑰。例如,將寄存器存儲數(shù)據(jù)劃分成四個(gè)部分?jǐn)?shù)據(jù),以便將具 有相等比特?cái)?shù)的部分?jǐn)?shù)據(jù)的組設(shè)定為兩組,反復(fù)執(zhí)行各部分?jǐn)?shù)據(jù)的 交換(替換)處理,并生成多個(gè)不同的循環(huán)密鑰。才艮據(jù)本構(gòu)成,可 以有效地替換各個(gè)循環(huán)密鑰的比特排列,生成相關(guān)性低的循環(huán)密 鑰,實(shí)現(xiàn)提高了密鑰的解析難度、安全性高的加密處理。
圖1是示出公共密鑰塊加密算法的基本構(gòu)成的圖2是對圖1所示的爿厶共密鑰塊加密處理部E 10的內(nèi)部構(gòu)成進(jìn) 4亍i兌明的圖3是對圖2所示的加密處理部12的詳細(xì)構(gòu)成進(jìn)4亍說明的圖4是對作為循環(huán)函數(shù)執(zhí)行部的一個(gè)構(gòu)成例的SPN構(gòu)造循環(huán)函 數(shù)進(jìn)行說明的圖5是對作為循環(huán)函數(shù)執(zhí)行部的一個(gè)構(gòu)成例的Feistel ( 7工一 只于》)構(gòu)造進(jìn)行說明的圖6是對非線性變換處理部的具體例進(jìn)4亍i兌明的圖7是對線性變換處理部的具體例進(jìn)行說明的圖;圖8是對加密化處理的私有密鑰K、初始密鑰、循環(huán)密鑰和最 纟冬密鑰的^"應(yīng)進(jìn)4亍i兌明的圖9是對解碼處理的私有密鑰K、初始密鑰、循環(huán)密鑰和最終 密鑰的對應(yīng)進(jìn)^f亍"i兌明的圖10是對扭Jf亍加密化處理中的循環(huán)密鑰生成處理的密鑰調(diào)度 部的構(gòu)成例進(jìn)刊4兌明的圖11是對執(zhí)行解碼處理中的循環(huán)密鑰生成處理的密鑰調(diào)度部 的構(gòu)成例進(jìn)行說明的圖12是對執(zhí)行加密化、解碼兩者中的循環(huán)密鑰生成處理的密 鑰調(diào)度部的構(gòu)成例進(jìn)行i兌明的圖13是對才丸4亍可在Feistel構(gòu)造的加密處理中適用的循環(huán)密鑰 生成處理的密鑰調(diào)度部的構(gòu)成例進(jìn)4亍i兌明的圖14是對在加密化處理中的在循環(huán)密鑰生成處理中執(zhí)4亍適用 了雙交換(double swap)運(yùn)算的處理的密鑰調(diào)度部的構(gòu)成例進(jìn)行說 明的圖15是對適用了 i比特雙交換運(yùn)算的比特位置變更處理進(jìn)4亍i兌 明的圖16是對4丸4于適用了 i比特雙交換運(yùn)算的比特位置變更處理的 硬件構(gòu)成例進(jìn)行說明的圖17是對才丸4亍適用了 (r-l )次i比特雙交換逆運(yùn)算的比特4立 置變更處理的石更件構(gòu)成例進(jìn);f亍i兌明的圖;圖18是對在解碼處理中的在循環(huán)密鑰生成處理中執(zhí)行適用了 雙交4灸運(yùn)算的處理的密鑰調(diào)度部的構(gòu)成例進(jìn)刊H兌明的圖19是對在加密化、解碼兩者中的在循環(huán)密鑰生成處理中^丸
圖20是對適用了 i比特雙交換運(yùn)算的比特位置變更處理進(jìn)4亍i兌 明的圖21是對在加密處理的循環(huán)密鑰生成處理中執(zhí)4亍適用了交才奐 運(yùn)算和子交換運(yùn)算的處理的密鑰調(diào)度部的構(gòu)成例進(jìn)行i兌明的圖22是對適用了交換運(yùn)算的比特位置變更處理進(jìn)行說明的圖23是對適用了 i比特子交換運(yùn)算的比特位置變更處理進(jìn)4亍i兌 明的圖24是對適用了跳3夭(jump)運(yùn)算的比特位置變更處理進(jìn)4亍 i兌明的圖25是對包括常凄t生成電路和"按位加"運(yùn)算部的、執(zhí)4亍循 環(huán)密鑰生成處理的密鑰調(diào)度部的構(gòu)成例進(jìn)行i兌明的圖26是對常數(shù)生成電路的構(gòu)成例進(jìn)行說明的圖;以及
圖27是示出作為執(zhí)行本發(fā)明所涉及的加密處理的加密處理裝 置的IC紐J牛的構(gòu)成例的圖。
具體實(shí)施例方式
下面,詳細(xì)說明本發(fā)明的加密處理裝置、力。密處理方法以及計(jì) 算機(jī)程序。說明按照以下的項(xiàng)目進(jìn)行。
1、 公共密鑰塊加密的概要
2、 密鑰調(diào)度部中的循環(huán)密鑰生成處理構(gòu)成 (2-1)關(guān)于密鑰調(diào)度部的詳細(xì)構(gòu)成
(2-2)關(guān)于適用了移位處理的通常的循環(huán)密鑰生成處理構(gòu)成 (2-3 )關(guān)于本發(fā)明的第 一實(shí)施例所涉及的循環(huán)密鑰的生成處理
構(gòu)成
(2-4 )關(guān)于本發(fā)明的第二實(shí)施例所涉及的循環(huán)密鑰的生成處理
構(gòu)成
(2-5 )關(guān)于本發(fā)明的第三實(shí)施例所涉及的循環(huán)密鑰的生成處理
構(gòu)成
3、 加密處理裝置的構(gòu)成例 [1、 7>共密鑰塊加密的和克要]
首先,對本發(fā)明可適用的公共密鑰塊加密的概要進(jìn)行說明。在 本說明書中,公共密鑰塊加密(以下稱為塊加密)是指如下定義的加密。
塊加密輸入明碼文本P和密鑰K,并輸出加密文本C。明碼文 本和加密文本的比特長^^皮稱作塊大小,在此用n表示。N雖然可以取任意的整數(shù)值,但通常是針對每個(gè)塊加密算法而預(yù)先確定的 一個(gè)
值。還可以將塊長為n的塊加密稱作n比特塊加密。
密鑰的比特長用k來表示。密鑰可以取任意的整數(shù)值。公共密 鑰塊加密算法與一個(gè)或多個(gè)密鑰大小相對應(yīng)。例如,某塊加密算法 A的塊大小為n=128,可以構(gòu)成為與密鑰的比4爭長k=128、 k=192 或k=256的各種的密鑰大小相對應(yīng)。
明碼文本[p]、加密文本[C]、密鑰[K]的各個(gè)比特大小如下所示。
明碼文本p: n比特
力口密文本C: n比凈爭
密鑰K: k比凈爭
圖1示出了與k比特的密鑰長度相對應(yīng)的n比特7>共密鑰塊加 密算法E的圖。如圖l所示,z厶共密鑰塊加密處理部E 1(Mlr入n 比特的明碼文本P和k比特的密鑰K,執(zhí)行預(yù)先確定的加密算法, 然后輸出n比特的加密文本C。另外,在圖1中僅示出了從明碼文 本生成加密文本的加密化處理。通常使用E 10的逆函^t來進(jìn)行^人 加密文本生成明碼文本的解碼處理。但是,根據(jù)加密化處理部EIO 的構(gòu)造,即使在解碼處理中也可以適用同樣的公共密鑰塊加密處理 部E 10,且可通過變更密鑰的輸入順序等的次序來進(jìn)行解碼處理。
參照圖2對圖1所示的7>共密鑰塊加密處理部E 10的內(nèi)部構(gòu) 成進(jìn)行說明??梢詫K加密分為兩部分考慮。 一部分是密鑰調(diào)度部 11,其將密鑰K作為輸入,通過某確定的步驟將輸入密鑰K的比特 長擴(kuò)大并輸出擴(kuò)大密鑰K,(比特長k,),另一部分是加密處理部12, 其接收明碼文本P和從密鑰調(diào)度部11輸入的擴(kuò)大密鑰K,,輸入明碼文本P,執(zhí)行應(yīng)用了擴(kuò)大密鑰K,的加密處理,然后執(zhí)行用于生成 加密文本C的凄欠據(jù)的變換。另外,如上所述,4艮據(jù)加密化處理部 12的構(gòu)造,還存在可^1尋加密處理部12應(yīng)用于/人加密文本返回到明 碼文本的凄t據(jù)解碼處理的情況。
接著,參考圖3對圖2所示的加密處理部12的詳細(xì)構(gòu)成進(jìn)行 說明。如圖3所示,力口密處理部12具有反復(fù)執(zhí)行應(yīng)用了循環(huán)函凝: 執(zhí)行部20的數(shù)據(jù)變換的構(gòu)成。也就是說,力口密處理部12可被分割 為稱為循環(huán)函數(shù)執(zhí)行部20這樣的處理單位。循環(huán)函數(shù)執(zhí)行部20接 收前段的循環(huán)函凄WyU亍部的輸出Xi和基于擴(kuò)大密鑰所生成的循環(huán) 密鑰RKj這兩個(gè)數(shù)據(jù)作為輸入,在內(nèi)部4丸行數(shù)據(jù)變換處理并將輸出 數(shù)據(jù)Xw輸出給后續(xù)的循環(huán)函數(shù)執(zhí)行部。另外,在第一循環(huán)中,輸 入的是明碼文本或與明碼文本相對的初始化處理數(shù)據(jù)。并且,最終 循環(huán)輸出的是加密文本。
在圖3所示的例子中,加密處理部12構(gòu)成為包4舌r個(gè)循環(huán)函翁: 執(zhí)行部20,反復(fù)r次在循環(huán)函數(shù)執(zhí)行部中的數(shù)據(jù)變換并生成加密文 本。循環(huán)函數(shù)的反復(fù)次數(shù)被稱作循環(huán)數(shù)。在圖中所示的例子中,循 環(huán)數(shù)為r。
各個(gè)循環(huán)函數(shù)執(zhí)行部的輸入數(shù)據(jù)Xj是加密化過程中的n比特?cái)?shù) 據(jù),某循環(huán)的循環(huán)函數(shù)的輸出Xw被供給作為下一個(gè)循環(huán)的輸入。 各循環(huán)函數(shù)執(zhí)行部的另 一個(gè)輸入數(shù)據(jù)可以使用基于根據(jù)密鑰調(diào)度 而輸出的擴(kuò)大密鑰K,的數(shù)據(jù)。這種輸入到各個(gè)循環(huán)函數(shù)執(zhí)行部中 的、應(yīng)用于循環(huán)函數(shù)的執(zhí)行的密鑰被稱作循環(huán)密鑰。在圖中,將應(yīng) 用于i循環(huán)的循環(huán)密鑰表示為RKi。擴(kuò)大密鑰K,構(gòu)成作為例如r次 循環(huán)的循環(huán)密鑰RK^至RK^的連通數(shù)據(jù)。
圖3所示的構(gòu)成是加密處理部12的構(gòu)成乂人加密處理部12的 輸入側(cè)觀察將第一循環(huán)的輸入數(shù)據(jù)作為XQ,將從第i次的循環(huán)函數(shù)輸出的數(shù)據(jù)表示為Xj,將循環(huán)密鑰表示為RKi。另外,才艮據(jù)該加密 處理部12的構(gòu)造,例如可以構(gòu)成為與加密化處理相反地i殳定應(yīng) 用的循環(huán)密鑰的適用調(diào)度,通過將加密文本輸入到加密處理部12 從而輸出明碼文本。
圖3所示的加密處理部12的循環(huán)函數(shù)執(zhí)行部20可采取各種各 樣的形式。循環(huán)函H可以才艮據(jù)其加密算法所采用的構(gòu)造(structure) 來分類。作為代表性的構(gòu)造,存在有
(a ) SPN ( Substitution Permutation Network, 4<^^置4灸網(wǎng)纟各)
構(gòu)造;
(b ) Feistel構(gòu)造。
下面,參照圖4至圖6針對這些具體的構(gòu)成進(jìn)^f亍"i兌明。 (a) SPN構(gòu)造循環(huán)函數(shù)
首先,參照圖4,針對作為循環(huán)函數(shù)執(zhí)行部20的一個(gè)構(gòu)成例的 SPN構(gòu)造循環(huán)函數(shù)進(jìn)行說明。SPN構(gòu)造循環(huán)函凄t執(zhí)行部20a具有將 非線性變換層(S層)和線性變換層(P層)連接的所謂的SP型的 構(gòu)成。如圖4所示,由對所有的n比特的輸入數(shù)據(jù)執(zhí)行與循環(huán)密鑰 之間的按位力口 (EXOR)運(yùn)算的按位加運(yùn)算部21、輸入按位加運(yùn)算 部21的運(yùn)算結(jié)果并執(zhí)行輸入數(shù)據(jù)的非線性變換的非線性變換處理 部22、以及輸入非線性變換處理部22的非線性變換處理結(jié)果并4丸 行對輸入數(shù)據(jù)的線性變換處理的線性變換處理部23等構(gòu)成。線性 變換處理部23的線性變換處理結(jié)果#1輸出到下一個(gè)循環(huán)。在最終 的循環(huán)中成為加密文本。另夕卜,雖然在圖4所示的例子中示出了按 ^f立加運(yùn)算部21、非線性變4灸處理部22、線性變4灸處理部23的處理順序,^f旦是這些處理部的順序并沒有限定,也可以構(gòu)成為以其它的 次序進(jìn)4于處理。
(b ) Feistel構(gòu)造
4妻著,參照圖5對M乍為循環(huán)函凝j丸4亍部20的一個(gè)構(gòu)成例的 Feistel構(gòu)造進(jìn)4亍i兌明。如圖5所示,F(xiàn)eistel構(gòu)造將作為來自前一循 環(huán)的輸入(在第一循環(huán)為輸入文本)的n比特的輸入數(shù)據(jù)分割為n/2 比特的兩個(gè)數(shù)據(jù),在各個(gè)循環(huán)中進(jìn)^f亍替換的同時(shí)扭j亍處理。
在應(yīng)用了具有Feistel構(gòu)造的循環(huán)函凄t執(zhí)4亍部20b的處理中,如 圖所示, 一個(gè)n/2比特?cái)?shù)據(jù)和循環(huán)密鑰被輸入到F函數(shù)部30。 F函 數(shù)部30與上述的SPN構(gòu)造同樣地,具有非線性變換層(S層)和 線性變換層(P層)連接的所謂的SP型的構(gòu)成。
來自前一循環(huán)的n/2比特?cái)?shù)據(jù)和循環(huán)密鑰;故輸入到F函數(shù)部30 的按位加運(yùn)算部31進(jìn)行按位加(EXOR)處理。此外,將該結(jié)果數(shù) 據(jù)輸入到非線性變換處理部32中執(zhí)行非線性變換,并進(jìn)一步將該 非線性變換結(jié)果輸入到線性變換處理部33中執(zhí)行線性變換。將該 線性變換結(jié)果輸出作為F函數(shù)處理結(jié)果數(shù)據(jù)。
此外,將該F函數(shù)輸出和從前一循環(huán)輸入的另 一個(gè)n/2比特輸 入輸入到按位加運(yùn)算部34,執(zhí)行按位加運(yùn)算(EXOR),將執(zhí)行結(jié) 果i殳定作為下一個(gè)循環(huán)的F函凄t的l命入。另外,在圖中所示的i殳定 為第i循環(huán)的F函翁:輸入的n/2比特;故應(yīng)用于與下一個(gè)循環(huán)的F函 數(shù)輸出之間的按位加運(yùn)算。這樣地,F(xiàn)eistel構(gòu)造在各個(gè)循環(huán)中交替 地替換輸入同時(shí)沖丸行應(yīng)用了 F函數(shù)的凄t據(jù)變換處理。
如參照圖4至圖5所說明的那樣,公共密鑰塊加密的加密處理 部12的循環(huán)函數(shù)執(zhí)行部20可采取如下構(gòu)造(a ) SPN ( Substitution Permutation Network,代替置換網(wǎng)絡(luò))
構(gòu)造;
(b) Feistel構(gòu)造。
這些循環(huán)函數(shù)纟丸行部的任何一個(gè)都具有非線性變換層(S層) 和線性變換層(P層)連接的所謂的SP型的構(gòu)成。也就是說,包
的線性變換處理部。下面,針對這些變換處理構(gòu)成進(jìn)行說明。
(非線性變換處理部)
參照圖6對非線性變換處理部的具體例進(jìn)行說明。如圖6所示, 具體地,非線性變換處理部50排列有m個(gè)被稱作S盒(S-box ) 51 的s比特輸入s比特輸出的非線性變換表,每s比特分割ms比特的 輸入凄t據(jù),分別輸入到對應(yīng)的S盒(S-box) 51中且凄t據(jù)^皮變換。 在各個(gè)S盒51中執(zhí)行例如應(yīng)用了變換表的非線性變換處理。
存在如果輸入的數(shù)據(jù)大小變大則安裝上成本變高的傾向。為了 回避以上問題,如圖6所示,多數(shù)情況下應(yīng)用將處理對象數(shù)據(jù)X分 割為多個(gè)單位并分別對每一個(gè)實(shí)施非線性變換的構(gòu)成。例如,當(dāng)輸 入大小為ms比特時(shí),分割為m個(gè)每個(gè)s比特的tt據(jù),分別對m個(gè) 的S盒(S-box) 51輸入s比特,例如執(zhí)行應(yīng)用了變換表的非線性 變換處理,將m個(gè)的各s比特輸出合成并得到ms比特的非線性變 換結(jié)果。
(線性變換處理部)
參照圖7對線性變換處理部的具體例進(jìn)^f于i兌明。線性變換處理 部輸入輸入值例如將來自S盒的作為輸出數(shù)據(jù)即ms比特的輸出值作為輸入值X,對該輸入實(shí)施線性變換并輸出ms比特的結(jié)果。線 性變換處理執(zhí)行例如輸入比特位置的替換處理等線性變換處理,輸 出ms比特的輸出值Y。線性變換處理例如對輸入應(yīng)用了線性變換 矩陣,并進(jìn)行輸入比特位置的替換處理。這樣的矩陣的一個(gè)例子是 圖7所示的線性變換矩陣。
在線性變才奐處理部中所應(yīng)用的線性變:J灸矩陣的要素是可以構(gòu) 成為擴(kuò)大域GF (28)的域的要素、GF (2)的要素等通常構(gòu)成為 作為應(yīng)用了各種各樣的表現(xiàn)的矩陣。圖7示出了具有ms比特輸入 輸出,通過在GF (2s)上定義的mxm的矩陣所定義的線性變換處 理部的一個(gè)構(gòu)成例。
如上所述,公共密鑰塊加密構(gòu)成為進(jìn)行基于循環(huán)函數(shù)的反復(fù)的 加密處理。作為該公共密鑰塊加密處理的問題點(diǎn),會出現(xiàn)由于加密 解析而引起密鑰的泄漏。所謂易于由加密解析而引起密鑰的泄漏也 就是i兌加密處理的安全性低,在實(shí)用上成為較大的問題。
如上所述,在公共密鑰塊加密中,進(jìn)行在各個(gè)循環(huán)中應(yīng)用了基 于擴(kuò)大密鑰所生成的循環(huán)密鑰的處理。在加密攻擊中,存在以基于 循環(huán)密鑰的解析而恢復(fù)擴(kuò)大密鑰并進(jìn)一步地解析作為擴(kuò)大密鑰的 原數(shù)據(jù)的私有密鑰的順序進(jìn)行攻擊的情況。下面,對提高了這樣的 密鑰解析的困難性并提高了安全性的加密處理裝置的構(gòu)成例進(jìn)行 說明。
下面,根據(jù)以下的各個(gè)項(xiàng)目進(jìn)行說明。 (2-1)關(guān)于密鑰調(diào)度部的詳細(xì)構(gòu)成(2-2)關(guān)于應(yīng)用了移位處理的通常的循環(huán)密鑰生成處理構(gòu)成 (2-3 )關(guān)于本發(fā)明的第一實(shí)施例所涉及的循環(huán)密鑰的生成處理
構(gòu)成
(2-4)關(guān)于本發(fā)明的第二實(shí)施例所涉及的循環(huán)密鑰的生成處理
構(gòu)成
(2-5 )關(guān)于本發(fā)明的第三實(shí)施例所涉及的循環(huán)密鑰的生成處理
構(gòu)成
(2-1)關(guān)于密鑰調(diào)度部的詳細(xì)構(gòu)成
首先,例如參考圖2所i兌明的那^^羊,在7>共密鑰塊加密中,密 鑰調(diào)度部將輸入密鑰K的比特長擴(kuò)大并輸出擴(kuò)大密鑰K,(比特長 k,),執(zhí)行應(yīng)用了基于擴(kuò)大密鑰所生成的循環(huán)密鑰RKi的循環(huán)函數(shù)。
密鑰調(diào)度部例如將#t百比特的密鑰ft據(jù)擴(kuò)大為#t千比特左右 的擴(kuò)大密鑰數(shù)據(jù),并供給至執(zhí)行循環(huán)函數(shù)的數(shù)據(jù)加密化部。將擴(kuò)大 密鑰數(shù)據(jù)中的被輸入到數(shù)據(jù)加密化部的循環(huán)函數(shù)的擴(kuò)大密鑰的一 部分稱作循環(huán)密鑰。并且,還存在^f循環(huán)函凄t以外插入循環(huán)加密的 情況。例如,將插入(EXOR)到最初的循環(huán)函凄t之前的密鑰稱作 初始密鑰,將插入(EXOR)到最后的循環(huán)函lt之后的密鑰稱作最 終密鑰。
參考圖8以及圖9對加密化處理和解碼處理中的私有密鑰K和 循環(huán)密鑰的對應(yīng)進(jìn)行i兌明。在圖8和圖9中分別示出了執(zhí)行將r ,殳 作為循環(huán)凄t的塊加密的加密化構(gòu)成以及解碼構(gòu)成。
例如,圖8是進(jìn)行將r段作為循環(huán)數(shù)的塊加密的加密化構(gòu)成, 加密密鑰[K]lll被輸入到加密化密鑰調(diào)度部112,通過按照比特?cái)U(kuò)多個(gè)循環(huán)密鑰的加密
化擴(kuò)大密鑰113。數(shù)據(jù)加密化部114構(gòu)成為執(zhí)行將r段作為循環(huán)數(shù) 的塊加密,在加密化的情況下,向第一^:至第r,史的循環(huán)函凄t中分 別按順序輸入循環(huán)密鑰(RKi, RK2,…,RKm, RKr},并執(zhí)行循環(huán) 函凄t ( F函lt )。
在圖9中示出了解碼處理構(gòu)成。私有密鑰[K]121祐:輸入到解碼 密鑰調(diào)度部122,通過根據(jù)比特?cái)U(kuò)展處理等規(guī)定的算法的數(shù)據(jù)變換 來生成含有多個(gè)循環(huán)密鑰的解碼擴(kuò)大密鑰123。另外,私有密鑰 [K]121可以應(yīng)用與在加密4匕處理中所應(yīng)用的圖8所示的私有密鑰 [K]lll相同的密鑰。
數(shù)據(jù)解碼部124構(gòu)成為執(zhí)行將r ,殳作為循環(huán)數(shù)的塊加密,在解 石馬處理的情況下,以與力口密處理相反的順序依次l命入循環(huán)密鑰 {RKr, RKr-,…,RK2, RKd并批J亍循環(huán)函凄t (F函凄t)。
為了形成對進(jìn)行密鑰解析的加密攻擊的耐性高、即密鑰解析困 難、提高了安全性的構(gòu)成,包括以下的性質(zhì)作為循環(huán)密鑰所滿足的 理想的性質(zhì)
(a) 即使知道了循環(huán)密鑰也不能恢復(fù)密鑰數(shù)據(jù);
(b) 循環(huán)密鑰之間獨(dú)立。
(a )表示即使在萬一各個(gè)循環(huán)中所應(yīng)用的循環(huán)密鑰被解析的 情況下,也不可能從該循環(huán)密鑰恢復(fù)到原始的私有密鑰,提高了安 全性。并且,(b)表示在一個(gè)循環(huán)密鑰與其它的循環(huán)密鑰的數(shù)據(jù)之 間存在某種關(guān)系的情況下,排除在成功地進(jìn)行了一個(gè)循環(huán)密鑰的解 析的情況下,可以推斷其它的循環(huán)密鑰這樣的關(guān)聯(lián)性從而提高了安 全性。j旦是在安裝的成本上,7*以以循環(huán)密鑰之間相互獨(dú)立的方式生 成循環(huán)密鑰,在實(shí)際上,大多將/人私有密鑰和4吏用非線性變換>人私 有密鑰求得的中間密鑰數(shù)據(jù)進(jìn)行循環(huán)移位所得的數(shù)據(jù)中截取的數(shù) 據(jù)作為循環(huán)密鑰加以使用。并且,即使在不滿足上述條件的情況下,
在安全性上,需要具有
*對slide attack (滑動攻擊)的充分耐性;以及
氺只t related cipher attack (關(guān)聯(lián)力口密-丈擊)的充分耐寸生。
slide attack (滑動攻擊)是如下這樣的攻擊檢測出在原始的 加密化函數(shù)和偏移了原始的加密化函數(shù)的加密化函數(shù)之間重疊的 循環(huán)函凄t的數(shù)據(jù)值為相同的明碼文本、加密文本,并據(jù)此有效地求 取偏移部分的密鑰。對于不同的私有密鑰,在數(shù)段的循環(huán)密鑰一致 的情況下可進(jìn)行攻擊。
并且,Related cipher attack (關(guān)聯(lián)力口密J支擊)是i口下這才羊的-丈 擊??紤]某公共密鑰塊加密同時(shí)支持循環(huán)數(shù)r!的、比特的密鑰長、 循環(huán)數(shù)1"2的k2比特的密鑰長U殳定r^ r2且k!〈 k2)的情況??紤] 密鑰長k!比特的循環(huán)密鑰與密鑰長k2比特的循環(huán)密鑰的一部分一 致的情況。在這種情況下,通過使用密鑰長h比特的情況的數(shù)據(jù)加 密部的輸出,從而可攻擊密鑰長k2比特的情況的剩余的循環(huán)密鑰。
(2-2)關(guān)于應(yīng)用了移位處理的通常的循環(huán)密鑰生成處理構(gòu)成
如上述,在構(gòu)成執(zhí)行利用上述循環(huán)密鑰的公共密鑰塊加密處理 的裝置的情況下,在安裝成本上,難以以循環(huán)密鑰之間獨(dú)立的方式 生成循環(huán)密鑰,實(shí)際上,將從使用非線性變換從私有密鑰求取的中 間密鑰數(shù)據(jù)進(jìn)行了循環(huán)移位所得的數(shù)據(jù)中截取的數(shù)據(jù)作為循環(huán)密 鑰加以4吏用。參考圖10至圖12,對將從使用非線性變換從私有密鑰求取的 中間密鑰數(shù)據(jù)進(jìn)行了循環(huán)移位所得的數(shù)據(jù)中截取的數(shù)據(jù)作為循環(huán) 密鑰使用的情況下的密鑰調(diào)度部的通常的構(gòu)成例進(jìn)行說明。
圖10是示出寺丸4亍加密化處理中的循環(huán)密鑰生成處理的密鑰調(diào) 度部的構(gòu)成例。
圖11是示出^l^亍解碼處理中的循環(huán)密鑰生成處理的密鑰調(diào)度
部的構(gòu)成例。
圖12是示出執(zhí)行加密化、解碼兩者中的循環(huán)密鑰生成處理的 密鑰調(diào)度部的構(gòu)成例。
首先,對圖10所示的執(zhí)4亍加密化處理中的循環(huán)密鑰生成處理 的密鑰調(diào)度部的構(gòu)成以及處理進(jìn)^H兌明。i殳定私有密鑰K為k比特。 將私有密鑰K輸入到非線性變換電路201中,進(jìn)行非線性變換處理, 生成n比特的中間密鑰凄t據(jù)。將中間密鑰翁:據(jù)作為L。
中間密鑰數(shù)據(jù)L通過選擇器202被^T入并存^f諸在寄存器RegL 203中。選擇器202上連接有i比特左循環(huán)移位電路211、 ( r-l ) xi 比特右循環(huán)移位電路212,通過選擇器202對寄存器RegL 203輸入 各個(gè)循環(huán)移位處理信號,執(zhí)行存儲在寄存器RegL203中的數(shù)據(jù)的i 比特左循環(huán)移位處理或(r-l ) xi比特右循環(huán)移4立處理。另外,i是
1以上的整凄t。
例如,i比特左循環(huán)移位電^各211執(zhí)行存儲在寄存器RegL 203 中的n比特的中間密鑰L的i比特循環(huán)左移位,如下所述,從存儲 在寄存器RegL 203中的中間密鑰L得到n比特的r個(gè)循環(huán)密鑰數(shù)據(jù) {RKp RK2,…RKm, RKr}。
RK產(chǎn)LRK2=L<《i RK3=L<<< ( 2xi)
RKr響尸L《< ((r畫2 ) xi) RKr=L<《((r-l ) xi)
另外,在上式中,[<<<]表示i比特循環(huán)左移位, RK產(chǎn)L表示移位量為0的數(shù)據(jù),與中間密鑰L相等,
RK2=L< i表示對中間密鑰L向左進(jìn)行了 i比特的循環(huán)移位的
數(shù)據(jù),
RK3=L<<< ( 2 x i)表示乂十中間密鑰L向左進(jìn)4亍了 2xi比特的移 位的凄丈據(jù);
參照圖10對應(yīng)用了該方式的安裝構(gòu)成以及處理進(jìn)4亍i兌明。首 先,在中間密鑰生成處理中,將k比特的私有密鑰K輸入到非線性 變換電路201中,生成n比特的中間密鑰數(shù)據(jù)L,通過選擇器202 不經(jīng)過移位處理而直4妄存儲在循環(huán)中間密鑰用寄存器RegL 203中。
在加密化的情況下,將i比特左循環(huán)移位電路211的處理信號 通過選4奪器202選4奪輸入到循環(huán)中間密鑰用寄存器RegL 203中, 反復(fù)沖丸行相對于存4諸在循環(huán)中間密鑰用寄存器RegL 203中的n比 特的中間密鑰數(shù)據(jù)L的i比特循環(huán)左移位,可以依次生成循環(huán)密鑰 數(shù)據(jù)(RKi, RK2,…,RKM, RKr}。成并輸出所有的循環(huán)的循環(huán)密鑰{RK i , RK2,…,RK^, RKr },則最后對存儲在循環(huán)中間密鑰用寄存器 RegL 203中的數(shù)據(jù)進(jìn)行(r-l ) xi比特循環(huán)右移位。通過將(r-l ) xi 比特右循環(huán)移位電路212的處理信號通過選擇器202選擇輸入到循 環(huán)中間密鑰用寄存器RegL 203中來#丸4亍該處理。才艮據(jù)該右移位處 理,可以將存儲在循環(huán)中間密鑰用寄存器RegL 203中的數(shù)據(jù)返還 成作為無移位的初始狀態(tài)的中間密鑰凄t據(jù)L。
將中間密鑰表示為L、循環(huán)數(shù)表示為r、各個(gè)循環(huán)的循環(huán)密鑰 表示為RKn、各個(gè)循環(huán)移行時(shí)的移位量表示為i,以如下的方式表 示該加密化處理的循環(huán)密鑰生成處理。
For n=l to r-1 do
RKn —RegL
Reg L —RegL <i RKr —RegL
RegL —RegL > ((r-l) xi) 在上述的描述中, <<<i表示i比特左循環(huán)移位, >〉>i表示i比特右循環(huán)移4立。
圖11是執(zhí)行解碼處理中的循環(huán)密鑰生成處理的密鑰調(diào)度部的 構(gòu)成例。在執(zhí)行圖11所示的解碼處理中的循環(huán)密鑰生成處理的密鑰調(diào)度部中,非線性變換電路201、選擇器202、寄存器RegL203 與圖10所示的構(gòu)成相同,只是移位電路221、 222不同。
也就是說,解碼處理的移位電路221、 222是執(zhí)行與加密處理 的移4立電^各211、 212反向移位的電路,即由
i比特右循環(huán)移位電^各221以及
(r-l) xi比特左循環(huán)移位電3各222構(gòu)成。
在該解碼處理的密鑰調(diào)度部中,首先,通過(r-l ) xi比特左循 環(huán)移位電3各222的處理,對存^f諸在寄存器RegL 203中的中間密鑰 凄t據(jù)進(jìn)4于(r-l) xi比特循環(huán)左移位。然后,通過i比特右循環(huán)移位 電路221的處理,在每次生成各個(gè)循環(huán)的循環(huán)密鑰時(shí)對存儲在寄存 器RegL203中的數(shù)據(jù)進(jìn)行適當(dāng)?shù)膇比特右循環(huán)移位。通過這樣的處 理次序,以與加密處理時(shí)相反的順序生成循環(huán)密鑰數(shù)據(jù)。也就是說, 可以依次4尋到(RK" RKM、…,RK2、 RK"。
將中間密鑰表示為L、循環(huán)數(shù)表示為r、各個(gè)循環(huán)的循環(huán)密鑰 表示為RKn、各個(gè)循環(huán)移4于時(shí)的移位量表示為i,以如下的方式表 示該解碼處理的循環(huán)密鑰生成處理。<formula>formula see original document page 34</formula>在上述的描述中, <i表示i比特左循環(huán)移4立, > i表示i比特右循環(huán)移位。圖10和圖11分別為執(zhí)4亍加密化處理時(shí)的循環(huán)密鑰生成處理、 解碼處理時(shí)的循環(huán)密鑰生成處理的構(gòu)成,還可以構(gòu)建成兼具這些功 能的構(gòu)成。該構(gòu)成如圖12所示,在圖12所示的構(gòu)成中,包4舌循環(huán) 壽多4立電3各231至234, ^另'^_ i t匕凈爭左^l多不;f多^f立電^231、 i t匕凈爭右 4盾玉不岸多4立電3各232、 (r-l) xi jp匕砵爭右循J不牙多^f立電^各233、 (r-l) xi j;匕 特左循環(huán)移位電路234,是包括圖10、圖11中所構(gòu)成的全部的循 環(huán)移位電路的構(gòu)成,具有可選擇性地執(zhí)行i比特左循環(huán)移位、i比特 右循玉不牙多4立、(r-l) xi比凈爭右循5不牙多^f立、(r-l) xi比凈爭左循J不-多^立 的構(gòu)成。通過應(yīng)用這樣的構(gòu)成,在加密化以及解碼處理的任何一種 情況下都能夠生成并輸出循環(huán)密鑰。對基于這樣的巡回移位處理的循環(huán)密鑰生成處理構(gòu)成進(jìn)^亍考 察。尤其對構(gòu)成循環(huán)密鑰H據(jù)的比特間的相對位置的變化狀況進(jìn)4亍 考察。i比特左巡回移位是從作為操作對象的比特列的左側(cè)截取i 比特并使其向右側(cè)移動并連接的操作。如果著眼于指定的比特?cái)?shù) 據(jù),則即使執(zhí)行任意次巡回移位,存在于某比特的兩側(cè)的比特也不 變化。雖然在某比特移動到比特列的左端或者右端的情況下不存在 相鄰的比特,但是如果再次執(zhí)行移位處理,則又成為與以前同樣的 比特排列。也就是說,除了被設(shè)定在比特列的端部的情況以外,位 于某指定的比特的前后的比特通常是不變的。這樣,比特的兩側(cè)的 比特一成不變的這樣的性質(zhì)、即比特排列的不變性是用于提高具有循環(huán)函數(shù)的加密處理構(gòu)成中的密鑰泄露的困難性的要求、即對"循環(huán)密鑰相互獨(dú)立"這樣的條件帶來了脆弱性,所以并不優(yōu)選。
而且,比特排列的不變性對于由于上述Slide attack(滑動攻擊)引起的密鑰解析也具有的脆弱性。例如,當(dāng)(A)基于私有密鑰K生成的中間密鑰數(shù)據(jù)L、和(B)對基于另外的私有密鑰K,而生成的中間密鑰數(shù)據(jù)L,進(jìn)行了 ( sxi)比特左循環(huán)移位后的擴(kuò)大密鑰數(shù)據(jù)L,<<< (sxi)這些成為相同的值的情況下,其后通過比特移位而生成的各個(gè)循環(huán)的循環(huán)密鑰、即(a)通過中間密鑰凄史據(jù)L而生成的r-s^殳的4盾環(huán)密鑰(RKp RK2,…,RK(w)小RK (r-s) }和(b )通過擴(kuò)大密鑰凄t據(jù)L, <<< (sxi)而生成的r-s ,殳的循環(huán)密鑰(RK s+1,RK2s+2,…,RK2M, RK2j的各個(gè)循環(huán)密鑰(a)、 (b)也成為相同的數(shù)據(jù)。
根據(jù)此性質(zhì),由上述Slide attack (滑動攻擊)引起的加密解析變?nèi)菀祝瑢?dǎo)致對攻擊的耐性不充分。
如上所述,作為執(zhí)行/〉共密鑰塊加密的算法的代表性的構(gòu)造,存在Feistel構(gòu)造。Feistel構(gòu)造具有通過作為數(shù)據(jù)變換函數(shù)的循環(huán)函數(shù)(F函數(shù))的單純的反復(fù)而將明碼文本變換成加密文本的構(gòu)造。在循環(huán)函數(shù)(F函數(shù))中執(zhí)行線性變換處理以及非線性變換處理。在Feistel構(gòu)造中,相對于作為加密化處理數(shù)據(jù)的輸入比特凄tn,在各個(gè)循環(huán)中所應(yīng)用的循環(huán)密鑰的大小成為n/2比特。
在這種情況下,通常的構(gòu)成是將中間密鑰數(shù)據(jù)L作為n比特生成,將n比特的數(shù)據(jù)中的上位一半的n/2比特用于奇數(shù)循環(huán),將剩余的下位的n/2比特作為下一個(gè)循環(huán)的密鑰使用。在這種情況下,需要追加安裝用于相對于每個(gè)循環(huán)選擇上位和下位的電3各。也就是說,利用了 n/2比特的循環(huán)密鑰的加密處理裝置構(gòu)成(加密化/解碼化共有的安裝例)成為了例如圖13所示的構(gòu)成。圖13所示的構(gòu)成作為與在先i兌明的圖12所示的構(gòu)成相同的構(gòu)成,其包括非線性變換電路201、選擇器202、寄存器RegL203、i比特左循環(huán)移位電^各231、 i比特右循環(huán)移位電路232、 (r-l) xi比特右循環(huán)移位電路233、 (r-l ) xi比特左循環(huán)移位電路234、以及選擇器241。
構(gòu)成為在寄存器RegL203中存儲與之前參考圖12i兌明相同的中間密鑰數(shù)據(jù)L (n比特),在選擇器241中,將存儲在寄存器RegL 203中的n比特?cái)?shù)據(jù)之中的上位一半的n/2比特作為應(yīng)用于奇數(shù)循環(huán)的循環(huán)密鑰而輸出,將剩余的下位的n/2比特作為下一個(gè)循環(huán)的循環(huán)密鑰而輸出。這樣地,需要追加安裝用于相對于每一循環(huán)選擇上位和下位的選4奪器241。
如上述那樣,在對中間密鑰數(shù)據(jù)進(jìn)4亍移位處理并生成循環(huán)密鑰的循環(huán)密鑰生成法中,具有以下缺點(diǎn)
*由于相鄰比特的變化少而引起循環(huán)密鑰間的獨(dú)立性?。?br>
*相對于Slide attack (滑動攻擊)沒有充分的耐性;以及
*在利用到Feistel構(gòu)造中的情況下,需要追加上位、下位比特列選4奪電if各。
(2-3 )關(guān)于本發(fā)明的第 一實(shí)施例所涉及的循環(huán)密鑰的生成處理
構(gòu)成
下面,對解決了由于上述循環(huán)移位處理而引起的循環(huán)密鑰的生成處理中的問題點(diǎn),相對于各種各樣的加密攻擊具有高的耐性、即執(zhí)行安全性高的加密處理的循環(huán)密鑰的生成處理構(gòu)成進(jìn)4亍i兌明。下面i兌明的實(shí)施例是如下這才羊的處理例^f基于私有密鑰K的作為非線性變換處理的結(jié)果而得到的中間密鑰凄t據(jù)L不執(zhí)4亍循環(huán)移位處理,而是執(zhí)行作為中間密鑰數(shù)據(jù)L的比特位置變更處理的雙交換(Double Swap)處理,,人而生成循環(huán)密鑰。伴隨著各個(gè)循環(huán)的進(jìn)行,反復(fù)執(zhí)行作為比特位置變更處理的雙交換(Double Swap)處理。
參考圖14,作為本發(fā)明的加密處理裝置的實(shí)施例,對應(yīng)用雙交換(Double Swap)處理并扭J于循環(huán)密鑰生成處理的密鑰調(diào)度部的構(gòu)成以及處理進(jìn)4于i兌明。
圖14所示的構(gòu)成為將之前參考圖IO說明的根據(jù)比特循環(huán)移位處理生成循環(huán)密鑰的密鑰調(diào)度部的構(gòu)成中的i比特左循環(huán)移位電路211替換成了 i比特雙交換(Double Swap)運(yùn)算電路311,并且,將圖IO所示的(r-l) xi比特右循環(huán)移位電路212替換成了 (r-l),欠i t匕凈爭只又交4奐(Double Swap)逆運(yùn)算電5各312。也;t尤是i兌,^口圖14所示,包括由i比特雙交換(Double Swap )運(yùn)算電路311和(r-l )次i比特雙交換(Double Swap )逆運(yùn)算電路312構(gòu)成的數(shù)據(jù)變換部310。其它的構(gòu)成與參考圖10所i兌明的構(gòu)成持有相同的構(gòu)成。
對圖14所示的密鑰調(diào)度部的處理進(jìn)行說明。將輸入到密鑰調(diào)度部中的私有密鑰K設(shè)定為k比特。將私有密鑰K輸入到非線性變換電路301中,進(jìn)行非線性變換處理并生成n比特的中間密鑰數(shù)據(jù)。將中間密鑰凝:據(jù)作為L。
中間密鑰數(shù)據(jù)L通過選擇器302祐:輸入并保存在寄存器RegL303中。在選擇器302上連接有數(shù)據(jù)變換部310的各個(gè)處理部、即i比特雙交換(Double Swap )運(yùn)算電-各311以及(r-1 )次i比特雙交換(Double Swap )逆運(yùn)算電路312,通過選擇器302對寄存器RegL303輸入各個(gè)電路中的處理信號,執(zhí)行存儲在寄存器RegL 303中的凄t據(jù)的比特位置變更處理。i是l以上的整數(shù)。
參考圖15,對在i比特雙交換(Double Swap)運(yùn)算電路311中所執(zhí)行的比特位置變更處理例進(jìn)行說明。圖15以128比特的中間密鑰數(shù)據(jù)L的i比特雙交換(Double Swap)處理為例進(jìn)行了示例。
將構(gòu)成中間密鑰凝:據(jù)L的128比特的數(shù)據(jù)A i殳定為
A= ( a0, a!, …,a126, a127 )。
an是128比特的各個(gè)比特?cái)?shù)據(jù)。
此外,
a[x —y]: lt據(jù)A中的連續(xù)比特凄t據(jù)乂人ax到ay的比特列、b I c:連4妾比特列b、 c的比特列。
如果應(yīng)用上述的表述,則如下所述地定義對128比特?cái)?shù)據(jù)的i比特雙交換(Double Swap)運(yùn)算。
(i比特雙交換(Double Swap )定義)
將根據(jù)對128比特?cái)?shù)據(jù)A進(jìn)行的i比特雙交換運(yùn)算所得的數(shù)據(jù)B設(shè)定為
如果使B=DoubleSwap128, i ( A ),
貝寸B=a[i—63] I a[ ( 128-i ) —127] I a
I a[64—(127-i)]。參考圖15,對具體的對128比特凄t據(jù)的i比特雙交4奐(DoubleSwap)運(yùn)算進(jìn)4亍-說明。在圖15中,
(a) 表示輸入128比特,
(b) 表示作為運(yùn)算結(jié)果的輸出128比特,
(a)的輸入128比特被分區(qū)為Ao至Aj勺四個(gè)部分。如下所述地表示各個(gè)分區(qū)的構(gòu)成比特。
A0: a
,即先頭i比凈爭,
a[i—63],即先頭i比特的后續(xù)比特至數(shù)據(jù)A的前半終端
比特,
A2: a[64— ( 127-i)],即#:據(jù)A的后半開始比特至末尾i比特的先4于比特,
A3: a[ ( 128-i) —127],即末尾i比特。
在i比特雙交換(Double Swap )運(yùn)算電路311中執(zhí)行將被劃分成四部分的數(shù)據(jù)A的構(gòu)成比特互換成圖15(b)的輸出數(shù)據(jù)的處理。
即,執(zhí)行將輸入比特的排列A。 I Ai I A2 I A3設(shè)定為輸出比特的排歹'J I A3 I Ao I A2的比特?cái)?shù)據(jù)的位置變更處理。
作為結(jié)果,當(dāng)通過將對128比特凄t據(jù)A進(jìn)4亍i比特雙交換運(yùn)算而獲得的數(shù)據(jù)B設(shè)定為B=DoubleSwap128, i ( A )時(shí),
輸出B變?yōu)锽=a[i—63] I a[ ( 128-i) —127] I a
I a[64— ( 127-i)]。用于^^亍該乂又交4灸處理的處理4言號乂人圖14所示的i比特:雙交換:(Double Swap )運(yùn)算電路311通過圖14所示的選擇器302被輸入到寄存器RegL 303,執(zhí)行存儲在寄存器RegL 303中的數(shù)據(jù)的比特位置變更,生成下一個(gè)循環(huán)的循環(huán)密鑰。此外,在下一個(gè)循環(huán)中,對圖15所示的(b)^T出再次通過圖14所示的i比特雙交換(DoubleSwap)運(yùn)算電路311執(zhí)行比特位置變換處理、即執(zhí)行在圖15中所it明的i比特雙交纟奐處理,生成對應(yīng)于下一個(gè)循環(huán)的循環(huán)密鑰。
參考圖15所-說明的雙交4奐運(yùn)算可列舉以下兩個(gè)優(yōu)點(diǎn)
*雖然比特的相對位置變化大,但與循環(huán)移位相比電^^規(guī)模不增力口;
*如果用于Fesitel構(gòu)造,則具有安裝成本的縮減效果另外,將在后,殳中對這些優(yōu)點(diǎn)進(jìn)行"i兌明。
另外,在將i比特雙交換(Double Swap )運(yùn)算電路311作為硬_件構(gòu)成的情況下,可通過圖16所示的對輸入比特321的構(gòu)成比特的各個(gè)輸出比特位置進(jìn)行變更的比特位置變換電路322來實(shí)現(xiàn)。比特位置變換電路322構(gòu)成作為將各個(gè)比特位置的比特?cái)?shù)據(jù)變更為之前參考圖16所說明的位置的、具有輸入輸出部的電路,比特位置變才奐電3各322生成并$#出輸出比特323。 i比特雙交才灸(Double Swap )運(yùn)算電路311不僅可以構(gòu)成為硬件,還可以構(gòu)成為通過作為軟件的程序來4丸行。
此夕卜,圖14所示的密鑰調(diào)度部的(r-l )次i比特雙交換(DoubleSwap)逆運(yùn)算電路312通過i比特雙交換(Double Swap)運(yùn)算電路311中4丸行的比特位置變更處理應(yīng)用于所有的循環(huán)運(yùn)算的循環(huán)密鑰的生成結(jié)束之后,才丸4亍返還成最初的中間密鑰凄t據(jù)L的處理。例如,在循環(huán)凄tr的加密處理中,由于最初的中間密鑰凄t據(jù)L被利用作為最初的循環(huán)密鑰,所以通過r-l次的i比特雙交換(DoubleSwap)處理結(jié)束應(yīng)用于所有的r循環(huán)的循環(huán)密鑰的生成。(r-l)次i比特雙交換(Double Swap)逆運(yùn)算電路312對通過該r-1次的i比特雙交換(Double Swap)處理所生成的應(yīng)用于最終循環(huán)的循環(huán)密鑰的數(shù)據(jù)執(zhí)行比特位置變更處理,并執(zhí)行返還成最初的中間密鑰凄史據(jù)L的處理。
雙交換逆運(yùn)算如下地:帔定義。
(i比特雙交換(Double Swap )逆運(yùn)算定義)
當(dāng)將通過對128比特?cái)?shù)據(jù)A進(jìn)行i比特雙交換逆運(yùn)算而獲得的凄史據(jù)B i殳定為B=DoubleSwap"128, i ( A )時(shí),
變?yōu)锽=a[64—63+i] I a
| [(64+i) —127] I a[(64-i)
—63]。
上述定義相當(dāng)于將圖15中所示的(b)輸出返還成(a)輸入的i比特雙交換(Double Swap )逆運(yùn)算。在(r-1 )次i比凈爭雙交換:(Double Swap )逆運(yùn)算電路312中寺丸4亍相當(dāng)于(r-1 )次的i比特雙交換(Double Swap)逆運(yùn)算。但是,在實(shí)際上沒有必要執(zhí)行反復(fù)逆運(yùn)算,在將(r-1 )次i比特雙交4灸(Double Swap)逆運(yùn)算電路312作為石更件構(gòu)成的情況下,可通過對例如圖17所示的4lr入比特331的構(gòu)成比特的各個(gè)輸出比特位置進(jìn)行變更的比特位置變換電路332來實(shí)現(xiàn)。
比特位置變換電路332執(zhí)行如下處理對作為應(yīng)用于最終循環(huán)的循環(huán)密鑰而存儲在寄存器RegL 303中的數(shù)據(jù)、即作為(r-1 )次i比特雙交換(Double Swap)的處理后的數(shù)據(jù)的輸入比特331執(zhí)行比特位置變更處理,返還成沒有進(jìn)行比特位置變更的最初的中間密
鑰數(shù)據(jù)L的比特排列并生成輸出比特331。另夕卜,該(r-l)次i比 特雙交換(Double Swap )逆運(yùn)算電路312也與i比特雙交換(Double Swap)運(yùn)算電^各311同樣,不僅可以構(gòu)成為硬件,還可以構(gòu)成為通 過作為軟件的程序來執(zhí)行。
另外,在上述的實(shí)施例中,使循環(huán)密鑰為128比特?cái)?shù)據(jù),并說 明了對128比特的數(shù)據(jù)進(jìn)行雙交換運(yùn)算以及逆運(yùn)算的處理,但是雙 交換運(yùn)算以及逆運(yùn)算還可應(yīng)用于128比特以外的比特?cái)?shù)。也就是說, 廣義化地,可以如下地定義對2m比特(m是2以上的整凄t)的凄史
據(jù)的雙交纟灸運(yùn)算。
(i比特雙交換(Double Swap )定義)
當(dāng)將通過對2m比特?cái)?shù)據(jù)A ( m是2以上的整數(shù))進(jìn)行i比特 雙交換運(yùn)算而獲得的數(shù)據(jù)B設(shè)定為B=DoubleSwap2m, j ( A )時(shí),
可以表玉見作為B=a[i— ( m畫l ) ] I a[ ( 2m-i) — ( 2m畫l ) ] I a
I a[m— (2m-l-i)]。
具體地,如之前參照圖15所說明的那樣,如果將2m比特表示 為比特0至比特(2m-l),則
A0: a
,即先頭i比特,
A!: a[i— ( m-l )],即先頭i比特的后續(xù)比特至凄t據(jù)A的前半 纟冬端比斗爭,
A2: a[m— (2m-l-i)],即數(shù)據(jù)A的后半開始比特至末尾i比 特的先^f于比特,A3: a[ (2m畫i) — (2m-l )],即末尾i比4爭,
對這些四分割數(shù)據(jù)執(zhí)行使輸入比特的排列AQ I A, I A2 I A3 成為輸出比特的排列Ai I A3 I Ao I A2的比特?cái)?shù)據(jù)的位置變更處理。
可同樣如下地定義逆變換。
如下地定義(r-1 )次i比特雙交換(Double Swap )逆運(yùn)算電路 312所沖丸^f亍的^又交纟奐逆運(yùn)算。
(i比特乂又交4灸(Double Swap )逆運(yùn)算定義)
當(dāng)將通過對2m比特?cái)?shù)據(jù)A ( m是2以上的整數(shù))進(jìn)行i比特 雙交換逆運(yùn)算而獲得的^:據(jù)B i殳定為B=DoubleSwap"2m, j ( A )時(shí),
變?yōu)锽=a[m— ( m-1 ) +i] I a
I [ ( m+i) — ( 2m-i) I a[ (m-i) — (m-1 )]。
這樣地,圖14所示的生成循環(huán)密鑰的密鑰調(diào)度部的構(gòu)成將之 前參考圖10 i兌明的才艮據(jù)比特循環(huán)移位處理生成循環(huán)密鑰的密鑰調(diào) 度部的構(gòu)成中的i比特左循環(huán)移位電路211替換成了 i比特雙交換 (Double Swap)運(yùn)算電路311,并且,是將圖10所示的(r-1) xi 比特右循環(huán)移位電路212替換成了 (r-1)次i比特雙交換(Double Swap)逆運(yùn)算電^各312的構(gòu)成,如下生成應(yīng)用于加密化的各個(gè)循環(huán) 密鑰。
將輸入到密鑰調(diào)度部的k比特的私有密鑰K輸入到非線性變換 電路301,執(zhí)行非線性變換處理并生成n比特的中間密鑰數(shù)據(jù)L, 通過選沖奪器302將中間密鑰數(shù)據(jù)L存儲在寄存器RegL 303中。該 最初的寄存器RegL 303存儲數(shù)據(jù)作為最初的循環(huán)的循環(huán)密鑰而被 輸出。此外,對該數(shù)據(jù)執(zhí)行基于i比特雙交換(Double Swap )運(yùn)算電路311的比特位置變更處理、即執(zhí)行之前參考圖15說明的作為 比特位置變更處理的i比特雙交換(Double Swap)運(yùn)算,其結(jié)果是, 存儲在寄存器RegL 303中的該寄存器存儲數(shù)據(jù)^皮作為下一個(gè)循環(huán) 的循環(huán)密鑰而l俞出。
j):匕夕卜,通過i t匕凈爭^又交4奐(Doi!ble Swap )運(yùn)算電^各311反復(fù)對 該寄存器存儲數(shù)據(jù)執(zhí)行雙交換(Double Swap)運(yùn)算。這樣地,生 成應(yīng)用于各個(gè)循環(huán)函數(shù)的循環(huán)密鑰RKp RK2、…RKm、 RKr 。最 后通過第(r-l)次i比特雙交換(Double Swap)逆運(yùn)算電路312, 對存儲在寄存器RegL 303中的數(shù)據(jù)執(zhí)行與相當(dāng)于雙交換逆運(yùn)算的 r-l次的運(yùn)算相對應(yīng)的比特位置變更處理,并將執(zhí)行結(jié)果存儲在寄存 器RegL 303中。該數(shù)據(jù)成為與最初輸入到寄存器RegL 303中的中 間密鑰L持有相同的比特排列的數(shù)據(jù)。
在l吏循環(huán)ft為r的加密處理中,可如下地表達(dá)密鑰調(diào)度部所執(zhí) 行的處理算法。<formula>formula see original document page 45</formula>
在上述的算法中,<formula>formula see original document page 45</formula>RK廣RegL
RegL — DoubleSwapn,j ( RegL ) RKr— (RegL) L
這些相當(dāng)于基于i比特雙交才灸(Double Swap )運(yùn)算電^各311的 i比特雙交換處理反復(fù)執(zhí)行的循環(huán)密鑰的生成過程,最后的處理, 即
RegL — DoubleSwap-1n,i (… (DoubleSwap-1n,i ( DoubleSwap-1n,i (RegL))))
該處理相當(dāng)于4口下的處理通過相當(dāng)于(r-1)次i比特雙交才奐 (Double Swap )逆運(yùn)算電路312中的雙交換逆運(yùn)算的r-1次的運(yùn)算 而生成原中間密鑰L。
如之前參考圖17所說明的那樣,最后的r-1次的雙交換逆變換 可作為一個(gè)函數(shù)作為比特位置的互換運(yùn)算而^皮安裝,可通過與集中
進(jìn)行r-1次巡回移位運(yùn)算的運(yùn)算同程度的電路規(guī)模來實(shí)現(xiàn)。其結(jié)果 是,與利用了巡回移位運(yùn)算的時(shí)候相比較,實(shí)現(xiàn)了沒有增加電路規(guī) 模、有效地變更比特位置、降低了各個(gè)循環(huán)密鑰的關(guān)聯(lián)性、安全性 高的加密處理構(gòu)成。
圖18示出了在導(dǎo)丸行解碼處理的情況下4丸行循環(huán)密鑰生成處理 的密鑰調(diào)度部的構(gòu)成例。在圖18所示的執(zhí)行解碼處理中的循環(huán)密 鑰生成處理的密鑰調(diào)度部中,非線性變換電路301、選4奪器302、 寄存器RegL 303與圖14所示的構(gòu)成相同,包括凄t據(jù)變換部320, 該凄t據(jù)變才奐部320設(shè)定有i比特雙交4奐(Double Swap )逆運(yùn)算電路 321以代替圖14所示的i比特雙交換(Double Swap )運(yùn)算電路311且設(shè)定有(r-l )次i比特雙交換(Double Swap )運(yùn)算電路322以代 替圖14所示的第(r-l )次i比特雙交換(Double Swap)逆運(yùn)算電 3各312。其它的構(gòu)成與參考圖14所i兌明的構(gòu)成具有相同的構(gòu)成。
對圖18所示的密鑰調(diào)度部的處理進(jìn)4亍i兌明。佳:llr入到密鑰調(diào) 度部的私有密鑰K為k比特。將私有密鑰K輸入到非線性變換電 路301,執(zhí)行非線性變換處理并生成n比特的中間密鑰數(shù)據(jù)。使中 間密鑰lt據(jù)為L。
中間密鑰數(shù)據(jù)L通過選擇器302而^皮輸入并存^f諸在寄存器 RegL 303中。選擇器302連接i比特雙交換(Double Swap )逆運(yùn)算 電路321以及(r-1 )次i比特雙交換(Double Swap )運(yùn)算電路322, 通過選擇器302對寄存器RegL 303輸入各個(gè)電路的處理信號,執(zhí) 行存儲在寄存器RegL 303中的數(shù)據(jù)的比特位置變更處理。此外,i 為1以上的整凄t。
在解碼處理中,與加密處理相反的順序生成并ilr出用于加密處
理的r循環(huán)的r個(gè)的循環(huán)密鑰。因此,在解碼處理的密鑰調(diào)度部中, 首先,存儲在寄存器Reg L 303中的中間密鑰L被輸入到(r-l )次 i比特雙交換(Double Swap )運(yùn)算電路322,對存儲在寄存器RegL 303中的數(shù)據(jù)執(zhí)行相當(dāng)于雙交換運(yùn)算的r-l次的運(yùn)算。通過該處理, 生成了應(yīng)用于加密處理時(shí)的最終循環(huán)的循環(huán)密鑰。
將該循環(huán)密鑰作為解碼處理的最初的循環(huán)密鑰輸出。此外,該 循環(huán)密鑰數(shù)據(jù)^皮輸入到i比特雙交換(Double Swap)逆運(yùn)算電路 321。
在i比特雙交換(Double Swap )逆運(yùn)算電路321中,首先執(zhí)行 與參考圖15所說明的處理相反的處理。即執(zhí)行將圖15 (b)所示的 輸出作為輸入值、將圖15 (a)所示的輸入作為輸出值的比特位置變更處理。該處理結(jié)果浮皮存儲在寄存器RegL 303中,并^皮用作下 一個(gè)循環(huán)的循環(huán)密鑰。此外,在下一個(gè)循環(huán)中,對寄存器RegL303 的存儲值執(zhí)行基于i比特雙交換(Double Swap )逆運(yùn)算電路321的 i比特雙交換(Double Swap)逆運(yùn)算處理,執(zhí)行比特位置的變更, 生成對應(yīng)于下一個(gè)循環(huán)的循環(huán)密鑰。
如上所述,通過i比特雙交換(Double Swap )逆運(yùn)算電^各321 對每一循環(huán)中存儲在寄存器RegL303中的數(shù)據(jù)進(jìn)行雙交換逆運(yùn)算, 可以以之前參照圖9所說明的方式依次生成并輸出應(yīng)用于各個(gè)循環(huán) 函凄t的循環(huán)密鑰RKr、 RKw、…RK2、 RK^ 。
另外,與之前參照圖16、圖17所i兌明的同才羊,在解碼處理中 所利用的i比特雙交換(Double Swap )逆運(yùn)算電路321以及(r-1 ) 次i比特雙交換(Double Swap )運(yùn)算電路322可通過具有比特位置 變換電路的硬件構(gòu)成,還可以構(gòu)成為通過作為軟件的程序來執(zhí)行。
在使循環(huán)數(shù)為r的解碼處理中,可如下地表示密鑰調(diào)度部所執(zhí) 4亍的處理算法。
Reg L — DoubleSwapn,j ( ... ( DoubleSwapn,i ( DoubleSwapn,i ( Reg L))))
For i=r to 2 do
RKj —RegL
RegL — DoubleSwap"n,i ( RegL ) RK廣RegL
上述算法中的最初的處理,即RegL — DoubleSwapn,i ( ... ( DoubleSwapn,i ( DoubleSwapn,i (RegL))))
該處理相當(dāng)于這沖羊的處理通過相當(dāng)于(r-1)次i比凈爭雙交換: (Double Swap )運(yùn)算電路322的雙交換運(yùn)算的r-1次的運(yùn)算,根據(jù) 原始的中間密鑰L生成加密處理的最終循環(huán)的循環(huán)密鑰、即解碼處 理中的最初的循環(huán)密鑰。
其后的步驟,即
For i=r to 2 do
RKi —RegL
RegL— DoubleSwap-1 n,i ( RegL ) Rid—RegL
該處理相當(dāng)于解碼處理中的第二循環(huán)以后的循環(huán)密鑰生成處 理,并且是基于i比特雙交換(Double Swap )逆運(yùn)算電路3之1中的 雙交換逆運(yùn)算的執(zhí)行的循環(huán)密鑰的生成處理。
另外,圖14、圖18分別是執(zhí)行加密化處理時(shí)的循環(huán)密鑰生成 處理、解碼處理時(shí)的循環(huán)密鑰生成處理的構(gòu)成,還可構(gòu)建兼具這些 功能的構(gòu)成。該構(gòu)成示于圖19。在圖19所示的構(gòu)成中,非線性變 換電^各301、選4奪器302、寄存器RegL 303與圖14、圖18所示的 構(gòu)成相同,還具有全部包括如圖14以及圖18所示的雙交換(Double Swap)運(yùn)算以及逆運(yùn)算電路的數(shù)據(jù)變換部330。即構(gòu)成為具有數(shù)據(jù) 變換部330,該數(shù)據(jù)變換部330包括如下這些比特位置變換處理電 3各i比特雙交才灸(Double Swap )運(yùn)算電路331、 i比特雙交換(Double Swap )逆運(yùn)算電路332、 ( r-1 )次i比特雙交換(Double Swap )運(yùn)算電路333以及(r-l )次i比特雙交換(Double Swap )逆運(yùn)算電路 334的。
通過該構(gòu)成,如果加密化處理以及解碼處理都生成中間密鑰凄史 據(jù)L并存儲在寄存器RegL 303中,則可以執(zhí)行雙交換運(yùn)算、雙交 換逆運(yùn)算、相當(dāng)于r-l次的雙交換運(yùn)算的運(yùn)算、以及相當(dāng)于r-l次的 雙交才灸逆運(yùn)算的運(yùn)算,可以生成加密化時(shí)/解碼時(shí)所利用的循環(huán)密鑰。
如以上說明的那樣,構(gòu)成為在本發(fā)明的加密處理裝置的循環(huán)密 鑰生成處理中,不是通過基于移位處理的循環(huán)密鑰生成處理,而是
循環(huán)密鑰。通過這樣的處理,與利用巡回移位運(yùn)算的時(shí)候進(jìn)行比較, 實(shí)現(xiàn)了有效地變更比特位置、降低了各個(gè)循環(huán)密鑰的關(guān)聯(lián)性、安全 性高的加密處理構(gòu)成,且不會增加電路規(guī)模。在以后使循環(huán)數(shù)r為偶數(shù)。
在基于雙交換(Double Swap)變換或逆變換的比特位置變更 中,其與移位處理不同,其通過多樣地替換鄰接的比特的順序,其 結(jié)果是,可以降低各個(gè)循環(huán)密鑰的相似性和關(guān)聯(lián)性。將參照圖20 對基于該雙交換(Double Swap)變換或逆變換的比特位置的有效 的替換處理進(jìn)行i兌明。
圖20是說明基于對128比特?cái)?shù)據(jù)進(jìn)行雙交換變換處理而產(chǎn)生 的比特位置的變化的圖,并示出了以下四個(gè)婆t據(jù)
(a )初始的中間密鑰翁:據(jù);
(b)執(zhí)行一次雙交換變換處理后的數(shù)據(jù);(c) 4丸^亍二次雙交換變換處理后的^:據(jù);
(d) 執(zhí)行三次雙交換變換處理后的數(shù)據(jù)。
考慮如下的情況在(a)初始的中間密鑰數(shù)據(jù)中,著眼于從 先頭開始第i+l比特[B]和左緊鄰于該比特的比特[bl],并執(zhí)行i比
特雙交4灸變才奐。
(a)在初始的中間密鑰數(shù)據(jù)中,從左開始第i比特[bl]存在于 [B]的緊鄰左側(cè)。在此,如果應(yīng)用一次雙交4灸變4灸,則i殳定成為(b) #^亍一次雙交換變換處理后的凄史據(jù)。
在(b)的數(shù)據(jù)中,[B]移動到數(shù)據(jù)的左端。這時(shí)在[B]的左側(cè)不 存在比4爭。如果進(jìn)一步應(yīng)用一次^又交4奐變4灸,則i殳定成為(c)執(zhí) 行二次雙交換變換處理后的婆t據(jù)。
在(c)的數(shù)據(jù)中,[B]移動到從數(shù)據(jù)左端開始第65比特位置。 在該狀態(tài)下,位于[B]的左側(cè)的比特[b2]是在(b)的數(shù)據(jù)中存在于 右端的比特凄t據(jù)[b2]。如果進(jìn)一步應(yīng)用一次雙交4灸變換,則i殳定成 為(d) ^U于三次雙交4灸變換處理后的I史據(jù)。
在(d )的數(shù)據(jù)中,[B]移動到從數(shù)據(jù)左端開始第65+i比特位置。 在該狀態(tài)下,位于[B]的左側(cè)的比特[b3]是在(c)的數(shù)據(jù)中存在于 ,人左端開始第i比特的比特^t據(jù)[b3]。
這樣,如果著眼于一個(gè)比特位置的比特[B]并通過雙交4灸變換處 理來分析相鄰比特(在左側(cè)相鄰的比特)的變化,則能夠理解比特 [B]的相鄰比特信息變化為[bl]—[無]—[b2] — [b3]。該相鄰比特的變 化發(fā)生在構(gòu)成數(shù)據(jù)的多個(gè)比特位置上。變化基本不會在移位處理中發(fā)生。因此,雖 然出現(xiàn)循環(huán)密鑰的關(guān)聯(lián)性,但是通過進(jìn)行基于根據(jù)本發(fā)明的雙交換 處理的比特位置變更,從而替換比特的順序,其結(jié)果提高了循環(huán)密 鑰的隨一幾性。
這樣地,在本發(fā)明的加密處理裝置中的循環(huán)密鑰生成處理中,
應(yīng)用不是通過移位處理的循環(huán)密鑰生成處理而是通過i比特雙交換
(Double Swap)運(yùn)算處理或逆運(yùn)算處理來生成循環(huán)密鑰的構(gòu)成, 從而實(shí)現(xiàn)了有效地變更比特位置、降低了各個(gè)循環(huán)密鑰的關(guān)聯(lián)性、 以及安全性高的加密處理構(gòu)成,而不會增加電路規(guī)模。
(2-4 )關(guān)于本發(fā)明第二實(shí)施例所涉及的循環(huán)密鑰的生成處理構(gòu)
成
接著,對在Feistel型加密那樣的在加密處理對象數(shù)據(jù)為n比特
(Double Swap )運(yùn)算的實(shí)施例進(jìn)4亍-說明。
在上述的實(shí)施例中,對將加密處理對象數(shù)據(jù)用為n比特、將循 環(huán)密鑰也用為n比特?cái)?shù)據(jù)的例子進(jìn)行了說明。但是,如之前參照圖 13所說明的那樣,例如在Feistel型加密中,循環(huán)密鑰為n/2比特。 如參照圖13所i兌明的那樣,在批J亍移位處理的構(gòu)成中,構(gòu)成為將 中間密鑰凄t據(jù)L的大小生成作為n比特,將上位以及下位的比特用 于兩個(gè)循環(huán),在兩個(gè)循環(huán)中進(jìn)^亍一次移^立處理。
4旦是,如上所述,通過這樣的移位處理生成的循環(huán)密鑰具有各 個(gè)循環(huán)密鑰的相關(guān)性高、易受攻擊的缺點(diǎn)。此外,有必要追加上位、 下位選擇電路(圖13中所示的選擇器241),安裝成本、面積變大, 所以不優(yōu)選。下面,參照圖21對省略了這才羊的選擇器并生成n比特的中間密鑰數(shù)據(jù),應(yīng)用了上述雙交換(Double Swap)運(yùn)算以及 逆運(yùn)算,輸出n/2比特的循環(huán)密鑰的密鑰調(diào)度部的構(gòu)成例進(jìn)行說明。
在本處理例中,雙交換(Double Swap)運(yùn)算^皮構(gòu)成為執(zhí)行兩 階段的處理,即交替執(zhí)行
(a)交換(Swap)運(yùn)算、
(b ) i比特子交換(SubSwap )運(yùn)算
這兩個(gè)處理。即變?yōu)?br>
雙交換(Double Swap)運(yùn)算=交換(Swap)運(yùn)算+ i比特子交 換(SubSwap)運(yùn)算。
在圖21所示的構(gòu)成中,非線性變換電路401、選擇器402、寄 存器RegL 403與圖19中所示出的構(gòu)成相同。只是在圖21所示的 構(gòu)成中,不具有在圖19所示的構(gòu)成中所利用的雙交換運(yùn)算以及逆 運(yùn)算電^各,耳又而^之的是具有ft才居變才灸部410,該凄W居變4奐部410 包括交換(Swap )運(yùn)算電路411、 i比特子交換(SubSwap )運(yùn)算電 路412、跳躍(Jumpw )運(yùn)算電路413。另夕卜,i是1以上的整數(shù)。
首先,對加密化處理時(shí)的n/2比特循環(huán)密鑰的生成處理進(jìn)4亍i兌 明。將輸入到密鑰調(diào)度部的私有密鑰K設(shè)定為k比特。將私有密鑰 K輸入到非線性變換電路401,執(zhí)行非線性變換處理,生成n比特 的中間密鑰數(shù)據(jù)。將中間密鑰凄t據(jù)作為L。
通過選擇器402將中間密鑰數(shù)據(jù)L輸入并存儲在寄存器RegL 403中。選4奪器402連4妄有如下這些比特位置變更處理電^各交換 (Swap)運(yùn)算電路411、 i比特子交換(SubSwap)運(yùn)算電路412、跳躍(Jump")運(yùn)算電路413,根據(jù)預(yù)先設(shè)定的算法執(zhí)行存儲在寄 存器RegL403中的凄史據(jù)的比特位置變更處理。
根據(jù)循環(huán)對存儲在寄存器RegL 403中的數(shù)據(jù)交替地執(zhí)行基于 交換(Swap)運(yùn)算電路411的交換運(yùn)算、和基于i比特子交換 (SubSwap )運(yùn)算電路412的i比特子交換運(yùn)算,生成適用于各個(gè) 循環(huán)函數(shù)的循環(huán)密鑰RKi、 RK2、…,RKr-!、 RKr。另外,存儲在寄 存器RegL 403中的數(shù)據(jù)為n比特,基于交換(Swap )運(yùn)算電路411 的交換運(yùn)算和基于i比特子交換(SubSwap )運(yùn)算電路"2的i比特 子交換運(yùn)算是對存儲在寄存器RegL 403中的n比特?cái)?shù)據(jù)執(zhí)行的, 但是作為循環(huán)密鑰而輸出常常l又是存儲在寄存器RegL 403中的n 比特?cái)?shù)據(jù)中的n/2比特?cái)?shù)據(jù)。例如,將存儲在寄存器RegL403中的 n比特?cái)?shù)據(jù)中的上位n/2比特?cái)?shù)據(jù)輸出作為各個(gè)循環(huán)密鑰。
在結(jié)束了所有的循環(huán)(r循環(huán))的生成的時(shí)刻,執(zhí)4于將最后存 儲在寄存器RegL 403中的n比特?cái)?shù)據(jù)返還成最初的初始的中間密 鑰數(shù)據(jù)L的處理。執(zhí)行該處理的是跳躍(Jumpr-i)運(yùn)算電路413。
參考圖22對交換運(yùn)算電路411執(zhí)行的比特位置變更處理例進(jìn) 行說明。圖22示出了 128比特的中間密鑰數(shù)據(jù)L的交換(Swap ) 處理例。
對交換(Swap)運(yùn)算的定義進(jìn)4亍說明。 將128比特的凄t據(jù)Ai殳定為A=( a。是128比特的各個(gè)比特?cái)?shù)據(jù)。
此夕卜,設(shè)定a[x — y]:數(shù)據(jù)A中的連續(xù)比特?cái)?shù)據(jù)從ax到ay的比 特列、b I c:連4妄比特列b、 c的比4爭列。
可如下定義對128比特?cái)?shù)據(jù)進(jìn)行的交換(Swap)運(yùn)算。 (交換(Swap )運(yùn)算定義)
當(dāng)將通過對128比特?cái)?shù)據(jù)A進(jìn)行交換運(yùn)算而獲得的數(shù)據(jù)B設(shè) 定為B=Swapl28 ( A)時(shí),
B=a[64—127] | a
。
也就是說,如圖22所示,將(a)輸入數(shù)據(jù)的上位一半的數(shù)據(jù) Ao和下位一半的數(shù)據(jù)A,進(jìn)行替換并生成(b )輸出的處理是基于交 換(Swap)運(yùn)算的比特位置變更處理。另外,交換運(yùn)算自身成為逆
變換。即
交換運(yùn)算=交換逆運(yùn)算。
此外,雖然在上述的例子中定義了對128比特的數(shù)據(jù)進(jìn)行的交 換運(yùn)算,但也可以如下定義對一般的2m比特(m是2以上的整數(shù)) 的數(shù)據(jù)進(jìn)行的交換運(yùn)算。
(交換(Swap )運(yùn)算定義)
當(dāng)將通過對2m比特?cái)?shù)據(jù)A ( m是2以上的整凄t)進(jìn)行交換運(yùn) 算而獲得的數(shù)據(jù)B設(shè)定為B=Swap2m ( A )時(shí),可以表達(dá)為B=a[m— (2m-l ) ] I a
。
接著,參照圖23,對i比特子交換(SubSwap)運(yùn)算電路412 所執(zhí)行的比特位置變更處理例進(jìn)行說明。圖23示出了 128比特?cái)?shù) 才居的子交纟奐(SubSwap)處理例。對i比特子交換運(yùn)算的定義進(jìn)行說明。
如下定義對128比特?cái)?shù)據(jù)進(jìn)行的i比特子交換(SubSwap)運(yùn)算。
(i比特子交換(SubSwap )運(yùn)算定義)
當(dāng)將通過對128比特?cái)?shù)據(jù)A進(jìn)行i比特子交換(SubSwap )運(yùn) 算而獲得的數(shù)據(jù)B設(shè)定為B=SubSwap128, i ( A )時(shí),則可表達(dá)為
B=a[ (64+i) —127] I a[ ( 64-i) — ( 63+i) ] I a
。
也就是說,如圖23所示,將(a)輸入凄t據(jù)的中央2i比特?cái)?shù)據(jù) A!固定并將除數(shù)據(jù)的上位比特?cái)?shù)據(jù)Ao和下位比特?cái)?shù)據(jù)A2替換, 生成(b)輸出的處理是基于i比特子交換(SubSwap)運(yùn)算的比特 位置變更處理。另夕卜,子交換(SubSwap)運(yùn)算自己也成為逆變換。
此外,雖然在上述的例子中定義了對128比特i史據(jù)進(jìn)4亍的子交 換運(yùn)算,但也可以如下定義對一般的2m比特(m是2以上的整凄丈) 的數(shù)據(jù)進(jìn)4于的子交換運(yùn)算。
(i比特子交換(SubSwap )運(yùn)算定義)
當(dāng)將通過對2m比特?cái)?shù)據(jù)A ( m是2以上的整數(shù))進(jìn)行i比特 子交換(SubSwap )運(yùn)算而獲得的數(shù)據(jù)B設(shè)定為B=SubSwap2m,i ( A ) 時(shí),則可表達(dá)為
B=a[ ( m+i) —127] | a[ ( m-i) — ( m-l+i) ] I a
。
如果每次連續(xù)地執(zhí)行參照圖22、圖23所說明的交換(Swap) 運(yùn)算和子交換(SubSwap )運(yùn)算,則首先扭j亍與參照圖15所i兌明的基于雙交換(Double Swap)運(yùn)算的比特位置變更處理相同的比特
位置變更。
在圖21所示的密鑰調(diào)度部中,交^齊地4丸;f亍應(yīng)用了交4灸(Swap ) 運(yùn)算電路411和i比特子交換(SubSwap )運(yùn)算電路412這些各個(gè) 運(yùn)算電^各的比特位置變更處理并生成各個(gè)循環(huán)密鑰。
對圖21所示的密鑰調(diào)度部的循環(huán)密鑰的生成次序進(jìn)4亍i兌明。 將輸入到密鑰調(diào)度部的k比特的私有密鑰K輸入到非線性變換電路 401,執(zhí)行非線性變換處理并生成n比特的中間密鑰數(shù)據(jù)L,通過選 擇器402將中間密鑰數(shù)據(jù)L存儲在寄存器RegL 403中。將該最初 的寄存器RegL 403存^f諸數(shù)據(jù)中的n/2比特、例如上位一半的n/2比 特作為最初的循環(huán)的循環(huán)密鑰而llr出。
此外,對該寄存器RegL 403存儲數(shù)據(jù)執(zhí)行基于交換(Swap ) 運(yùn)算電路411的比特位置變更處理、即之前參考圖22所i兌明的作 為比特位置變更處理的交換(Swap)處理,其結(jié)果是,輸入到寄存 器RegL 403中的該輸入數(shù)據(jù)中的n/2比特、例如上位一半的n/2比 特被作為下 一個(gè)循環(huán)密鑰而輸出。
此外,對該寄存器RegL 403存儲^t據(jù)^U于基于子交換 (SubSwap )運(yùn)算電路"2的比特位置變更處理、之前參考圖23所 說明的作為比特位置變更處理的子交換(SubSwap)處理,其結(jié)果 是,輸入到寄存器RegL 403中的該輸入數(shù)據(jù)中的n/2比特、例如上 4立一半的n/2比特-故作為下一個(gè)循環(huán)密鑰而l命出。
下面,交替地#1行應(yīng)用了交換(Swap )運(yùn)算電路411和i比特 子交換(SubSwap)運(yùn)算電路412這些各個(gè)運(yùn)算電路的比特位置變 更處理并生成各個(gè)循環(huán)密鑰。這樣地,可以生成應(yīng)用于各個(gè)循環(huán)函 數(shù)的循環(huán)密鑰RKp RK2、…,RKw、 RKr。最后,對存儲在寄存器RegL 403中的數(shù)據(jù)執(zhí)行基于跳躍(Jump^ )運(yùn)算電路413的比特位置變更處理,執(zhí)行返還成最初存儲在寄存器RegL 403中的中間密鑰凄W居L的處理。
參照圖24對基于跳躍(Jumpw )運(yùn)算電路413的比特位置變更處理進(jìn)行說明。如圖24所示,基于跳躍(Jumpw )運(yùn)算電路413的比特位置變更處理相當(dāng)于作為如下運(yùn)算的比特位置變更處理將交替反復(fù)基于交換(Swap )運(yùn)算電路411的r/2次的交換(Swap )運(yùn)算和基于i比特子交換(SubSwap)運(yùn)算電路412的(r/2-l )次的i比特子交換(SubSwap)運(yùn)算所得到的結(jié)果返還成初始數(shù)據(jù)的運(yùn)算。如上所述,由于交換(Swap)運(yùn)算和子交換(SubSwap)運(yùn)算分別自身為逆變換,其結(jié)果是,如圖24所示,基于跳躍(Jump")運(yùn)算電路413的比特位置變更處理相當(dāng)于再次執(zhí)行交替反復(fù)基于交換(Swap )運(yùn)算電路411的r/2次的交換(Swap )運(yùn)算和基于i比特子交換(SubSwap)運(yùn)算電路412的(r/2-1 )次的i比特子交換(SubSwap)運(yùn)算的處理。
通過該基于跳躍(Jumpw )運(yùn)算電路413的跳躍運(yùn)算,可以保證最終存儲在寄存器RegL 403中的數(shù)據(jù)被返還成執(zhí)行交換運(yùn)算和子交換運(yùn)算之前的初始數(shù)據(jù)即中間密鑰數(shù)據(jù)L的值。
此外,圖21所示的各個(gè)運(yùn)算電路、即交換(Swap)運(yùn)算電路411、 i比特子交換(SubSwap )運(yùn)算電路412、跳躍(Jump^ )運(yùn)算電路413可通過與之前參考圖16、圖17說明的電路相同的比特位置變換電路進(jìn)行安裝。因此,例如跳躍(JumpM)運(yùn)算電路413可以通過與集中執(zhí)行r-1次的巡回移位運(yùn)算的運(yùn)算同程度的電路規(guī)才莫來實(shí)現(xiàn)。另外,這些比特4立置變更處理可以作為與參照圖16、圖17所說明的同樣的硬/f牛構(gòu)成來實(shí)現(xiàn),也可以構(gòu)成為通過軟件來執(zhí)行。對圖21所示的密鑰調(diào)度部的加密處理執(zhí)4亍時(shí)的循環(huán)密鑰生成算法進(jìn)行說明。也就是說,如下表示應(yīng)用了交換(Swap )運(yùn)算電路411、 i比特子交換(SubSwap)運(yùn)算電路412、跳躍(Jumpw )運(yùn)算電路413這些運(yùn)算(Swap )電路的比特位置變更處理的n/2比特的循環(huán)密鑰生成算法。另外,使循環(huán)數(shù)為偶數(shù)循環(huán),表示為Fr。
For i=l to r-1 do
RKj—RegL的上4立n/2比特
IF i= =odd
Swapn ( RegL )
IF i= =even
SubSwapn,i ( RegL )
RKr —RegL的上位n/2比特
RegL — Jumpr.! ( RegL )
并且,應(yīng)用圖21所示的密鑰調(diào)度部并執(zhí)行解碼處理時(shí)的循環(huán)密鑰生成算法如下所示
RegL — Jumpr—! ( RegL )
For i=r to 2 do
RKi —RegL的上4立n/2比特
IF i= =evenSwapn ( RegL )IF i= =odd
SubSwapn,i ( RegL )Rid—RegL的上位n/2比特。
在解碼處理中,最初執(zhí)行基于跳躍(Jumpw )運(yùn)算電路413的跳3夭運(yùn)算。才艮據(jù)該處理,含有在加密處理時(shí)的最終循環(huán)中所應(yīng)用的循環(huán)密鑰數(shù)據(jù)的數(shù)據(jù)被設(shè)定在寄存器RegL 403中。之后,與加密處理時(shí)同樣,交替地執(zhí)行交換(Swap)運(yùn)算電路411和i比特子交換(SubSwap)運(yùn)算電路412這些運(yùn)算電路的比特位置變更處理,沖丸4亍各個(gè)循環(huán)的循環(huán)密鑰生成。
如上所述,才艮據(jù)圖21所示的構(gòu)成,對在加密4匕/解碼的同時(shí)生成中間密鑰數(shù)據(jù)L并存儲在寄存器RegL 403中的數(shù)據(jù)進(jìn)行基于交換(Swap)運(yùn)算電^各411、 i比特子交換(SubSwap)運(yùn)算電路412、跳躍(JumpM)運(yùn)算電路413這些各個(gè)運(yùn)算電路的比特位置變更處理,乂人而可以生成循環(huán)密鑰。通過該安裝,可以省略在循環(huán)移位電路中必需的選擇電路(圖13所示的選擇器241 ),并且可以將在循環(huán)移位電路中需要四種的運(yùn)算電路的種類減小到三種,可以降低安裝成本和減少安裝面積。
(2-5 )關(guān)于本發(fā)明第三實(shí)施例所涉及的循環(huán)密鑰的生成處理構(gòu)
成
接著,參考圖25對本發(fā)明第三實(shí)施例所涉及的循環(huán)密鑰的生成處理構(gòu)成進(jìn)行說明。以下說明的實(shí)施例構(gòu)成為對通過之前說明的
構(gòu)成所生成的循環(huán)密鑰lt據(jù),對每一循環(huán)不同的常凄t Cj進(jìn)4亍:接位加(EXOR),將該結(jié)果作為循環(huán)密鑰。通過這樣的構(gòu)成,可以帶來以下的效果
*即使在中間密鑰全為O或全為1的情況下,循環(huán)密鑰也不會相同。
*對滑動攻擊(Slide attack )具有充分的耐性。
在圖25中示出了本實(shí)施例的密鑰調(diào)度部的構(gòu)成例。圖25中所示的密鑰調(diào)度部的構(gòu)成例是在之前參照圖21 i兌明的密鑰調(diào)度部的構(gòu)成上追加了常數(shù)生成電路420和按位加運(yùn)算部430的構(gòu)成。在此,雖然說明以圖25所示的密鑰調(diào)度部的構(gòu)成為基礎(chǔ)的例子,^旦還可以實(shí)現(xiàn)在具有之前參考圖14、圖15和圖21所i兌明的雙交才炎運(yùn)算和逆運(yùn)算電路的構(gòu)成上追加常數(shù)生成電路420和按位加運(yùn)算部430的構(gòu)成,可發(fā)揮與上述相同的效果。在此,作為代表例,對在參考圖19所說明的密鑰調(diào)度部的構(gòu)成上追力o 了常數(shù)生成電路420和按位力口運(yùn)算部430的構(gòu)成例進(jìn)行說明。
圖25所示的構(gòu)成為追加了相對各個(gè)循環(huán)(j)生成不同的常翁:Cj (1《j《r)的常數(shù)生成電路420、和執(zhí)行在常數(shù)生成電^各421中所生成的每一循環(huán)的常數(shù)Cj (1《j《r)與寄存器RegL 403的各個(gè)循環(huán)的每個(gè)循環(huán)的數(shù)據(jù)之間的按位加(EXOR)的按位加(EXOR)運(yùn)算部430的構(gòu)成。在本實(shí)施例中,將基于該4安位力卩(EXOR)運(yùn)算部的運(yùn)算結(jié)果作為循環(huán)密鑰{ RKp RK2、…,RKM、 RKr }輸出。
在該構(gòu)成中,具有例如即4吏在寄存器RegL 403的存4諸凄t據(jù)的全部的比特為0的情況下最終輸出的循環(huán)密鑰{RKi, RK2,…,RKr-!,RKJ也不會成為相同的數(shù)據(jù)的效果。在圖25所示的構(gòu)成中,輸出的循環(huán)密鑰為n/2比特,在按位加(EXOR)運(yùn)算部430中,例如,執(zhí)行寄存器RegL 403的n比特存儲數(shù)據(jù)的上位n/2比特與相對于常數(shù)生成電路420所生成的每個(gè)循環(huán)不同的n比特?cái)?shù)據(jù)之間的按位加(EXOR)運(yùn)算,將該結(jié)果作為循環(huán)密鑰l命出。
在這種情況下,雖然相對于常凄t生成電路420所生成的每個(gè)循環(huán)不同的常數(shù)為n比特的數(shù)據(jù),但存在如下的問題根據(jù)循環(huán)數(shù)r生成r次n比特的隨機(jī)常數(shù)的電路在比特?cái)?shù)n大的情況下其電路規(guī)模變大。為了解決這樣的問題,對實(shí)現(xiàn)了常數(shù)生成電路420的電路規(guī)模的小型化的構(gòu)成進(jìn)行說明。
例如,如圖26所示,常數(shù)生成電i 各420被構(gòu)造成將n比特的數(shù)據(jù)分割成相對各個(gè)循環(huán)都不同的m比特(m<n)的數(shù)據(jù)bj,將bj反復(fù)使用n/m次,電路規(guī)模變小。例如,在11=64時(shí),常數(shù)生成電路420生成相對各個(gè)循環(huán)都不同的n=64比特的常數(shù)Cj。
常凄丈生成電^各420例如^f吏m-16,應(yīng)用相對每個(gè)循環(huán)(j)都不同的16比特的數(shù)據(jù)bj執(zhí)行以下的運(yùn)算,生成64比特的相對每個(gè)循環(huán)都不同的常數(shù)Cj并輸出到按位力。(EXOR)運(yùn)算部430。<formula>formula see original document page 62</formula>在上式中,
bj < < < i是將16比特的數(shù)據(jù)bj進(jìn)行了 i比特左移位后的數(shù)據(jù)。Mask!是作為預(yù)先設(shè)定的固定值的掩碼值(mask) ( 16比特)。(bj < < < i) [EXOR] (MaskO表示(bj < < < i)和(Mask,)的按位力口運(yùn)算。
i、 j、 k、 l分別是預(yù)先確定的移位量,
MASId、 MASK2、 MASK3、 MASK4分別是預(yù)先確定的掩碼4直(16比特)。
也就是說,上式為這樣的式子對根據(jù)不同的移位量i、 j、 k,1對16比特的lt據(jù)bj分別進(jìn)4于了移位得到的16比特?cái)?shù)據(jù)執(zhí)行分別應(yīng)用了不同的摘r碼值Mask,、 Mask2、 Mask3、 Mask4的按々f立加運(yùn)算而所得的四個(gè)16比特?cái)?shù)據(jù)排列生成64比特的相對各個(gè)循環(huán)都不同的常凄tCj。
這樣地,通過將常數(shù)生成電路420構(gòu)成為將n比特的凄t據(jù)分割成相對每個(gè)循環(huán)都不同的m比特(m < n )的數(shù)據(jù)b」并反復(fù)4吏用n/m次bj,可以減小電鴻^見才莫。
并且,例如,在圖25所示的密鑰調(diào)度部構(gòu)成為生成并輸出對應(yīng)于多個(gè)不同加密處理的不同密鑰長度的循環(huán)密鑰的情況下,常數(shù)生成電路420也需要生成并輸出與輸出密鑰長度相應(yīng)的比特長的數(shù)據(jù)。在這種情況下,通過^f吏常凄t生成電^各420所生成的常凄t相應(yīng)于密鑰長度而改變,從而例如即使在不同密鑰長度中寄存器RegL 403的存儲值L為相同值的情況下,也可以將循環(huán)密鑰i殳定為不同的值。
例如,在構(gòu)成為支持(a)循環(huán)數(shù)ri的、比特的密鑰長度、(b)循環(huán)數(shù)r2的k2比特的密鑰長度、(c )循環(huán)數(shù)r3的k3比特的密鑰長度這些全部的情況下,常凄t生成電路420將對應(yīng)于多個(gè)的不同的加密處理的所有循環(huán)凄史n+r2+r3個(gè)的不同的m比對爭的凄O居bj應(yīng)用于各個(gè)循環(huán)。通過這樣的構(gòu)成,即使在 同密鑰長度中寄存器RegL403的存儲值L為相同值的情況下,也可以將循環(huán)密鑰設(shè)定為不同的值。
另外,如果將bj作為對應(yīng)于循環(huán)的隨機(jī)值,則導(dǎo)致^己錄bj的電 路的規(guī)模變大。也可以構(gòu)成為設(shè)定數(shù)目少于對應(yīng)于多個(gè)不同的加密 處理的所有循環(huán)數(shù)ri+ r2+ r3個(gè)的m比特的數(shù)據(jù)bj,在將它們應(yīng)用 于不同的加密處理的情況下,變更應(yīng)用順序。
或者,還可以構(gòu)成為相對于每個(gè)循環(huán)使用某種身見則對m比特的 常數(shù)bj從某初始值開始更新。例如,可以應(yīng)用如下的規(guī)則應(yīng)用才艮 據(jù)在伽羅瓦(Galois )域GF ( 2 )上定義的m次的不可約多項(xiàng)式f (x)而所作成的擴(kuò)張域GF (2m)上的x倍運(yùn)算來乂人初始^直生成相 對每個(gè)循環(huán)都不同的值。在不可約多項(xiàng)式f (x)為原始多項(xiàng)式的情 況下,由于/人某初始j直生成的x倍運(yùn)算的值的周期為2m-l,所以可 生成2m-l不同的數(shù)據(jù)。另外,還可以將上述規(guī)則作為擴(kuò)張域GF( 2m ) 上的x"倍運(yùn)算等。
如圖25所示,通過執(zhí)行寄存器RegL403的存卡者數(shù)據(jù)和常數(shù)生
(EXOR)運(yùn)算并將結(jié)果作為循環(huán)密鑰輸出的構(gòu)成,可以帶來以下 的效果。
*在中間密鑰全為0或全為1的情況下,循環(huán)密鑰也不會相同。
*排除了各個(gè)循環(huán)密鑰的關(guān)聯(lián)性,對滑動攻擊(Slide attack)具
有充分的耐性。最后,圖27示出了作為執(zhí)4亍才艮據(jù)上述實(shí)施例的加密處理的加 密處理裝置的IC組件(module ) 700的構(gòu)成例。上述的處理可被例 如PC、 IC卡、讀寫器和其它各種各樣的信息處理裝置所執(zhí)行,圖 27所示的IC組件700可構(gòu)成到這些各種各樣的才幾器中。
圖27所示的CPU ( Cenrtal processing Unit,中央處理器)701 是執(zhí)行加密處理的開始、加密處理的結(jié)束、數(shù)據(jù)的收發(fā)的控制、各 個(gè)構(gòu)成部之間的數(shù)據(jù)傳輸控制、以及其它各種程序的處理器。存儲 器702由用于存儲CPU 701所執(zhí)行的程序、或者運(yùn)算參數(shù)等固定數(shù) 據(jù)的ROM (Read-Only-Memory,只讀存儲器)、作為CPU701的處 理所執(zhí)行的程序以及在程序處理中適當(dāng)變化的參數(shù)的存儲區(qū)、工作 區(qū)而祐 使用的RAM ( Random Access Memory:隨才幾存取存4諸器) 等構(gòu)成。并且,存儲器702可以被作為對加密處理必要的密鑰數(shù)據(jù)、 在加密處理中應(yīng)用的變換表(置換表)、應(yīng)用于變換矩陣的數(shù)據(jù)等 的儲存區(qū)域而使用。另外,優(yōu)選數(shù)據(jù)存儲區(qū)域被構(gòu)成為具有耐震動 (damper)構(gòu)造的存儲器。
加密處理部703執(zhí)行基于應(yīng)用了例如上述的各種加密處理構(gòu)成 侈'B口 (a) SPN ( Substitution Permutation Network,置才灸纟且合網(wǎng)纟各) 構(gòu)造、(b) Feistel構(gòu)造這些構(gòu)成的/^共密鑰塊加密處理算法的加密 處理、解碼處理。
并且,加密處理部703具有密鑰調(diào)度部,該密鑰調(diào)度部包括與 如下的上述各個(gè)實(shí)施例的構(gòu)成中的任一個(gè)處理構(gòu)成相對應(yīng)的構(gòu)成 即(2-3 )本發(fā)明的第一實(shí)施例所涉及的循環(huán)密鑰的生成處理、(2-3 ) 本發(fā)明的第二實(shí)施例所涉及的循環(huán)密鑰的生成處理、(2-3)本發(fā)明 的第三實(shí)施例所涉及的循環(huán)密鑰的生成處理。
65另外,雖然在此示出了將加密處理單元作為個(gè)別組件的例子, 但是也可以構(gòu)成為不設(shè)置這樣獨(dú)立的加密處理組件,而是將例如加
密處理程序存儲在ROM中,CPU 701讀出并執(zhí)行ROM存儲程序。
隨機(jī)數(shù)發(fā)生器704執(zhí)行在加密處理中所需的密鑰的生成等中所
需的隨枳4t的發(fā)生處理。
接收發(fā)送部705是執(zhí)行與外部的數(shù)據(jù)通信的數(shù)據(jù)通信處理部, 才丸4亍例如與讀寫器等、IC組件之間的凄史據(jù)通信,執(zhí)行在IC組件內(nèi) 生成的加密文本的輸出或者來自外部的讀寫器等設(shè)備的數(shù)據(jù)輸入等。
以上,參照指定的實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)說明。^f旦是本領(lǐng) 域技術(shù)人員應(yīng)該明白在不脫離本發(fā)明的主旨的范圍內(nèi)可以進(jìn)行該 實(shí)施例的修正或替代。也就是說,以示例的形式7>開了本發(fā)明,不 應(yīng)該將其作為限定的解釋。應(yīng)該參考本發(fā)明的保護(hù)范圍來判斷本發(fā) 明的主旨。
此外,在i兌明書中所iJi明的一系列處理可以通過石更4牛、專欠4牛或 者兩者的復(fù)合構(gòu)成來執(zhí)行。在執(zhí)行基于軟件的處理的情況下,將記 錄有處理順序的程序安裝在組裝在專用的硬件的計(jì)算機(jī)內(nèi)的存儲 器中來執(zhí)行,或者可以將程序安裝在可執(zhí)行各種處理的通用的計(jì)算 機(jī)中來執(zhí)行。
例如,可以將程序預(yù)先記錄在作為記錄介質(zhì)的硬盤或ROM (Readonly Memory,只讀存4諸器)中。或者,可以將禾呈序暫時(shí)或 者7Jc久;也存^f諸(i己錄)在庫欠盤(flexible disc )、 CD-ROM ( Compact Disc Read Only Memory,光盤只讀存卡者器)、MO ( Magneto optical, 石茲光)盤、DVD (Digital Versatile Disc,凄t字通用光盤)、》茲盤、半導(dǎo)體存儲器等可移動記錄介質(zhì)中。這樣的可取下的記錄介質(zhì)可以作
為所謂的專欠件包(package software )祐^是供。
另外,程序除了從上述的可取下的記錄介質(zhì)安裝到計(jì)算機(jī)上以 外,還可以乂人下載站點(diǎn)無線傳llT到計(jì)算才幾,或通過LAN (Local Area Network,局域網(wǎng))、因特網(wǎng)這樣的網(wǎng)絡(luò)以有線傳輸?shù)接?jì)算機(jī),計(jì)算 機(jī)可以接收這樣傳輸來的程序,并安裝在內(nèi)置的硬件等記錄介質(zhì)中。
另外,說明書中所記載的各種的處理不僅僅可以按照記載以時(shí) 間順序執(zhí)行,還可以根據(jù)執(zhí)行處理的裝置的處理能力或者才艮據(jù)需要 并列或者個(gè)別地執(zhí)行。并且,本說明書中,所謂系統(tǒng)是多個(gè)裝置的 邏輯集合構(gòu)成,并不僅限于各個(gè)構(gòu)成的裝置存在于同一個(gè)殼體內(nèi)。
工業(yè)上的利用可能性
如上所述,根據(jù)本發(fā)明的一個(gè)實(shí)施例的構(gòu)成,在公共密鑰塊加 密處理中的循環(huán)密鑰生成處理中,才艮據(jù)私有密鑰的變換處理而生成 的中間密鑰被存儲在寄存器中,反復(fù)執(zhí)行構(gòu)成寄存器存儲數(shù)據(jù)的部 分?jǐn)?shù)據(jù)的交換(替換)處理并生成循環(huán)密鑰。例如,將寄存器存儲 凄t據(jù)劃分為四個(gè)部分凄t據(jù)以 <更將具有相等比特#t的部分凄t據(jù)的組 設(shè)定為兩組,并反復(fù)執(zhí)行各個(gè)部分?jǐn)?shù)據(jù)的交換(替換)處理,生成 多個(gè)不同的循環(huán)密鑰。根據(jù)本構(gòu)成,可有效地替換各個(gè)循環(huán)密鑰的 比特排列,生成相關(guān)性低的循環(huán)密鑰,實(shí)現(xiàn)了提高了密鑰的解析困 難性且安全性高的密鑰處理構(gòu)成。
權(quán)利要求
1.一種用于執(zhí)行公共密鑰塊加密處理的加密處理裝置,其特征在于,包括加密處理部,用于進(jìn)行將循環(huán)函數(shù)反復(fù)多次循環(huán)的數(shù)據(jù)變換處理;以及密鑰調(diào)度部,用于生成適用于所述循環(huán)函數(shù)的執(zhí)行的循環(huán)密鑰,所述密鑰調(diào)度部構(gòu)成為包括寄存器,通過私有密鑰的變換處理生成中間密鑰,存儲生成的中間密鑰;以及數(shù)據(jù)變換部,作為對存儲在所述寄存器中的寄存器存儲數(shù)據(jù)執(zhí)行數(shù)據(jù)變換處理的數(shù)據(jù)變換部,反復(fù)執(zhí)行構(gòu)成所述寄存器存儲數(shù)據(jù)的部分?jǐn)?shù)據(jù)的交換(替換)處理并生成多個(gè)不同的循環(huán)密鑰。
2. 根據(jù)權(quán)利要求1所述的加密處理裝置,其特征在于,所述數(shù)據(jù)變換部構(gòu)成為將所述寄存器存儲數(shù)據(jù)劃分成 四個(gè)部分?jǐn)?shù)據(jù),以 <更將具有相等比特?cái)?shù)的部分ft據(jù)的組i殳定為 兩組,反復(fù)執(zhí)行各個(gè)部分?jǐn)?shù)據(jù)的交換(替換)處理,并生成多 個(gè)不同的循環(huán)密鑰。
3. 根據(jù)權(quán)利要求1所述的加密處理裝置,其特征在于,所述數(shù)據(jù)變換部將由2m比特構(gòu)成的所述寄存器存儲數(shù) 據(jù)劃分為下述(a)至(d)所示的四個(gè)部分凄t據(jù),反復(fù)^丸行各 個(gè)部分?jǐn)?shù)據(jù)的交換(替換)處理,并生成多個(gè)不同的循環(huán)密鑰,(a) 先頭i比特的部分凄t據(jù)A0;(b) 從先頭開始的第i+l比特至第m比特的部分凄t據(jù)A1;(c) 乂人先頭開始的第m+l比特至第2m-i比特的部分教: 據(jù)八2;以及(d )末尾i比特的部分?jǐn)?shù)據(jù)A3。
4. 根據(jù)權(quán)利要求1所述的加密處理裝置,其特征在于,所述數(shù)據(jù)變換部構(gòu)成為包括雙交換處理執(zhí)行部,用于將所述寄存器存儲數(shù)據(jù)劃分為 四個(gè)部分l史據(jù),以^更將具有相等比特凄t的部分^t據(jù)的組i殳定為 兩組,并執(zhí)行各組的部分?jǐn)?shù)據(jù)的交換(替換)處理;以及雙交換逆處理執(zhí)行部,用于執(zhí)行相當(dāng)于所述雙交換執(zhí)行 部處理的多個(gè)反復(fù)處理的逆處理的凝:才居變才灸處理。
5. 根據(jù)權(quán)利要求1所述的加密處理裝置,其特征在于,所述數(shù)據(jù)變換部包括如下的構(gòu)成進(jìn)行以與加密化處理 中的循環(huán)密鑰生成相反的順序來生成循環(huán)密鑰的解碼用循環(huán) 密鑰生成處理,所述數(shù)據(jù)變換部包括解碼用循環(huán)密鑰對應(yīng)數(shù)據(jù)變換部,通過對所述寄存器存定的次數(shù)反復(fù)進(jìn)行雙交換處理的結(jié)果數(shù)據(jù),其中,在所述雙交 換處理中,將所述寄存器存儲數(shù)據(jù)劃分為四個(gè)部分?jǐn)?shù)據(jù),以便 將具有相等比特?cái)?shù)的部分凄t據(jù)的組i殳定為兩組,并執(zhí)行各組的 部分?jǐn)?shù)據(jù)的交換(替換)處理;以及雙交換逆處理執(zhí)行部,對在所述解碼用循環(huán)密鑰對應(yīng)數(shù) 據(jù)變換部中被變換的數(shù)據(jù)執(zhí)行所述雙交換處理的逆處理,生成 各循環(huán)的循環(huán)密鑰。
6. 根據(jù)權(quán)利要求1所述的加密處理裝置,其特征在于,所述婆t據(jù)變纟灸部構(gòu)成為包括交換處理執(zhí)行部,用于將由2m比特構(gòu)成的所述寄存器存 儲數(shù)據(jù)劃分為下述(a)至(b)所示的兩個(gè)部分?jǐn)?shù)據(jù),并執(zhí)行 各部分?jǐn)?shù)據(jù)的交換(替換)處理;以及子交換處理執(zhí)4亍部,用于將由2m比特構(gòu)成的所述寄存器 存4諸凄t據(jù)劃分為下述(c)至(e)所示的三個(gè)部分?jǐn)?shù)據(jù),并4丸 行下述(c )與(d )的部分?jǐn)?shù)據(jù)的交換(替換)處理,(a )先頭m比特的部分?jǐn)?shù)據(jù)AG;以及(b )末尾m比特的部分?jǐn)?shù)據(jù)A!,(c) 先頭(m-i)比特的部分凄t據(jù)Ao;(d) 從先頭開始的第(m-i+l)比特至第(m+i)比特的 部分?jǐn)?shù)據(jù)A"以及(e) 從先頭開始的第(m+i+l)比特至末尾比特的部分 數(shù)據(jù)A2,所述數(shù)據(jù)變換部根據(jù)循環(huán)的進(jìn)行,交替執(zhí)行所述交換處 理沖丸4于部和所述子交換處理4丸行部的處理,并生成循環(huán)密鑰。
7. 根據(jù)權(quán)利要求6所述的加密處理裝置,其特征在于,所述數(shù)據(jù)變換部還包括逆變換處理執(zhí)行部,用于執(zhí)行 與所述交換處理扭^于部和所述子交換處理執(zhí)4于部的處理的反 復(fù)處理的逆處理相當(dāng)?shù)钠鄑據(jù)交換。
8. 根據(jù)權(quán)利要求1至7中任一項(xiàng)所述的加密處理裝置,其特征在 于,所述密鑰調(diào)度部構(gòu)成為還包括常數(shù)生成部,用于生成相對每個(gè)循環(huán)都不同的常數(shù);以及按位加運(yùn)算部,用于執(zhí)行所述常數(shù)生成部所生成的常數(shù) 和所述寄存器存儲數(shù)據(jù)之間的按位加的運(yùn)算并生成循環(huán)密鑰。
9. 根據(jù)權(quán)利要求8所述的加密處理裝置,其特征在于,對每個(gè)循環(huán)都不同的少比特lt凄t據(jù)的移位凄t據(jù)的組合來生成 相對每個(gè)循環(huán)都不同的常數(shù)。
10. 根據(jù)權(quán)利要求8所述的加密處理裝置,其特征在于,所述常數(shù)生成部構(gòu)成為通過對比特?cái)?shù)少于生成的常數(shù)的 少比特?cái)?shù)凄t據(jù)進(jìn)行的數(shù)據(jù)變換,生成相對每個(gè)循環(huán)都不同的少 比特?cái)?shù)數(shù)據(jù),通過生成的少比特?cái)?shù)數(shù)據(jù)的移位數(shù)據(jù)的組合來生 成相對每個(gè)循環(huán)都不同的常凄t。
11. 一種在加密處理裝置中#丸4于7>共密鑰塊加密處理的加密處理 方法,其特征在于,包括循環(huán)密鑰生成步驟,在密鑰調(diào)度部中生成多個(gè)循環(huán)密鑰, 其中,所述多個(gè)循環(huán)密鑰應(yīng)用于在加密處理部中沖丸4亍的多個(gè)循 環(huán)的循環(huán)函數(shù)的執(zhí)行;以及加密處理步驟,在加密處理部中進(jìn)4亍將適用了所述循環(huán) 密鑰的循環(huán)函數(shù)反復(fù)多個(gè)循環(huán)的數(shù)據(jù)變換處理,所述循環(huán)密鑰 成步驟包4舌中間密鑰生成步驟,通過私有密鑰的變換處理來生成中間密鑰并存儲在寄存器中;以及數(shù)據(jù)變換步驟,所述數(shù)據(jù)變換部對構(gòu)成存儲在所述寄存 器中的寄存器存儲數(shù)據(jù)的部分?jǐn)?shù)據(jù)反復(fù)執(zhí)行交換(替換)處理, 并生成多個(gè)不同的循環(huán)密鑰。
12. 根據(jù)權(quán)利要求11所述的加密處理方法,其特征在于,在所述數(shù)據(jù)變換步驟中,將所述寄存器存儲數(shù)據(jù)劃分成 四個(gè)部分?jǐn)?shù)據(jù),以便將具有相等比特?cái)?shù)的部分?jǐn)?shù)據(jù)的組設(shè)定為 兩組,反復(fù)執(zhí)行各個(gè)部分?jǐn)?shù)據(jù)的交換(替換)處理,并生成多 個(gè)不同的循環(huán)密鑰。
13. 根據(jù)權(quán)利要求11所述的加密處理方法,其特征在于,在所述數(shù)據(jù)變換步驟中,將由2m比特構(gòu)成的所述寄存器 存儲數(shù)據(jù)劃分為下述(a)至(d)所示的四個(gè)部分?jǐn)?shù)據(jù),反復(fù) 執(zhí)行各個(gè)部分?jǐn)?shù)據(jù)的交換(替換)處理,并生成多個(gè)不同的循 環(huán)密鑰,(a )先頭i比特的部分?jǐn)?shù)據(jù)A0;(b) 從先頭開始的第i+l比特至第m比特的部分凄t據(jù)A1;(c) 乂人先頭開始的第m+l比特至第2m-i比特的部分凄欠 據(jù)八2;以及(d )末尾i比特的部分?jǐn)?shù)據(jù)A3。
14. 4艮據(jù)4又利要求11所述的加密處理方法,其特4正在于,所述凄t據(jù)變換步驟包括雙交換處理執(zhí)行步驟,將所述寄存器存儲數(shù)據(jù)劃分為四 個(gè)部分?jǐn)?shù)據(jù),以便將具有相等比特?cái)?shù)的部分?jǐn)?shù)據(jù)的組設(shè)定為兩 組,并^5M于各組的部分?jǐn)?shù)據(jù)的交換(替換)處理;以及雙交換逆處理執(zhí)行步驟,執(zhí)4亍相當(dāng)于所述雙交換^^亍步 驟的處理的多個(gè)反復(fù)處理的逆處理的凄t悟變4灸處理。
15. 根據(jù)權(quán)利要求11所述的加密處理方法,其特征在于,所述數(shù)據(jù)變換步驟包括如下的步驟進(jìn)行以與加密化處 理中的循環(huán)密鑰生成相反的順序來生成循環(huán)密鑰的解碼用循 環(huán)密鑰生成處理,并且,所述數(shù)據(jù)變換步驟包括解碼用循環(huán)密鑰對應(yīng)數(shù)據(jù)變換步驟,通過對所述寄存器確定的次數(shù)反復(fù)進(jìn)行雙交換處理的結(jié)果數(shù)據(jù),其中,在所述雙 交換處理中,將所述寄存器存儲數(shù)據(jù)劃分為四個(gè)部分?jǐn)?shù)據(jù),以 <更將具有相等比特#1的部分#:據(jù)的組_沒定為兩組,并扭J于各組 的部分?jǐn)?shù)據(jù)的交換(替換)處理;以及只又交纟灸逆處理執(zhí)4亍步驟,乂于在所述解石馬用循環(huán)密鑰^"應(yīng) 數(shù)據(jù)變換步驟中被變換的數(shù)據(jù)執(zhí)行所述雙交換處理的逆處理, 生成各循環(huán)的循環(huán)密鑰。
16. 根據(jù)權(quán)利要求11所述的加密處理方法,其特征在于,所述數(shù)據(jù)變換步驟包括交換處理執(zhí)行步驟,將由2m比特構(gòu)成的所述寄存器存儲 數(shù)據(jù)劃分為下述(a)至(b)所示的兩個(gè)部分?jǐn)?shù)據(jù),并執(zhí)行各 部分?jǐn)?shù)據(jù)的交換(替換)處理;以及子交換處理執(zhí)行步驟,用于將由2m比特構(gòu)成的所述寄存 器存儲數(shù)據(jù)劃分為下述(c)至(e)所示的三個(gè)部分?jǐn)?shù)據(jù),并 執(zhí)行下述(c)與(d)的部分?jǐn)?shù)據(jù)的交換(替換)處理,(a )先頭m比特的部分?jǐn)?shù)據(jù)Aq;以及(b )末尾m比特的部分?jǐn)?shù)據(jù)A"(c) 先頭(m-i)比特的部分凄t據(jù)Ao;(d) 從先頭開始的第(m-i+l)比特至第(m+i)比特的 部分凄t據(jù)A,;以及(e) 從先頭開始的第(m+i+l)比特至末尾比特的部分 數(shù)據(jù)A2,在所述數(shù)據(jù)變換步驟中,根據(jù)循環(huán)的進(jìn)行,交替執(zhí)行所 述交換處理執(zhí)行步驟和所述子交換處理執(zhí)行步驟的處理,并生 成循環(huán)密鑰。
17. 根據(jù)權(quán)利要求16所述的加密處理方法,其特征在于,所述lt據(jù)變換步驟還包括逆變換處理執(zhí)4于步驟,用于 才丸行與所述交換處理執(zhí)行步驟和所述子交換處理扭^亍步驟的 處理的反復(fù)處理的逆處理相當(dāng)?shù)钠鄑據(jù)交4奐。
18. 根據(jù)權(quán)利要求11至17中任意一項(xiàng)所述的加密處理方法,其特 征在于,所述力n密處理方法還包4舌常數(shù)生成步驟,由常數(shù)生成部生成相對每個(gè)循環(huán)都不同 的常h以及:換位加運(yùn)算步驟,由所述按-位加運(yùn)算部執(zhí)4于所述常凄史生 成部所生成的常數(shù)和所述寄存器存儲數(shù)據(jù)之間的4姿位加的運(yùn) 算并生成循環(huán)密鑰。
19. 根據(jù)權(quán)利要求18所述的加密處理方法,其特征在于,在所述常ft生成步^^中,通過比特ft少于生成的常^:的 相對每個(gè)循環(huán)都不同的少比特凄t^t據(jù)的移位lt據(jù)的組合來生 成相對每個(gè)循環(huán)都不同的常數(shù)。
20. 才艮據(jù)權(quán)利要求18所述的加密處理方法,其特征在于,在所述常^t生成步驟中,通過對比特^:少于生成的常凄t 的少位數(shù)數(shù)據(jù)進(jìn)行的數(shù)據(jù)變換來生成相對每個(gè)循環(huán)都不同的 少比特?cái)?shù)數(shù)據(jù),通過所生成的少比特?cái)?shù)數(shù)據(jù)的移位數(shù)據(jù)的組合 來生成相對每個(gè)循環(huán)都不同的常數(shù)。
21. —種4吏加密處理裝置扭J于z^共密鑰塊加密處理的計(jì)算才幾程序, 其特征在于,包括循環(huán)密鑰生成步驟,4吏密鑰調(diào)度部生成多個(gè)循環(huán)密鑰, 其中,所述多個(gè)循環(huán)密鑰應(yīng)用于在加密處理部中執(zhí)4亍的多個(gè)循 環(huán)的循環(huán)函lt的4丸4于;以及加密處理步驟,使密鑰調(diào)度部進(jìn)行將適用了所述循環(huán)密 鑰的循環(huán)函數(shù)反復(fù)多個(gè)循環(huán)的數(shù)據(jù)變換處理,所述循環(huán)密鑰生成步驟包括中間密鑰生成步-驟,通過私有密鑰的變換處理來生成中 間密鑰并存儲在寄存器中;以及數(shù)據(jù)變換步驟,所述數(shù)據(jù)變換部對構(gòu)成存儲在所述寄存 器中的寄存器存儲數(shù)據(jù)的部分?jǐn)?shù)據(jù)反復(fù)執(zhí)行交換(替換)處理, 并生成多個(gè)不同的循環(huán)密鑰。
全文摘要
本發(fā)明提供了增加密鑰解析的難度、提高了安全性的公共密鑰塊加密處理構(gòu)成。在將通過私有密鑰的變換處理而生成的中間密鑰存儲在寄存器中并通過寄存器存儲數(shù)據(jù)的變換處理來生成循環(huán)密鑰的構(gòu)成中,執(zhí)行構(gòu)成寄存器存儲數(shù)據(jù)的部分?jǐn)?shù)據(jù)的交換(替換)處理并生成循環(huán)密鑰。例如,劃分成四個(gè)部分?jǐn)?shù)據(jù),以便將具有相等比特?cái)?shù)的部分?jǐn)?shù)據(jù)的組設(shè)定為兩組,反復(fù)執(zhí)行各部分?jǐn)?shù)據(jù)的交換處理,并生成多個(gè)不同的循環(huán)密鑰。根據(jù)本構(gòu)成,可以有效地替換各個(gè)循環(huán)密鑰的比特排列,生成相關(guān)性低的循環(huán)密鑰,實(shí)現(xiàn)提高了密鑰的解析難度、安全性高的加密處理。
文檔編號G09C1/00GK101553857SQ20078004566
公開日2009年10月7日 申請日期2007年11月21日 優(yōu)先權(quán)日2006年12月11日
發(fā)明者澀谷香士, 白井太三, 盛合志帆, 秋下徹 申請人:索尼株式會社