專利名稱::提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法及加密裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種數(shù)據(jù)加密方法及其裝置,特別是指一種適用于數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard;DES)算法的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法及加密裝置。
背景技術(shù):
:參閱圖l,數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard;以下簡(jiǎn)稱DES)算法是一種使用對(duì)稱性密碼的技術(shù),也就是加密/解密均使用相同的密鑰。加密的過(guò)程主要由輸入單元91將明文(Plaintext)901及密鑰902輸入?yún)^(qū)塊加密器(BlockCipher)92,由區(qū)塊加密器92內(nèi)部將明文901經(jīng)過(guò)加密程序后,變成密文(Ciphertext)903后由輸出單元93輸出。參閱圖2,DES技術(shù)的詳細(xì)加密步驟是輸入64位的明文,經(jīng)過(guò)起始排列程序801后,再經(jīng)過(guò)加密演算程序802,而加密演算程序802包括十六回合的加密演算步驟804,最后經(jīng)過(guò)反起始排列程序803后輸出64位的密文。起始排列程序801是將64位的明文依據(jù)該排列運(yùn)算所參照的排列順序,亦即起始排列表(InitialPermutation;IP)將各位數(shù)據(jù)的順序重新排列。加密演算程序802的每一回合的加密演算步驟804主要是將64位數(shù)據(jù)先區(qū)分為兩部分的32位數(shù)據(jù)右半部的數(shù)據(jù)Ri以及左半部的數(shù)據(jù)Li,將右半部的數(shù)據(jù)Ri與子密鑰Kw輸入至f函數(shù)作運(yùn)算后,再與左半部的數(shù)據(jù)Li作位互斥或運(yùn)算(bitwiseexclusiveOR;bitwiseXOR)成為下一回合加密演算步驟804的右半部數(shù)據(jù)Ri+1,而原來(lái)右半部Ri的數(shù)據(jù)則變成下一回合加密演算步驟804的左半部的數(shù)據(jù)U,。反起始排列程序803是將經(jīng)過(guò)加密演算程序802的運(yùn)算結(jié)果依據(jù)反起始排列表(InverseofInitialPermutation;IP—')重新排列各位數(shù)據(jù)順序后成為密文輸出。參閱圖3,f函數(shù)的處理方式是先將32位的數(shù)據(jù)Ri作延展運(yùn)算(Expansion),其方式是依據(jù)對(duì)照延展運(yùn)算表E,將數(shù)據(jù)Ri各個(gè)位數(shù)據(jù)的順序重新排列、擴(kuò)增為48位的數(shù)據(jù)E(R》。該延展運(yùn)算表E如表一所示。表一<table>tableseeoriginaldocumentpage8</column></row><table>接著將擴(kuò)增后的數(shù)據(jù)E(R》及子密鑰Kw二者作一位互斥或運(yùn)算后,將得到的結(jié)果再平均分配給八個(gè)替換盒(S-Box)SrS8作一系列選擇運(yùn)算(Selection)。每個(gè)替換盒Sj有著各為相異的替換表,且其數(shù)據(jù)的替換方式為將6位輸入數(shù)據(jù)最前及最后的2個(gè)位取出作為替換表的列數(shù)(共4列),中間的4位作為替換表的行數(shù)(共16行),以該行列為坐標(biāo)找出對(duì)應(yīng)的輸出數(shù)據(jù)內(nèi)容作為新的位值。表二是替換盒S,的替換表。假設(shè)替換盒S,的6位輸入數(shù)據(jù)為皿丄)2,替換的方式把此6位輸入數(shù)據(jù)作為索引,將最前及最后共2個(gè)位(01)2系表示參照表二的第1歹U(因?yàn)?01)2=1),而中間的4位是(1101)2系表示參照表二的第13行(因?yàn)?1101)2=13),因此對(duì)照表二的第1列及第13行的坐標(biāo)可得其值為5,換算為4位輸出數(shù)據(jù)(0101)2(因?yàn)?=(0101)2)。由于共有8個(gè)替換盒Sj,由前述可知輸入共6*8=48位而輸出共4*8=32位,因此經(jīng)過(guò)各替換盒Sj的替換表的處理,總輸出又還原為32位的長(zhǎng)度。表二<table>tableseeoriginaldocumentpage9</column></row><table>最后,所有替換盒Sj的總輸出需要再經(jīng)過(guò)排列運(yùn)算(Permutation),其方式是依據(jù)排列表P對(duì)此32位的各位重新排列其位置,其結(jié)果即為該f函數(shù)的輸出。該排列表P的排序索引(表示位置)如表三所示。表三<table>tableseeoriginaldocumentpage9</column></row><table>由前述可知,該f轉(zhuǎn)換函數(shù)運(yùn)算必須經(jīng)過(guò)位延展運(yùn)算、位互斥運(yùn)算、一系列選擇運(yùn)算以及排列運(yùn)算等步驟,而選擇運(yùn)算步驟中的替換盒Sj,受限于現(xiàn)有標(biāo)準(zhǔn)的處理流程,每次僅能處理4位;然而目前中央處理單元(CPU)的位處理能力日漸提升,每次運(yùn)算可以處理更多位的數(shù)據(jù),因此執(zhí)行假設(shè)是較高位(如8位、16位或32位)處理能力的中央處理單元,其處理能力將無(wú)法充分發(fā)揮。
發(fā)明內(nèi)容因此,本發(fā)明的目的是提供一種可因應(yīng)中央處理單元的位處理能力的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法及加密裝置。本發(fā)明提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,是由中央處理單元執(zhí)行該數(shù)據(jù)加密方法的轉(zhuǎn)換函數(shù)運(yùn)算,該轉(zhuǎn)換函數(shù)運(yùn)算包含位延展運(yùn)算、位互斥運(yùn)算、一系列選擇運(yùn)算以及排列運(yùn)算,該選擇運(yùn)算需利用多個(gè)替換盒。該方法包含下述步驟(A)檢測(cè)該中央處理單元的處理位長(zhǎng)度;(B)對(duì)應(yīng)該處理位長(zhǎng)度以及該排列運(yùn)算所參照的排列順序,產(chǎn)生至少一個(gè)新替換盒,每個(gè)新替換盒具有多個(gè)新替換值,且各新替換值的位長(zhǎng)度等于該處理位長(zhǎng)度;及(C)以該位延展運(yùn)算、該位互斥運(yùn)算、使用步驟(B)產(chǎn)生的該新替換盒的該選擇運(yùn)算以及多個(gè)字元與運(yùn)算(bitwiseAND)、至少一位或運(yùn)算(bitwiseOR)來(lái)進(jìn)行該轉(zhuǎn)換函數(shù)的運(yùn)算。本發(fā)明可提升中央處理單元運(yùn)算效能的加密裝置包含中央處理單元及區(qū)塊加密器;該區(qū)塊加密器具有替換盒產(chǎn)生單元、密鑰產(chǎn)生單元及加密處理單元。該中央處理單元具有處理位長(zhǎng)度的處理能力,用以執(zhí)行數(shù)據(jù)加密方法的轉(zhuǎn)換函數(shù)運(yùn)算,該轉(zhuǎn)換函數(shù)運(yùn)算包含位延展運(yùn)算、位互斥運(yùn)算、一系列選擇運(yùn)算以及排列運(yùn)算(Permutation),該選擇運(yùn)算需要利用多個(gè)替換盒。該替換盒產(chǎn)生單元用以檢測(cè)該處理位長(zhǎng)度并配合該排列運(yùn)算所參照的排列順序以產(chǎn)生至少一個(gè)新替換盒;該密鑰產(chǎn)生單元用以執(zhí)行子密鑰產(chǎn)生程序。該加密處理單元用以接收明文/密文數(shù)據(jù),并由該中央處理單元以該位延展運(yùn)算、使用該子密鑰的該位互斥運(yùn)算、使用該替換盒產(chǎn)生單元產(chǎn)生的新替換盒的該選擇運(yùn)算以及多個(gè)字元與運(yùn)算、至少一位或運(yùn)算來(lái)進(jìn)行該轉(zhuǎn)換函數(shù)的運(yùn)算。由于本發(fā)明的數(shù)據(jù)加密方法及加密裝置是對(duì)應(yīng)該處理位長(zhǎng)度以及該排列運(yùn)算所參照的排列順序,產(chǎn)生至少一個(gè)新替換盒,每個(gè)新替換盒具有多個(gè)新替換值,且各新替換值的位長(zhǎng)度等于該處理位長(zhǎng)度。因此,對(duì)于不同中央處理單元的位處理能力(如8位、16位或32位),將使其處理能力得以充分發(fā)揮。圖1是說(shuō)明現(xiàn)有的數(shù)據(jù)加密標(biāo)準(zhǔn)算法的裝置的系統(tǒng)方塊圖;圖2是說(shuō)明數(shù)據(jù)加密標(biāo)準(zhǔn)算法的加密過(guò)程的流程圖;圖3是說(shuō)明圖3中的f函數(shù)如何進(jìn)行運(yùn)算的流程圖4是說(shuō)明本發(fā)明可提升中央處理單元運(yùn)算效能的加密裝置的優(yōu)選實(shí)施例的系統(tǒng)方塊圖5是說(shuō)明本發(fā)明提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法的優(yōu)選實(shí)施例的流程圖6是說(shuō)明制作新替換盒的替換值的原理是必須先產(chǎn)生數(shù)列的示意圖7是說(shuō)明將圖6所得的數(shù)列切為四份后平均分配給四個(gè)替換盒作為每一替換盒的新的替換值的示意圖,;圖8是說(shuō)明當(dāng)中央處理單元的處理能力為8位時(shí)配置四個(gè)替換盒及維持32位輸出的步驟的流程圖9是圖8的其中一個(gè)替換盒具有的新替換值的對(duì)照表;圖10是說(shuō)明將圖6所得的數(shù)列切為兩份后平均分配給兩個(gè)替換盒作為每一替換盒的新替換值的示意圖11是說(shuō)明當(dāng)中央處理單元的處理能力為16位時(shí)配置兩個(gè)替換盒及維持32位輸出的步驟的流程圖12是圖11的其中一個(gè)替換盒具有的新替換值的對(duì)照表;圖13是說(shuō)明將圖6所得的數(shù)列分配給一個(gè)替換盒作為每一替換盒的新替換值的示意圖14是說(shuō)明當(dāng)中央處理單元的處理能力為32位時(shí)配置一個(gè)替換盒及維持32位輸出的步驟的流程圖;及圖15是圖14的該替換盒具有的新替換值的對(duì)照表。具體實(shí)施例方式有關(guān)本發(fā)明的前述及其它技術(shù)內(nèi)容、特點(diǎn)與功效,在以下配合參考圖式的數(shù)個(gè)優(yōu)選實(shí)施例的詳細(xì)說(shuō)明中,將可清楚的呈現(xiàn)。在本發(fā)明被詳細(xì)描述之前,要注意的是,在以下的說(shuō)明內(nèi)容中,類似的組件是以相同的標(biāo)號(hào)來(lái)表示。參閱圖4,本發(fā)明加密裝置100的優(yōu)選實(shí)施例中,由中央處理單元2執(zhí)行數(shù)據(jù)加密方法的轉(zhuǎn)換函數(shù)運(yùn)算,該轉(zhuǎn)換函數(shù)運(yùn)算包含位延展運(yùn)算、位互斥運(yùn)算、一系列選擇運(yùn)算以及排列運(yùn)算,該選擇運(yùn)算需利用多個(gè)替換盒。該轉(zhuǎn)換函數(shù)運(yùn)算是類似數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)的f函數(shù)處理的架構(gòu),不同之處在于本發(fā)明是利用中央處理單元2的處理位長(zhǎng)度以及該排列運(yùn)算所參照的排列順序,來(lái)得到新的替換盒以進(jìn)行選擇運(yùn)算,選擇運(yùn)算的結(jié)果再加上適當(dāng)?shù)奈缓鸵约拔换蜻\(yùn)算(無(wú)需原來(lái)的排列運(yùn)算)即可得到該轉(zhuǎn)換函數(shù)運(yùn)算的結(jié)果。加密裝置100包含區(qū)塊加密器1、中央處理單元2、輸入緩沖單元3及輸出緩沖單元4。其中,輸入緩沖單元3接收并暫存中央處理單元2的處理位長(zhǎng)度(如-8位、16位或32位)及加密演算所需的參數(shù)(密鑰、明文/密文)等數(shù)據(jù)。區(qū)塊加密器l具有替換盒產(chǎn)生單元ll、密鑰產(chǎn)生單元12、加密處理單元13及數(shù)據(jù)緩沖單元14。替換盒產(chǎn)生單元11用以將輸入緩沖單元3的處理位長(zhǎng)度數(shù)據(jù)101配合排列運(yùn)算所參照的排列順序產(chǎn)生至少對(duì)應(yīng)的新替換盒,并將該新替換盒暫存于數(shù)據(jù)緩沖單元14中。密鑰產(chǎn)生單元12接收輸入緩沖單元3的密鑰102以執(zhí)行子密鑰Ki+1產(chǎn)生程序以產(chǎn)生48位的子密鑰Ki+1,并將子密鑰Ki+1暫存于數(shù)據(jù)緩沖單元14中。加密處理單元13自輸入緩沖單元10接收48位的數(shù)據(jù)E(Ri)103,并自數(shù)據(jù)緩沖單元14取得該子密鑰Kw及該等新替換盒執(zhí)行加密程序,如先其技術(shù)所提,該明文/密文是經(jīng)由十六回合的加密演算,其中每一回合需要將數(shù)據(jù)Rj作位延展運(yùn)算,其方式是對(duì)照延展運(yùn)算表E的方式將數(shù)據(jù)Ri擴(kuò)增為48位的數(shù)據(jù)E(Ri),接著該加密處理單元13再將數(shù)據(jù)長(zhǎng)度均為48位的數(shù)據(jù)E(Ri)及子密鑰Ki+1二者作位互斥或運(yùn)算,并將得到的48位的結(jié)果平均分配給各該新替換盒,以作為數(shù)據(jù)的替換及數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)相關(guān)的處理。輸出緩沖單元4則輸出該加密處理單元13加密處理后的明文/密文。由于采用數(shù)據(jù)加密標(biāo)準(zhǔn)算法的架構(gòu),其技術(shù)原理為現(xiàn)有技術(shù)且并非本發(fā)明重點(diǎn),不再多作介紹。參閱圖4及圖5,本發(fā)明提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法包含下述步驟區(qū)塊加密器1檢測(cè)中央處理單元2的處理位長(zhǎng)度(步驟501);接著,區(qū)塊加密器1對(duì)應(yīng)該處理位長(zhǎng)度以及該排列運(yùn)算所參照的排列順序,產(chǎn)生至少新替換盒,每個(gè)新替換盒具有多個(gè)新替換值,且各新替換值的位長(zhǎng)度等于該處理位長(zhǎng)度(步驟502);及以該位延展運(yùn)算、該位互斥運(yùn)算、利用步驟(502)產(chǎn)生的該新替換盒的該選擇運(yùn)算以及多字元且運(yùn)算、至少一位或運(yùn)算來(lái)進(jìn)行該轉(zhuǎn)換函數(shù)的運(yùn)算(步驟503)。由于加密裝置100由中央處理單元2執(zhí)行類似數(shù)據(jù)加密標(biāo)準(zhǔn)的f轉(zhuǎn)換函數(shù)運(yùn)算,而本發(fā)明各替換盒的新替換值的長(zhǎng)度等于該處理位長(zhǎng)度,因此可使中央處理單元2達(dá)到最佳的運(yùn)算效能。如圖6所示,該新替換值的制作是以原來(lái)數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)八個(gè)替換盒S,至Ss為基礎(chǔ),每一新替換盒替換值原有替換盒的替換值合并后重新排列的結(jié)果;在原來(lái)的數(shù)據(jù)加密標(biāo)準(zhǔn)中,每一替換盒S,至S8是具有4*16個(gè)替換值的矩陣,每個(gè)替換值為4位。在制作新的替換盒之前,需要先將舊有的替換盒S,至S8以兩兩合并(S,,S2),(S3,S4),(S5,S6),(S7,S8)的方式分別合并于四個(gè)暫存矩陣T,至T4并重新排列。由于原來(lái)每一替換盒S!至Ss的替換值為4位,合并后使得暫存矩陣T,至T4的各替換值擴(kuò)增成為8位。本優(yōu)選實(shí)施例中,合并方式是指定要合并的二替換盒中,其中一替換盒的替換值為最高字節(jié)(MSB)而另一替換盒的替換值為最低字節(jié)(LSB)。每次取各暫存矩陣T,至T4同一對(duì)應(yīng)位置的替換值(8位),依T,至T4的順序取出且逐一填入8*4共32位的暫存矩陣U,并依據(jù)對(duì)照表P將暫存矩陣U的每一位位置的調(diào)換成為暫存矩陣U'。依此類推,之后將暫存矩陣T,至T4下一個(gè)對(duì)應(yīng)位置的替換值(8位)依前述流程處理完畢,最后得到4*16個(gè)暫存矩陣U',每個(gè)暫存矩陣U'可視為32位數(shù)列。本發(fā)明制作新替換盒的替換值的原理即是將原有替換盒合并后重新排列,其方式是將對(duì)應(yīng)位置的替換值取出,依序合成32位數(shù)列,再依據(jù)該排列運(yùn)算所參照的排列順序,接著依序分配給至少新替換盒,使得該新替換盒的新替換值的位長(zhǎng)度等于該處理位長(zhǎng)度。必須說(shuō)明的是,如果中央處理單元2的處理能力為8位,該332位數(shù)列分為四個(gè)區(qū)段供中央處理單元處理,每個(gè)區(qū)段為8位,且各區(qū)段中位的排序索引依序分別為[16,7,20,21,29,12,28,17],[1,15,23,26,5,18,31,10],[2,8,24,14,32,27,3,9]及[19,13,30,6,22,11,4,25];如果中央處理單元的處理能力為16位,該32位數(shù)列系分為兩個(gè)區(qū)段供中央處理單元處理,每個(gè)區(qū)段為16位,各區(qū)段中位的排序索引依序分別為[16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10],及[2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25];如果是中央處理單元的處理能力為32位,該32位數(shù)列系設(shè)計(jì)為一個(gè)32位的區(qū)段,且該區(qū)段中位的排序索引依序分別為[16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10,2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25]。由于加密處理單元13是依據(jù)中央處理單元2的處理能力將每個(gè)暫存矩陣U'(共32位)切分處理而成新的替換盒,48位的數(shù)據(jù)將被平均分配給各替換盒作轉(zhuǎn)換。以下分別依照8位、16位及32位的不同實(shí)施例加以說(shuō)明一、中央處理單元的處理能力為8位的替換盒如圖7所示,為了符合中央處理單元2是8位處理能力,將暫存矩陣U,的32位切為四份后平均分配給四個(gè)替換盒作為每一個(gè)替換盒的新替換值,每一替換盒仍維持具有4*16替換值,每個(gè)替換值為8位。如圖8所示,每一個(gè)新替換盒Sr至S4,各有2組8位的輸出成為該選擇運(yùn)算的結(jié)果,每一組8位的輸出將依照其順序進(jìn)行對(duì)應(yīng)的位與運(yùn)算以得到所需的位數(shù)據(jù),該位數(shù)據(jù)經(jīng)適當(dāng)?shù)奈换蜻\(yùn)算后即為該轉(zhuǎn)換函數(shù)運(yùn)算的結(jié)果。在本優(yōu)選實(shí)施例中,中央處理單元2的處理能力為8位,配置四個(gè)替換盒,因此每一替換盒S,,至S4,可分配48位/4-12位的數(shù)據(jù)。將此12位分為兩個(gè)6位,且分別以兩個(gè)6位為索引,自各替換盒Sr至S4'取出兩個(gè)8位的替換值,如圖9所示,是圖s的其中一個(gè)替換盒sr具有的新替換值。再如圖8所示,各替換盒Sr至S4,取出兩個(gè)8位的替換值后,接著將兩個(gè)8位的替換值中,分別作一位與運(yùn)算,亦即在其中一個(gè)替換值取其4位的最高字節(jié)而另一替換值取其4位的最低字節(jié),并將二者共同以一位或運(yùn)算組合為8位數(shù)據(jù)輸出;由于共有四個(gè)替換盒Sr至S4,,因此維持總輸出為8*4=32位。二、中央處理單元的處理能力為16位的替換盒如圖10所示,為了符合中央處理單元2是16位的處理能力,將暫存矩陣U'的32位切為二份后平均分配給兩個(gè)替換盒S,"至S,作為每一替換盒的新替換值,每一替換盒仍維持具有4*16替換值,每個(gè)替換值為16位。如圖11所示,每一個(gè)新替換盒S廣至S2"將各有4組16位的輸出成為該選擇運(yùn)算的結(jié)果,每一組16位的輸出將依照其順序進(jìn)行對(duì)應(yīng)的位與運(yùn)算以得到所需的位數(shù)據(jù),該位數(shù)據(jù)經(jīng)適當(dāng)?shù)奈换蜻\(yùn)算后即為該轉(zhuǎn)換函數(shù)運(yùn)算的結(jié)果。由于中央處理單元2的處理能力為16位是配置兩個(gè)替換盒,因此每一替換盒Sr至S2"可分配48位/2=24位的數(shù)據(jù)。將此24位分為四個(gè)6位,且分別以四個(gè)6位為索引,自各替換盒Sr至S,取出四個(gè)16位的替換值;如圖12所示,是圖ii的其中一個(gè)替換盒sr具有的新替換值。再如圖ll所示,各替換盒Sr,至S2"取出四個(gè)16位的替換值后,接著將四個(gè)16位的替換值中,分別作一位與運(yùn)算,亦即將每個(gè)替換值切為四等份,每一等份為4位,第一個(gè)替換值取其第一等份的4位數(shù)據(jù),第二個(gè)替換值取其第二等份的4位數(shù)據(jù),第三個(gè)替換值取其第三等份的4位數(shù)據(jù),第四個(gè)替換值取其第四等份的4位數(shù)據(jù),并將前述四個(gè)4位數(shù)據(jù)共同以一位或運(yùn)算組合為16位數(shù)據(jù)輸出;由于共有兩個(gè)替換盒Sr至S2",因此維持總輸出為16*2=32位。三、中央處理單元的處理能力為32位的替換盒如圖13所示,為了符合中央處理單元2是32位處理能力,將暫存矩陣u,的32位直接分配給一個(gè)替換盒sr作為新的替換值,該替換盒S,'仍維持具有4*16替換值,每個(gè)替換值為32位。如圖14所示,新替換盒Sr"將有8組32位的輸出成為該選擇運(yùn)算的結(jié)果,每一組32位的輸出將依照其順序進(jìn)行對(duì)應(yīng)的位與運(yùn)算以得到所需的位數(shù)據(jù),該位數(shù)據(jù)經(jīng)適當(dāng)?shù)奈换蜻\(yùn)算后即為該轉(zhuǎn)換函數(shù)運(yùn)算的結(jié)果。由于中央處理單元2的處理能力為32位是配置1個(gè)替換盒,因此該替換盒Sr'可分配48位的數(shù)據(jù)。將此48位分為八個(gè)6位,且分別以八個(gè)6位為索引,自該替換盒Sr"取出八個(gè)32位的替換值;如圖15所示,是圖14的該替換盒S廣'具有的新替換值。再如圖14所示,替換盒Sr"取出8個(gè)32位的替換值后,接著將八個(gè)32位的替換值中,分別作一位與運(yùn)算,亦即將每個(gè)替換值切為八等份,每一等份為4位,第一個(gè)替換值取其第一等份的4位數(shù)據(jù),第二個(gè)替換值取其第二等份的4位數(shù)據(jù),依此類推,第七個(gè)替換值取其第七等份的4位數(shù)據(jù),第八個(gè)替換值取其第八等份的4位數(shù)據(jù),并將前述共8個(gè)4位數(shù)據(jù)共同以一位或運(yùn)算組合為32位數(shù)據(jù)輸出;由于只有一個(gè)替換盒sr",因此維持總輸出為32*1=32位。綜上所述,由于本發(fā)明提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法及加密裝置是設(shè)計(jì)成對(duì)應(yīng)中央處理單元的處理位長(zhǎng)度產(chǎn)生至少一個(gè)替換盒,每個(gè)新替換盒具有多個(gè)新替換值,且各新替換值的位長(zhǎng)度等于該處理位長(zhǎng)度,因此對(duì)于高于4位以上的處理能力(如8位、16位或32位)的中央處理單元,其處理能力將可得到充分發(fā)揮。以上所說(shuō)明的僅是本發(fā)明的優(yōu)選實(shí)施例,而不能以此限定本發(fā)明實(shí)施的范圍,本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求所限定的精神和范圍的情況下對(duì)本
發(fā)明內(nèi)容所作的簡(jiǎn)單的等效變化與修飾,皆屬于本發(fā)明涵蓋的范圍。權(quán)利要求1.一種提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,是由中央處理單元執(zhí)行所述數(shù)據(jù)加密方法的轉(zhuǎn)換函數(shù)運(yùn)算,所述轉(zhuǎn)換函數(shù)運(yùn)算包含位延展運(yùn)算、位互斥運(yùn)算、一系列選擇運(yùn)算以及排列運(yùn)算,所述選擇運(yùn)算需要利用多個(gè)替換盒,所述方法包含下述步驟(A)檢測(cè)所述中央處理單元的處理位長(zhǎng)度;(B)對(duì)應(yīng)所述處理位長(zhǎng)度以及所述排列運(yùn)算所參照的排列順序,產(chǎn)生至少一個(gè)新替換盒,每個(gè)新替換盒具有多個(gè)新替換值,且各新替換值的位長(zhǎng)度等于所述處理位長(zhǎng)度;及(C)以所述位延展運(yùn)算、所述位互斥運(yùn)算、使用步驟(B)產(chǎn)生的所述新替換盒的所述選擇運(yùn)算以及多個(gè)字元與運(yùn)算、至少一位或運(yùn)算來(lái)進(jìn)行所述轉(zhuǎn)換函數(shù)的運(yùn)算。2.根據(jù)權(quán)利要求1所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中所述轉(zhuǎn)換函數(shù)是數(shù)據(jù)加密標(biāo)準(zhǔn)算法的f轉(zhuǎn)換函數(shù)。3.根據(jù)權(quán)利要求1所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中步驟(A)檢測(cè)所述中央處理單元的處理位長(zhǎng)度為8位時(shí),步驟(B)每一新替換盒的替換值是原有的替換盒的替換值合并后重新排列的結(jié)果,使得各新替換值的位長(zhǎng)度等于8位。4.根據(jù)權(quán)利要求3所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中每一新替換盒的替換值是原有替換盒先兩兩合并后,取出合并后的替換盒對(duì)應(yīng)位置的替換值依序合成32位數(shù)列,再依據(jù)所述排列運(yùn)算所參照的排列順序重新排列其位置,接著依序分配給四個(gè)新替換盒,每個(gè)新替換值的位長(zhǎng)度為8位。5.根據(jù)權(quán)利要求4所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中所述32位數(shù)列是分為四個(gè)區(qū)段供中央處理單元處理,每區(qū)段為8位,且各區(qū)段中位的排序索引依序分別為[16,7,20,21,29,12,28,17],[1,15,23,26,5'18,31,10],[2,8,24,14,32,27,3,9]及[19,13,30,6,22,11,4,25]。6.根據(jù)權(quán)利要求4所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,在步驟(C)中,每一個(gè)新替換盒各有兩組8位的輸出成為所述選擇運(yùn)算的結(jié)果,每一組8位的輸出依照其順序進(jìn)行對(duì)應(yīng)的位與運(yùn)算以得到所需的位數(shù)據(jù),所述位數(shù)據(jù)經(jīng)所述位或運(yùn)算后即為所述轉(zhuǎn)換函數(shù)運(yùn)算的結(jié)果。7.根據(jù)權(quán)利要求1所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中步驟(A)檢測(cè)所述中央處理單元的處理位長(zhǎng)度為16位時(shí),步驟(B)每一新替換盒的替換值是原有的替換盒的替換值合并后重新排列的結(jié)果,使得各新替換值的位長(zhǎng)度等于16位。8.根據(jù)權(quán)利要求7所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中每一個(gè)新替換盒的替換值是原有替換盒先兩兩合并后,取出合并后的替換盒對(duì)應(yīng)位置的替換值依序合成32位數(shù)列,再依據(jù)所述排列運(yùn)算所參照的排列順序重新排列其位置,接著依序分配給兩個(gè)新替換盒,每個(gè)新替換值的位長(zhǎng)度為16位。9.根據(jù)權(quán)利要求8所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中所述32位數(shù)列是分為兩個(gè)區(qū)段供中央處理單元處理,每個(gè)區(qū)段為16位,且各區(qū)段中位的排序索引依序分別為[16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10],及[2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25]。10.根據(jù)權(quán)利要求8所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,在步驟(C)中,每一個(gè)新替換盒將各有四組16位的輸出成為所述選擇運(yùn)算的結(jié)果,每一組16位的輸出將依照其順序進(jìn)行對(duì)應(yīng)的位與運(yùn)算以得到所需的位數(shù)據(jù),所述位數(shù)據(jù)經(jīng)所述位或運(yùn)算后即為所述轉(zhuǎn)換函數(shù)運(yùn)算的結(jié)果。11.根據(jù)權(quán)利要求1所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中,步驟(A)檢測(cè)所述中央處理單元的處理位長(zhǎng)度為32位時(shí),步驟(B)每一新替換盒的替換值是原有的替換盒的替換值合并后重新排列的結(jié)果,使得各新替換值的位長(zhǎng)度等于32位。12.根據(jù)權(quán)利要求11所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中每一新替換盒的替換值是原有替換盒先兩兩合并后,取出合并后的替換盒對(duì)應(yīng)位置的替換值依序合成32位數(shù)列,再依據(jù)所述排列運(yùn)算所參照的排列順序重新排列其位置,接著分配給新替換盒,每個(gè)新替換值的位長(zhǎng)度為32位。13.根據(jù)權(quán)利要求12所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中,所述32位數(shù)列為一個(gè)區(qū)段供中央處理單元處理,且所述區(qū)段中位的排序索引分別為[16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10,2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25]。14.根據(jù)權(quán)利要求12所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,在步驟(C)中,所述新替換盒將有八組32位的輸出成為所述選擇運(yùn)算的結(jié)果,每一組32位的輸出將依照其順序進(jìn)行對(duì)應(yīng)的位與運(yùn)算以得到所需的位數(shù)據(jù),所述位數(shù)據(jù)經(jīng)所述位或運(yùn)算后即為所述轉(zhuǎn)換函數(shù)運(yùn)算的結(jié)果。15.—種可提升中央處理單元運(yùn)算效能的加密裝置,包括中央處理單元,具有處理位長(zhǎng)度的處理能力,用以執(zhí)行數(shù)據(jù)加密方法的轉(zhuǎn)換函數(shù)運(yùn)算,所述轉(zhuǎn)換函數(shù)運(yùn)算包含位延展運(yùn)算、位互斥運(yùn)算、一系列選擇運(yùn)算以及排列運(yùn)算,所述選擇運(yùn)算需要利用多個(gè)替換盒;及區(qū)塊加密器,具有-替換盒產(chǎn)生單元,用以檢測(cè)所述處理位長(zhǎng)度并配合所述排列運(yùn)算所參照的排列順序以產(chǎn)生至少一個(gè)新替換盒;密鑰產(chǎn)生單元,用以執(zhí)行子密鑰產(chǎn)生程序;及加密處理單元,用以接收明文/密文數(shù)據(jù),并由所述中央處理單元以所述位延展運(yùn)算、使用所述子密鑰的所述位互斥運(yùn)算、使用所述替換盒產(chǎn)生單元產(chǎn)生的新替換盒的所述選擇運(yùn)算以及多個(gè)字元與運(yùn)算、至少一位或運(yùn)算來(lái)進(jìn)行所述轉(zhuǎn)換函數(shù)的運(yùn)算。16.根據(jù)權(quán)利要求15所述的可提升中央處理單元運(yùn)算效能的加密裝置,其中所述轉(zhuǎn)換函數(shù)是數(shù)據(jù)加密標(biāo)準(zhǔn)算法是f轉(zhuǎn)換函數(shù)。17.根據(jù)權(quán)利要求15所述的可提升中央處理單元運(yùn)算效能的加密裝置,其中所述替換盒產(chǎn)生單元檢測(cè)所述中央處理單元的處理位長(zhǎng)度為8位時(shí),所述替換盒模塊是依據(jù)所述處理位長(zhǎng)度提供各新替換值的位長(zhǎng)度等于8位的替換盒,且每一新替換盒的替換值是原有的替換盒的替換值合并后18.根據(jù)權(quán)利要求17所述的可提升中央處理單元運(yùn)算效能的加密裝置,其中所述替換盒模塊的每一新替換盒的替換值是原有替換盒先兩兩合并后,取出合并后的替換盒對(duì)應(yīng)位置的替換值依序合成32位數(shù)列,再依據(jù)所述排列運(yùn)算所參照的排列順序重新排列其位置,接著依序分配給四個(gè)新替換盒,每個(gè)新替換值的位長(zhǎng)度為8位。19.根據(jù)權(quán)利要求18所述的可提升中央處理單元運(yùn)算效能的加密裝置,其中所述32位數(shù)列是分為四個(gè)區(qū)段供中央處理單元處理,每區(qū)段為8位,且各區(qū)段中位的排序索引依序分別為[16,7,20,21,29,12,28,17],[1,15,23,26,5,18,31,10],[2,8,24,14,32,27,3,9]及[19,13,30,6,22'11,4,25]。20.根據(jù)權(quán)利要求18所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中每一個(gè)新替換盒將各有兩組8位的輸出成為所述選擇運(yùn)算的結(jié)果,每一組8位的輸出將依照其順序進(jìn)行對(duì)應(yīng)的位與運(yùn)算以得到所需的位數(shù)據(jù),所述位數(shù)據(jù)經(jīng)所述位或運(yùn)算后即為所述轉(zhuǎn)換函數(shù)運(yùn)算的結(jié)果。21.根據(jù)權(quán)利要求15所述的可提升中央處理單元運(yùn)算效能的加密裝置,其中所述替換盒產(chǎn)生單元檢測(cè)所述中央處理單元的處理位長(zhǎng)度為16位時(shí),所述替換盒模塊是依據(jù)所述處理位長(zhǎng)度提供各新替換值的位長(zhǎng)度等于16位的替換盒,且每一新替換盒的替換值是原有的替換盒的替換值合并后重新排列的結(jié)果。22.根據(jù)權(quán)利要求21所述的可提升中央處理單元運(yùn)算效能加密裝置,其中所述替換盒模塊的每一新替換盒的替換值是原有替換盒先兩兩合并后,取出合并后的替換盒對(duì)應(yīng)位置的替換值依序合成32位數(shù)列,再依據(jù)所述排列運(yùn)算所參照的排列順序重新排列其位置,接著依序分配給兩個(gè)新替換盒,每個(gè)新替換值的位長(zhǎng)度為16位。23.根據(jù)權(quán)利要求22所述的可提升中央處理單元運(yùn)算效能的加密裝置,其中所述32位數(shù)列是分為兩個(gè)區(qū)段供中央處理單元處理,每個(gè)區(qū)段為16位,且各區(qū)段中位的排序索引依序分別為[16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10],及[2,8,24,14,32,27,3,9,19,13,30,6,22,11,4,25]。24.根據(jù)權(quán)利要求22所述的提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,其中每一個(gè)新替換盒將各有四組16位的輸出成為所述選擇運(yùn)算的結(jié)果,每一組16位的輸出將依照其順序進(jìn)行對(duì)應(yīng)的位與運(yùn)算以得到所需的位數(shù)據(jù),所述位數(shù)據(jù)經(jīng)所述位或運(yùn)算后即為所述轉(zhuǎn)換函數(shù)運(yùn)算的結(jié)果。25.根據(jù)權(quán)利要求15所述的可提升中央處理單元運(yùn)算效能的加密裝置,其中所述替換盒產(chǎn)生單元檢測(cè)所述中央處理單元的處理位長(zhǎng)度為32位時(shí),所述替換盒模塊是依據(jù)所述處理位長(zhǎng)度提供各新替換值的位長(zhǎng)度等于32位的替換盒,且新替換盒的替換值是原有的替換盒的替換值合并后重新排列的結(jié)果。26.根據(jù)權(quán)利要求25所述的可提升中央處理單元運(yùn)算效能的加密裝置,其中所述替換盒模塊的每一新替換盒的替換值是原有替換盒先兩兩合并后,取出合并后的替換盒對(duì)應(yīng)位置的替換值依序合成32位數(shù)列,再依據(jù)所述排列運(yùn)算所參照的排列順序重新排列其位置,接著分配給新替換盒,每個(gè)新替換值的位長(zhǎng)度為32位。27.根據(jù)權(quán)利要求26所述的可提升中央處理單元運(yùn)算效能的加密裝置,其中所述32位數(shù)列為一個(gè)區(qū)段供中央處理單元處理,且所述區(qū)段中位的排序索引分別為[16,7,20,21,29,12,28,17,1,15,23,26,5,18,31,10,2,8,24'14,32,27,3,9,19,13,30,6,22,11,4,25]。28.根據(jù)權(quán)利要求26所述的可提升中央處理單元運(yùn)算效能的加密裝置,其中所述新替換盒將有八組32位的輸出成為所述選擇運(yùn)算的結(jié)果,每一組32位的輸出將依照其順序進(jìn)行對(duì)應(yīng)的位與運(yùn)算以得到所需的位數(shù)據(jù),所述位數(shù)據(jù)經(jīng)所述位或運(yùn)算后即為所述轉(zhuǎn)換函數(shù)運(yùn)算的結(jié)果。全文摘要一種提升中央處理單元運(yùn)算效能的數(shù)據(jù)加密方法,是由中央處理單元執(zhí)行該數(shù)據(jù)加密方法的轉(zhuǎn)換函數(shù)運(yùn)算,該轉(zhuǎn)換函數(shù)運(yùn)算時(shí)需要利用多個(gè)替換盒,該方法包含下述步驟(A)檢測(cè)中央處理單元的處理位長(zhǎng)度;(B)對(duì)應(yīng)處理位長(zhǎng)度以及排列運(yùn)算所參照的排列順序,產(chǎn)生至少一個(gè)新替換盒,每個(gè)新替換盒具有多個(gè)新替換值,且各新替換值的位長(zhǎng)度等于該處理位長(zhǎng)度;及(C)利用新替換盒來(lái)進(jìn)行該轉(zhuǎn)換函數(shù)的運(yùn)算。由于新替換盒是針對(duì)不同的位處理能力(如8位、16位或32位)而設(shè)計(jì)的,使得中央處理單元的處理能力得以充分發(fā)揮。文檔編號(hào)G06F17/10GK101169776SQ200610142830公開日2008年4月30日申請(qǐng)日期2006年10月27日優(yōu)先權(quán)日2006年10月27日發(fā)明者方均偉申請(qǐng)人:松下電器產(chǎn)業(yè)株式會(huì)社