專利名稱::密碼系統(tǒng)及密碼方法
技術(shù)領(lǐng)域:
:本發(fā)明有關(guān)于加密/解密(encryption/decryption),且特別有關(guān)于一種可重構(gòu)(reconfigurable)及可擴(kuò)充(scalable)的密碼系統(tǒng)及密碼方法。
背景技術(shù):
:加密/解密廣泛應(yīng)用于電子裝置中以提供數(shù)據(jù)的安全性,所述電子裝置可例如用T-Efeff(telecommunication)f^rt(digitalcontentdistribution)及共享、內(nèi)容展示(contentdisplay)、數(shù)據(jù)存儲(chǔ)等等的裝置。本領(lǐng)域中已存在許多種加密/解密算法。
發(fā)明內(nèi)容有鑒于此,本發(fā)明特提供以下技術(shù)方案本發(fā)明提供一種密碼系統(tǒng),密碼系統(tǒng)包含多重密碼算法集合部分及密碼控制器。多重密碼算法集合部分可重構(gòu),以對(duì)輸入數(shù)據(jù)依選定的序列執(zhí)行多個(gè)選定的密碼算法;密碼控制器接收輸入密鑰集合以及一個(gè)或多個(gè)安全等級(jí)參數(shù),基于一個(gè)或多個(gè)安全等級(jí)參數(shù),密碼控制器重新配置多重密碼算法集合部分,以依所述選定的序列執(zhí)行所述多個(gè)選定的密碼算法,基于輸入密鑰集合,密碼控制器進(jìn)一步產(chǎn)生一個(gè)或多個(gè)密碼密鑰并將一個(gè)或多個(gè)密碼密鑰提供給多重密碼算法集合部分,用于執(zhí)行多個(gè)選定的密碼算法。本發(fā)明另提供一種密碼方法,實(shí)施于密碼系統(tǒng)。密碼方法包含(a)接收輸入數(shù)據(jù);(b)接收輸入密鑰集合及一個(gè)或多個(gè)安全等級(jí)參數(shù);(c)基于輸入密鑰集合產(chǎn)生多個(gè)密碼密鑰;以及(d)對(duì)輸入數(shù)據(jù)以選定序列執(zhí)行多個(gè)選定的密碼算法,其中多個(gè)選定的密碼算法、或選定序列、或多個(gè)選定的密碼算法及選定序列經(jīng)由多個(gè)安全等級(jí)參數(shù)決定,并且其中多個(gè)選定的密碼算法使用多個(gè)密碼密鑰來執(zhí)行。以上所述的密碼系統(tǒng)及密碼方法可增強(qiáng)數(shù)據(jù)的耐攻擊性,提供數(shù)據(jù)保護(hù)的靈活性。以下附圖僅旨在于對(duì)本發(fā)明做示意性說明和解釋,并不限定本發(fā)明的范圍。其中,圖1是依據(jù)本發(fā)明一實(shí)施例展示可重構(gòu)及可擴(kuò)充的多重次加密系統(tǒng)的示意圖;圖2是依據(jù)本發(fā)明一實(shí)施例展示可重構(gòu)及可擴(kuò)充的多重次解密系統(tǒng)的示意圖;圖3是展示用于圖1的加密系統(tǒng)的范例的示意圖;第4a及4b圖是依據(jù)本發(fā)明的實(shí)施例展示可重構(gòu)加密/解密模塊的兩個(gè)可選結(jié)構(gòu)的示意圖;圖5是依據(jù)本發(fā)明一實(shí)施例展示多媒體數(shù)據(jù)處理系統(tǒng)多重次加密/解密合并系統(tǒng)的示意圖;圖6是依本發(fā)明密碼方法的流程圖。具體實(shí)施例方式在說明書及權(quán)利要求書中使用了某些詞匯來指稱特定的組件,所屬領(lǐng)域中的技術(shù)人員應(yīng)可理解,制造商可能會(huì)用不同的名詞來稱呼同樣的組件。本說明書及權(quán)利要求書并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的基準(zhǔn)。在通篇說明書及權(quán)利要求書中所提及的“包含”是開放式的用語,故應(yīng)解釋成“包含但不限定于”。另外,“耦接”一詞在此包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表第一裝置可直接電氣連接于第二裝置,或通過其它裝置或連接手段間接地電氣連接至第二裝置。常規(guī)的加密/解密系統(tǒng)具有各種劣勢(shì)。在許多常規(guī)系統(tǒng)中,僅有一個(gè)或固定數(shù)目的加密/解密算法可應(yīng)用于每一數(shù)據(jù)。這種固定加密/解密算法方案不能滿足用戶使用各種安全等級(jí)保護(hù)其數(shù)據(jù)的需求。同樣,若攻擊者(attacker)知道系統(tǒng)所使用的算法,其可集中攻擊所述特定算法。本發(fā)明的實(shí)施例提供利用多重次(multiple-pass)方案的可重構(gòu)及可擴(kuò)充的加密/解密系統(tǒng)結(jié)構(gòu)及相應(yīng)方法,每一重次以其自身的加密/解密密鑰(key)應(yīng)用一種加密/解密算法。只有在依正確的序列(如由一個(gè)或多個(gè)安全等級(jí)參數(shù)確定)使用正確的算法以及對(duì)應(yīng)的加密/解密密鑰時(shí),已加密數(shù)據(jù)才能完全并且正確地解密。當(dāng)算法集合或者加密/解密密鑰不正確時(shí),數(shù)據(jù)不能解密,或者只能部分解密。多重次加密/解密提供較高的數(shù)據(jù)耐攻擊性(invulnerability)。此外,該整體方法的安全等級(jí)可依據(jù)重次的數(shù)目而改變,以便為設(shè)備制造商(equipmentmanufacturer)及終端用戶(enduser)提供數(shù)據(jù)保護(hù)的靈活性。如在本發(fā)明實(shí)施例中所使用的,詞匯“密碼”包含加密及解密。舉例來說,密碼密鑰可指稱加密密鑰或解密密鑰或這兩類密鑰,密碼算法可指稱加密算法或解密算法或這兩類算法,密碼單元(稍后詳述)可指稱執(zhí)行加密或解密或這兩類的單元。圖1是依據(jù)本發(fā)明實(shí)施例展示可重構(gòu)及可擴(kuò)充的多重次加密系統(tǒng)10的示意圖。在該實(shí)施例中,待編碼的原始數(shù)據(jù)(rawdata)是視頻數(shù)據(jù),但類似的方法及結(jié)構(gòu)經(jīng)過適當(dāng)修正之后,可被應(yīng)用于其他類型的數(shù)據(jù)。如圖1所示,視頻數(shù)據(jù)先經(jīng)由空間/時(shí)間冗余(spatial/temporalredundant)移除部分11處理,用于空間和/或時(shí)間冗余移除。隨后經(jīng)由加密使能熵編碼(encryptionenabledentropyencoding)部分12對(duì)數(shù)據(jù)熵編碼。空間/時(shí)間冗余移除及熵編碼是視頻數(shù)據(jù)處理領(lǐng)域眾所周知的壓縮處理。在熵編碼期間,加密使能熵編碼部分12可應(yīng)用加密,但在此步驟中,加密是可選的。舉例來說,加密使能熵編碼部分12可使用隨機(jī)霍夫曼表編碼(randomizedHuffmantablecoding)或隨機(jī)算術(shù)編碼(randomizedarithmeticcoding)實(shí)施加密。在隨機(jī)霍夫曼表編碼中,多個(gè)同形(isomorphic)霍夫曼表不是預(yù)存儲(chǔ)的就是動(dòng)態(tài)產(chǎn)生的,并且基于密鑰跳頻序列(keyhoppingsequence)選取多個(gè)霍夫曼表中的一個(gè),以編碼每一符號(hào)。在隨機(jī)算術(shù)編碼加密中,基于密鑰跳頻序列選取多個(gè)編碼規(guī)范(codingconvention)中的一個(gè),以編碼每一符號(hào)。熵編碼數(shù)據(jù)輸入至執(zhí)行多重次加密的多重加密算法集合部分13中,也就是,對(duì)上述數(shù)據(jù)順序執(zhí)行若干加密算法以產(chǎn)生加密的視頻數(shù)據(jù)。當(dāng)然,如果原始數(shù)據(jù)并不是視頻或圖像數(shù)據(jù),空間/時(shí)間冗余移除部分11及加密使能熵編碼部分12可以是不必要的,并且原始數(shù)據(jù)可以直接輸入到多重加密算法集合部分13中。多重加密算法集合部分13可重構(gòu),以依選定的順序或序列執(zhí)行若干個(gè)選定的加密算法。多重加密算法集合部分13包含連結(jié)為管線(pipeline)(空間上或時(shí)間上)的一個(gè)或多個(gè)加密單元,以執(zhí)行加密算法序列。每一個(gè)加密單元實(shí)施一個(gè)或多個(gè)加密算法,并且可被配置以及重新配置以在給定時(shí)間(giventime)執(zhí)行算法中的任意一個(gè)。經(jīng)由加密單元實(shí)施的加密算法可以是已存在的算法或未來將發(fā)展的算法。已知加密算法包含選擇性加密(selectiveencryption)、視頻力口密算法(videoencryptionalgorithm,以下簡稱VEA)、隨機(jī)旋轉(zhuǎn)分區(qū)(randomrotationinpartitionedblocks,以下簡稱RPB)、高級(jí)加密標(biāo)準(zhǔn)(AdvancedEncryptionStandard,以下簡稱AES)、數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard,以下簡稱DES)等。多重加密算法集合部分13經(jīng)由密碼集合控制器15配置。密碼集合控制器15依管線中加密單元的次序選定控制多重加密算法集合部分13內(nèi)的哪一個(gè)加密單元,并且密碼集合控制器15控制每個(gè)一選定的加密單元執(zhí)行哪一種算法。上述控制基于輸入到密碼集合控制器15中的一個(gè)或多個(gè)安全等級(jí)參數(shù)。任意適合的算法可在密碼集合控制器15中實(shí)施,以決定對(duì)于給定的安全等級(jí)參數(shù)使用哪一種算法,以及使用算法的次序如何。一般而言,較高安全等級(jí)要求應(yīng)用更多重次(更多加密算法)。輸入的安全等級(jí)參數(shù)本身可以是加密的,而密碼集合控制器15解密所述參數(shù)。在圖1所示的系統(tǒng)中,加密使能熵編碼部分12以類似于多重加密算法集合部分13的管線方式(fashion)執(zhí)行,可阻止對(duì)于標(biāo)準(zhǔn)加密算法(standardencryptionalgorithm)(例如DES及AES)的差分功耗分析攻擊(differentialpoweranalysisattack)。如前文所述,加密使能熵編碼部分12是可選的。加密使能熵編碼部分12及多重加密算法集合部分13使用的加密密鑰經(jīng)由密鑰處理器14產(chǎn)生,并由密碼集合控制器15提供給加密使能熵編碼部分12及多重加密算法集合部分13。密鑰處理器14接收輸入密鑰集合(包含一個(gè)或多個(gè)輸入密鑰,并且輸入密鑰的數(shù)量是靈活的(flexible))并且產(chǎn)生加密密鑰。加密密鑰可以是對(duì)應(yīng)的加密算法要求的任意適合形態(tài)。舉例來說,加密使能熵編碼部分12可能需要密鑰跳頻序列以實(shí)施隨機(jī)霍夫曼表編碼。除另有規(guī)定外,在本發(fā)明實(shí)施例中,加密及編碼算法所需的所有數(shù)據(jù)共同被稱為加密密鑰。密鑰處理器14可實(shí)施任意適合算法以產(chǎn)生加密密鑰。較佳地,密鑰處理器14可編程,并且用于產(chǎn)生加密密鑰的算法可經(jīng)由編程改變。較佳地,密鑰處理器14可編程,以要求輸入密鑰集合中有較多或較少密鑰,從而增加靈活性并且增強(qiáng)安全性。圖1所示的密鑰處理器14不接收安全等級(jí)參數(shù)。從而,密鑰處理器14產(chǎn)生加密密鑰,用于由多重加密算法集合部分13及加密使能熵編碼部分12提供的所有加密算法。安全等級(jí)參數(shù)決定執(zhí)行哪一種密碼算法,密碼集合控制器15管理加密密鑰,并基于所執(zhí)行的密碼算法,選取加密密鑰以輸出到多重加密算法集合部分13及加密使能熵編碼部分12。作為可選結(jié)構(gòu)(圖1中未展示),密鑰處理器14接收安全等級(jí)參數(shù)作為輸入,并基于安全等級(jí)參數(shù)選擇性地產(chǎn)生僅將被多重加密算法集合部分13及加密使能熵編碼部分12使用的加密密鑰。作為另一可選結(jié)構(gòu),密鑰處理器14以及密碼集合控制器15結(jié)合為密碼控制器15a(如圖1虛線框所示),密碼控制器15a接收輸入密鑰集合及安全等級(jí)參數(shù),并執(zhí)行加密密鑰管理以及重新配置多重加密算法集合部分13。密碼控制器15a基于安全等級(jí)參數(shù)配置多重加密算法集合部分13,基于輸入密鑰集合及安全等級(jí)參數(shù)產(chǎn)生加密密鑰,并且將加密密鑰提供給多重加密算法集合部分13及加密使能熵編碼部分12。圖2是依據(jù)本發(fā)明實(shí)施例展示可重構(gòu)及可擴(kuò)充的多重次解密系統(tǒng)20的示意圖。在本范例中,系統(tǒng)將圖1中加密系統(tǒng)加密的視頻數(shù)據(jù)解密。解密系統(tǒng)包含多重解密算法集合部分23,多重解密算法集合部分23可重構(gòu),以依選定的順序或序列執(zhí)行若干選定的解密算法。經(jīng)由多重解密算法集合部分23產(chǎn)生的視頻數(shù)據(jù)被輸入到加密使能熵譯碼部分22中,加密使能熵譯碼部分22執(zhí)行與圖1中加密使能熵編碼部分12中的編碼算法對(duì)應(yīng)的加密使能熵譯碼算法。熵譯碼數(shù)據(jù)隨后經(jīng)由視頻空間/時(shí)間冗余恢復(fù)部分21處理,以恢復(fù)在編碼處理期間移除的空間/時(shí)間冗余,以產(chǎn)生用于輸出的解密視頻數(shù)據(jù)。密碼集合控制器25接收一個(gè)或多個(gè)安全等級(jí)參數(shù),并基于安全等級(jí)參數(shù)配置多重解密算法集合部分23,使得由多重解密算法集合部分23執(zhí)行的解密算法的序列與用于加密數(shù)據(jù)的對(duì)應(yīng)加密算法的序列相反。類似于多重加密算法集合部分13,多重解密算法集合部分23包含連結(jié)為管線(空間上或時(shí)間上)的一個(gè)或多個(gè)解密單元,以執(zhí)行解密算法序列。每一個(gè)解密單元實(shí)施一個(gè)或多個(gè)解密算法,并且可被配置以及重新配置以在給定時(shí)間執(zhí)行算法中的任意一個(gè)。密碼集合控制器25依管線中加密單元的次序選定控制多重加密算法集合部分23內(nèi)的哪一個(gè)加密單元,并且密碼集合控制器25控制每一個(gè)選定的加密單元執(zhí)行哪一種算法。密鑰處理器24接收輸入密鑰集合(一般其與用于加密系統(tǒng)10的輸入密鑰集合相同),并且基于輸入密鑰集合產(chǎn)生解密密鑰,而密碼集合控制器25基于安全等級(jí)參數(shù)為加密使能熵譯碼部分22及多重解密算法集合部分23提供適當(dāng)?shù)慕饷苊荑€。類似于前文描述的圖1中的密鑰處理器14的可選結(jié)構(gòu),密鑰處理器24可接收安全等級(jí)參數(shù),并基于安全等級(jí)參數(shù)只產(chǎn)生必需的解密密鑰,或密鑰處理器24以及密碼集合控制器25可結(jié)合為一個(gè)密碼控制器25a(如圖2虛線框所示)。本發(fā)明實(shí)施例的多重次加密系統(tǒng)10及解密系統(tǒng)20增強(qiáng)了數(shù)據(jù)的耐攻擊性。為正確解密已加密數(shù)據(jù),解密系統(tǒng)20必須接收正確的安全等級(jí)參數(shù)(安全等級(jí)參數(shù)本身也可能被加密)及正確的輸入密鑰集合。若輸入錯(cuò)誤的安全等級(jí)參數(shù),將會(huì)應(yīng)用錯(cuò)誤的算法和/或錯(cuò)誤的算法序列,從而數(shù)據(jù)將不會(huì)被正確解密。圖3是展示圖1加密系統(tǒng)的密鑰處理器14的范例的示意圖。密鑰處理器14產(chǎn)生加密算法需要的加密密鑰(其中加密算法經(jīng)由多重加密算法集合部分13執(zhí)行)以及加密使能熵編碼部分12需要的密鑰跳頻序列。密鑰處理器14包含密鑰調(diào)制器(manipulator)141、偽隨機(jī)位(pseudorandombit)產(chǎn)生器142以及密鑰表143。偽隨機(jī)位產(chǎn)生器142基于輸入密鑰集合產(chǎn)生偽隨機(jī)位,而密鑰調(diào)制器141使用偽隨機(jī)位產(chǎn)生密鑰跳頻序列。密鑰表143包含預(yù)存儲(chǔ)密鑰,并且密鑰調(diào)制器141基于輸入密鑰集合及自密鑰表143選定的預(yù)存儲(chǔ)密鑰產(chǎn)生加密密鑰。密鑰調(diào)制器141可實(shí)施任意適合算法以產(chǎn)生密鑰跳頻序列及加密密鑰。密鑰調(diào)制器141可編程,且經(jīng)由編程密鑰調(diào)制器141,用于產(chǎn)生密鑰跳頻序列及加密密鑰的算法可被改變。偽隨機(jī)位產(chǎn)生器142及密鑰調(diào)制器141可編程,以要求輸入密鑰集合中有較多或較少密鑰,從而增加靈活性并且增強(qiáng)安全性。圖2中解密系統(tǒng)的密鑰處理器24的結(jié)構(gòu)與圖1加密系統(tǒng)的密鑰處理器14的結(jié)構(gòu)類似或相同,圖3所展示的密鑰處理器結(jié)構(gòu)也可用于圖2中解密系統(tǒng)的密鑰處理器24,為簡潔起見,此處不再贅述。加密密鑰及解密密鑰可為相同密鑰且用相同的方法自輸入密鑰集合產(chǎn)生。圖4a及圖4b是展示可重構(gòu)密碼模塊40a/40b的兩個(gè)可選結(jié)構(gòu)的示意圖,上述模塊實(shí)施圖1的密碼集合控制器15及多重加密算法集合部分13或圖2的密碼集合控制器25及多重解密算法集合部分23。在圖4a及圖4b中,可重構(gòu)密碼單元(reconfigurablecryptographyunit,以下簡稱為RCU)控制器42a/42b對(duì)應(yīng)于圖1中的密碼集合控制器15或圖2中的密碼集合控制器25,而RCU44a的集合或帶有復(fù)用器(multiplexer)45及復(fù)用器46的RCU44b對(duì)應(yīng)于圖1中的多重加密算法集合部分13或圖2中的多重加密算法集合部分23。圖4a中的結(jié)構(gòu)采用級(jí)聯(lián)結(jié)構(gòu)(cascadearchitecture),其中若干RCU44a物理地連接為管線。在某些實(shí)施例中,每一個(gè)RCU44a可重構(gòu)以在給定時(shí)間執(zhí)行一組算法中的任意一個(gè),并且可被重新配置以在不同時(shí)間執(zhí)行不同密碼算法。這樣的RCU是可實(shí)施的,因?yàn)樵S多密碼算法具有類似算法元件(algorithmicelement),而RCU可制作為使得RCU在可重構(gòu)以選擇性執(zhí)行多個(gè)算法中的一個(gè)的同時(shí),其硬件電路組件可被許多算法共享?;谳斎氲陌踩燃?jí)參數(shù),R⑶控制器42a配置RCU44a使得每一個(gè)RCU執(zhí)行一個(gè)選定的密碼算法(或不執(zhí)行算法,也就是,某個(gè)RCU可被繞過-bypass)。RCU控制器42a也為每一個(gè)RCU44a提供對(duì)應(yīng)密碼密鑰。以這種方式,對(duì)輸入數(shù)據(jù)執(zhí)行選定序列的密碼算法以產(chǎn)生輸出(加密或解密)數(shù)據(jù)。在級(jí)聯(lián)結(jié)構(gòu)中,某些RCU可為不能重新配置的(也就是,每個(gè)這樣的RCU只執(zhí)行一種密碼算法),并且它們可被RCU控制器44a選取或者繞過以用于特定配置。圖4b中的結(jié)構(gòu)采用使用單一RCU44b的回送(Ioopback)結(jié)構(gòu)。R⑶44b可重構(gòu)以執(zhí)行多重密碼算法中的任意一個(gè)?;谳斎氚踩燃?jí)參數(shù),RCU控制器42b配置RCU44b為RCU提供適當(dāng)?shù)拿艽a密鑰,并基于時(shí)序(onatemporalbasis)控制第一復(fù)用器45及第二復(fù)用器46以形成管線。換句話說,RCU44b被重新配置以每次執(zhí)行一序列選定的密碼算法中的一個(gè),以形成多重處理級(jí)(multipl印rocessingstage),而復(fù)用器45及復(fù)用器46被RCU控制器42b控制以將處理結(jié)果反饋回RCU44b用于下一級(jí)處理。舉例來說,RCU控制器42b首先配置RCU44b以執(zhí)行第一密碼算法以及提供密碼密鑰用于第一密碼算法;與此同時(shí),RCU控制器42b控制第一復(fù)用器45以選取輸入數(shù)據(jù)并且控制第二復(fù)用器46以選取NIL(零)。緩沖器(可位于RCU44b之內(nèi)或分開,未展示在圖4b中)用于緩沖RCU44b的輸出數(shù)據(jù)。隨后,第一級(jí)處理完成后,RCU控制器42b配置RCU44b以執(zhí)行第二密碼算法以及提供密碼密鑰用于第二密碼算法;與此同時(shí),RCU控制器42b控制第一復(fù)用器45以選取被緩沖的RCU44b之前級(jí)(第一)輸出數(shù)據(jù)以及控制第二復(fù)用器46以選取NIL。隨后,第二級(jí)處理完成后,RCU控制器42b配置RCU44b以執(zhí)行第三密碼算法以及提供密碼密鑰用于第三密碼算法;與此同時(shí),RCU控制器42b控制第一復(fù)用器45以選取被緩沖的RCU44b之前級(jí)(第二)輸出數(shù)據(jù)以及控制第二復(fù)用器46以選取RCU44b的當(dāng)前級(jí)(第三)輸出。以這種方式,對(duì)輸入數(shù)據(jù)依選定序列執(zhí)行三種密碼算法以產(chǎn)生輸出(加密或解密)數(shù)據(jù)。RCU44a及RCU44b可以是被配置以執(zhí)行加密或解密的加密單元或解密單元或加密/解密單元。因此可重構(gòu)密碼模塊40a/40b可以是加密模塊或解密模塊,或相同的硬件模塊可以被重新配置以執(zhí)行加密或解密。因此,相同的結(jié)構(gòu)可以被重新配置為在一個(gè)裝置中用于加密,而在另一個(gè)裝置中用于解密,或者被重新配置為在同一個(gè)裝置內(nèi)加密及解密(在不同時(shí)間)。比較圖4a及圖4b中展示的兩個(gè)不同結(jié)構(gòu),級(jí)聯(lián)結(jié)構(gòu)允許可重構(gòu)密碼處理以較快速度執(zhí)行,但其具有較復(fù)雜的結(jié)構(gòu)(較多RCU),這些RCU占據(jù)較多芯片面積。級(jí)聯(lián)結(jié)構(gòu)中的安全等級(jí)也可能有較大限制;舉例來說,重次的數(shù)量被限制為物理管線中RCU的最大數(shù)目值?;厮徒Y(jié)構(gòu)的速度比級(jí)聯(lián)結(jié)構(gòu)的速度慢,但具有比較簡單的結(jié)構(gòu)(只有一個(gè)RCU),從而可以占據(jù)較少芯片面積。因?yàn)榘踩燃?jí)并不受RCU的物理數(shù)量限制,回送結(jié)構(gòu)也比較靈活并且擴(kuò)充性比較好。在回送結(jié)構(gòu)中,RCU44b必須可執(zhí)行由可重構(gòu)及可擴(kuò)充加密/解密方法提供的所有加密/解密算法。在級(jí)聯(lián)結(jié)構(gòu)中,每一RCU44a可執(zhí)行由整個(gè)模塊提供的所有加密/解密算法中的一種或數(shù)種(但并非所有)加密/解密算法。在一個(gè)可選結(jié)構(gòu)中,可重構(gòu)密碼模塊可以包含混合結(jié)構(gòu),所述混合結(jié)構(gòu)包含如圖4a中由多重RCU物理地排列成的級(jí)聯(lián)結(jié)構(gòu)以及如圖4b中具有復(fù)用器的一個(gè)(或多個(gè))RCU排列成的回送結(jié)構(gòu)。在另一個(gè)可選結(jié)構(gòu)中,可重構(gòu)密碼模塊可包含以某種方式連接的多重RCU,以便從一個(gè)RCU到另一個(gè)RCU的數(shù)據(jù)流可經(jīng)由RCU控制器重構(gòu)。在此可選結(jié)構(gòu)中,每一個(gè)RCU可以是可重構(gòu)的或不可重構(gòu)的(也就是只執(zhí)行一種算法),并且RCU控制器重新配置RCU之間的連接順序,以按照一定順序選取部分RCU以及依照要求繞過一些其他RCU。在圖4a及圖4b展示的結(jié)構(gòu)中,RCU控制器42a/42b接收密碼密鑰及安全等級(jí)參數(shù)。除將密碼密鑰供給RCU44a/44b之外,RCU控制器42a/42b也可輸出密碼密鑰到其控制的其他組件(未展示在圖4a及圖4b中);舉例來說,若加密使能熵編碼或譯碼部分被使用,RCU控制器42a/42b可以將密鑰跳頻序列提供給加密使能熵編碼或譯碼部分。圖1至圖4b中的結(jié)構(gòu)可經(jīng)由硬件邏輯(例如,特殊用途集成電路-ApplicationSpecificIntegratedCircuit,ASIC)或執(zhí)行固件/軟件的處理器實(shí)施。RCU44a/44b及RCU控制器42a/42b可整合在同一個(gè)硅基芯片(silicon-on-chip,以下簡稱SoC)結(jié)構(gòu)中??捎糜谇拔乃龅亩嘀卮蚊艽a系統(tǒng)的密碼算法的范例,對(duì)于網(wǎng)絡(luò)通信(例如,應(yīng)用于網(wǎng)絡(luò)數(shù)據(jù)包的加密算法)而言,包含李維斯特密碼法5(RC5)、DES、AES等等;對(duì)于多媒體數(shù)據(jù)內(nèi)容/載體(container)(例如,應(yīng)用于多媒體數(shù)據(jù)的加密算法)而言,包含異或基陣列置亂(XOR-basedarrayscrambling)(離散余弦變換、動(dòng)像偵測(cè)系數(shù)置亂(MEcoefficientscrambling)等等)、選擇性加密、VEA、RPB、多重霍夫曼表(multipleHuffmantable,以下簡稱MHT)、RAC、隨機(jī)熵編碼(randomizedentropycoding,以下簡稱REC)等等。對(duì)于多媒體數(shù)據(jù)的傳輸,上述群組算法中的一個(gè)或多個(gè)可被應(yīng)用于進(jìn)一步加密數(shù)據(jù)以用于網(wǎng)絡(luò)傳輸。前文所述的多重次密碼系統(tǒng)可被用于各種實(shí)際應(yīng)用,包含但不限于電信、網(wǎng)絡(luò)傳輸、數(shù)字內(nèi)容分配及共享、數(shù)字圖像(digitalimage)裝置(例如數(shù)碼相機(jī))、內(nèi)容展示裝置(包含行動(dòng)播放裝置)、數(shù)據(jù)存儲(chǔ)等等。圖5是展示多重次加密/解密合并系統(tǒng)的多媒體數(shù)據(jù)處理系統(tǒng)50的一個(gè)應(yīng)用范例的示意圖。多媒體數(shù)據(jù)處理系統(tǒng)50可以實(shí)施在SoC結(jié)構(gòu)中。圖5的可重構(gòu)密碼模塊51對(duì)應(yīng)于圖4a及圖4b的可重構(gòu)密碼模塊40a/40b。多媒體編碼譯碼器52執(zhí)行熵編碼或者譯碼。多媒體編碼譯碼器52從可重構(gòu)密碼模塊51處獲得一些參數(shù)。密鑰處理器53(可對(duì)應(yīng)于圖1及圖2的密鑰處理器14/24)基于輸入密鑰集合產(chǎn)生加密或解密密鑰。表ROM55存儲(chǔ)碼表(codetable)及其他參數(shù)用于執(zhí)行加密使能熵編碼及譯碼。ROM數(shù)據(jù)仲裁器(dataarbiter)54提供存儲(chǔ)在表ROM55中的ROM數(shù)據(jù)的排列及隨機(jī)化(permutationandrandomization)。表ROM55、ROM數(shù)據(jù)仲裁器54及多媒體編碼譯碼器52實(shí)施加密使能熵編碼或譯碼方法,其中多媒體編碼譯碼器52可對(duì)應(yīng)于圖1中的加密使能熵編碼部分12與圖2中的加密使能熵譯碼部分22。多媒體數(shù)據(jù)處理系統(tǒng)50的其他組件,也就是,處理器、基帶處理器及靜態(tài)隨機(jī)存儲(chǔ)器/同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SRAM/SDRAM)是典型地常見多媒體數(shù)據(jù)處理系統(tǒng)中的組件并執(zhí)行常見功能。圖6是依本發(fā)明的密碼方法的流程圖。如圖6所示,密碼系統(tǒng)接收輸入數(shù)據(jù)(S601),密碼控制器接收輸入密鑰集合及一個(gè)或多個(gè)安全等級(jí)參數(shù)(S602),如前文所述,安全等級(jí)參數(shù)本身可以是加密的。隨后,基于輸入密鑰集合,經(jīng)由密碼控制器產(chǎn)生多個(gè)密碼密鑰(S603),也就是,在密鑰表中預(yù)載多個(gè)預(yù)存儲(chǔ)的密鑰并基于輸入密鑰集合及從密鑰表選定的多個(gè)預(yù)存儲(chǔ)的密鑰產(chǎn)生多個(gè)密碼密鑰,并且當(dāng)密碼密鑰包含多個(gè)密鑰跳頻序列時(shí),基于輸入密鑰集合產(chǎn)生多個(gè)偽隨機(jī)位以及使用多個(gè)偽隨機(jī)位產(chǎn)生多個(gè)密鑰跳頻序列。當(dāng)執(zhí)行加密算法時(shí),經(jīng)由冗余移除部分對(duì)輸入視頻數(shù)據(jù)執(zhí)行空間冗余和/或時(shí)間冗余移除,隨后經(jīng)由熵編碼部分對(duì)冗余移除的視頻數(shù)據(jù)執(zhí)行熵編碼。隨后,對(duì)輸入數(shù)據(jù)以選定序列執(zhí)行多個(gè)選定的密碼算法,其中多個(gè)選定的密碼算法、或選定序列、或多個(gè)選定的密碼算法及選定序列經(jīng)由多個(gè)安全等級(jí)參數(shù)決定,并且使用多個(gè)密碼密鑰來執(zhí)行多個(gè)選定的密碼算法(S604)。當(dāng)執(zhí)行解密算法時(shí),經(jīng)由熵譯碼部分對(duì)加密的視頻數(shù)據(jù)執(zhí)行熵譯碼,隨后經(jīng)由冗余恢復(fù)部分對(duì)譯碼的視頻數(shù)據(jù)執(zhí)行空間冗余和/或時(shí)間冗余恢復(fù)。經(jīng)由對(duì)于用戶的不同需求使用不同算法集合,前文所述的可重構(gòu)密碼系統(tǒng)結(jié)構(gòu)及方法實(shí)現(xiàn)可擴(kuò)充的安全等級(jí)。系統(tǒng)提供多重不同保護(hù)機(jī)制,并在分配及共享期間在多重可能弱點(diǎn)處保護(hù)數(shù)據(jù)。本發(fā)明增強(qiáng)具有加密功能的當(dāng)前多媒體SoC的靈活性及耐攻擊性,其也經(jīng)由允許設(shè)備制造商及終端用戶在多重次密碼系統(tǒng)中選擇特定安全等級(jí)或指定特殊算法集合來提供數(shù)據(jù)保護(hù)的靈活性。提供相對(duì)少數(shù)算法的系統(tǒng)將占據(jù)相對(duì)小的芯片區(qū)域及消耗相對(duì)低的功率,但具有相對(duì)高的風(fēng)險(xiǎn);而提供相對(duì)多數(shù)算法的系統(tǒng)具有相反的利弊。盡管前文所述的實(shí)施例中使用視頻及圖像數(shù)據(jù)作為范例,可重構(gòu)及可擴(kuò)充加密/解密方法也可被應(yīng)用于其他類型的數(shù)據(jù)。以上所述僅為本發(fā)明的較佳實(shí)施例,本領(lǐng)域相關(guān)的技術(shù)人員依據(jù)本發(fā)明的精神所做的等效變化與修改,都應(yīng)當(dāng)涵蓋在權(quán)利要求書內(nèi)。權(quán)利要求一種密碼系統(tǒng),其特征在于包含多重密碼算法集合部分,所述多重密碼算法集合部分可重構(gòu),以對(duì)輸入數(shù)據(jù)依選定的序列執(zhí)行多個(gè)選定的密碼算法;以及密碼控制器,接收輸入密鑰集合以及一個(gè)或多個(gè)安全等級(jí)參數(shù),基于所述一個(gè)或多個(gè)安全等級(jí)參數(shù),所述密碼控制器重新配置所述多重密碼算法集合部分,以依所述選定的序列執(zhí)行所述多個(gè)選定的密碼算法,基于所述輸入密鑰集合,所述密碼控制器進(jìn)一步產(chǎn)生一個(gè)或多個(gè)密碼密鑰并將所述一個(gè)或多個(gè)密碼密鑰提供給所述多重密碼算法集合部分,用于執(zhí)行所述多個(gè)選定的密碼算法。2.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,所述多個(gè)密碼算法是多個(gè)加密算法,所述密碼系統(tǒng)進(jìn)一步包含冗余移除部分,用于對(duì)輸入視頻數(shù)據(jù)執(zhí)行空間和/或時(shí)間冗余移除;以及熵編碼部分,用于對(duì)經(jīng)由所述冗余移除部分輸出的視頻數(shù)據(jù)執(zhí)行熵編碼,其中所述多重密碼算法集合部分對(duì)經(jīng)由所述熵編碼部分輸出的視頻數(shù)據(jù)執(zhí)行所述多個(gè)加密算法。3.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,所述多個(gè)密碼算法是多個(gè)解密算法,所述密碼系統(tǒng)進(jìn)一步包含熵譯碼部分,用于對(duì)所述多重密碼算法集合部分輸出的視頻數(shù)據(jù)執(zhí)行熵譯碼;以及冗余恢復(fù)部分,用于對(duì)所述熵譯碼部分輸出的視頻數(shù)據(jù)執(zhí)行空間冗余和/或時(shí)間冗余恢復(fù)。4.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,所述多重密碼算法集合部分包含一個(gè)或多個(gè)密碼單元,每個(gè)密碼單元實(shí)施一個(gè)或多個(gè)密碼算法且所述密碼單元可重構(gòu)以執(zhí)行所述一個(gè)或多個(gè)密碼算法中的任意一個(gè)。5.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,所述多重密碼算法集合部分包含連結(jié)為管線的多個(gè)密碼單元,每個(gè)密碼單元實(shí)施一個(gè)或多個(gè)密碼算法且所述密碼單元可重構(gòu)以執(zhí)行所述一個(gè)或多個(gè)密碼算法中的任意一個(gè),以及其中所述密碼控制器重新配置每個(gè)密碼單元以執(zhí)行所述多個(gè)選定的密碼算法中的一個(gè),或者不執(zhí)行密碼算法。6.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,所述多重密碼算法集合部分包含密碼單元,實(shí)施多個(gè)密碼算法且所述密碼單元可重構(gòu)以執(zhí)行所述多個(gè)密碼算法中的任意一個(gè);以及第一復(fù)用器及第二復(fù)用器,所述第一復(fù)用器連接于所述密碼單元之前,所述第二復(fù)用器連接于所述密碼單元之后,其中所述密碼控制器重新配置所述密碼單元,用于依所述選定的序列每次執(zhí)行所述選定的多個(gè)密碼算法中的一個(gè),以形成多重處理級(jí),以及控制所述第一復(fù)用器及所述第二復(fù)用器,以將一級(jí)的輸出反饋回所述密碼單元用于下一級(jí)。7.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,所述密碼控制器使用可編程算法以產(chǎn)生所述多個(gè)密碼密鑰,并且所述密碼控制器是可編程的,以要求所述輸入密鑰集合中有不同數(shù)目的輸入密鑰。8.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,所述密碼控制器包含密鑰處理器,接收所述輸入密鑰集合,用于產(chǎn)生所述多個(gè)密碼密鑰;以及密碼集合控制器,接收所述多個(gè)安全等級(jí)參數(shù),用于基于所述多個(gè)安全等級(jí)參數(shù)重新配置所述多重密碼算法集合部分,所述密碼集合控制器自所述密鑰處理器接收所述多個(gè)密碼密鑰,并且基于所述多個(gè)安全等級(jí)參數(shù)選擇性地將所述多個(gè)密碼密鑰提供給所述多重密碼算法集合部分。9.如權(quán)利要求8所述的密碼系統(tǒng),其特征在于,所述密鑰處理器包含密鑰表,包含多個(gè)預(yù)存儲(chǔ)的密鑰;以及密鑰調(diào)制器,用于基于所述輸入密鑰集合及所述密鑰表選定的所述多個(gè)預(yù)存儲(chǔ)的密鑰產(chǎn)生所述多個(gè)密碼密鑰。10.如權(quán)利要求9所述的密碼系統(tǒng),其特征在于,所述多個(gè)密碼密鑰包含多個(gè)密鑰跳頻序列,所述密鑰處理器進(jìn)一步包含偽隨機(jī)位產(chǎn)生器,用于基于所述輸入密鑰集合產(chǎn)生多個(gè)偽隨機(jī)位,其中所述密鑰調(diào)制器使用所述多個(gè)偽隨機(jī)位產(chǎn)生所述多個(gè)密鑰跳頻序列,其中所述多個(gè)偽隨機(jī)位經(jīng)由所述偽隨機(jī)位產(chǎn)生器產(chǎn)生。11.如權(quán)利要求9所述的密碼系統(tǒng),其特征在于,所述密鑰調(diào)制器是可編程的。12.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,經(jīng)由所述多重密碼算法集合部分執(zhí)行的所述多個(gè)密碼算法自群組中選取,所述群組包含李維斯特密碼法5、數(shù)據(jù)加密標(biāo)準(zhǔn)、高級(jí)加密標(biāo)準(zhǔn)、異或基陣列置亂、選擇性加密、視頻加密算法、隨機(jī)旋轉(zhuǎn)分區(qū)、多重霍夫曼表、隨機(jī)算術(shù)編碼、隨機(jī)熵編碼以及加密使能熵編碼/譯碼。13.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,經(jīng)由所述多重密碼算法集合部分執(zhí)行的所述多個(gè)密碼算法包含一個(gè)或多個(gè)用于多媒體內(nèi)容的密碼算法,以及一個(gè)或多個(gè)用于網(wǎng)絡(luò)通信的密碼算法。14.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,經(jīng)由所述密碼控制器接收的所述一個(gè)或多個(gè)安全等級(jí)參數(shù)是加密的,并且所述密碼控制器解密所述多個(gè)安全等級(jí)參數(shù)。15.如權(quán)利要求1所述的密碼系統(tǒng),其特征在于,所述多重密碼算法集合部分及所述密碼控制器整合在同一硅基芯片結(jié)構(gòu)中。16.一種密碼方法,實(shí)施于密碼系統(tǒng),其特征在于所述密碼方法包含(a)接收輸入數(shù)據(jù);(b)接收輸入密鑰集合及一個(gè)或多個(gè)安全等級(jí)參數(shù);(c)基于所述輸入密鑰集合產(chǎn)生多個(gè)密碼密鑰;以及(d)對(duì)所述輸入數(shù)據(jù)以選定序列執(zhí)行多個(gè)選定的密碼算法,其中所述多個(gè)選定的密碼算法、或所述選定序列、或所述多個(gè)選定的密碼算法及所述選定序列經(jīng)由所述多個(gè)安全等級(jí)參數(shù)決定,并且其中所述多個(gè)選定的密碼算法使用所述多個(gè)密碼密鑰來執(zhí)行。17.如權(quán)利要求16所述的密碼方法,其特征在于,在步驟(d)之前,所述密碼方法進(jìn)一步包含(e)對(duì)所述輸入視頻數(shù)據(jù)執(zhí)行空間冗余和/或時(shí)間冗余移除;以及(f)對(duì)經(jīng)由步驟(e)產(chǎn)生的視頻數(shù)據(jù)執(zhí)行熵編碼,其中步驟(d)中的所述多個(gè)密碼算法是多個(gè)加密算法,并且所述多個(gè)密碼算法執(zhí)行于經(jīng)由步驟(f)產(chǎn)生的視頻數(shù)據(jù)。18.如權(quán)利要求16所述的密碼方法,其特征在于,步驟(d)中的所述多個(gè)密碼算法是多個(gè)解密算法,在步驟(d)之后,所述密碼方法進(jìn)一步包含(e)對(duì)經(jīng)由步驟(d)產(chǎn)生的視頻數(shù)據(jù)執(zhí)行熵譯碼;以及(f)對(duì)經(jīng)由步驟(e)產(chǎn)生的視頻數(shù)據(jù)執(zhí)行空間冗余和/或時(shí)間冗余恢復(fù)。19.如權(quán)利要求16所述的密碼方法,其特征在于,步驟(c)包含(cl)在密鑰表中預(yù)載多個(gè)預(yù)存儲(chǔ)的密鑰;以及(c2)基于所述輸入密鑰集合及自所述密鑰表選定的所述多個(gè)預(yù)存儲(chǔ)的密鑰產(chǎn)生所述多個(gè)密碼密鑰。20.如權(quán)利要求19所述的密碼方法,其特征在于,所述多個(gè)密碼密鑰包含多個(gè)密鑰跳頻序列,并且其中步驟(c)進(jìn)一步包含(c3)基于所述輸入密鑰集合產(chǎn)生多個(gè)偽隨機(jī)位;以及(c4)使用所述多個(gè)偽隨機(jī)位產(chǎn)生所述多個(gè)密鑰跳頻序列。21.如權(quán)利要求16所述的密碼方法,其特征在于,所述多個(gè)密碼算法自群組中選取,所述群組包含李維斯特密碼法5、數(shù)據(jù)加密標(biāo)準(zhǔn)、高級(jí)加密標(biāo)準(zhǔn)、異或基陣列置亂、選擇性加密、視頻加密算法、隨機(jī)旋轉(zhuǎn)分區(qū)、多重霍夫曼表、隨機(jī)算術(shù)編碼、隨機(jī)熵編碼以及加密使能熵編碼/譯碼。全文摘要本發(fā)明提供一種密碼系統(tǒng)及密碼方法。其中,所述密碼系統(tǒng)包含多重密碼算法集合部分及密碼控制器。多重密碼算法集合部分可重構(gòu),以對(duì)輸入數(shù)據(jù)依選定的序列執(zhí)行多個(gè)選定的密碼算法;密碼控制器接收輸入密鑰集合以及一個(gè)或多個(gè)安全等級(jí)參數(shù),基于一個(gè)或多個(gè)安全等級(jí)參數(shù),密碼控制器重新配置多重密碼算法集合部分,以依所述選定的序列執(zhí)行所述多個(gè)選定的密碼算法,基于輸入密鑰集合,密碼控制器進(jìn)一步產(chǎn)生一個(gè)或多個(gè)密碼密鑰并將一個(gè)或多個(gè)密碼密鑰提供給多重密碼算法集合部分,用于執(zhí)行多個(gè)選定的密碼算法。利用本發(fā)明可增強(qiáng)數(shù)據(jù)的耐攻擊性,提供數(shù)據(jù)保護(hù)的靈活性。文檔編號(hào)H04L9/14GK101882993SQ20101012612公開日2010年11月10日申請(qǐng)日期2010年2月26日優(yōu)先權(quán)日2009年5月4日發(fā)明者周文生,張毓麟申請(qǐng)人:聯(lián)發(fā)科技(新加坡)私人有限公司