新四季網

加密處理裝置、加密處理方法以及電腦程式的製作方法

2023-12-02 07:00:01

專利名稱:加密處理裝置、加密處理方法以及電腦程式的製作方法
技術領域:
本發明涉及加密處理裝置、力口密處理方法以及計算才幾程序。更 詳細地,本發明涉及執行公共密鑰塊加密處理的加密處理裝置、加
密處理方法以及計算枳4呈序。
背景技術:
在例如網絡通信、電子商務交易和其它的翁::悟處理4頁域中,確
保安全是重要的課題。現有加密技術作為確保安全的一個方法,加 密處理^皮用於各種領i或。
例如以下系統已經;陂實用^f匕,即在IC卡等的小型的裝置中i裡 入加密處理組件,在IC卡和作為數據讀寫裝置的讀寫器之間進行 數據接收發送,並進行認證處理或接收發送數據的加密化、解碼。
在加密處理算法中存在各種各樣的算法,如果從大的方面分 類,可以分為將加密化密鑰和解碼密鑰設定為不同的密鑰、例如設 定為7>共密鑰(common key)和矛厶有密鑰(secret key )的^>共密鑰 加密方式、以及將加密化密鑰和解碼密鑰設定作為公共的密鑰的公 共密鑰加密方式。
在公共密鑰加密方式中也存在各種各樣的算法,其中之一,存 在以公共密鑰為基礎而生成多個密鑰,並使用生成的多個密鑰反覆 執行塊(block)單位(64比特、128比特、256比特等)的數據變換處理的方式。作為適用了這樣的密鑰生成方式和數據變換處理的 代表性的算法為7>共密鑰塊加密方式。
作為代表性的7>共密鑰塊加密的算法,例如已知有作為過去美
國標準力口密的DES (Data Encryption Standard,悽t據加密標準)算 法、和5見在美國才示準的AES ( Advanced Encryption Standard,高級
加密標準)算法等。
這樣的7>共密鑰塊加密的算法主要由加密處理部和加密調度 (schedule)部構成,其中,該加密處理部包括反覆執4亍輸入數據
的變換的循環函數執行部,該加密調度部生成在循環函tt部的各循
環中適用的循環密鑰。密鑰調度部基於作為私有密鑰的主要密鑰 (主密鑰),首先生成使比特數增加的擴大密鑰,並基於生成的擴
大密鑰生 成在加密處理部的各個循環函悽t部中適用的循環密鑰(副
密鑰)。
作為執行這樣的算法的具體的構造,已知有反覆執行包括線性 變換部以及非線性變換部的循環函數的構造。例如作為代表性的構 造存在有Feistel構造。Feistel構造具有通過作為數據變換函數的循 環函數(F函數)的單純的反覆而將明碼文本變換成加密文本的構 造。在循環函數(F函數)中執行線性變換處理以及非線性變換處 理。此外,作為針對適用了 Feistel構造的加密處理而記載的文獻, 例如有非專利文獻l、非專利文獻2。
但是,作為這樣的公共密鑰塊加密處理的問題點,存在由於加 密解析引起的密鑰的洩漏。所謂的由加密解析容易引起的密鑰的解 析也就是i兌該加密處理的安全性^氐,在實用上成為專交大的問題。
非專利文獻 1 : K. Nyberg, "Generalized Feistel networks", ASIACRYPT96, SpringerVerlag, 1996, pp.91—104,非專利文獻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。

發明內容
本發明鑑於上述問題點,目的在於提供一種提高加密解析的困 難性、實現安全性高的公共密鑰塊加密算法的加密處理裝置、加密 處理方法以及計算才幾禾呈序。
本發明第一方面提供了用於執行公共密鑰塊加密處理的加密 處理裝置,其包括加密處理部,用於進行將循環函悽t反覆多次循 環的lt據變換處理;以及密鑰調度部,用於生成適用於上述循環函 數的執行的循環密鑰,上述密鑰調度部構成為包括寄存器,通過 私有密鑰的變換處理生成中間密鑰,存儲生成的中間密鑰;以及數
變換處理的數據變換部,反覆執行構成上述寄存器存儲數據的部分 數據的交換(替換)處理並生成多個不同的循環密鑰。
此外,在本發明的第一方面的加密處理裝置中,上述數據變換: 部構成為將上述寄存器存儲數據劃分成四個部分數據,以便將具 有相等比特悽t的部分ft據的組:沒定為兩組,反覆4丸4於各個部分悽t才居 的交換(替換)處理,並生成多個不同的循環密鑰。
並且,在本發明的第一方面的加密處理裝置中,上述數據變換 部將由2m比特構成的上述寄存器存儲數據劃分為下述(a)至(d) 所示的四個部分數據,反覆執行各個部分數據的交換(替換)處理, 並生成多個不同的循環密鑰,(a)先頭i比特的部分翁:才居Ao; (b) 從先頭開始的第i+1比特至第m比特的部分數據( c )從先頭開始的第m+l比特至第2m-i比特的部分數據A2;以及(d)末尾i
比特的部分數據A3。
此外,在本發明的第一方面的加密處理裝置中,上述數據變換: 部構成為包括雙交換處理執行部,用於將上述寄存器存儲數據劃 分為四個部分數據,以便將具有相等比特數的部分數據的組設定為
兩組,並執行各組的部分數據的交換(替換)處理;以及雙交換逆 處理執行部,用於執行相當於上述雙交換執行部處理的多個反覆處 理的逆處理的數據變換處理。
此外,在本發明的第一方面的加密處理裝置中,上述數據變換: 部包括如下的構成進4於以與加密化處理中的循環密鑰生成相反的 順序來生成循環密鑰的解碼用循環密鑰生成處理,上述悽t據變4灸部 包括解碼用循環密鑰對應數據變換部,通過對上述寄存器存儲悽t 據進行的變換處理來生成以才艮據預先失見定的循環悽t而確定的次悽t 反覆進^f亍雙交換處理的結果^t據,其中,在上述雙交4奐處理中,3尋 上述寄存器存儲數據劃分為四個部分數據,以便將具有相等比特數 的部分數據的組設定為兩組,並執行各組的部分數據的交換(替換) 處理;以及雙交4灸逆處理扭J亍部,對在上述解碼用循環密鑰對應悽t
環的循環密鑰。
此外,在本發明的第一方面的加密處理裝置中,上述數據變換: 部構成為包括交換處理4丸4於部,用於將由2m比特構成的上述寄 存器存儲數據劃分為下述(a)至(b)所示的兩個部分數據,並執 行各部分數據的交換(替換)處理;以及子交換處理執行部,用於 將由2m比特構成的上述寄存器存儲數據劃分為下述(c)至(e) 所示的三個部分數據,並執行下述(c)與(d)的部分數據的交換 (替換)處理,(a )先頭m比特的部分數據AQ;以及(b )末尾m 比特的部分悽t據Ai, (c)先頭(m-i)比特的部分悽t才居Ao; (d) /人先頭開始的第(m-i+l)比特至第(m+i)比特的部分悽t才居A;以及
(e)從先頭開始的第(m+i+l)比特至末尾比特的部分tt據A2, 上述數據變換部一艮據循環的進行,交替執行上述交換處理執行部和 上述子交#:處理#丸4於部的處理,並生成循環密鑰。
此外,在本發明的第一方面的加密處理裝置中,上述數據變換 部還包括逆變換處理#1行部,用於#1行與上述交換處理執行部和 上述子交換處理寸丸行部的處理的反覆處理的逆處理相當的數據交換。
此外,在本發明的第一方面的加密處理裝置中,上述密鑰調度 部構成為還包4舌常lt生成部,用於生成相乂t每個循環老卩不同的常 數;以及按位加運算部,用於執行上述常數生成部所生成的常悽t和 上述寄存器存儲數據之間的按位加的運算並生成循環密鑰。
此外,在本發明的第一方面的加密處理裝置中,上述常數生成 部構成為通過比特悽t少於生成的常^:的相對每個循環者P不同的少 比特數數據的移位數據的組合來生成相對每個循環都不同的常悽t。
此外,在本發明的第一方面的加密處理裝置中,上述常數生成 部構成為通過對比特少於生成的常#t的少比特數悽t才居進行的悽t 據變換,生成相對每個循環都不同的少比特悽t悽t據,通過生成的少 比特數數據的移位數據的組合來生成相對每個循環都不同的常數。
本發明第二方面提供了在加密處理裝置中執行公共密鑰塊加 密處理的加密處理方法,其包括循環密鑰生成步驟,在密鑰調度 部中生成多個循環密鑰,其中,上述多個循環密鑰應用於在加密處 理部中執行的多個循環的循環函數的執行;以及加密處理步驟,在 加密處理部中進行將適用了上述循環密鑰的循環函數反覆多個循 環的數據變換處理,上述循環密鑰生成步驟包括中間密鑰生成步驟,通過私有密鑰的變換處理來生成中間密鑰並存儲在寄存器中; 以及數據變換步驟,上述數據變換部對構成存儲在上述寄存器中的 寄存器存儲數據的部分數據反覆執行交換(替換)處理,並生成多 個不同的循環密鑰。
並且,在本發明的第二方面的加密處理方法中,在上述數才居變 換步驟中,將上述寄存器存儲數據劃分成四個部分數據,以便將具 有相等比特數的部分數據的組設定為兩組,反覆執行各個部分悽t據 的交換(替換)處理,並生成多個不同的循環密鑰。
並且,在本發明的第二方面的加密處理方法中,在上述數據變 換步驟中,將由2m比特構成的上述寄存器存儲數據劃分為下述(a) 至(d)所示的四個部分數據,反覆執行各個部分數據的交換(替 換)處理,並生成多個不同的循環密鑰,(a)先頭i比特的部分數 據A。; (b) 乂人先頭開始的第i+l比特至第m比特的部分悽t據A"
(c)從先頭開始的第m+l比特至第2m-i比特的部分凝:據A2;以 及(d )末尾i比特的部分數據A3。
此外,在本發明的第二方面的加密處理方法中,上述數據變換: 步驟包括雙交換處理執行步驟,將上述寄存器存儲數據劃分為四 個部分ft據,以 <更將具有相等比特ft的部分悽t據的組i殳定為兩組, 並執行各組的部分數據的交換(替換)處理;以及雙交換逆處理4丸 行步驟,執行相當於上述雙交換執行步驟的處理的多個反覆處理的 逆處理的lt一居變4奐處理。
此外,在本發明的第二方面的加密處理方法中,上述悽^居變才灸 步驟包括如下的步驟進行以與加密化處理中的循環密鑰生成相反 的順序來生成循環密鑰的解碼用循環密鑰生成處理,並且,上述悽t 據變換步驟包括解碼用循環密鑰對應數據變換步驟,通過對上述
:數而確定的次悽t反覆進4亍雙交換處理的結果悽t據,其中,在上述雙交 換處理中,將上述寄存器存儲數據劃分為四個部分數據,以便將具 有相等比特數的部分ft據的組設定為兩組,並執行各組的部分悽t據
的交換(替換)處理;以及雙交換逆處理執行步驟,對在上述解碼
理的逆處理,生成各循環的循環密鑰。
此外,在本發明的第二方面的加密處理方法中,上述數據變才奐 步驟包括交換處理執行步驟,將由2m比特構成的上述寄存器存 儲數據劃分為下述(a)至(b)所示的兩個部分悽t據,並執行各部 分數據的交換(替換)處理;以及子交換處理執行步驟,用於將由 2m比特構成的上述寄存器存儲數據劃分為下述(c)至(e)所示 的三個部分數據,並執行下述(c)與(d)的部分數據的交換(替 換)處理,(a)先頭m比特的部分數據Aq;以及(b)末尾m比特 的部分數據A!, (c)先頭(m-i)比特的部分數據Ao; (d)從先頭 開始的第(m-i+l)比特至第(m+i)比特的部分數據A,;以及(e ) 從先頭開始的第(m+i+l)比特至末尾比特的部分數據A2,在上述 數據變換步驟中,根據循環的進行,交替執行上述交換處理執行步 驟和上述子交換處理扭J於步驟的處理,並生成循環密鑰。
此外,在本發明的第二方面的加密處理方法中,上述數據變換: 步驟還包括逆變換處理執行步驟,用於執行與上述交換處理#丸4亍 步驟和上述子交換處理4丸行步驟的處理的反覆處理的逆處理相當 的數據交換。
此外,在本發明的第二方面的加密處理方法中,上述加密處理 方法還包括常數生成步驟,由常tt生成部生成相對每個循環都不 同的常數;以及按位加運算步驟,由上述按位加運算部^丸行上述常 數生成部所生成的常數和上述寄存器存儲數據之間的按位加的運 算並生成循環密鑰。此外,在本發明的第二方面的加密處理方法中,在上述常悽t生 成步驟中,通過比特數少於生成的常數的相對每個循環都不同的少 比特數數據的移位數據的組合來生成相對每個循環都不同的常悽t。
此外,在本發明的第二方面的加密處理方法中,在上述常悽t生 成步驟中,通過對比特數少於生成的常數的少位數數據進行的數據 變換來生成相對每個循環都不同的少比特數數據,通過所生成的少 比特lt^t據的移位lt據的組合來生成相對每個循環都不同的常悽t。
並且,本發明第三方面提供了使加密處理裝置執行公共密鑰塊
加密處理的計算一幾程序,其包括循環密鑰生成步驟,^吏密鑰調度 部生成多個循環密鑰,其中,上述多個循環密鑰應用於在加密處理 部中執行的多個循環的循環函數的執行;以及加密處理步驟,^吏密 鑰調度部進行將適用了上述循環密鑰的循環函#1反覆多個循環的 數據變換處理,上述循環密鑰生成步驟包括中間密鑰生成步艱《,
數據變換步驟,上述數據變換部對構成存儲在上述寄存器中的寄存 器存儲數據的部分數據反覆執行交換(替換)處理,並生成多個不 同的循環密鑰。
此外,本發明的計算枳4呈序是如下的計算枳4呈序可通過以計 算才幾可讀形式才是供的存4諸介質、通信介質、例如CD、 FD、 MO等 的記錄介質或者網絡等的通信介質,對例如可執行各種各樣的程序 碼的計算機系統進行提供。通過以計算機可讀形式才是供這樣的程 序,可在計算才幾系統上實i見與禾呈序相應的處理。
通過對才艮據後述的本發明的實施例和附圖進4亍的更加詳細的 說明來說明本發明的其它的目的、特徵和優點。此外,本說明書中, 所謂系統是多個裝置的邏輯集合構成,並不僅限於各個構成的裝置 存在於同一個殼體內。發明效果
根據本發明的構成,在公共密鑰塊加密處理的循環密鑰生成處 理中,在將通過私有密鑰的變換處理而生成的中間密鑰存儲在寄存
執行構成寄存器存儲數據的部分數據的交換(替換)處理並生成循 環密鑰。例如,將寄存器存儲數據劃分成四個部分數據,以便將具 有相等比特數的部分數據的組設定為兩組,反覆執行各部分數據的 交換(替換)處理,並生成多個不同的循環密鑰。才艮據本構成,可 以有效地替換各個循環密鑰的比特排列,生成相關性低的循環密 鑰,實現提高了密鑰的解析難度、安全性高的加密處理。


圖1是示出公共密鑰塊加密算法的基本構成的圖2是對圖1所示的爿厶共密鑰塊加密處理部E 10的內部構成進 4亍i兌明的圖3是對圖2所示的加密處理部12的詳細構成進4亍說明的圖4是對作為循環函數執行部的一個構成例的SPN構造循環函 數進行說明的圖5是對作為循環函數執行部的一個構成例的Feistel ( 7工一 只於》)構造進行說明的圖6是對非線性變換處理部的具體例進4亍i兌明的圖7是對線性變換處理部的具體例進行說明的圖;圖8是對加密化處理的私有密鑰K、初始密鑰、循環密鑰和最 糹冬密鑰的^"應進4亍i兌明的圖9是對解碼處理的私有密鑰K、初始密鑰、循環密鑰和最終 密鑰的對應進^f亍"i兌明的圖10是對扭Jf亍加密化處理中的循環密鑰生成處理的密鑰調度 部的構成例進刊4兌明的圖11是對執行解碼處理中的循環密鑰生成處理的密鑰調度部 的構成例進行說明的圖12是對執行加密化、解碼兩者中的循環密鑰生成處理的密 鑰調度部的構成例進行i兌明的圖13是對才丸4亍可在Feistel構造的加密處理中適用的循環密鑰 生成處理的密鑰調度部的構成例進4亍i兌明的圖14是對在加密化處理中的在循環密鑰生成處理中執4亍適用 了雙交換(double swap)運算的處理的密鑰調度部的構成例進行說 明的圖15是對適用了 i比特雙交換運算的比特位置變更處理進4亍i兌 明的圖16是對4丸4於適用了 i比特雙交換運算的比特位置變更處理的 硬體構成例進行說明的圖17是對才丸4亍適用了 (r-l )次i比特雙交換逆運算的比特4立 置變更處理的石更件構成例進;f亍i兌明的圖;圖18是對在解碼處理中的在循環密鑰生成處理中執行適用了 雙交4灸運算的處理的密鑰調度部的構成例進刊H兌明的圖19是對在加密化、解碼兩者中的在循環密鑰生成處理中^丸
圖20是對適用了 i比特雙交換運算的比特位置變更處理進4亍i兌 明的圖21是對在加密處理的循環密鑰生成處理中執4亍適用了交才奐 運算和子交換運算的處理的密鑰調度部的構成例進行i兌明的圖22是對適用了交換運算的比特位置變更處理進行說明的圖23是對適用了 i比特子交換運算的比特位置變更處理進4亍i兌 明的圖24是對適用了跳3夭(jump)運算的比特位置變更處理進4亍 i兌明的圖25是對包括常悽t生成電路和"按位加"運算部的、執4亍循 環密鑰生成處理的密鑰調度部的構成例進行i兌明的圖26是對常數生成電路的構成例進行說明的圖;以及
圖27是示出作為執行本發明所涉及的加密處理的加密處理裝 置的IC紐J牛的構成例的圖。
具體實施例方式
下面,詳細說明本發明的加密處理裝置、力。密處理方法以及計 算機程序。說明按照以下的項目進行。
1、 公共密鑰塊加密的概要
2、 密鑰調度部中的循環密鑰生成處理構成 (2-1)關於密鑰調度部的詳細構成
(2-2)關於適用了移位處理的通常的循環密鑰生成處理構成 (2-3 )關於本發明的第 一實施例所涉及的循環密鑰的生成處理
構成
(2-4 )關於本發明的第二實施例所涉及的循環密鑰的生成處理
構成
(2-5 )關於本發明的第三實施例所涉及的循環密鑰的生成處理
構成
3、 加密處理裝置的構成例 [1、 7>共密鑰塊加密的和克要]
首先,對本發明可適用的公共密鑰塊加密的概要進行說明。在 本說明書中,公共密鑰塊加密(以下稱為塊加密)是指如下定義的加密。
塊加密輸入明碼文本P和密鑰K,並輸出加密文本C。明碼文 本和加密文本的比特長^^皮稱作塊大小,在此用n表示。N雖然可以取任意的整數值,但通常是針對每個塊加密算法而預先確定的 一個
值。還可以將塊長為n的塊加密稱作n比特塊加密。
密鑰的比特長用k來表示。密鑰可以取任意的整數值。公共密 鑰塊加密算法與一個或多個密鑰大小相對應。例如,某塊加密算法 A的塊大小為n=128,可以構成為與密鑰的比4爭長k=128、 k=192 或k=256的各種的密鑰大小相對應。
明碼文本[p]、加密文本[C]、密鑰[K]的各個比特大小如下所示。
明碼文本p: n比特
力口密文本C: n比淨爭
密鑰K: k比淨爭
圖1示出了與k比特的密鑰長度相對應的n比特7>共密鑰塊加 密算法E的圖。如圖l所示,z厶共密鑰塊加密處理部E 1(Mlr入n 比特的明碼文本P和k比特的密鑰K,執行預先確定的加密算法, 然後輸出n比特的加密文本C。另外,在圖1中僅示出了從明碼文 本生成加密文本的加密化處理。通常使用E 10的逆函^t來進行^人 加密文本生成明碼文本的解碼處理。但是,根據加密化處理部EIO 的構造,即使在解碼處理中也可以適用同樣的公共密鑰塊加密處理 部E 10,且可通過變更密鑰的輸入順序等的次序來進行解碼處理。
參照圖2對圖1所示的7>共密鑰塊加密處理部E 10的內部構 成進行說明。可以將塊加密分為兩部分考慮。 一部分是密鑰調度部 11,其將密鑰K作為輸入,通過某確定的步驟將輸入密鑰K的比特 長擴大並輸出擴大密鑰K,(比特長k,),另一部分是加密處理部12, 其接收明碼文本P和從密鑰調度部11輸入的擴大密鑰K,,輸入明碼文本P,執行應用了擴大密鑰K,的加密處理,然後執行用於生成 加密文本C的悽欠據的變換。另外,如上所述,4艮據加密化處理部 12的構造,還存在可^1尋加密處理部12應用於/人加密文本返回到明 碼文本的悽t據解碼處理的情況。
接著,參考圖3對圖2所示的加密處理部12的詳細構成進行 說明。如圖3所示,力口密處理部12具有反覆執行應用了循環函凝: 執行部20的數據變換的構成。也就是說,力口密處理部12可被分割 為稱為循環函數執行部20這樣的處理單位。循環函數執行部20接 收前段的循環函悽WyU亍部的輸出Xi和基於擴大密鑰所生成的循環 密鑰RKj這兩個數據作為輸入,在內部4丸行數據變換處理並將輸出 數據Xw輸出給後續的循環函數執行部。另外,在第一循環中,輸 入的是明碼文本或與明碼文本相對的初始化處理數據。並且,最終 循環輸出的是加密文本。
在圖3所示的例子中,加密處理部12構成為包4舌r個循環函翁: 執行部20,反覆r次在循環函數執行部中的數據變換並生成加密文 本。循環函數的反覆次數被稱作循環數。在圖中所示的例子中,循 環數為r。
各個循環函數執行部的輸入數據Xj是加密化過程中的n比特數 據,某循環的循環函數的輸出Xw被供給作為下一個循環的輸入。 各循環函數執行部的另 一個輸入數據可以使用基於根據密鑰調度 而輸出的擴大密鑰K,的數據。這種輸入到各個循環函數執行部中 的、應用於循環函數的執行的密鑰被稱作循環密鑰。在圖中,將應 用於i循環的循環密鑰表示為RKi。擴大密鑰K,構成作為例如r次 循環的循環密鑰RK^至RK^的連通數據。
圖3所示的構成是加密處理部12的構成乂人加密處理部12的 輸入側觀察將第一循環的輸入數據作為XQ,將從第i次的循環函數輸出的數據表示為Xj,將循環密鑰表示為RKi。另外,才艮據該加密 處理部12的構造,例如可以構成為與加密化處理相反地i殳定應 用的循環密鑰的適用調度,通過將加密文本輸入到加密處理部12 從而輸出明碼文本。
圖3所示的加密處理部12的循環函數執行部20可採取各種各 樣的形式。循環函H可以才艮據其加密算法所採用的構造(structure) 來分類。作為代表性的構造,存在有
(a ) SPN ( Substitution Permutation Network, 4<^^置4灸網糹各)
構造;
(b ) Feistel構造。
下面,參照圖4至圖6針對這些具體的構成進^f亍"i兌明。 (a) SPN構造循環函數
首先,參照圖4,針對作為循環函數執行部20的一個構成例的 SPN構造循環函數進行說明。SPN構造循環函悽t執行部20a具有將 非線性變換層(S層)和線性變換層(P層)連接的所謂的SP型的 構成。如圖4所示,由對所有的n比特的輸入數據執行與循環密鑰 之間的按位力口 (EXOR)運算的按位加運算部21、輸入按位加運算 部21的運算結果並執行輸入數據的非線性變換的非線性變換處理 部22、以及輸入非線性變換處理部22的非線性變換處理結果並4丸 行對輸入數據的線性變換處理的線性變換處理部23等構成。線性 變換處理部23的線性變換處理結果#1輸出到下一個循環。在最終 的循環中成為加密文本。另夕卜,雖然在圖4所示的例子中示出了按 ^f立加運算部21、非線性變4灸處理部22、線性變4灸處理部23的處理順序,^f旦是這些處理部的順序並沒有限定,也可以構成為以其它的 次序進4於處理。
(b ) Feistel構造
4妻著,參照圖5對M乍為循環函凝j丸4亍部20的一個構成例的 Feistel構造進4亍i兌明。如圖5所示,Feistel構造將作為來自前一循 環的輸入(在第一循環為輸入文本)的n比特的輸入數據分割為n/2 比特的兩個數據,在各個循環中進^f亍替換的同時扭j亍處理。
在應用了具有Feistel構造的循環函悽t執4亍部20b的處理中,如 圖所示, 一個n/2比特數據和循環密鑰被輸入到F函數部30。 F函 數部30與上述的SPN構造同樣地,具有非線性變換層(S層)和 線性變換層(P層)連接的所謂的SP型的構成。
來自前一循環的n/2比特數據和循環密鑰;故輸入到F函數部30 的按位加運算部31進行按位加(EXOR)處理。此外,將該結果數 據輸入到非線性變換處理部32中執行非線性變換,並進一步將該 非線性變換結果輸入到線性變換處理部33中執行線性變換。將該 線性變換結果輸出作為F函數處理結果數據。
此外,將該F函數輸出和從前一循環輸入的另 一個n/2比特輸 入輸入到按位加運算部34,執行按位加運算(EXOR),將執行結 果i殳定作為下一個循環的F函悽t的l命入。另外,在圖中所示的i殳定 為第i循環的F函翁:輸入的n/2比特;故應用於與下一個循環的F函 數輸出之間的按位加運算。這樣地,Feistel構造在各個循環中交替 地替換輸入同時衝丸行應用了 F函數的悽t據變換處理。
如參照圖4至圖5所說明的那樣,公共密鑰塊加密的加密處理 部12的循環函數執行部20可採取如下構造(a ) SPN ( Substitution Permutation Network,代替置換網絡)
構造;
(b) Feistel構造。
這些循環函數糹丸行部的任何一個都具有非線性變換層(S層) 和線性變換層(P層)連接的所謂的SP型的構成。也就是說,包
的線性變換處理部。下面,針對這些變換處理構成進行說明。
(非線性變換處理部)
參照圖6對非線性變換處理部的具體例進行說明。如圖6所示, 具體地,非線性變換處理部50排列有m個被稱作S盒(S-box ) 51 的s比特輸入s比特輸出的非線性變換表,每s比特分割ms比特的 輸入悽t據,分別輸入到對應的S盒(S-box) 51中且悽t據^皮變換。 在各個S盒51中執行例如應用了變換表的非線性變換處理。
存在如果輸入的數據大小變大則安裝上成本變高的傾向。為了 迴避以上問題,如圖6所示,多數情況下應用將處理對象數據X分 割為多個單位並分別對每一個實施非線性變換的構成。例如,當輸 入大小為ms比特時,分割為m個每個s比特的tt據,分別對m個 的S盒(S-box) 51輸入s比特,例如執行應用了變換表的非線性 變換處理,將m個的各s比特輸出合成並得到ms比特的非線性變 換結果。
(線性變換處理部)
參照圖7對線性變換處理部的具體例進^f於i兌明。線性變換處理 部輸入輸入值例如將來自S盒的作為輸出數據即ms比特的輸出值作為輸入值X,對該輸入實施線性變換並輸出ms比特的結果。線 性變換處理執行例如輸入比特位置的替換處理等線性變換處理,輸 出ms比特的輸出值Y。線性變換處理例如對輸入應用了線性變換 矩陣,並進行輸入比特位置的替換處理。這樣的矩陣的一個例子是 圖7所示的線性變換矩陣。
在線性變才奐處理部中所應用的線性變:J灸矩陣的要素是可以構 成為擴大域GF (28)的域的要素、GF (2)的要素等通常構成為 作為應用了各種各樣的表現的矩陣。圖7示出了具有ms比特輸入 輸出,通過在GF (2s)上定義的mxm的矩陣所定義的線性變換處 理部的一個構成例。
如上所述,公共密鑰塊加密構成為進行基於循環函數的反覆的 加密處理。作為該公共密鑰塊加密處理的問題點,會出現由於加密 解析而引起密鑰的洩漏。所謂易於由加密解析而引起密鑰的洩漏也 就是i兌加密處理的安全性低,在實用上成為較大的問題。
如上所述,在公共密鑰塊加密中,進行在各個循環中應用了基 於擴大密鑰所生成的循環密鑰的處理。在加密攻擊中,存在以基於 循環密鑰的解析而恢復擴大密鑰並進一步地解析作為擴大密鑰的 原數據的私有密鑰的順序進行攻擊的情況。下面,對提高了這樣的 密鑰解析的困難性並提高了安全性的加密處理裝置的構成例進行 說明。
下面,根據以下的各個項目進行說明。 (2-1)關於密鑰調度部的詳細構成(2-2)關於應用了移位處理的通常的循環密鑰生成處理構成 (2-3 )關於本發明的第一實施例所涉及的循環密鑰的生成處理
構成
(2-4)關於本發明的第二實施例所涉及的循環密鑰的生成處理
構成
(2-5 )關於本發明的第三實施例所涉及的循環密鑰的生成處理
構成
(2-1)關於密鑰調度部的詳細構成
首先,例如參考圖2所i兌明的那^^羊,在7>共密鑰塊加密中,密 鑰調度部將輸入密鑰K的比特長擴大並輸出擴大密鑰K,(比特長 k,),執行應用了基於擴大密鑰所生成的循環密鑰RKi的循環函數。
密鑰調度部例如將#t百比特的密鑰ft據擴大為#t千比特左右 的擴大密鑰數據,並供給至執行循環函數的數據加密化部。將擴大 密鑰數據中的被輸入到數據加密化部的循環函數的擴大密鑰的一 部分稱作循環密鑰。並且,還存在^f循環函悽t以外插入循環加密的 情況。例如,將插入(EXOR)到最初的循環函悽t之前的密鑰稱作 初始密鑰,將插入(EXOR)到最後的循環函lt之後的密鑰稱作最 終密鑰。
參考圖8以及圖9對加密化處理和解碼處理中的私有密鑰K和 循環密鑰的對應進行i兌明。在圖8和圖9中分別示出了執行將r ,殳 作為循環悽t的塊加密的加密化構成以及解碼構成。
例如,圖8是進行將r段作為循環數的塊加密的加密化構成, 加密密鑰[K]lll被輸入到加密化密鑰調度部112,通過按照比特擴多個循環密鑰的加密
化擴大密鑰113。數據加密化部114構成為執行將r段作為循環數 的塊加密,在加密化的情況下,向第一^:至第r,史的循環函悽t中分 別按順序輸入循環密鑰(RKi, RK2,…,RKm, RKr},並執行循環 函悽t ( F函lt )。
在圖9中示出了解碼處理構成。私有密鑰[K]121祐:輸入到解碼 密鑰調度部122,通過根據比特擴展處理等規定的算法的數據變換 來生成含有多個循環密鑰的解碼擴大密鑰123。另外,私有密鑰 [K]121可以應用與在加密4匕處理中所應用的圖8所示的私有密鑰 [K]lll相同的密鑰。
數據解碼部124構成為執行將r ,殳作為循環數的塊加密,在解 石馬處理的情況下,以與力口密處理相反的順序依次l命入循環密鑰 {RKr, RKr-,…,RK2, RKd並批J亍循環函悽t (F函悽t)。
為了形成對進行密鑰解析的加密攻擊的耐性高、即密鑰解析困 難、提高了安全性的構成,包括以下的性質作為循環密鑰所滿足的 理想的性質
(a) 即使知道了循環密鑰也不能恢復密鑰數據;
(b) 循環密鑰之間獨立。
(a )表示即使在萬一各個循環中所應用的循環密鑰被解析的 情況下,也不可能從該循環密鑰恢復到原始的私有密鑰,提高了安 全性。並且,(b)表示在一個循環密鑰與其它的循環密鑰的數據之 間存在某種關係的情況下,排除在成功地進行了一個循環密鑰的解 析的情況下,可以推斷其它的循環密鑰這樣的關聯性從而提高了安 全性。j旦是在安裝的成本上,7*以以循環密鑰之間相互獨立的方式生 成循環密鑰,在實際上,大多將/人私有密鑰和4吏用非線性變換>人私 有密鑰求得的中間密鑰數據進行循環移位所得的數據中截取的數 據作為循環密鑰加以使用。並且,即使在不滿足上述條件的情況下,
在安全性上,需要具有
*對slide attack (滑動攻擊)的充分耐性;以及
氺只t related cipher attack (關聯力口密-丈擊)的充分耐寸生。
slide attack (滑動攻擊)是如下這樣的攻擊檢測出在原始的 加密化函數和偏移了原始的加密化函數的加密化函數之間重疊的 循環函悽t的數據值為相同的明碼文本、加密文本,並據此有效地求 取偏移部分的密鑰。對於不同的私有密鑰,在數段的循環密鑰一致 的情況下可進行攻擊。
並且,Related cipher attack (關聯力口密J支擊)是i口下這才羊的-丈 擊。考慮某公共密鑰塊加密同時支持循環數r!的、比特的密鑰長、 循環數1"2的k2比特的密鑰長U殳定r^ r2且k!〈 k2)的情況。考慮 密鑰長k!比特的循環密鑰與密鑰長k2比特的循環密鑰的一部分一 致的情況。在這種情況下,通過使用密鑰長h比特的情況的數據加 密部的輸出,從而可攻擊密鑰長k2比特的情況的剩餘的循環密鑰。
(2-2)關於應用了移位處理的通常的循環密鑰生成處理構成
如上述,在構成執行利用上述循環密鑰的公共密鑰塊加密處理 的裝置的情況下,在安裝成本上,難以以循環密鑰之間獨立的方式 生成循環密鑰,實際上,將從使用非線性變換從私有密鑰求取的中 間密鑰數據進行了循環移位所得的數據中截取的數據作為循環密 鑰加以4吏用。參考圖10至圖12,對將從使用非線性變換從私有密鑰求取的 中間密鑰數據進行了循環移位所得的數據中截取的數據作為循環 密鑰使用的情況下的密鑰調度部的通常的構成例進行說明。
圖10是示出寺丸4亍加密化處理中的循環密鑰生成處理的密鑰調 度部的構成例。
圖11是示出^l^亍解碼處理中的循環密鑰生成處理的密鑰調度
部的構成例。
圖12是示出執行加密化、解碼兩者中的循環密鑰生成處理的 密鑰調度部的構成例。
首先,對圖10所示的執4亍加密化處理中的循環密鑰生成處理 的密鑰調度部的構成以及處理進^H兌明。i殳定私有密鑰K為k比特。 將私有密鑰K輸入到非線性變換電路201中,進行非線性變換處理, 生成n比特的中間密鑰悽t據。將中間密鑰翁:據作為L。
中間密鑰數據L通過選擇器202被^T入並存^f諸在寄存器RegL 203中。選擇器202上連接有i比特左循環移位電路211、 ( r-l ) xi 比特右循環移位電路212,通過選擇器202對寄存器RegL 203輸入 各個循環移位處理信號,執行存儲在寄存器RegL203中的數據的i 比特左循環移位處理或(r-l ) xi比特右循環移4立處理。另外,i是
1以上的整悽t。
例如,i比特左循環移位電^各211執行存儲在寄存器RegL 203 中的n比特的中間密鑰L的i比特循環左移位,如下所述,從存儲 在寄存器RegL 203中的中間密鑰L得到n比特的r個循環密鑰數據 {RKp RK2,…RKm, RKr}。
RK產LRK2=L<《i RK3=L<<< ( 2xi)
RKr響屍L《< ((r畫2 ) xi) RKr=L<《((r-l ) xi)
另外,在上式中,[<<<]表示i比特循環左移位, RK產L表示移位量為0的數據,與中間密鑰L相等,
RK2=L< i表示對中間密鑰L向左進行了 i比特的循環移位的
數據,
RK3=L<<< ( 2 x i)表示乂十中間密鑰L向左進4亍了 2xi比特的移 位的悽丈據;
參照圖10對應用了該方式的安裝構成以及處理進4亍i兌明。首 先,在中間密鑰生成處理中,將k比特的私有密鑰K輸入到非線性 變換電路201中,生成n比特的中間密鑰數據L,通過選擇器202 不經過移位處理而直4妄存儲在循環中間密鑰用寄存器RegL 203中。
在加密化的情況下,將i比特左循環移位電路211的處理信號 通過選4奪器202選4奪輸入到循環中間密鑰用寄存器RegL 203中, 反覆衝丸行相對於存4諸在循環中間密鑰用寄存器RegL 203中的n比 特的中間密鑰數據L的i比特循環左移位,可以依次生成循環密鑰 數據(RKi, RK2,…,RKM, RKr}。成並輸出所有的循環的循環密鑰{RK i , RK2,…,RK^, RKr },則最後對存儲在循環中間密鑰用寄存器 RegL 203中的數據進行(r-l ) xi比特循環右移位。通過將(r-l ) xi 比特右循環移位電路212的處理信號通過選擇器202選擇輸入到循 環中間密鑰用寄存器RegL 203中來#丸4亍該處理。才艮據該右移位處 理,可以將存儲在循環中間密鑰用寄存器RegL 203中的數據返還 成作為無移位的初始狀態的中間密鑰悽t據L。
將中間密鑰表示為L、循環數表示為r、各個循環的循環密鑰 表示為RKn、各個循環移行時的移位量表示為i,以如下的方式表 示該加密化處理的循環密鑰生成處理。
For n=l to r-1 do
RKn —RegL
Reg L —RegL <i RKr —RegL
RegL —RegL > ((r-l) xi) 在上述的描述中, <<〉>i表示i比特右循環移4立。
圖11是執行解碼處理中的循環密鑰生成處理的密鑰調度部的 構成例。在執行圖11所示的解碼處理中的循環密鑰生成處理的密鑰調度部中,非線性變換電路201、選擇器202、寄存器RegL203 與圖10所示的構成相同,只是移位電路221、 222不同。
也就是說,解碼處理的移位電路221、 222是執行與加密處理 的移4立電^各211、 212反向移位的電路,即由
i比特右循環移位電^各221以及
(r-l) xi比特左循環移位電3各222構成。
在該解碼處理的密鑰調度部中,首先,通過(r-l ) xi比特左循 環移位電3各222的處理,對存^f諸在寄存器RegL 203中的中間密鑰 悽t據進4於(r-l) xi比特循環左移位。然後,通過i比特右循環移位 電路221的處理,在每次生成各個循環的循環密鑰時對存儲在寄存 器RegL203中的數據進行適當的i比特右循環移位。通過這樣的處 理次序,以與加密處理時相反的順序生成循環密鑰數據。也就是說, 可以依次4尋到(RK" RKM、…,RK2、 RK"。
將中間密鑰表示為L、循環數表示為r、各個循環的循環密鑰 表示為RKn、各個循環移4於時的移位量表示為i,以如下的方式表 示該解碼處理的循環密鑰生成處理。formula see original document page 34在上述的描述中, i表示i比特右循環移位。圖10和圖11分別為執4亍加密化處理時的循環密鑰生成處理、 解碼處理時的循環密鑰生成處理的構成,還可以構建成兼具這些功 能的構成。該構成如圖12所示,在圖12所示的構成中,包4舌循環 壽多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;匕 特左循環移位電路234,是包括圖10、圖11中所構成的全部的循 環移位電路的構成,具有可選擇性地執行i比特左循環移位、i比特 右循玉不牙多4立、(r-l) xi比淨爭右循5不牙多^f立、(r-l) xi比淨爭左循J不-多^立 的構成。通過應用這樣的構成,在加密化以及解碼處理的任何一種 情況下都能夠生成並輸出循環密鑰。對基於這樣的巡迴移位處理的循環密鑰生成處理構成進^亍考 察。尤其對構成循環密鑰H據的比特間的相對位置的變化狀況進4亍 考察。i比特左巡迴移位是從作為操作對象的比特列的左側截取i 比特並使其向右側移動並連接的操作。如果著眼於指定的比特數 據,則即使執行任意次巡迴移位,存在於某比特的兩側的比特也不 變化。雖然在某比特移動到比特列的左端或者右端的情況下不存在 相鄰的比特,但是如果再次執行移位處理,則又成為與以前同樣的 比特排列。也就是說,除了被設定在比特列的端部的情況以外,位 於某指定的比特的前後的比特通常是不變的。這樣,比特的兩側的 比特一成不變的這樣的性質、即比特排列的不變性是用於提高具有循環函數的加密處理構成中的密鑰洩露的困難性的要求、即對"循環密鑰相互獨立"這樣的條件帶來了脆弱性,所以並不優選。
而且,比特排列的不變性對於由於上述Slide attack(滑動攻擊)引起的密鑰解析也具有的脆弱性。例如,當(A)基於私有密鑰K生成的中間密鑰數據L、和(B)對基於另外的私有密鑰K,而生成的中間密鑰數據L,進行了 ( sxi)比特左循環移位後的擴大密鑰數據L,<<< (sxi)這些成為相同的值的情況下,其後通過比特移位而生成的各個循環的循環密鑰、即(a)通過中間密鑰悽史據L而生成的r-s^殳的4盾環密鑰(RKp RK2,…,RK(w)小RK (r-s) }和(b )通過擴大密鑰悽t據L, <<< (sxi)而生成的r-s ,殳的循環密鑰(RK s+1,RK2s+2,…,RK2M, RK2j的各個循環密鑰(a)、 (b)也成為相同的數據。
根據此性質,由上述Slide attack (滑動攻擊)引起的加密解析變容易,導致對攻擊的耐性不充分。
如上所述,作為執行/〉共密鑰塊加密的算法的代表性的構造,存在Feistel構造。Feistel構造具有通過作為數據變換函數的循環函數(F函數)的單純的反覆而將明碼文本變換成加密文本的構造。在循環函數(F函數)中執行線性變換處理以及非線性變換處理。在Feistel構造中,相對於作為加密化處理數據的輸入比特悽tn,在各個循環中所應用的循環密鑰的大小成為n/2比特。
在這種情況下,通常的構成是將中間密鑰數據L作為n比特生成,將n比特的數據中的上位一半的n/2比特用於奇數循環,將剩餘的下位的n/2比特作為下一個循環的密鑰使用。在這種情況下,需要追加安裝用於相對於每個循環選擇上位和下位的電3各。也就是說,利用了 n/2比特的循環密鑰的加密處理裝置構成(加密化/解碼化共有的安裝例)成為了例如圖13所示的構成。圖13所示的構成作為與在先i兌明的圖12所示的構成相同的構成,其包括非線性變換電路201、選擇器202、寄存器RegL203、i比特左循環移位電^各231、 i比特右循環移位電路232、 (r-l) xi比特右循環移位電路233、 (r-l ) xi比特左循環移位電路234、以及選擇器241。
構成為在寄存器RegL203中存儲與之前參考圖12i兌明相同的中間密鑰數據L (n比特),在選擇器241中,將存儲在寄存器RegL 203中的n比特數據之中的上位一半的n/2比特作為應用於奇數循環的循環密鑰而輸出,將剩餘的下位的n/2比特作為下一個循環的循環密鑰而輸出。這樣地,需要追加安裝用於相對於每一循環選擇上位和下位的選4奪器241。
如上述那樣,在對中間密鑰數據進4亍移位處理並生成循環密鑰的循環密鑰生成法中,具有以下缺點
*由於相鄰比特的變化少而引起循環密鑰間的獨立性小;
*相對於Slide attack (滑動攻擊)沒有充分的耐性;以及
*在利用到Feistel構造中的情況下,需要追加上位、下位比特列選4奪電if各。
(2-3 )關於本發明的第 一實施例所涉及的循環密鑰的生成處理
構成
下面,對解決了由於上述循環移位處理而引起的循環密鑰的生成處理中的問題點,相對於各種各樣的加密攻擊具有高的耐性、即執行安全性高的加密處理的循環密鑰的生成處理構成進4亍i兌明。下面i兌明的實施例是如下這才羊的處理例^f基於私有密鑰K的作為非線性變換處理的結果而得到的中間密鑰悽t據L不執4亍循環移位處理,而是執行作為中間密鑰數據L的比特位置變更處理的雙交換(Double Swap)處理,,人而生成循環密鑰。伴隨著各個循環的進行,反覆執行作為比特位置變更處理的雙交換(Double Swap)處理。
參考圖14,作為本發明的加密處理裝置的實施例,對應用雙交換(Double Swap)處理並扭J於循環密鑰生成處理的密鑰調度部的構成以及處理進4於i兌明。
圖14所示的構成為將之前參考圖IO說明的根據比特循環移位處理生成循環密鑰的密鑰調度部的構成中的i比特左循環移位電路211替換成了 i比特雙交換(Double Swap)運算電路311,並且,將圖IO所示的(r-l) xi比特右循環移位電路212替換成了 (r-l),欠i t匕淨爭只又交4奐(Double Swap)逆運算電5各312。也;t尤是i兌,^口圖14所示,包括由i比特雙交換(Double Swap )運算電路311和(r-l )次i比特雙交換(Double Swap )逆運算電路312構成的數據變換部310。其它的構成與參考圖10所i兌明的構成持有相同的構成。
對圖14所示的密鑰調度部的處理進行說明。將輸入到密鑰調度部中的私有密鑰K設定為k比特。將私有密鑰K輸入到非線性變換電路301中,進行非線性變換處理並生成n比特的中間密鑰數據。將中間密鑰凝:據作為L。
中間密鑰數據L通過選擇器302祐:輸入並保存在寄存器RegL303中。在選擇器302上連接有數據變換部310的各個處理部、即i比特雙交換(Double Swap )運算電-各311以及(r-1 )次i比特雙交換(Double Swap )逆運算電路312,通過選擇器302對寄存器RegL303輸入各個電路中的處理信號,執行存儲在寄存器RegL 303中的悽t據的比特位置變更處理。i是l以上的整數。
參考圖15,對在i比特雙交換(Double Swap)運算電路311中所執行的比特位置變更處理例進行說明。圖15以128比特的中間密鑰數據L的i比特雙交換(Double Swap)處理為例進行了示例。
將構成中間密鑰凝:據L的128比特的數據A i殳定為
A= ( a0, a!, …,a126, a127 )。
an是128比特的各個比特數據。
此外,
a[x —y]: lt據A中的連續比特悽t據乂人ax到ay的比特列、b I c:連4妾比特列b、 c的比特列。
如果應用上述的表述,則如下所述地定義對128比特數據的i比特雙交換(Double Swap)運算。
(i比特雙交換(Double Swap )定義)
將根據對128比特數據A進行的i比特雙交換運算所得的數據B設定為
如果使B=DoubleSwap128, i ( A ),
貝寸B=a[i—63] I a[ ( 128-i ) —127] I a
I a[64—(127-i)]。參考圖15,對具體的對128比特悽t據的i比特雙交4奐(DoubleSwap)運算進4亍-說明。在圖15中,
(a) 表示輸入128比特,
(b) 表示作為運算結果的輸出128比特,
(a)的輸入128比特被分區為Ao至Aj勺四個部分。如下所述地表示各個分區的構成比特。
A0: a
,即先頭i比淨爭,
a[i—63],即先頭i比特的後續比特至數據A的前半終端
比特,
A2: a[64— ( 127-i)],即#:據A的後半開始比特至末尾i比特的先4於比特,
A3: a[ ( 128-i) —127],即末尾i比特。
在i比特雙交換(Double Swap )運算電路311中執行將被劃分成四部分的數據A的構成比特互換成圖15(b)的輸出數據的處理。
即,執行將輸入比特的排列A。 I Ai I A2 I A3設定為輸出比特的排歹'J I A3 I Ao I A2的比特數據的位置變更處理。
作為結果,當通過將對128比特悽t據A進4亍i比特雙交換運算而獲得的數據B設定為B=DoubleSwap128, i ( A )時,
輸出B變為B=a[i—63] I a[ ( 128-i) —127] I a
I a[64— ( 127-i)]。用於^^亍該乂又交4灸處理的處理4言號乂人圖14所示的i比特:雙交換:(Double Swap )運算電路311通過圖14所示的選擇器302被輸入到寄存器RegL 303,執行存儲在寄存器RegL 303中的數據的比特位置變更,生成下一個循環的循環密鑰。此外,在下一個循環中,對圖15所示的(b)^T出再次通過圖14所示的i比特雙交換(DoubleSwap)運算電路311執行比特位置變換處理、即執行在圖15中所it明的i比特雙交糹奐處理,生成對應於下一個循環的循環密鑰。
參考圖15所-說明的雙交4奐運算可列舉以下兩個優點
*雖然比特的相對位置變化大,但與循環移位相比電^^規模不增力口;
*如果用於Fesitel構造,則具有安裝成本的縮減效果另外,將在後,殳中對這些優點進行"i兌明。
另外,在將i比特雙交換(Double Swap )運算電路311作為硬_件構成的情況下,可通過圖16所示的對輸入比特321的構成比特的各個輸出比特位置進行變更的比特位置變換電路322來實現。比特位置變換電路322構成作為將各個比特位置的比特數據變更為之前參考圖16所說明的位置的、具有輸入輸出部的電路,比特位置變才奐電3各322生成並$#出輸出比特323。 i比特雙交才灸(Double Swap )運算電路311不僅可以構成為硬體,還可以構成為通過作為軟體的程序來4丸行。
此夕卜,圖14所示的密鑰調度部的(r-l )次i比特雙交換(DoubleSwap)逆運算電路312通過i比特雙交換(Double Swap)運算電路311中4丸行的比特位置變更處理應用於所有的循環運算的循環密鑰的生成結束之後,才丸4亍返還成最初的中間密鑰悽t據L的處理。例如,在循環悽tr的加密處理中,由於最初的中間密鑰悽t據L被利用作為最初的循環密鑰,所以通過r-l次的i比特雙交換(DoubleSwap)處理結束應用於所有的r循環的循環密鑰的生成。(r-l)次i比特雙交換(Double Swap)逆運算電路312對通過該r-1次的i比特雙交換(Double Swap)處理所生成的應用於最終循環的循環密鑰的數據執行比特位置變更處理,並執行返還成最初的中間密鑰悽史據L的處理。
雙交換逆運算如下地:帔定義。
(i比特雙交換(Double Swap )逆運算定義)
當將通過對128比特數據A進行i比特雙交換逆運算而獲得的悽史據B i殳定為B=DoubleSwap"128, i ( A )時,
變為B=a[64—63+i] I a
| [(64+i) —127] I a[(64-i)
—63]。
上述定義相當於將圖15中所示的(b)輸出返還成(a)輸入的i比特雙交換(Double Swap )逆運算。在(r-1 )次i比淨爭雙交換:(Double Swap )逆運算電路312中寺丸4亍相當於(r-1 )次的i比特雙交換(Double Swap)逆運算。但是,在實際上沒有必要執行反覆逆運算,在將(r-1 )次i比特雙交4灸(Double Swap)逆運算電路312作為石更件構成的情況下,可通過對例如圖17所示的4lr入比特331的構成比特的各個輸出比特位置進行變更的比特位置變換電路332來實現。
比特位置變換電路332執行如下處理對作為應用於最終循環的循環密鑰而存儲在寄存器RegL 303中的數據、即作為(r-1 )次i比特雙交換(Double Swap)的處理後的數據的輸入比特331執行比特位置變更處理,返還成沒有進行比特位置變更的最初的中間密
鑰數據L的比特排列並生成輸出比特331。另夕卜,該(r-l)次i比 特雙交換(Double Swap )逆運算電路312也與i比特雙交換(Double Swap)運算電^各311同樣,不僅可以構成為硬體,還可以構成為通 過作為軟體的程序來執行。
另外,在上述的實施例中,使循環密鑰為128比特數據,並說 明了對128比特的數據進行雙交換運算以及逆運算的處理,但是雙 交換運算以及逆運算還可應用於128比特以外的比特數。也就是說, 廣義化地,可以如下地定義對2m比特(m是2以上的整悽t)的悽史
據的雙交糹灸運算。
(i比特雙交換(Double Swap )定義)
當將通過對2m比特數據A ( m是2以上的整數)進行i比特 雙交換運算而獲得的數據B設定為B=DoubleSwap2m, j ( A )時,
可以表玉見作為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比特的後續比特至悽t據A的前半 糹冬端比鬥爭,
A2: a[m— (2m-l-i)],即數據A的後半開始比特至末尾i比 特的先^f於比特,A3: a[ (2m畫i) — (2m-l )],即末尾i比4爭,
對這些四分割數據執行使輸入比特的排列AQ I A, I A2 I A3 成為輸出比特的排列Ai I A3 I Ao I A2的比特數據的位置變更處理。
可同樣如下地定義逆變換。
如下地定義(r-1 )次i比特雙交換(Double Swap )逆運算電路 312所衝丸^f亍的^又交糹奐逆運算。
(i比特乂又交4灸(Double Swap )逆運算定義)
當將通過對2m比特數據A ( m是2以上的整數)進行i比特 雙交換逆運算而獲得的^:據B i殳定為B=DoubleSwap"2m, j ( A )時,
變為B=a[m— ( m-1 ) +i] I a
I [ ( m+i) — ( 2m-i) I a[ (m-i) — (m-1 )]。
這樣地,圖14所示的生成循環密鑰的密鑰調度部的構成將之 前參考圖10 i兌明的才艮據比特循環移位處理生成循環密鑰的密鑰調 度部的構成中的i比特左循環移位電路211替換成了 i比特雙交換 (Double Swap)運算電路311,並且,是將圖10所示的(r-1) xi 比特右循環移位電路212替換成了 (r-1)次i比特雙交換(Double Swap)逆運算電^各312的構成,如下生成應用於加密化的各個循環 密鑰。
將輸入到密鑰調度部的k比特的私有密鑰K輸入到非線性變換 電路301,執行非線性變換處理並生成n比特的中間密鑰數據L, 通過選衝奪器302將中間密鑰數據L存儲在寄存器RegL 303中。該 最初的寄存器RegL 303存儲數據作為最初的循環的循環密鑰而被 輸出。此外,對該數據執行基於i比特雙交換(Double Swap )運算電路311的比特位置變更處理、即執行之前參考圖15說明的作為 比特位置變更處理的i比特雙交換(Double Swap)運算,其結果是, 存儲在寄存器RegL 303中的該寄存器存儲數據^皮作為下一個循環 的循環密鑰而l俞出。
j):匕夕卜,通過i t匕淨爭^又交4奐(Doi!ble Swap )運算電^各311反覆對 該寄存器存儲數據執行雙交換(Double Swap)運算。這樣地,生 成應用於各個循環函數的循環密鑰RKp RK2、…RKm、 RKr 。最 後通過第(r-l)次i比特雙交換(Double Swap)逆運算電路312, 對存儲在寄存器RegL 303中的數據執行與相當於雙交換逆運算的 r-l次的運算相對應的比特位置變更處理,並將執行結果存儲在寄存 器RegL 303中。該數據成為與最初輸入到寄存器RegL 303中的中 間密鑰L持有相同的比特排列的數據。
在l吏循環ft為r的加密處理中,可如下地表達密鑰調度部所執 行的處理算法。formula see original document page 45
在上述的算法中,formula see original document page 45RK廣RegL
RegL — DoubleSwapn,j ( RegL ) RKr— (RegL) L
這些相當於基於i比特雙交才灸(Double Swap )運算電^各311的 i比特雙交換處理反覆執行的循環密鑰的生成過程,最後的處理, 即
RegL — DoubleSwap-1n,i (… (DoubleSwap-1n,i ( DoubleSwap-1n,i (RegL))))
該處理相當於4口下的處理通過相當於(r-1)次i比特雙交才奐 (Double Swap )逆運算電路312中的雙交換逆運算的r-1次的運算 而生成原中間密鑰L。
如之前參考圖17所說明的那樣,最後的r-1次的雙交換逆變換 可作為一個函數作為比特位置的互換運算而^皮安裝,可通過與集中
進行r-1次巡迴移位運算的運算同程度的電路規模來實現。其結果 是,與利用了巡迴移位運算的時候相比較,實現了沒有增加電路規 模、有效地變更比特位置、降低了各個循環密鑰的關聯性、安全性 高的加密處理構成。
圖18示出了在導丸行解碼處理的情況下4丸行循環密鑰生成處理 的密鑰調度部的構成例。在圖18所示的執行解碼處理中的循環密 鑰生成處理的密鑰調度部中,非線性變換電路301、選4奪器302、 寄存器RegL 303與圖14所示的構成相同,包括悽t據變換部320, 該悽t據變才奐部320設定有i比特雙交4奐(Double Swap )逆運算電路 321以代替圖14所示的i比特雙交換(Double Swap )運算電路311且設定有(r-l )次i比特雙交換(Double Swap )運算電路322以代 替圖14所示的第(r-l )次i比特雙交換(Double Swap)逆運算電 3各312。其它的構成與參考圖14所i兌明的構成具有相同的構成。
對圖18所示的密鑰調度部的處理進4亍i兌明。佳:llr入到密鑰調 度部的私有密鑰K為k比特。將私有密鑰K輸入到非線性變換電 路301,執行非線性變換處理並生成n比特的中間密鑰數據。使中 間密鑰lt據為L。
中間密鑰數據L通過選擇器302而^皮輸入並存^f諸在寄存器 RegL 303中。選擇器302連接i比特雙交換(Double Swap )逆運算 電路321以及(r-1 )次i比特雙交換(Double Swap )運算電路322, 通過選擇器302對寄存器RegL 303輸入各個電路的處理信號,執 行存儲在寄存器RegL 303中的數據的比特位置變更處理。此外,i 為1以上的整悽t。
在解碼處理中,與加密處理相反的順序生成並ilr出用於加密處
理的r循環的r個的循環密鑰。因此,在解碼處理的密鑰調度部中, 首先,存儲在寄存器Reg L 303中的中間密鑰L被輸入到(r-l )次 i比特雙交換(Double Swap )運算電路322,對存儲在寄存器RegL 303中的數據執行相當於雙交換運算的r-l次的運算。通過該處理, 生成了應用於加密處理時的最終循環的循環密鑰。
將該循環密鑰作為解碼處理的最初的循環密鑰輸出。此外,該 循環密鑰數據^皮輸入到i比特雙交換(Double Swap)逆運算電路 321。
在i比特雙交換(Double Swap )逆運算電路321中,首先執行 與參考圖15所說明的處理相反的處理。即執行將圖15 (b)所示的 輸出作為輸入值、將圖15 (a)所示的輸入作為輸出值的比特位置變更處理。該處理結果浮皮存儲在寄存器RegL 303中,並^皮用作下 一個循環的循環密鑰。此外,在下一個循環中,對寄存器RegL303 的存儲值執行基於i比特雙交換(Double Swap )逆運算電路321的 i比特雙交換(Double Swap)逆運算處理,執行比特位置的變更, 生成對應於下一個循環的循環密鑰。
如上所述,通過i比特雙交換(Double Swap )逆運算電^各321 對每一循環中存儲在寄存器RegL303中的數據進行雙交換逆運算, 可以以之前參照圖9所說明的方式依次生成並輸出應用於各個循環 函悽t的循環密鑰RKr、 RKw、…RK2、 RK^ 。
另外,與之前參照圖16、圖17所i兌明的同才羊,在解碼處理中 所利用的i比特雙交換(Double Swap )逆運算電路321以及(r-1 ) 次i比特雙交換(Double Swap )運算電路322可通過具有比特位置 變換電路的硬體構成,還可以構成為通過作為軟體的程序來執行。
在使循環數為r的解碼處理中,可如下地表示密鑰調度部所執 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))))
該處理相當於這衝羊的處理通過相當於(r-1)次i比淨爭雙交換: (Double Swap )運算電路322的雙交換運算的r-1次的運算,根據 原始的中間密鑰L生成加密處理的最終循環的循環密鑰、即解碼處 理中的最初的循環密鑰。
其後的步驟,即
For i=r to 2 do
RKi —RegL
RegL— DoubleSwap-1 n,i ( RegL ) Rid—RegL
該處理相當於解碼處理中的第二循環以後的循環密鑰生成處 理,並且是基於i比特雙交換(Double Swap )逆運算電路3之1中的 雙交換逆運算的執行的循環密鑰的生成處理。
另外,圖14、圖18分別是執行加密化處理時的循環密鑰生成 處理、解碼處理時的循環密鑰生成處理的構成,還可構建兼具這些 功能的構成。該構成示於圖19。在圖19所示的構成中,非線性變 換電^各301、選4奪器302、寄存器RegL 303與圖14、圖18所示的 構成相同,還具有全部包括如圖14以及圖18所示的雙交換(Double Swap)運算以及逆運算電路的數據變換部330。即構成為具有數據 變換部330,該數據變換部330包括如下這些比特位置變換處理電 3各i比特雙交才灸(Double Swap )運算電路331、 i比特雙交換(Double Swap )逆運算電路332、 ( r-1 )次i比特雙交換(Double Swap )運算電路333以及(r-l )次i比特雙交換(Double Swap )逆運算電路 334的。
通過該構成,如果加密化處理以及解碼處理都生成中間密鑰悽史 據L並存儲在寄存器RegL 303中,則可以執行雙交換運算、雙交 換逆運算、相當於r-l次的雙交換運算的運算、以及相當於r-l次的 雙交才灸逆運算的運算,可以生成加密化時/解碼時所利用的循環密鑰。
如以上說明的那樣,構成為在本發明的加密處理裝置的循環密 鑰生成處理中,不是通過基於移位處理的循環密鑰生成處理,而是
循環密鑰。通過這樣的處理,與利用巡迴移位運算的時候進行比較, 實現了有效地變更比特位置、降低了各個循環密鑰的關聯性、安全 性高的加密處理構成,且不會增加電路規模。在以後使循環數r為偶數。
在基於雙交換(Double Swap)變換或逆變換的比特位置變更 中,其與移位處理不同,其通過多樣地替換鄰接的比特的順序,其 結果是,可以降低各個循環密鑰的相似性和關聯性。將參照圖20 對基於該雙交換(Double Swap)變換或逆變換的比特位置的有效 的替換處理進行i兌明。
圖20是說明基於對128比特數據進行雙交換變換處理而產生 的比特位置的變化的圖,並示出了以下四個婆t據
(a )初始的中間密鑰翁:據;
(b)執行一次雙交換變換處理後的數據;(c) 4丸^亍二次雙交換變換處理後的^:據;
(d) 執行三次雙交換變換處理後的數據。
考慮如下的情況在(a)初始的中間密鑰數據中,著眼於從 先頭開始第i+l比特[B]和左緊鄰於該比特的比特[bl],並執行i比
特雙交4灸變才奐。
(a)在初始的中間密鑰數據中,從左開始第i比特[bl]存在於 [B]的緊鄰左側。在此,如果應用一次雙交4灸變4灸,則i殳定成為(b) #^亍一次雙交換變換處理後的悽史據。
在(b)的數據中,[B]移動到數據的左端。這時在[B]的左側不 存在比4爭。如果進一步應用一次^又交4奐變4灸,則i殳定成為(c)執 行二次雙交換變換處理後的婆t據。
在(c)的數據中,[B]移動到從數據左端開始第65比特位置。 在該狀態下,位於[B]的左側的比特[b2]是在(b)的數據中存在於 右端的比特悽t據[b2]。如果進一步應用一次雙交4灸變換,則i殳定成 為(d) ^U於三次雙交4灸變換處理後的I史據。
在(d )的數據中,[B]移動到從數據左端開始第65+i比特位置。 在該狀態下,位於[B]的左側的比特[b3]是在(c)的數據中存在於 ,人左端開始第i比特的比特^t據[b3]。
這樣,如果著眼於一個比特位置的比特[B]並通過雙交4灸變換處 理來分析相鄰比特(在左側相鄰的比特)的變化,則能夠理解比特 [B]的相鄰比特信息變化為[bl]—[無]—[b2] — [b3]。該相鄰比特的變 化發生在構成數據的多個比特位置上。變化基本不會在移位處理中發生。因此,雖 然出現循環密鑰的關聯性,但是通過進行基於根據本發明的雙交換 處理的比特位置變更,從而替換比特的順序,其結果提高了循環密 鑰的隨一幾性。
這樣地,在本發明的加密處理裝置中的循環密鑰生成處理中,
應用不是通過移位處理的循環密鑰生成處理而是通過i比特雙交換
(Double Swap)運算處理或逆運算處理來生成循環密鑰的構成, 從而實現了有效地變更比特位置、降低了各個循環密鑰的關聯性、 以及安全性高的加密處理構成,而不會增加電路規模。
(2-4 )關於本發明第二實施例所涉及的循環密鑰的生成處理構

接著,對在Feistel型加密那樣的在加密處理對象數據為n比特
(Double Swap )運算的實施例進4亍-說明。
在上述的實施例中,對將加密處理對象數據用為n比特、將循 環密鑰也用為n比特數據的例子進行了說明。但是,如之前參照圖 13所說明的那樣,例如在Feistel型加密中,循環密鑰為n/2比特。 如參照圖13所i兌明的那樣,在批J亍移位處理的構成中,構成為將 中間密鑰悽t據L的大小生成作為n比特,將上位以及下位的比特用 於兩個循環,在兩個循環中進^亍一次移^立處理。
4旦是,如上所述,通過這樣的移位處理生成的循環密鑰具有各 個循環密鑰的相關性高、易受攻擊的缺點。此外,有必要追加上位、 下位選擇電路(圖13中所示的選擇器241),安裝成本、面積變大, 所以不優選。下面,參照圖21對省略了這才羊的選擇器並生成n比特的中間密鑰數據,應用了上述雙交換(Double Swap)運算以及 逆運算,輸出n/2比特的循環密鑰的密鑰調度部的構成例進行說明。
在本處理例中,雙交換(Double Swap)運算^皮構成為執行兩 階段的處理,即交替執行
(a)交換(Swap)運算、
(b ) i比特子交換(SubSwap )運算
這兩個處理。即變為
雙交換(Double Swap)運算=交換(Swap)運算+ i比特子交 換(SubSwap)運算。
在圖21所示的構成中,非線性變換電路401、選擇器402、寄 存器RegL 403與圖19中所示出的構成相同。只是在圖21所示的 構成中,不具有在圖19所示的構成中所利用的雙交換運算以及逆 運算電^各,耳又而^之的是具有ft才居變才灸部410,該悽W居變4奐部410 包括交換(Swap )運算電路411、 i比特子交換(SubSwap )運算電 路412、跳躍(Jumpw )運算電路413。另夕卜,i是1以上的整數。
首先,對加密化處理時的n/2比特循環密鑰的生成處理進4亍i兌 明。將輸入到密鑰調度部的私有密鑰K設定為k比特。將私有密鑰 K輸入到非線性變換電路401,執行非線性變換處理,生成n比特 的中間密鑰數據。將中間密鑰悽t據作為L。
通過選擇器402將中間密鑰數據L輸入並存儲在寄存器RegL 403中。選4奪器402連4妄有如下這些比特位置變更處理電^各交換 (Swap)運算電路411、 i比特子交換(SubSwap)運算電路412、跳躍(Jump")運算電路413,根據預先設定的算法執行存儲在寄 存器RegL403中的悽史據的比特位置變更處理。
根據循環對存儲在寄存器RegL 403中的數據交替地執行基於 交換(Swap)運算電路411的交換運算、和基於i比特子交換 (SubSwap )運算電路412的i比特子交換運算,生成適用於各個 循環函數的循環密鑰RKi、 RK2、…,RKr-!、 RKr。另外,存儲在寄 存器RegL 403中的數據為n比特,基於交換(Swap )運算電路411 的交換運算和基於i比特子交換(SubSwap )運算電路"2的i比特 子交換運算是對存儲在寄存器RegL 403中的n比特數據執行的, 但是作為循環密鑰而輸出常常l又是存儲在寄存器RegL 403中的n 比特數據中的n/2比特數據。例如,將存儲在寄存器RegL403中的 n比特數據中的上位n/2比特數據輸出作為各個循環密鑰。
在結束了所有的循環(r循環)的生成的時刻,執4於將最後存 儲在寄存器RegL 403中的n比特數據返還成最初的初始的中間密 鑰數據L的處理。執行該處理的是跳躍(Jumpr-i)運算電路413。
參考圖22對交換運算電路411執行的比特位置變更處理例進 行說明。圖22示出了 128比特的中間密鑰數據L的交換(Swap ) 處理例。
對交換(Swap)運算的定義進4亍說明。 將128比特的悽t據Ai殳定為A=( a。是128比特的各個比特數據。
此夕卜,設定a[x — y]:數據A中的連續比特數據從ax到ay的比 特列、b I c:連4妄比特列b、 c的比4爭列。
可如下定義對128比特數據進行的交換(Swap)運算。 (交換(Swap )運算定義)
當將通過對128比特數據A進行交換運算而獲得的數據B設 定為B=Swapl28 ( A)時,
B=a[64—127] | a

也就是說,如圖22所示,將(a)輸入數據的上位一半的數據 Ao和下位一半的數據A,進行替換並生成(b )輸出的處理是基於交 換(Swap)運算的比特位置變更處理。另外,交換運算自身成為逆
變換。即
交換運算=交換逆運算。
此外,雖然在上述的例子中定義了對128比特的數據進行的交 換運算,但也可以如下定義對一般的2m比特(m是2以上的整數) 的數據進行的交換運算。
(交換(Swap )運算定義)
當將通過對2m比特數據A ( m是2以上的整悽t)進行交換運 算而獲得的數據B設定為B=Swap2m ( A )時,可以表達為B=a[m— (2m-l ) ] I a

接著,參照圖23,對i比特子交換(SubSwap)運算電路412 所執行的比特位置變更處理例進行說明。圖23示出了 128比特數 才居的子交糹奐(SubSwap)處理例。對i比特子交換運算的定義進行說明。
如下定義對128比特數據進行的i比特子交換(SubSwap)運算。
(i比特子交換(SubSwap )運算定義)
當將通過對128比特數據A進行i比特子交換(SubSwap )運 算而獲得的數據B設定為B=SubSwap128, i ( A )時,則可表達為
B=a[ (64+i) —127] I a[ ( 64-i) — ( 63+i) ] I a

也就是說,如圖23所示,將(a)輸入悽t據的中央2i比特數據 A!固定並將除數據的上位比特數據Ao和下位比特數據A2替換, 生成(b)輸出的處理是基於i比特子交換(SubSwap)運算的比特 位置變更處理。另夕卜,子交換(SubSwap)運算自己也成為逆變換。
此外,雖然在上述的例子中定義了對128比特i史據進4亍的子交 換運算,但也可以如下定義對一般的2m比特(m是2以上的整悽丈) 的數據進4於的子交換運算。
(i比特子交換(SubSwap )運算定義)
當將通過對2m比特數據A ( m是2以上的整數)進行i比特 子交換(SubSwap )運算而獲得的數據B設定為B=SubSwap2m,i ( A ) 時,則可表達為
B=a[ ( m+i) —127] | a[ ( m-i) — ( m-l+i) ] I a

如果每次連續地執行參照圖22、圖23所說明的交換(Swap) 運算和子交換(SubSwap )運算,則首先扭j亍與參照圖15所i兌明的基於雙交換(Double Swap)運算的比特位置變更處理相同的比特
位置變更。
在圖21所示的密鑰調度部中,交^齊地4丸;f亍應用了交4灸(Swap ) 運算電路411和i比特子交換(SubSwap )運算電路412這些各個 運算電^各的比特位置變更處理並生成各個循環密鑰。
對圖21所示的密鑰調度部的循環密鑰的生成次序進4亍i兌明。 將輸入到密鑰調度部的k比特的私有密鑰K輸入到非線性變換電路 401,執行非線性變換處理並生成n比特的中間密鑰數據L,通過選 擇器402將中間密鑰數據L存儲在寄存器RegL 403中。將該最初 的寄存器RegL 403存^f諸數據中的n/2比特、例如上位一半的n/2比 特作為最初的循環的循環密鑰而llr出。
此外,對該寄存器RegL 403存儲數據執行基於交換(Swap ) 運算電路411的比特位置變更處理、即之前參考圖22所i兌明的作 為比特位置變更處理的交換(Swap)處理,其結果是,輸入到寄存 器RegL 403中的該輸入數據中的n/2比特、例如上位一半的n/2比 特被作為下 一個循環密鑰而輸出。
此外,對該寄存器RegL 403存儲^t據^U於基於子交換 (SubSwap )運算電路"2的比特位置變更處理、之前參考圖23所 說明的作為比特位置變更處理的子交換(SubSwap)處理,其結果 是,輸入到寄存器RegL 403中的該輸入數據中的n/2比特、例如上 4立一半的n/2比特-故作為下一個循環密鑰而l命出。
下面,交替地#1行應用了交換(Swap )運算電路411和i比特 子交換(SubSwap)運算電路412這些各個運算電路的比特位置變 更處理並生成各個循環密鑰。這樣地,可以生成應用於各個循環函 數的循環密鑰RKp RK2、…,RKw、 RKr。最後,對存儲在寄存器RegL 403中的數據執行基於跳躍(Jump^ )運算電路413的比特位置變更處理,執行返還成最初存儲在寄存器RegL 403中的中間密鑰悽W居L的處理。
參照圖24對基於跳躍(Jumpw )運算電路413的比特位置變更處理進行說明。如圖24所示,基於跳躍(Jumpw )運算電路413的比特位置變更處理相當於作為如下運算的比特位置變更處理將交替反覆基於交換(Swap )運算電路411的r/2次的交換(Swap )運算和基於i比特子交換(SubSwap)運算電路412的(r/2-l )次的i比特子交換(SubSwap)運算所得到的結果返還成初始數據的運算。如上所述,由於交換(Swap)運算和子交換(SubSwap)運算分別自身為逆變換,其結果是,如圖24所示,基於跳躍(Jump")運算電路413的比特位置變更處理相當於再次執行交替反覆基於交換(Swap )運算電路411的r/2次的交換(Swap )運算和基於i比特子交換(SubSwap)運算電路412的(r/2-1 )次的i比特子交換(SubSwap)運算的處理。
通過該基於跳躍(Jumpw )運算電路413的跳躍運算,可以保證最終存儲在寄存器RegL 403中的數據被返還成執行交換運算和子交換運算之前的初始數據即中間密鑰數據L的值。
此外,圖21所示的各個運算電路、即交換(Swap)運算電路411、 i比特子交換(SubSwap )運算電路412、跳躍(Jump^ )運算電路413可通過與之前參考圖16、圖17說明的電路相同的比特位置變換電路進行安裝。因此,例如跳躍(JumpM)運算電路413可以通過與集中執行r-1次的巡迴移位運算的運算同程度的電路規才莫來實現。另外,這些比特4立置變更處理可以作為與參照圖16、圖17所說明的同樣的硬/f牛構成來實現,也可以構成為通過軟體來執行。對圖21所示的密鑰調度部的加密處理執4亍時的循環密鑰生成算法進行說明。也就是說,如下表示應用了交換(Swap )運算電路411、 i比特子交換(SubSwap)運算電路412、跳躍(Jumpw )運算電路413這些運算(Swap )電路的比特位置變更處理的n/2比特的循環密鑰生成算法。另外,使循環數為偶數循環,表示為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 )
並且,應用圖21所示的密鑰調度部並執行解碼處理時的循環密鑰生成算法如下所示
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比特。
在解碼處理中,最初執行基於跳躍(Jumpw )運算電路413的跳3夭運算。才艮據該處理,含有在加密處理時的最終循環中所應用的循環密鑰數據的數據被設定在寄存器RegL 403中。之後,與加密處理時同樣,交替地執行交換(Swap)運算電路411和i比特子交換(SubSwap)運算電路412這些運算電路的比特位置變更處理,衝丸4亍各個循環的循環密鑰生成。
如上所述,才艮據圖21所示的構成,對在加密4匕/解碼的同時生成中間密鑰數據L並存儲在寄存器RegL 403中的數據進行基於交換(Swap)運算電^各411、 i比特子交換(SubSwap)運算電路412、跳躍(JumpM)運算電路413這些各個運算電路的比特位置變更處理,乂人而可以生成循環密鑰。通過該安裝,可以省略在循環移位電路中必需的選擇電路(圖13所示的選擇器241 ),並且可以將在循環移位電路中需要四種的運算電路的種類減小到三種,可以降低安裝成本和減少安裝面積。
(2-5 )關於本發明第三實施例所涉及的循環密鑰的生成處理構

接著,參考圖25對本發明第三實施例所涉及的循環密鑰的生成處理構成進行說明。以下說明的實施例構成為對通過之前說明的
構成所生成的循環密鑰lt據,對每一循環不同的常悽t Cj進4亍:接位加(EXOR),將該結果作為循環密鑰。通過這樣的構成,可以帶來以下的效果
*即使在中間密鑰全為O或全為1的情況下,循環密鑰也不會相同。
*對滑動攻擊(Slide attack )具有充分的耐性。
在圖25中示出了本實施例的密鑰調度部的構成例。圖25中所示的密鑰調度部的構成例是在之前參照圖21 i兌明的密鑰調度部的構成上追加了常數生成電路420和按位加運算部430的構成。在此,雖然說明以圖25所示的密鑰調度部的構成為基礎的例子,^旦還可以實現在具有之前參考圖14、圖15和圖21所i兌明的雙交才炎運算和逆運算電路的構成上追加常數生成電路420和按位加運算部430的構成,可發揮與上述相同的效果。在此,作為代表例,對在參考圖19所說明的密鑰調度部的構成上追力o 了常數生成電路420和按位力口運算部430的構成例進行說明。
圖25所示的構成為追加了相對各個循環(j)生成不同的常翁:Cj (1《j《r)的常數生成電路420、和執行在常數生成電^各421中所生成的每一循環的常數Cj (1《j《r)與寄存器RegL 403的各個循環的每個循環的數據之間的按位加(EXOR)的按位加(EXOR)運算部430的構成。在本實施例中,將基於該4安位力卩(EXOR)運算部的運算結果作為循環密鑰{ RKp RK2、…,RKM、 RKr }輸出。
在該構成中,具有例如即4吏在寄存器RegL 403的存4諸悽t據的全部的比特為0的情況下最終輸出的循環密鑰{RKi, RK2,…,RKr-!,RKJ也不會成為相同的數據的效果。在圖25所示的構成中,輸出的循環密鑰為n/2比特,在按位加(EXOR)運算部430中,例如,執行寄存器RegL 403的n比特存儲數據的上位n/2比特與相對於常數生成電路420所生成的每個循環不同的n比特數據之間的按位加(EXOR)運算,將該結果作為循環密鑰l命出。
在這種情況下,雖然相對於常悽t生成電路420所生成的每個循環不同的常數為n比特的數據,但存在如下的問題根據循環數r生成r次n比特的隨機常數的電路在比特數n大的情況下其電路規模變大。為了解決這樣的問題,對實現了常數生成電路420的電路規模的小型化的構成進行說明。
例如,如圖26所示,常數生成電i 各420被構造成將n比特的數據分割成相對各個循環都不同的m比特(m<n)的數據bj,將bj反覆使用n/m次,電路規模變小。例如,在11=64時,常數生成電路420生成相對各個循環都不同的n=64比特的常數Cj。
常悽丈生成電^各420例如^f吏m-16,應用相對每個循環(j)都不同的16比特的數據bj執行以下的運算,生成64比特的相對每個循環都不同的常數Cj並輸出到按位力。(EXOR)運算部430。formula see original document page 62在上式中,
bj < < < i是將16比特的數據bj進行了 i比特左移位後的數據。Mask!是作為預先設定的固定值的掩碼值(mask) ( 16比特)。(bj < < < i) [EXOR] (MaskO表示(bj < < < i)和(Mask,)的按位力口運算。
i、 j、 k、 l分別是預先確定的移位量,
MASId、 MASK2、 MASK3、 MASK4分別是預先確定的掩碼4直(16比特)。
也就是說,上式為這樣的式子對根據不同的移位量i、 j、 k,1對16比特的lt據bj分別進4於了移位得到的16比特數據執行分別應用了不同的摘r碼值Mask,、 Mask2、 Mask3、 Mask4的按々f立加運算而所得的四個16比特數據排列生成64比特的相對各個循環都不同的常悽tCj。
這樣地,通過將常數生成電路420構成為將n比特的悽t據分割成相對每個循環都不同的m比特(m < n )的數據b」並反覆4吏用n/m次bj,可以減小電鴻^見才莫。
並且,例如,在圖25所示的密鑰調度部構成為生成並輸出對應於多個不同加密處理的不同密鑰長度的循環密鑰的情況下,常數生成電路420也需要生成並輸出與輸出密鑰長度相應的比特長的數據。在這種情況下,通過^f吏常悽t生成電^各420所生成的常悽t相應於密鑰長度而改變,從而例如即使在不同密鑰長度中寄存器RegL 403的存儲值L為相同值的情況下,也可以將循環密鑰i殳定為不同的值。
例如,在構成為支持(a)循環數ri的、比特的密鑰長度、(b)循環數r2的k2比特的密鑰長度、(c )循環數r3的k3比特的密鑰長度這些全部的情況下,常悽t生成電路420將對應於多個的不同的加密處理的所有循環悽史n+r2+r3個的不同的m比對爭的悽O居bj應用於各個循環。通過這樣的構成,即使在 同密鑰長度中寄存器RegL403的存儲值L為相同值的情況下,也可以將循環密鑰設定為不同的值。
另外,如果將bj作為對應於循環的隨機值,則導致^己錄bj的電 路的規模變大。也可以構成為設定數目少於對應於多個不同的加密 處理的所有循環數ri+ r2+ r3個的m比特的數據bj,在將它們應用 於不同的加密處理的情況下,變更應用順序。
或者,還可以構成為相對於每個循環使用某種身見則對m比特的 常數bj從某初始值開始更新。例如,可以應用如下的規則應用才艮 據在伽羅瓦(Galois )域GF ( 2 )上定義的m次的不可約多項式f (x)而所作成的擴張域GF (2m)上的x倍運算來乂人初始^直生成相 對每個循環都不同的值。在不可約多項式f (x)為原始多項式的情 況下,由於/人某初始j直生成的x倍運算的值的周期為2m-l,所以可 生成2m-l不同的數據。另外,還可以將上述規則作為擴張域GF( 2m ) 上的x"倍運算等。
如圖25所示,通過執行寄存器RegL403的存卡者數據和常數生
(EXOR)運算並將結果作為循環密鑰輸出的構成,可以帶來以下 的效果。
*在中間密鑰全為0或全為1的情況下,循環密鑰也不會相同。
*排除了各個循環密鑰的關聯性,對滑動攻擊(Slide attack)具
有充分的耐性。最後,圖27示出了作為執4亍才艮據上述實施例的加密處理的加 密處理裝置的IC組件(module ) 700的構成例。上述的處理可被例 如PC、 IC卡、讀寫器和其它各種各樣的信息處理裝置所執行,圖 27所示的IC組件700可構成到這些各種各樣的才幾器中。
圖27所示的CPU ( Cenrtal processing Unit,中央處理器)701 是執行加密處理的開始、加密處理的結束、數據的收發的控制、各 個構成部之間的數據傳輸控制、以及其它各種程序的處理器。存儲 器702由用於存儲CPU 701所執行的程序、或者運算參數等固定數 據的ROM (Read-Only-Memory,只讀存儲器)、作為CPU701的處 理所執行的程序以及在程序處理中適當變化的參數的存儲區、工作 區而祐 使用的RAM ( Random Access Memory:隨才幾存取存4諸器) 等構成。並且,存儲器702可以被作為對加密處理必要的密鑰數據、 在加密處理中應用的變換表(置換表)、應用於變換矩陣的數據等 的儲存區域而使用。另外,優選數據存儲區域被構成為具有耐震動 (damper)構造的存儲器。
加密處理部703執行基於應用了例如上述的各種加密處理構成 侈'B口 (a) SPN ( Substitution Permutation Network,置才灸糹且合網糹各) 構造、(b) Feistel構造這些構成的/^共密鑰塊加密處理算法的加密 處理、解碼處理。
並且,加密處理部703具有密鑰調度部,該密鑰調度部包括與 如下的上述各個實施例的構成中的任一個處理構成相對應的構成 即(2-3 )本發明的第一實施例所涉及的循環密鑰的生成處理、(2-3 ) 本發明的第二實施例所涉及的循環密鑰的生成處理、(2-3)本發明 的第三實施例所涉及的循環密鑰的生成處理。
65另外,雖然在此示出了將加密處理單元作為個別組件的例子, 但是也可以構成為不設置這樣獨立的加密處理組件,而是將例如加
密處理程序存儲在ROM中,CPU 701讀出並執行ROM存儲程序。
隨機數發生器704執行在加密處理中所需的密鑰的生成等中所
需的隨枳4t的發生處理。
接收發送部705是執行與外部的數據通信的數據通信處理部, 才丸4亍例如與讀寫器等、IC組件之間的悽史據通信,執行在IC組件內 生成的加密文本的輸出或者來自外部的讀寫器等設備的數據輸入等。
以上,參照指定的實施例對本發明進行了詳細說明。^f旦是本領 域技術人員應該明白在不脫離本發明的主旨的範圍內可以進行該 實施例的修正或替代。也就是說,以示例的形式7>開了本發明,不 應該將其作為限定的解釋。應該參考本發明的保護範圍來判斷本發 明的主旨。
此外,在i兌明書中所iJi明的一系列處理可以通過石更4牛、專欠4牛或 者兩者的複合構成來執行。在執行基於軟體的處理的情況下,將記 錄有處理順序的程序安裝在組裝在專用的硬體的計算機內的存儲 器中來執行,或者可以將程序安裝在可執行各種處理的通用的計算 機中來執行。
例如,可以將程序預先記錄在作為記錄介質的硬碟或ROM (Readonly Memory,只讀存4諸器)中。或者,可以將禾呈序暫時或 者7Jc久;也存^f諸(i己錄)在庫欠盤(flexible disc )、 CD-ROM ( Compact Disc Read Only Memory,光碟只讀存卡者器)、MO ( Magneto optical, 石茲光)盤、DVD (Digital Versatile Disc,悽t字通用光碟)、》茲盤、半導體存儲器等可移動記錄介質中。這樣的可取下的記錄介質可以作
為所謂的專欠件包(package software )祐^是供。
另外,程序除了從上述的可取下的記錄介質安裝到計算機上以 外,還可以乂人下載站點無線傳llT到計算才幾,或通過LAN (Local Area Network,區域網)、網際網路這樣的網絡以有線傳輸到計算機,計算 機可以接收這樣傳輸來的程序,並安裝在內置的硬體等記錄介質中。
另外,說明書中所記載的各種的處理不僅僅可以按照記載以時 間順序執行,還可以根據執行處理的裝置的處理能力或者才艮據需要 並列或者個別地執行。並且,本說明書中,所謂系統是多個裝置的 邏輯集合構成,並不僅限於各個構成的裝置存在於同一個殼體內。
工業上的利用可能性
如上所述,根據本發明的一個實施例的構成,在公共密鑰塊加 密處理中的循環密鑰生成處理中,才艮據私有密鑰的變換處理而生成 的中間密鑰被存儲在寄存器中,反覆執行構成寄存器存儲數據的部 分數據的交換(替換)處理並生成循環密鑰。例如,將寄存器存儲 悽t據劃分為四個部分悽t據以 <更將具有相等比特#t的部分悽t據的組 設定為兩組,並反覆執行各個部分數據的交換(替換)處理,生成 多個不同的循環密鑰。根據本構成,可有效地替換各個循環密鑰的 比特排列,生成相關性低的循環密鑰,實現了提高了密鑰的解析困 難性且安全性高的密鑰處理構成。
權利要求
1.一種用於執行公共密鑰塊加密處理的加密處理裝置,其特徵在於,包括加密處理部,用於進行將循環函數反覆多次循環的數據變換處理;以及密鑰調度部,用於生成適用於所述循環函數的執行的循環密鑰,所述密鑰調度部構成為包括寄存器,通過私有密鑰的變換處理生成中間密鑰,存儲生成的中間密鑰;以及數據變換部,作為對存儲在所述寄存器中的寄存器存儲數據執行數據變換處理的數據變換部,反覆執行構成所述寄存器存儲數據的部分數據的交換(替換)處理並生成多個不同的循環密鑰。
2. 根據權利要求1所述的加密處理裝置,其特徵在於,所述數據變換部構成為將所述寄存器存儲數據劃分成 四個部分數據,以 <更將具有相等比特數的部分ft據的組i殳定為 兩組,反覆執行各個部分數據的交換(替換)處理,並生成多 個不同的循環密鑰。
3. 根據權利要求1所述的加密處理裝置,其特徵在於,所述數據變換部將由2m比特構成的所述寄存器存儲數 據劃分為下述(a)至(d)所示的四個部分悽t據,反覆^丸行各 個部分數據的交換(替換)處理,並生成多個不同的循環密鑰,(a) 先頭i比特的部分悽t據A0;(b) 從先頭開始的第i+l比特至第m比特的部分悽t據A1;(c) 乂人先頭開始的第m+l比特至第2m-i比特的部分教: 據八2;以及(d )末尾i比特的部分數據A3。
4. 根據權利要求1所述的加密處理裝置,其特徵在於,所述數據變換部構成為包括雙交換處理執行部,用於將所述寄存器存儲數據劃分為 四個部分l史據,以^更將具有相等比特悽t的部分^t據的組i殳定為 兩組,並執行各組的部分數據的交換(替換)處理;以及雙交換逆處理執行部,用於執行相當於所述雙交換執行 部處理的多個反覆處理的逆處理的凝:才居變才灸處理。
5. 根據權利要求1所述的加密處理裝置,其特徵在於,所述數據變換部包括如下的構成進行以與加密化處理 中的循環密鑰生成相反的順序來生成循環密鑰的解碼用循環 密鑰生成處理,所述數據變換部包括解碼用循環密鑰對應數據變換部,通過對所述寄存器存定的次數反覆進行雙交換處理的結果數據,其中,在所述雙交 換處理中,將所述寄存器存儲數據劃分為四個部分數據,以便 將具有相等比特數的部分悽t據的組i殳定為兩組,並執行各組的 部分數據的交換(替換)處理;以及雙交換逆處理執行部,對在所述解碼用循環密鑰對應數 據變換部中被變換的數據執行所述雙交換處理的逆處理,生成 各循環的循環密鑰。
6. 根據權利要求1所述的加密處理裝置,其特徵在於,所述婆t據變糹灸部構成為包括交換處理執行部,用於將由2m比特構成的所述寄存器存 儲數據劃分為下述(a)至(b)所示的兩個部分數據,並執行 各部分數據的交換(替換)處理;以及子交換處理執4亍部,用於將由2m比特構成的所述寄存器 存4諸悽t據劃分為下述(c)至(e)所示的三個部分數據,並4丸 行下述(c )與(d )的部分數據的交換(替換)處理,(a )先頭m比特的部分數據AG;以及(b )末尾m比特的部分數據A!,(c) 先頭(m-i)比特的部分悽t據Ao;(d) 從先頭開始的第(m-i+l)比特至第(m+i)比特的 部分數據A"以及(e) 從先頭開始的第(m+i+l)比特至末尾比特的部分 數據A2,所述數據變換部根據循環的進行,交替執行所述交換處 理衝丸4於部和所述子交換處理4丸行部的處理,並生成循環密鑰。
7. 根據權利要求6所述的加密處理裝置,其特徵在於,所述數據變換部還包括逆變換處理執行部,用於執行 與所述交換處理扭^於部和所述子交換處理執4於部的處理的反 復處理的逆處理相當的悽t據交換。
8. 根據權利要求1至7中任一項所述的加密處理裝置,其特徵在 於,所述密鑰調度部構成為還包括常數生成部,用於生成相對每個循環都不同的常數;以及按位加運算部,用於執行所述常數生成部所生成的常數 和所述寄存器存儲數據之間的按位加的運算並生成循環密鑰。
9. 根據權利要求8所述的加密處理裝置,其特徵在於,對每個循環都不同的少比特lt悽t據的移位悽t據的組合來生成 相對每個循環都不同的常數。
10. 根據權利要求8所述的加密處理裝置,其特徵在於,所述常數生成部構成為通過對比特數少於生成的常數的 少比特數悽t據進行的數據變換,生成相對每個循環都不同的少 比特數數據,通過生成的少比特數數據的移位數據的組合來生 成相對每個循環都不同的常悽t。
11. 一種在加密處理裝置中#丸4於7>共密鑰塊加密處理的加密處理 方法,其特徵在於,包括循環密鑰生成步驟,在密鑰調度部中生成多個循環密鑰, 其中,所述多個循環密鑰應用於在加密處理部中衝丸4亍的多個循 環的循環函數的執行;以及加密處理步驟,在加密處理部中進4亍將適用了所述循環 密鑰的循環函數反覆多個循環的數據變換處理,所述循環密鑰 成步驟包4舌中間密鑰生成步驟,通過私有密鑰的變換處理來生成中間密鑰並存儲在寄存器中;以及數據變換步驟,所述數據變換部對構成存儲在所述寄存 器中的寄存器存儲數據的部分數據反覆執行交換(替換)處理, 並生成多個不同的循環密鑰。
12. 根據權利要求11所述的加密處理方法,其特徵在於,在所述數據變換步驟中,將所述寄存器存儲數據劃分成 四個部分數據,以便將具有相等比特數的部分數據的組設定為 兩組,反覆執行各個部分數據的交換(替換)處理,並生成多 個不同的循環密鑰。
13. 根據權利要求11所述的加密處理方法,其特徵在於,在所述數據變換步驟中,將由2m比特構成的所述寄存器 存儲數據劃分為下述(a)至(d)所示的四個部分數據,反覆 執行各個部分數據的交換(替換)處理,並生成多個不同的循 環密鑰,(a )先頭i比特的部分數據A0;(b) 從先頭開始的第i+l比特至第m比特的部分悽t據A1;(c) 乂人先頭開始的第m+l比特至第2m-i比特的部分悽欠 據八2;以及(d )末尾i比特的部分數據A3。
14. 4艮據4又利要求11所述的加密處理方法,其特4正在於,所述悽t據變換步驟包括雙交換處理執行步驟,將所述寄存器存儲數據劃分為四 個部分數據,以便將具有相等比特數的部分數據的組設定為兩 組,並^5M於各組的部分數據的交換(替換)處理;以及雙交換逆處理執行步驟,執4亍相當於所述雙交換^^亍步 驟的處理的多個反覆處理的逆處理的悽t悟變4灸處理。
15. 根據權利要求11所述的加密處理方法,其特徵在於,所述數據變換步驟包括如下的步驟進行以與加密化處 理中的循環密鑰生成相反的順序來生成循環密鑰的解碼用循 環密鑰生成處理,並且,所述數據變換步驟包括解碼用循環密鑰對應數據變換步驟,通過對所述寄存器確定的次數反覆進行雙交換處理的結果數據,其中,在所述雙 交換處理中,將所述寄存器存儲數據劃分為四個部分數據,以 <更將具有相等比特#1的部分#:據的組_沒定為兩組,並扭J於各組 的部分數據的交換(替換)處理;以及只又交糹灸逆處理執4亍步驟,乂於在所述解石馬用循環密鑰^"應 數據變換步驟中被變換的數據執行所述雙交換處理的逆處理, 生成各循環的循環密鑰。
16. 根據權利要求11所述的加密處理方法,其特徵在於,所述數據變換步驟包括交換處理執行步驟,將由2m比特構成的所述寄存器存儲 數據劃分為下述(a)至(b)所示的兩個部分數據,並執行各 部分數據的交換(替換)處理;以及子交換處理執行步驟,用於將由2m比特構成的所述寄存 器存儲數據劃分為下述(c)至(e)所示的三個部分數據,並 執行下述(c)與(d)的部分數據的交換(替換)處理,(a )先頭m比特的部分數據Aq;以及(b )末尾m比特的部分數據A"(c) 先頭(m-i)比特的部分悽t據Ao;(d) 從先頭開始的第(m-i+l)比特至第(m+i)比特的 部分悽t據A,;以及(e) 從先頭開始的第(m+i+l)比特至末尾比特的部分 數據A2,在所述數據變換步驟中,根據循環的進行,交替執行所 述交換處理執行步驟和所述子交換處理執行步驟的處理,並生 成循環密鑰。
17. 根據權利要求16所述的加密處理方法,其特徵在於,所述lt據變換步驟還包括逆變換處理執4於步驟,用於 才丸行與所述交換處理執行步驟和所述子交換處理扭^亍步驟的 處理的反覆處理的逆處理相當的悽t據交4奐。
18. 根據權利要求11至17中任意一項所述的加密處理方法,其特 徵在於,所述力n密處理方法還包4舌常數生成步驟,由常數生成部生成相對每個循環都不同 的常h以及:換位加運算步驟,由所述按-位加運算部執4於所述常悽史生 成部所生成的常數和所述寄存器存儲數據之間的4姿位加的運 算並生成循環密鑰。
19. 根據權利要求18所述的加密處理方法,其特徵在於,在所述常ft生成步^^中,通過比特ft少於生成的常^:的 相對每個循環都不同的少比特悽t^t據的移位lt據的組合來生 成相對每個循環都不同的常數。
20. 才艮據權利要求18所述的加密處理方法,其特徵在於,在所述常^t生成步驟中,通過對比特^:少於生成的常悽t 的少位數數據進行的數據變換來生成相對每個循環都不同的 少比特數數據,通過所生成的少比特數數據的移位數據的組合 來生成相對每個循環都不同的常數。
21. —種4吏加密處理裝置扭J於z^共密鑰塊加密處理的計算才幾程序, 其特徵在於,包括循環密鑰生成步驟,4吏密鑰調度部生成多個循環密鑰, 其中,所述多個循環密鑰應用於在加密處理部中執4亍的多個循 環的循環函lt的4丸4於;以及加密處理步驟,使密鑰調度部進行將適用了所述循環密 鑰的循環函數反覆多個循環的數據變換處理,所述循環密鑰生成步驟包括中間密鑰生成步-驟,通過私有密鑰的變換處理來生成中 間密鑰並存儲在寄存器中;以及數據變換步驟,所述數據變換部對構成存儲在所述寄存 器中的寄存器存儲數據的部分數據反覆執行交換(替換)處理, 並生成多個不同的循環密鑰。
全文摘要
本發明提供了增加密鑰解析的難度、提高了安全性的公共密鑰塊加密處理構成。在將通過私有密鑰的變換處理而生成的中間密鑰存儲在寄存器中並通過寄存器存儲數據的變換處理來生成循環密鑰的構成中,執行構成寄存器存儲數據的部分數據的交換(替換)處理並生成循環密鑰。例如,劃分成四個部分數據,以便將具有相等比特數的部分數據的組設定為兩組,反覆執行各部分數據的交換處理,並生成多個不同的循環密鑰。根據本構成,可以有效地替換各個循環密鑰的比特排列,生成相關性低的循環密鑰,實現提高了密鑰的解析難度、安全性高的加密處理。
文檔編號G09C1/00GK101553857SQ20078004566
公開日2009年10月7日 申請日期2007年11月21日 優先權日2006年12月11日
發明者澀谷香士, 白井太三, 盛合志帆, 秋下徹 申請人:索尼株式會社

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀