TWI410104B - 密碼演算法之密碼更新方法與裝置、種子產生方法與裝置,與其安全處理器及記錄載體 - Google Patents

密碼演算法之密碼更新方法與裝置、種子產生方法與裝置,與其安全處理器及記錄載體 Download PDF

Info

Publication number
TWI410104B
TWI410104B TW098146438A TW98146438A TWI410104B TW I410104 B TWI410104 B TW I410104B TW 098146438 A TW098146438 A TW 098146438A TW 98146438 A TW98146438 A TW 98146438A TW I410104 B TWI410104 B TW I410104B
Authority
TW
Taiwan
Prior art keywords
code
algorithm
seed
decryption algorithm
encryption algorithm
Prior art date
Application number
TW098146438A
Other languages
English (en)
Other versions
TW201031166A (en
Inventor
Patrick Soquet
Original Assignee
Viaccess Sa
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Viaccess Sa filed Critical Viaccess Sa
Publication of TW201031166A publication Critical patent/TW201031166A/zh
Application granted granted Critical
Publication of TWI410104B publication Critical patent/TWI410104B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26606Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/26613Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence

Description

密碼演算法之密碼更新方法與裝置、種子產生方法與裝置,與 其安全處理器及記錄載體
通常,密碼演算法用於透過密鑰K對資料D之片段進行加密藉以獲得密碼D*,或透過密鑰K對密碼D*進行解密藉以獲得資料D之片段。當在電子計算機上執行密碼演算法時,這種密碼演算法要與可執行或可翻譯之代碼相應。此處,已預先對將要執行之代碼進行編譯,藉以使電腦可直接執行這些代碼。而當代碼被翻譯為指令並執行時,可對此代碼進行翻譯。其中,可透過如〞虛擬機〞,例如透過太陽微系統公司所生產之JAVA語言將代碼翻譯為可執行的指令。
當代碼可執行或可翻譯時,在最低層面代碼由連續的位元構成。而在這種連續的位元中,可識別出至少N個獨立於資料D之片段的數字常量、密鑰K及密碼D*。而每一數字常量都對應於可執行或可翻譯代碼之指令的運算元或助記符。此處,運算元時一種典型的數值恆定之指令參數。而在最低層面,指令是透過二進位寫成的並在可執行或可翻譯代碼中採用數字常量的形式。因此,指令係對應於底層助記符。
例如,當需要透過加密演算法提升系統之安全水平時,要用到對加密演算法之代碼進行更新的方法。而這種演算法既可以是一種特有的演算法,也可以源於習知演算法,如資料加密標準(Data Encryption Standard,DES)或增強型加密標準(Advanced Encryption Standard,AES)。在這種實例中,系統的安全性取決於密鑰的機密性、演算法及執行參數。
為了更加清楚地理解密碼演算法及相關計數之應用,可參考John Wiley and Sons公司的Bruce Shneier於1996年出版的「應用密碼學」(第二版)。
同時在保守密碼演算法之祕訣上需要多加防範。例如,密碼演算法可被紀錄並單獨執行於密碼破譯法難以破解之安全處理器上。這種安全處理器可對其它不太安全之設備執行加密作業。
盡管加以防範,但有時這種密碼演算法也被發現並為公眾所知曉。由於加密資料之祕密僅依靠於密鑰所供給之加密防護,所以上述狀況會對應用密碼演算法之安全系統構成嚴重的威脅。
在這種狀況中,需要透過用新的密碼演算法進行更換,進而對密碼演算法進行更新。而這種被稱為〞更新演算法〞,同時,被更換的前一種演算法為稱為〞先前演算法〞。同時,分別透過這種更新演算法與先前演算法所進行之加密及解密作業是不兼容的。因此,先前演算法不能用於對透過更新演算法進行解密之密碼加以解密。同時,當兩種演算法應用於相同的未加密片段時,先前演算法與更新演算法無法獲得相同的密碼。
用於更新密碼演算法之代碼的方法常被用於獲取更新的加密演算法代碼。
習知的有幾種更新方法。例如:在第一種方法種,更新密碼演算法之代碼可透過資訊傳輸網路被傳送至安全處理器。而這一過程可應用網路之大量帶寬。此外,對網路上所傳輸之代碼進行監視與密碼分析還可發現更新密碼演算法及其所包含的系統安全性。
而第二種方法係包含有在相同的安全處理器中紀錄更新密碼演算法之若干代碼,藉以作為〞變量〞。而後,在必要時使所用之密碼演算法的代碼在原處失效,並執行預先紀錄之一種變量中的代碼。其中,密碼演算法之變量的啟動對應於接收到啟動消息。因此,由於啟動消息中未包含有更新加密演算法代碼,所以第二種方法無須使用大量帶寬類觸發啟動消息。進而,透過安全處理器對所接收之啟動消息進行監視與密碼分析使得安全處理器自身也無法發現更新加密算法。
但是,由於需要對安全處理器中之密碼演算法之不同變量進行初始化紀錄,因此第二種方法卻需要更多得記憶體資源。同時,若在此安全處理器中所執行之全部代碼為人所知,則也可以獲知密碼演算法的每一變量。
本發明提供了一種密碼演算法之代碼的更新方法,藉以克服習知技術中的缺陷。
本發明之一方面提供了一種密碼演算法之代碼的更新方法,接收隨機抽取之種子,種子之位元數量係至少小於對密碼演算法之N個數字進行編碼所需之位元數量的四倍;對種子進行確定性 擴展,藉以獲取數字序列,數字序列之位於數量至少等於對該密碼演算法之N個數字進行編碼所需之位元數量;由所獲得之數字序列產生N個新數值常數;以及透過N個新數值常數替換密碼演算法之代碼的N個數值常數,藉以獲得更新密碼演算法之代碼。
在這種確定性擴展步驟中,可從種子產生數字序列,其中,當用相同的種子對擴展進行初始化時,所獲取的數字序列也是相同的。
在上述方法中,種子之代碼大小遠小於更新密碼演算法之代碼的大小。實際上,更新演算法之大小至少大於N個內容之大小。因此,這種方法對於帶寬的需求小於透過資訊傳送網路對演算法之所有代碼進行傳送的方法所需要之帶寬。此外,由於種子是隨機抽取的,所以對所接收種子本身進行分析來檢索更新密碼演算法是不夠的。為此,需要知道種子之擴展過程中所應用的演算法。進而,可不必透過資訊傳輸網路對演算法進行傳送。
同時,也不必使用調用密碼演算法之變化幅度的初始儲存。因此本發明所揭露之方法在執行此密碼演算法之處理器上佔用較少的記憶體資源。
不同於啟動密碼演算法之預先紀錄變化的方法,在本發明實施例中,透過安全處理器所執行的代碼不足以在其自身上確定更新後之密碼演算法代碼。為此,也不必知曉已接收到的種子。
最終,N個內容之產生與替換的頻率遠遠小於執行密碼演算 法之頻率。因此,難以發現用於對種子進行擴展並產生N個新數值常數的演算法。例如,難以根據在進行作業時透過安全處理器所產生之訊號所進行之能耗曲線分析、電磁輻射曲線或其它技術試圖進行密碼分析。
本發明實施例之更新方法可包含有下列一種或多種特性:當透過新的數學運算符提供與作業數或數學運算符相對應之每一數值常數時,無須對密碼運算符之代碼指令的執行順序進行調整;若檢測到所接收資訊之第一部分中存在密碼代碼,則可透過此資訊中之第二預定部分或連續接收到的資訊建立種子;若未發現此資訊之第一部分中存在密碼代碼,則可用第一與第二部分中所包含之資料片段終止密碼演算法的更新作業;若未發現此資訊之第一部分中存在密碼代碼,則可用第一與第二部分中所包含之資料片段改變資訊中所包含之資料的整體性;其中該資訊係為授權控制資訊(Entitlement Control Messages,ECM)或授權管理資訊(Entitlement Management Messages,EMM);其中響應獨立於該種子之接收的觸發事件,開始透過N個新數值常數更換密碼演算法之N個數值常數;其中種子之位於數量至少小於用於對N個數值常數進行編碼所需之位元數量的十倍;其中透過用種子進行初始化之假隨機產生器執行確定性擴展;其中N必須大於2並小於10。
因此本發明實施例之更新方法還具有下列優點:可對作業數和/或數學運算符進行替換,而無須對密碼演算法代碼之指令的 執行順序進行調整,因此簡化了更新方法;用密碼代碼表示出資訊第二部分,藉以使種子的傳送更加隱匿;在資訊之密碼演算法中隱藏祕密代碼與種子,藉以在資訊的其它字段中傳送資料,因此即使在種子或祕密代碼包含有密碼冗餘時,也無須對接收器之作業進行調節;響應於與種子之接收過程相獨立的觸發事件啟動對N個內容之替換,進而無須對所接收之包含有種子的資訊進行識別;所使用之種子的位元數量小於對N個數值常數進行編碼之位元數量,藉以接收網路的帶寬。
本發明之一方面提供了一種用於更新密碼演算法之代碼的模組,係包含:子模組,係用於接收隨機抽取的種子,種子之位元大小至少小於對密碼演算法之N個數值常數進行編碼所需之位元數量;決定產生器,係透過種子進行初始化,藉以獲取數字序列,數字序列之位元數量至少等於對密碼演算法之N個數字進行編碼所需之位元數量;以及密碼演算法代碼建立器,係用於由所獲取之數字序列產生N個新數字序列;並透過N個新數字序列代替密碼演算法之N個數字序列,藉以獲得更新密碼演算法。
本發明之另一方面在於提供一種安全處理器,藉以執行或解釋密碼演算法之代碼。而這種安全處理器係包含上述更新模組。
本發明之又一方面在於提供一種透過上述更新方法產生所使用之種子的方法,包含有下列步驟:a)隨機抽取種子,該種子之位元數量至少小於需要進行更新之該碼演算法內N個數值常數編 碼所需之位元數量的四倍;b)當所接收之種子為步驟a)中隨機抽取的一個種子時,透過上述密碼演算法的代碼更新方法產生更新加密演算法代碼或更新解密演算法代碼;c)對與至少一個密碼學方法相關的更新演算法之代碼的穩定性進行檢查;d)若加密演算法之代碼不具備與密碼學方法相關之穩定性,則返回步驟a);以及e)否則,將隨機抽取之種子傳送之接收器,藉以執行密碼演算法之代碼的更新方法。
其中,可對與更新密碼演算法相對應之加密演算法的穩定性進行檢查,藉以透過方法僅使用種子,藉以獲得穩定的密碼演算法。
本發明之又一目的在於提供一種種子產生模組,這種種子產生模組,係包含:產生器,係用於機抽取種子,種子之位元數量至少小於需要進行更新之密碼演算法內N個數值常數編碼所需之位元數量的四倍;子模組,係用於在接收到由產生器所抽取的種子時,上述密碼演算法的代碼更新方法產生更新加密演算法代碼或更新解密演算法代碼;檢測器,係用於檢測與至少一個密碼學方法相關之更新演算法的代碼之穩定性,檢測器用於:若加密演算法之代碼不具備與密碼學方法相關之穩定性,則阻止對隨機產生的該種子進行傳輸;否則將隨機抽取之該種子傳送之接收器,藉以執行密碼演算法之代碼的更新方法。
最後,本發明之又一目的在於提供一種資訊紀錄媒體,係用 於在透過一電子計算機執行該資訊時,執行上述方法。
在下面的說明中,不再對本技術領域中具有通常知識者所共知的特性及功能進行詳述。此外,所應用知技術為適於加繞多媒體內容的訪間系統的技術,對於這項技術可更多資訊,可參考1995年12月21日在比利時布魯賽爾出版的歐洲廣播聯評論第266號「條件式接收系統之功能模組」。
「第1圖」示出了用於在傳輸器4與大量接收器之間傳輸多媒體內容中系統2。其中,這些接收器可透過網路6與傳輸器4相連。例如,網路6可以式透過無線連接設備與接收器相連的衛星網路。
為了簡化圖式,「第1圖」中僅示出了接收器8。可以假設,其它接收器與此接收器8是相同的。
同時,傳輸器4,係包含:密碼模組10,係用於執行密碼演算法,如加密演算法F,藉以對控制字符CW進行加密;資訊產生器12,係用於產生授權控制資訊(Entitlement Control Message,ECM)/授權管理資訊(Entitlement Management Message,EMM);模組14,係產生用於更新演算法F-1之種子,藉以對控制字符CW之密碼CW*進行解密。
其中,密碼模組10還可執行演算法,藉以透過控制字符對多媒體內容進行加密,進而獲取加擾多媒體內容。
同時,密碼模組10與資訊產生器12係連接於多工器15。而此多工器15係用於對透過密碼模組10所產生之加擾多媒體內容與透過資訊產生器12所產生之授權控制資訊與授權管理資訊進行多工處理,藉以獲取多工多媒體內容。進而,可對透過網路6向接收器廣播多工多媒體內容。
此處,密碼模組10、模組14與資訊產生器12可透過資訊傳輸匯流排與記憶體16相連。
其中,此模組14係包含:產生器20,係用於隨機地獲得種子;子模組22,係用於創建與更新演算法F-1相對應之加密演算法F’的執行代碼;以及檢驗器24,係用於增強透過子模組22所創建之加密演算法F’。
此處,若所創建之密碼D*可透過解密演算法進行解密,則加密演算法與解密演算法相對應。在使用同步密碼法的狀況中,加密演算法係為解密演算法之反演算。
其中,子模組22,係包含,決定產生器26,係用於產生一系列數字,這些數字可透過由產生器20所產生之種子進行初始化;以及建立器28,係用於建立與更新演算法F-1相對應的加密演算法F’。
例如,此決定產生器26可為虛擬隨機產生器,即習知的虛擬隨機數字產生器(Pseudo-Random Number Generator,PRNG)。因此,在這種狀況中,〞隨機〞產生數字也被稱為虛擬隨機生產數字。
其中,模組14係由可執行紀錄於資訊紀錄媒體上之指令的電子計算機構成。為此,記憶體16包含有上述指令以及用於執行「第7圖」所示方法的資料。
接收器8包含有多工多媒體內容之譯碼器34,同時,此譯碼器34連接於安全處理器36。
其中,此譯碼器34係包含:解多工器38,用於多多工多媒體內容進行解多工處理;以及加擾器40,係用於透過安全處理器36自身給定之控制字符CW對多媒體內容進行解擾處理。
其中,譯碼器34連接於顯示器42,如電視屏幕,藉以顯示未加密的多媒體內容。此處,〞未加密〞係指顯示於顯示器42上可直接被人理解的多媒體內容。
在具體狀況中,安全處理器36是可拆卸的。因此,此安全處理器36可與譯碼器34進行連接或斷開連接。例如,此安全處理器36可以是一塊晶片卡。
其中,此安全處理器36可包含:密碼模組50,藉以執行用於對密碼CW*進行解密的更新演算法F-1;以及更新模組52,藉以對透過密碼模組50執行指解密演算法進行更新。
此更新模組52具有:與決定產生器26相同的產生器54;建立器56,係用於創建更新後之演算法;以及接收模組57,係用於接收種子。
同時,此密碼模組50、產生器54及建立器56係連接於記憶體58。
其中,安全處理器36係由可執行紀錄於資訊紀錄媒體上之指令的電子計算機構成。為此,記憶體58包含有上述指令以及用於執行「第7圖」所示方法的資料。
同時,傳輸器4可透過加密演算法F在授權控制資訊中獲取傳輸至接收器8之控制字符的密碼CW*。並且,安全處理器36可透過更新演算法F-1對密碼CW*進行解密,藉以獲取而後透過加擾器40所應用之解密後的控制字符CW。此處,加密演算法與解密演算法係為祕密的演算法。
此處,在對系統2進行詳述之前,提供了祕密的加密演算法與解密演算法之實例。
此處,同步密碼法係用於執行加密演算法F與更新演算法F-1。例如,可透過高級加密標準-128(Advanced Encryption Standard-128,AES-128)建立這些演算法。在高級加密標準-128中,所輸入之資料D的片段按128位進行編碼,同時密鑰也按128位進行編碼。由於這種高級加密標準為人所共知,所以本文不再對這種密碼法進行詳述。此處,僅簡單地進行回憶,高級加密標準-128密碼法包含有十個回合Ti,而索引可對回的數量進行指示。同時,回合Ti具體包含有下列步驟:替換作業,其中透過從預紀錄替換表中之另一位元,替換每一位元;向右轉動若干個步長;透過異或運算使位元的線性變化與預定的多項式相結合;以及結合將要進行加密之資料片段的位元與透過異或運算所獲得之密鑰。
其中,第一回合與第二回合之作業可稍微不同於上述過程。
同時,在回合Ti結束後所獲得之中間密碼被稱為D*i,而在整個加密演算法之全部過程結束後所獲得之最終密碼被稱為D*。
此處,透過在回合Ti結束後將函數Fi應用於為中間密碼D*i,可對高級加密標準-128密碼演算法進行調節。而後,下一個回合Ti+1以為代替之中間密碼D*i的輸入,進而D*i+1=Ti+1o Fi(D*i)。換言之,在進行調節之後,加密演算法F如下:
D*=F(D)=F10 o T10 o...o F2 o T2 o F1 o T1(D)
其中,D表示採用未加密形式之資料片段,Ti對應於在高級加密標準-128密碼演算法第i回合中所執行的運算組合,Fi為施加於在回合Ti中所獲得之中間密碼D*i的祕密函數,而符號o表示〞函數合成〞運算。
同時,上述關係中所表示的點與破折號表示未表現出全部公式,藉以簡化其寫法。
同樣,更新演算法F-1可表示為:
D=F-1(D*)=T1-1 o F1-1 o T2-1 o...o T10-1 o F10-1(D*)
其中,〞-1〞係表示相應函數的逆運算。
其中,每一函數Fi係透過組合八個可逆初等函數fi1至fi8而形成。因此,函數可寫成:
Fi(D*i)=fi8 o fi7 o fi6 o fi5 o fi4 o fi3 o fi2 o fi1(D*i)
其中,每一函數fij係由下列八個函數Vk所組成之組群中選取,即:
V0(x,p)=x XOR p
V1(x,p)=x+p
V2(x,p)=x-p
V3(x,p)=x×(2×p+1)
V4(x,p)=rot_left(x,p mod 8)
V5(x,p)=rot_right(x,p mod 8)
V6(x,p)=NOT(x XOR p)
V7(x,p)=x
其中,x與p係為每一函數Vk的可變參數,同時x與p也都是函數Vk的操作數。
同時,函數「mod 8」表示模為8的同餘函數。函數rot_left表示透過模為8之運算P的結果作為步長使資料x之片段的位元傳輸移動。而函數rot_right除了用於向右移動之外與函數rot_left一樣。
而函數XOR與NOT為習知的布林函數。
同時,在函數Fi之定義中,幾個函數fij可以使相等的。
此處,可透過執行記憶體16之地址Adk中所紀錄之指令,來紀錄並執行函數Vk中之可執行代碼。
其中,這些函數Vk(x,p)之可執行代碼在傳送器4之任何使用之前被預先紀錄。
下面,參數pij表示函數fij參數p的值。注意,此函數fij如下:
fij(x)=Vk(x,pij)
其中,指數k與j包含於1和8之間。
也就是說,一旦得知用於定位函數Vk與參數pij之數值之地址Adk,便可全部定義出函數fij。
同時,用於每一函數fij之參數pij的數值及地址Adk在加密演算法F的代碼中為數字常量。而這些數字常量獨立於將要進行加密之資料D的片段以及密鑰K。因此,加密演算法F的代碼包含有用於全部的函數fij以及每一回合Ti進行定義的十八個數字常量。
此處,可在若干個位元組,如兩個位元組上對地址Adk進行編碼。在這一部分中,每一參數pij之數值可編碼於一個位元組上。這意味著:可在三個位元組上對函數fij進行定義。但是,為了限制定義此函數fij所需要位元的數量,可使用表格60(如「第2圖」所示)。此表係包含有第一列,此第一列中包含了函數Vk之地址Adk的識別符IdV。例如,在「第2圖」中,可調用識別符IdV之0、1、2、3、4,其中,根據可執行代碼,可對應於地址Ad1、Ad2、Ad3、Ad4、按二進位模式寫入這些數值。
同時,可在記憶體16中預先紀錄表格60。
此處,雖然應用了表格60,但是僅可在11可位元上紀錄函數fij的定義,用三個位元紀錄識別符IdV之數值,並用八個位元紀錄參數pij之數值。
因此,為了對函數Fi進行定義,最少需要88個位元,這是因為每一Fi係為八個函數fij之合成結果。最後,為了對加密演算法F中所用的一組函數Fi進行定義,最少需要880個位元。
因此,加密演算法F中所用的每一之函數fij之定義被紀錄於間接表62中。「第4圖」示出了間接表62的一個實例。此間接表62為每一個函數fij包含了:識別符,係用於紀錄函數fij之標記;片段之地址Adk,其中定位了函數fij之定義中所用的函數Vk之可執行代碼;以及參數pij的數值。
例如,在「第4圖」中,可透過地址Ad3及參數p11定義函數f11。其中,函數f11如下:
f11(x)=V3(x,p11)
為了簡化「第4圖」,已透過點與破折號替代了被省略之函數fjj的定義。
其中,函數fjj都是可逆的。因此,更新演算法F-1中所用的函數Fi-1(D*i)可表示為:
Fi -1 (D’*i)=fi1 -1 o fi2 -1 o...o fi8 -1 (D’*i )
與對加密演算法所進行之描述相似,可在安全處理器36之記憶體58中所紀錄的間接表64內定義每一函數fij-1。「第5圖」所示了間接表64的一個實例。在應用間接表62之狀況中,此表格係關於每一個函數fij-1;函數fij-1之識別符;以及定位函數Vk與參數pij之數值之可執行代碼的地址Adk。
「第6圖」為其中紀錄了函數Vk-1(x,pij)之記憶體58之一部分的放大圖。為了簡化描述,可假設此函數Vk-1(x,pij)之可執行代碼在記憶體58中所紀錄之地址Adk與記憶體16中所紀錄之Vk(x,pij)之可執行代碼的地址相同。基於這一假設,記憶體58可包含有與表格60相同的轉化表。
下面,將結合「第7圖」中所示之方法對系統2之作業進行描述。起初,階段70係用於廣播多媒體內容。開始,在步驟72中,傳輸器4可產生控制字符CW。
而後,在步驟74中,此控制字符CW可用於對多媒體內容進行加擾或加密。同時,在步驟76中,可透過密碼模組10對控制字符CW進行加密處理,藉以獲取密碼CW*。一旦獲得此密碼CW*,則在於步驟76中,透過資訊產生器12產生包含有密碼的授權控制資訊。
而後,在步驟78中,可透過多工器15對加擾媒體內容及授權控制資訊,可能還有授權管理資訊進行多工處理。
在步驟80中,可透過網路6向所有接收器廣播所獲得之多工多媒體內容。
在步驟82中,接收器8可對此多工多媒體內容進行接收。
而後,在步驟84中,可透過解多工器38對此多工多媒體內容進行解多工處理,向加擾器40傳輸此加擾多媒體內容,並向安全處理器36傳輸授權控制資訊。
在步驟86中,安全處理器36可透過執行更新演算法F-1對密碼CW*進行解密,並向加擾器40傳輸按解密形式獲取之控制字符CW。
在步驟88中,加擾器40可對透過網路6進行傳送至顯示器42的控制字符CW對加擾多媒體內容進行解擾處理。
在步驟90中,可於顯示器42上以為加密形式顯示解擾多媒體內容。
此處,可在規則的間隔中對此控制字符CW進行調整。而未對控制字符CW進行調整的間隔被稱為〞加密週期〞。因此,可在每一加密週期中重複執行步驟72至步驟90。例如,此加密週期所維持的時間可小於20秒,而最好使其小於11秒。
在有必要時,可執行步驟100,藉以產生用於更新加密演算法F以及更新演算法F-1。
在可使執行階段100中,於步驟92的過程中,產生器20可產生新的種子。而此種子的位元大小小於用於對定義函數fjj的數值常數進行編碼所需之880個位元的4倍而最好小於這一數據的10倍或20倍。
此處,種子的大小為16位元。同時,可隨機抽取這16個位元。例如,可從發生於傳輸器4之一個使用者界面上的物理現象對這種隨機抽取進行初始化。例如,可透過鼠標的移動對這種隨機抽取進行初始化。
而後,在步驟104中,可對這種種子進行確定性擴展(deterministic expansion),藉以獲得一系列數字。中這個數字列中位元數量至少等於於用於對定義函數fjj的數值常數進行編碼所需之位元的數量。此處,這種確定性擴展包含有從編碼於16位元上之種子產生一個880位元的序列。為了執行這種擴展,可用在步驟102中所獲得之種子對決定產生器26進行初始化。
而後,在步驟106中,可創建與密碼CW*之更新演算法F-1相對應的加密演算法F’之代碼。為此,可創建新的間接表Tab’,而此間接表Tab’中之數值常數不同於間接表62中之內容。
具體而言,在步驟108中,可產生將要紀錄於此間接表Tab’中之新的數值常數。
為了對產生這些數值常數的過程進行描述,「第8圖」示出了在步驟104後所獲得之數字序列的啟始部分。此處,可按二進位模式寫入此數字序列。因此,這一序列係為連續的0與1。而後,這一序列被劃分為十個分別與函數F1、函數F2…、函數F10相對應的連續的88位元字段。其中,可按相同的方法構建這些字段。此處,可結合第一字段對這種結構進行描述。其中,可將此第一 字段前方的24個位元劃分為8個子字段,並分別將這些子字段標注為:f11、f12、…、f18。而此第一字段餘下的部分被劃分為八個連續的識別符,並分別將這些識別符標注為p11至p18。
其中,每一子字段,函數f1j包含有函數Vk之識別符IdV編碼於三個位元上的數值。同時,每一子字段,識別符p1j包含有識別符p1j之數值。
進而。建立器28可根據函數f1j中所包含之數值並應用表格60,使建立器28依據此函數f1j的數值及識別符p1j對紀錄於兩個字節上之地址進行檢索。進而,此建立器28可透過識別符之數值及,產生兩個新的數值常數,藉以對新的函數f1j。
其中,函數F1之具體狀況中所描述之內容也可被紀錄於另一函數Fi中。
而後,在步驟110中,在步驟108中所產生之新的數值常數被紀錄於獨立於間接表62卻具有相同結構的間接表Tab’中。
在步驟106之步驟112的過程中,檢驗器24可改變所獲得之加密演算法F’的穩定性。例如,可以確定加密演算法F’的穩定性係關於應用密碼中某種形式之位元的出現頻率的密碼學方法。為此,檢驗器24可應用加密演算法F’,藉以透過預定的密鑰K對資料之預定片段進行加密,藉以獲得密碼D*。而後,此檢驗器24可改變密碼D*中0位元與1位元的隨機分佈。為此,可採用以下文獻中所述的不同改變方法,美國商務部所屬國家標準暨科技研 究所於1994年1月11日所頒佈的聯邦資訊處理標準(FIPS,Federal Information Processing Standard Publication)140-1。
具體而言,此處所用之測試或檢查方法與上述文獻之第4.11.1段所記載之方法相同,藉以對透過假隨機數產生器所產生之位元序列中的位元之隨機分佈進行測試(請參見上述文獻第43頁所記載之標題為〞統計隨機數產生器測試〞的一節)。
在步驟112中,可對此識別符進行測試,即確定此密碼D*不同於資料D的片段。
為了執行這些測試,當前使用之所選擇的密鑰K可用於執行控制字段CW的加密。
若在步驟112中所使用之測試中的一個測試不是另人滿意的,則可返回步驟102。否則,所使用的種子可建立穩定的加密演算法。在這種狀況中,可在步驟114內將間接表Tab’與種子紀錄於傳送器中。在步驟114中,還可透過隱匿訊道上的網路6將所產生的種子傳送至安全處理器36。但是,只要顯示過程中不使用觸發元素,則不使用此間接表Tab’。
而後,當顯示過程中不使用觸發元素時,可執行步驟116,其中可透過間接表Tab’替代間接表62。在步驟116中,此方法可返回階段70。因此,在重新執行步驟70的過程中,可用重新分配的加密演算法F’替代先前使用的加密演算法F。
此處,可透過包含有特定代碼之授權控制資訊對觸發元素進 行傳送,其中這些特定代碼可觸發安全處理器36中加密演算法之更新過程。
同時,在階段100之步驟120中,安全處理器36可執行更新演算法F-1的更新。在步驟122開始時,安全處理器36可接受透過傳輸器4在步驟114中所傳送來的種子。而後,在步驟124中,可對種子進行紀錄。但是,只要顯示過程中不使用觸發元素,則不使用此種子。
在步驟126中,安全處理器36可獲取此觸發元素。例如,此安全處理器36可接受包含有某種指令的授權控制資訊,而這種指令係用於更新解密演算法。
進而,在步驟128中,影響觸發元素的請求,產生器54可對所接受到的種子執行確定性擴展。而此步驟128與步驟140相同,藉以按同樣的方式獲取數字序列。
而後,在步驟130中,對應於加密演算法F’的更新演算法F-1之代碼可形成一個數字序列。而在步驟132中,可產生紀錄於間接表64中之新的數值常數。此處,步驟132係等同於步驟108。
在步驟134中,間接表64內所包含之每一數值常數可透過對應於步驟132中所產生之新的相應數值常數進行替換。因此,在步驟130結束後,已透過更新解密演算法F’-1之代碼替代了更新演算法F-1的代碼。
而後,這一作業可返回階段70。因此,在重新執行階段70 時,可透過替代更新演算法F-1的更新解密演算法F’-1對密碼CW*進行解密。
下面,對從傳輸器4傳送到接收器8之種子的傳送過程進行描述。為此,透過「第9圖」簡單地對授權控制資訊的結構進行回憶。其中,此授權控制資訊包含有:欄位140,係包含密碼CW*,以及欄位142,係包含有訊符或被稱為訊符MAC的加密冗餘。例如,此訊符可被紀錄於126個位元上。同時,此訊符可改變資訊的整體性。其中,可透過在資訊之資料的其它片段上加擾預定的訊符功能而形成此訊符。例如,可透過向包含於相同授權控制資訊之資料中其它片段的位於應用散列函數並對此密碼CW*之位元進行計數而形成此訊符MAC。
在本文中,可參照「第10圖」對透過安全處理器36於隱匿訊道上接收種子及觸發元素的過程進行描述,其中可在128個位元上對種子進行編碼。
起初,在步驟150中,安全處理器36可計算出所接收之授權控制資訊的訊符MAC。為此,可將傳輸器4所使用之相同的訊符功能施加於授權控制資訊的資料。
進而,在步驟152中,可對所形成之訊符MAC與授權控制資訊的欄位142中所包含的訊符進行比較。
若這些訊符相同,則本發明實施例可執行步驟152,藉以透過安全處理器36對此授權控制資訊進行處理。而這種處理過程還包含:若記憶體58中所包含的訪問標題與所接收到之授權控制資訊的條件相對應,則對密碼CW*進行解密處理。
否則,在步驟156中,可透過異或運算對訊符與訊符進行逐位元組地合併。進而,將合併結果所對應的16個位元組分別紀錄於剩下的寄存器RES[0]至RES[15]中。
在步驟158中,可對紀錄於剩下的但是寄存器中的位元組是否等於第一預定值進行檢查。例如,可使i為從0至7的數值,而進行下列比較:RES[2 i]=0xA5,其中0xA5為按十六位進制表示的預定值。
其中,當所有比較值相等時,可執行步驟160,其中包含於具有奇數組索引值之寄存器RES[2 i+1]中所包含之數值被分別紀錄於寄存器SEED[i],其中i之範圍是0至7。而後,在步驟160中,在安全處理器36中對所接收到的授權控制資訊進行正常處理。
而當步驟158中進行比較之寄存器不與第一預定值相對應時,可進行步驟162,藉以對寄存器RES[2xi]與預定值,如:0x5A進行比較,其中i之範圍是0至7。若所有比較寄存器都等於0x5A,則可執行步驟164,在步驟164中,寄存器RES[2 i+1]中所包含之數值被分別紀錄於寄存器SEED[8+i],其中i之範圍是0至7。同時,在步驟164中,可透過安全處理器36對所接收到的授權控制資訊進行正常處理。
當在步驟162中進行比較之寄存器不等於第二預定值時,可執行步驟166,藉以對寄存器與第三比預定值,如00x00進行比較,其中i之範圍是0至7。若所有比較寄存器都等於此第三預定值,則可執行步驟168,藉以對授權控制資訊進行處理。此外,進行步驟168之過程對應於獲取觸發元素。換言之,在本發明實施例中,步驟168與步驟162相對應。因此,步驟168可對「第7圖」中階段120所描述的安全處理器36中之解密演算法的繼續更新進行授權。
否則,便意味著所接收到的授權控制資訊出現錯誤,進而,在步驟170中,安全處理器36可對錯誤進行報告並且不對授權控制資訊進行處理。
同時,可將用於在隱匿訊道上傳送種子或觸發元素的方法引入「第10圖」中所描述的接收方法。下面,將對這種方法進行更為詳盡地描述。
此處,還可使用多種其它的實施例。例如,此安全處理器36可以不可拆卸地集成於加擾器40或譯碼器34上。同時,安全處理器36還可以使可調節的軟體模組,藉以對密碼翻譯法形成比譯碼器34之軟體的其它部分更大的阻抗。
同時,網路6既可以是有線網路,也可以是分封交換網路,如:互聯網路。
在本文所描述之狀況中,記憶體16與58可獲取函數Vk之可執行代碼。這種代碼可透過密碼模組10與密碼模組50直接執行。當發生變化時,可透過函數Vk之解釋碼替換這些可執行代碼。在這種狀況中,密碼模組10與密碼模組50分別具有解釋器180與解釋器182(如「第1圖」所示),藉以對代碼進行解釋。因此,在這種變化中,密碼模組係包含:解釋器,藉以對透過控制器所建立之更新演算法的代碼進行解釋。
在本發明另一實施例中,可透過相同函數之源代碼替代函數Vk之可執行代碼。在這種狀況中,建立器28與記憶體16可分別包含有編譯器184與編譯器186(如「第1圖」所示)。此外,在進行由於建立更新演算法之步驟中,這些編譯器184與186可對用於定義函數fij之函數Vk所對應的源代碼進行編譯。因此,建立器28與決定產生器26分別產生可透過與更新演算法相對應的密碼模組10和密碼模組50執行的更新代碼。
同時,多數密碼演算法都包含有數字操作數,這些數字操作數獨立於將要進行加密或解密處理的資料D之片段以及為此所使用的密鑰。例如:操作數AES及DES可包含有置換表與替換表或者S寄存器。而其它密碼操作數可使用索引表或轉換表。其中,上述表都採用包含有預定數值的矩陣形式。而這些數值可以是切換作業、交換作業、替換作業、索引作業或轉換作業的操作數。同時,可於這些密碼運算符中建立作為消隱掩碼或者作為係數或數學計算中之常數的其它操作數。為了對這種帶有作業數之演算法進行更新,還可透過新的作業數部分或整體地替換這些作業數。為此,可進行上述運算,藉以更換「第7圖」所示之參數pjj。
為了對密碼演算法進行更新。可替換獨立於將要進行加密或解密處理之資料片段以及所用之密鑰的演算法之數學操作數。在低等級語言中,這些數學操作數可分別對應於與透過電子計算機直接執行或進行解釋的指令相對應的助記符。同時,函數Vk之運算符〞XOR〞、〞NOT〞、〞+〞、〞-〞、〞x〞、〞rot_left〞及〞rot_right〞、〞mod〞係位透過傳送器或計數器之電腦所執行的指令集中指令之助記符相對應的運算符的實例。同時,還具有其它數學運算符,例如:〞AND〞運算符與〞OR〞運算符。「第1圖」所示之系統中用到的加密運算符之具體狀況中已對此方法進行了描述。實際上,當對每一加密演算法進行更新時,可透過其它運算符替換函數fij中之運算符。
為了對密碼演算法之代碼進行更新,可再對代碼的指令進行更換,而不是數學運算符進行更換。例如,可對〞JUMP〞、〞CALL〞或〞NOP〞指令進行更換。為了對此進行明示,下面示出了按組合語言寫成的代碼之實例:
0x00 JUMP 0x10
[Code of the function V0]
0x10 JUMP 0x20
[Code of the function V1]
0x20 JUMP 0x30
[Code of the function V2] 0x30 JUMP 0x40…
依據所接收到的種子之數值,可透過NOP指令替代JUMP指令。例如,若透過NOP指令替代位於線0x10上之JUMP指令,則電腦可強行執行與函數V1相對應的代碼。進而,可對密碼演算法之代碼進行更新,而無須對數字運算符及作業數進行調整。當透過其它指令替代這些指令時,只要當僅替換了數字運算符及作業數時,便可對代碼執行流程進行常規調整,而這並不屬於常規狀況。
為了建立更新後的密碼演算法,可對運算符進行替換,可對數字作業數進行替換,也可不對運算符或作業數進行替換而是替換指令,也可以對上述几種替換進行任意組合。
其中,最好僅對構成密碼演算法之代碼的一部分數值常數進行替換。但是為獲得更新密碼演算法所更換的內容數量必須很大,既最好大於2、10或50。其中,所更換之數值常數越多,越難以根據先前之密碼演算法上的資訊發現更新後之密碼演算法。
當發生變化時,可將祕密代碼送入一筆資訊中,藉以在如〞隱匿訊道上傳送至處理器。而此隱匿代碼可通知處理器:種子上的資料已包含於預定的連續資訊中。因此,無須使此祕密代碼與種子上的資料位於相同的資訊中。
在對安全處理器36所使用至解密演算法代碼進行更新的狀況中,上述方法也可用於更新安全處理器36所使用的解密演算法G。在這種狀況中,在執行階段100時,透過建立器28所建立的與解密演算法G所對應之演算法即是解密演算法G本身。
同時,在更新用於加密並解密控制字符的演算法之特定狀況中所描述的方法也可應用於對授權控制資訊與授權管理資訊等資訊之訊符進行標記與改變的密碼演算法中。
而且,在應用同步密碼演算法之狀況中所描述的方法也可應用於異步加密演算法。
2...系統
4...傳輸器
6...網路
8...接收器
10...密碼模組
12...資訊產生器
14...模組
15...多工器
16...記憶體
20...產生器
22...子模組
24...檢驗器
26...決定產生器
28...建立器
34...譯碼器
36...安全處理器
38...解多工器
40...加擾器
42...顯示器
50...密碼模組
52...更新模組
54...產生器
56...建立器
57...接收模組
58...記憶體
60...表格
62...間接表
64...間接表
140...欄位
142...欄位
180、182...解釋器
184、186...編譯器
CW*...密碼
MAC...訊符
第1圖為用於在傳送器與接收器之間傳送加擾多媒體內容的系統之示意圖;第2圖為第1圖所示之系統的傳送器與接收器中所用之轉換表的示意圖;第3圖為第1圖所示之系統的傳送器之記憶體的內容;第4圖與第5圖分別為第1圖所示之系統內傳送器與接收器所使用之表格的示意圖;第6圖為第1圖所示之系統內接收器之記憶體的內容;第7圖為用於對加擾多媒體內容進行傳送之方法的流程圖,此流程圖示出了用於更新密碼演算法之階段以及用於產生更新代碼之種子的階段;第8圖為從決定產生器獲得之數字序列的示意圖;第9圖為與授權控制資訊(Entitlement Control Message,ECM)相對應之資訊框的示意圖;以及第10圖為第1圖所示之系統內傳送器與接收器之間透過隱匿訊道傳送資料之方法的流程圖。

Claims (15)

  1. 一種加密演算法或解密演算法的代碼更新方法,用以將一代碼可透過電子計算機執行或解釋,一加密演算法可透過一密鑰對一資料之片段進行解密,藉以獲得一密碼,而一解密演算法可透過一密鑰對一密碼進行解密,藉以獲得一解密資料之片段,其中,該代碼至少包含有N個數值常數,每一數值常數係對應於該代碼之一指令的一助記符或一操作數,同時,該等數值常數之數值獨立於該資料之片段、該密鑰以及該密碼,這種代碼更新方法係包含:接收隨機抽取之一種子,該種子之位元數量係至少小於對該加密演算法或解密演算法之N個數字進行編碼所需之位元數量的四倍;對該種子進行確定性擴展,藉以獲取一數字序列,該數字序列之位於數量至少等於對該加密演算法或解密演算法之N個數字進行編碼所需之位元數量;由所獲得之該數字序列產生N個新數值常數;以及透過該N個新數值常數替換該加密演算法或解密演算法之代碼的該N個數值常數,藉以獲得一更新加密演算法或解密演算法之代碼。
  2. 如請求項第1項所述之加密演算法或解密演算法的代碼更新方法,其中所述各數值常數係對應於一操作數或對應於一數學運 算符,當透過一新數學運算符代替該數學運算符時,不改變該加密演算法或解密演算法之打磨指令的執行順序。
  3. 如請求項第1項或第2項中之一項所述之加密演算法或解密演算法的代碼更新方法,其中若檢測到所接收的一資訊中之一第一部分中帶有一祕密代碼,則用該資訊之一第二部分中所包含之資料片段或連續接收到的一資訊建立該種子;以及若為檢測到所接收的該資訊中之第一部分中帶有該祕密代碼,則使用該資訊之第一部分及第二部分中所包含之該資料的片段終止作業,而不對該加密演算法或解密演算法進行更新。
  4. 如請求項第3項所述之加密演算法或解密演算法的代碼更新方法,其中若未檢測到該祕密代碼,則用該第一部分及第二部分中所包含之該資料的片段改變該資訊中所包含之該資料的整體性。
  5. 如請求項第3項所述之加密演算法或解密演算法的代碼更新方法,其中該資訊係為一授權控制資訊(Entitlement Control Messages,ECM)或一授權管理資訊(Entitlement Management Messages,EMM)。
  6. 如請求項第1項或第2項所述之加密演算法或解密演算法的代碼更新方法,其中響應獨立於該種子之接收的一觸發事件,開 始透過該N個新數值常數更換該加密演算法或解密演算法之該N個數值常數。
  7. 如請求項第6項所述之加密演算法或解密演算法的代碼更新方法,其中該觸發事件係為傳送一授權控制資訊,該授權控制資訊包含一特定代碼,該特定代碼能夠透過產生的該N個新數值常數觸發該加密演算法或解密演算法之該N個數值常數之更換。
  8. 如請求項第1項或第2項所述之加密演算法或解密演算法的代碼更新方法,其中該種子之位於數量至少小於用於對該N個數值常數進行編碼所需之位元數量的十倍。
  9. 如請求項第1項或第2項所述之加密演算法或解密演算法的代碼更新方法,其中透過用該種子進行初始化之一假隨機產生器執行該確定性擴展。
  10. 如請求項第1項或第2項所述之加密演算法或解密演算法的代碼更新方法,其中N必須大於2並小於10。
  11. 一種加密演算法或解密演算法的代碼更新模組,用以將一代碼可透過電子計算機執行或解釋,一加密演算法可透過一密鑰對一資料之片段進行解密,藉以獲得一密碼,而一解密演算法可透過一密鑰對一密碼進行解密,藉以獲得一解密資料之片段,其中,該代碼至少包含有N個數值常數,每一數值常數係對應於該代碼之一指令的一助記符或一操作數,同時,該等數值常 數之數值獨立於該資料之片段、該密鑰以及該密碼,該代碼更新模組,係包含:一子模組,係用於接收隨機抽取的一種子,該種子之位元大小至少小於對該加密演算法或解密演算法之N個數值常數進行編碼所需之位元數量;該決定產生器,係透過該種子進行初始化,藉以獲取一數字序列,該數字序列之位元數量至少等於對該加密演算法或解密演算法之N個數字進行編碼所需之位元數量;以及一密碼演算法代碼建立器,係用於由所獲取之數字序列產生N個新數值常數;並透過該N個新數值常數代替該加密演算法或解密演算法之代碼的N個數值常數,藉以獲得一更新加密演算法或解密演算法之代碼。
  12. 一種加密演算法或解密演算法的安全處理器,用以將一代碼可透過電子計算機執行或解釋,一加密演算法可透過一密鑰對一資料之片段進行解密,藉以獲得一密碼,而一解密演算法可透過一密鑰對一密碼進行解密,藉以獲得一解密資料之片段,其中,該代碼至少包含有N個數值常數,每一數值常數係對應於該代碼之一指令的一助記符或一操作數,同時,該等數值常數之數值獨立於該資料之片段、該密鑰以及該密碼,該安全處理器,係用於更換如請求項第11項所述代碼更新模組之加密演算法或解密演算法之該代碼。
  13. 一種產生種子的方法,係用於對如請求項第1項至第10項中任意一項所述之加密演算法或解密演算法的代碼更新方法進行更新,該產生種子的方法,係包含:a)隨機抽取一種子,該種子之位元數量至少小於需要進行更新之該加密演算法或解密演算法內N個數值常數編碼所需之位元數量的四倍;b)當所接收之種子為步驟a)中隨機抽取的一個種子時,透過如請求項第1項至第10項中任意一項所述之加密演算法或解密演算法的代碼更新方法產生一更新加密演算法代碼或一更新解密演算法代碼;c)對與至少一個密碼學方法相關的該更新演算法之代碼的穩定性進行檢查;d)若該加密演算法之代碼不具備與該密碼學方法相關之穩定性,則返回步驟a);以及e)否則,將隨機抽取之該種子傳送之一接收器,藉以執行該加密演算法或解密演算法之代碼的更新方法。
  14. 一種產生種子的模組,係用於對如請求項第1項至第10項中任意一項所述之加密演算法或解密演算法的代碼更新方法進行更新,該模組,係包含: 一產生器,係用於機抽取一種子,該種子之位元數量至少小於需要進行更新之該加密演算法或解密演算法內N個數值常數編碼所需之位元數量的四倍;一子模組,係用於在接收到由該產生器所抽取的該種子時,透過如請求項第1項至第10項中任意一項所述之加密演算法或解密演算法的代碼更新方法產生一更新加密演算法代碼或一更新解密演算法代碼;一檢測器,係用於檢測與至少一個密碼學方法相關之更新演算法的代碼之穩定性,該檢測器用於:若更新的該加密演算法或解密演算法之代碼不具備與該密碼學方法相關之穩定性,則阻止對隨機產生的該種子進行傳輸;否則將隨機抽取之該種子傳送至一接收器,藉以執行該加密演算法或解密演算法之代碼的更新方法。
  15. 一種資訊紀錄媒體,係用於在透過一電子計算機執行該資訊時,執行如請求項第1項至第10項中任意一項所述之加密演算法或解密演算法的代碼更新方法或如請求項第13項所述之產生種子的方法。
TW098146438A 2009-01-13 2009-12-31 密碼演算法之密碼更新方法與裝置、種子產生方法與裝置,與其安全處理器及記錄載體 TWI410104B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0950148A FR2941114B1 (fr) 2009-01-13 2009-01-13 Procede et module de renouvellement du code d'un algorithme cryptographique, procede et module de generation d'une graine, processeur de securite et support d'enregistrement pour ces procedes

Publications (2)

Publication Number Publication Date
TW201031166A TW201031166A (en) 2010-08-16
TWI410104B true TWI410104B (zh) 2013-09-21

Family

ID=41058567

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098146438A TWI410104B (zh) 2009-01-13 2009-12-31 密碼演算法之密碼更新方法與裝置、種子產生方法與裝置,與其安全處理器及記錄載體

Country Status (10)

Country Link
US (1) US8542822B2 (zh)
EP (1) EP2377264B1 (zh)
CN (1) CN102282797B (zh)
DK (1) DK2377264T3 (zh)
ES (1) ES2880727T3 (zh)
FR (1) FR2941114B1 (zh)
PL (1) PL2377264T3 (zh)
RU (1) RU2534965C2 (zh)
TW (1) TWI410104B (zh)
WO (1) WO2010081631A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8712052B2 (en) * 2012-07-23 2014-04-29 Cooper Technologies Company System and method for secure power systems infrastructure communications
EP2907330B1 (en) 2012-10-09 2018-07-25 Nokia Technologies Oy Method and apparatus for disabling algorithms in a device
TWI506469B (zh) * 2014-07-31 2015-11-01 Elitegroup Computer Sys Co Ltd 資料保密方法、電子裝置和外部儲存裝置
CN105447342B (zh) * 2014-08-28 2018-08-31 阿里巴巴集团控股有限公司 脚本加密方法、解密方法及引擎
EP3035583A1 (fr) 2014-12-19 2016-06-22 Nagravision S.A. Dispositif et système de communication, méthode de traitement de données et méthode d'échange sécurisé de données
CN105931445B (zh) * 2016-06-23 2022-03-08 威海市天罡仪表股份有限公司 抗干扰的无线M-Bus短距离抄表控制方法
US10013246B2 (en) * 2016-12-03 2018-07-03 Dell Products, Lp Distributed information handling systems and methods for automatic object code replacement and patching
EP3618344B8 (en) * 2017-06-27 2022-05-25 Mitsubishi Electric Corporation Code generation apparatus, code generation method and code generation program
CN109936443A (zh) * 2017-12-18 2019-06-25 厦门本能管家科技有限公司 一种区块链地址私钥的创建方法
US11032061B2 (en) * 2018-04-27 2021-06-08 Microsoft Technology Licensing, Llc Enabling constant plaintext space in bootstrapping in fully homomorphic encryption
CN109167662A (zh) * 2018-09-04 2019-01-08 上海易酷信息技术服务有限公司 一种种子生成方法及其设备
CN109547195A (zh) * 2018-11-13 2019-03-29 阳光保险集团股份有限公司 一种密码数据处理方法及装置
CN113261932B (zh) * 2021-06-28 2022-03-04 山东大学 基于ppg信号和一维卷积神经网络的心率测量方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149876A1 (en) * 2002-02-01 2003-08-07 Secure Choice Llc Method and system for performing perfectly secure key exchange and authenticated messaging
US20060002550A1 (en) * 2004-05-25 2006-01-05 Pitney Bowes Incorporated Method and system for generation of cryptographic keys and the like
WO2006085283A1 (en) * 2005-02-09 2006-08-17 Koninklijke Philips Electronics N.V. High speed encryption and decryption

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7457413B2 (en) * 2000-06-07 2008-11-25 Anoto Ab Method and device for encrypting a message
US7206411B2 (en) * 2003-06-25 2007-04-17 Wegener Communications, Inc. Rapid decryption of data by key synchronization and indexing
DE10357782B3 (de) * 2003-12-10 2005-05-04 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen von Zufallszahlen mit einem Pseudozufallsgenerator
FR2866772B1 (fr) * 2004-02-20 2006-04-28 Viaccess Sa Procede d'appariement d'un terminal recepteur avec une pluralite de cartes de controle d'acces
FR2871017B1 (fr) * 2004-05-28 2008-02-29 Viaccess Sa Procede de diffusion de donnees numeriques a un parc de terminaux recepteurs cible
DE102005013830B4 (de) * 2005-03-24 2008-11-20 Infineon Technologies Ag Vorrichtung und Verfahren zum verschlüsselten Übertragen von Daten
US8019802B2 (en) * 2005-08-24 2011-09-13 Qualcomm Incorporated Cryptographically secure pseudo-random number generator
WO2007026287A1 (en) * 2005-08-30 2007-03-08 Koninklijke Philips Electronics N.V. Method and device for generating random number generator seeds
RU2302085C1 (ru) * 2005-11-16 2007-06-27 Институт физики твердого тела РАН Способ кодирования и передачи криптографических ключей
EP1863285A1 (fr) * 2006-05-29 2007-12-05 Nagra France Sas Procédé de traitement de messages de contrôle d'accès
FR2905543B1 (fr) * 2006-08-30 2009-01-16 Viaccess Sa Processeur de securite et procede et support d'enregistement pour configurer le comportement de ce processeur.
WO2008142612A2 (en) * 2007-05-22 2008-11-27 Koninklijke Philips Electronics N.V. Updating cryptographic key data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030149876A1 (en) * 2002-02-01 2003-08-07 Secure Choice Llc Method and system for performing perfectly secure key exchange and authenticated messaging
US20060002550A1 (en) * 2004-05-25 2006-01-05 Pitney Bowes Incorporated Method and system for generation of cryptographic keys and the like
WO2006085283A1 (en) * 2005-02-09 2006-08-17 Koninklijke Philips Electronics N.V. High speed encryption and decryption

Also Published As

Publication number Publication date
RU2011134082A (ru) 2013-02-20
DK2377264T3 (da) 2021-08-23
WO2010081631A1 (fr) 2010-07-22
CN102282797B (zh) 2015-09-16
US20120033804A1 (en) 2012-02-09
FR2941114B1 (fr) 2011-07-01
PL2377264T3 (pl) 2021-12-06
ES2880727T3 (es) 2021-11-25
CN102282797A (zh) 2011-12-14
EP2377264B1 (fr) 2021-06-02
US8542822B2 (en) 2013-09-24
FR2941114A1 (fr) 2010-07-16
EP2377264A1 (fr) 2011-10-19
RU2534965C2 (ru) 2014-12-10
TW201031166A (en) 2010-08-16

Similar Documents

Publication Publication Date Title
TWI410104B (zh) 密碼演算法之密碼更新方法與裝置、種子產生方法與裝置,與其安全處理器及記錄載體
US6934389B2 (en) Method and apparatus for providing bus-encrypted copy protection key to an unsecured bus
US5712800A (en) Broadcast key distribution apparatus and method using chinese remainder
EP1440535B1 (en) Memory encrytion system and method
KR100478507B1 (ko) 디지털 비디오 컨텐츠 전송의 암호화 및 복호화 방법 및장치
US8001374B2 (en) Memory encryption for digital video
US7512238B2 (en) Method and apparatus for detection of loss of cipher synchronization
CN101035253B (zh) 一种实现加密或解密的方法、装置及实现加密和解密的系统
JP6499519B2 (ja) メッセージを安全に交換する暗号方式並びにこの方式を実施する装置及びシステム
KR20020040796A (ko) 디지털 비디오 컨텐츠 전송의 암호화 및 복호화 방법 및장치
JP2007043353A (ja) 送受信システムおよび方法、送信装置および方法、受信装置および方法、並びにプログラム
US20150263858A1 (en) Method and device for digital data blocks encryption and decryption
KR101248218B1 (ko) 암호화 시스템을 위한 삼중 랩 방법
RU2534925C2 (ru) Способ защиты, способ расшифрования, носитель информации и терминал для способа защиты
Aly et al. A light-weight encrypting for real time video transmission
Bisht et al. Analysis and implementation of selective image encryption technique using matlab
Win Data Hiding to Image Smart Phone Using AES and LSB Algorithms
JP2005079864A (ja) 放送装置、受信装置、放送方法及び受信方法
JP2010104035A (ja) 受信装置及び受信方法
Anil et al. Securing Secret Messages: A Review
Bengtz Analysis of new and alternative encryption algorithms and scrambling methods for digital-tv and implementation of a new scrambling algorithm (AES128) on FPGA.
Nicolaou Implementation and performance evaluation of cryptographic algorithms
Darshana Hooda et al. Remote Reference Passing Framework for Video Encryption
KR20080026100A (ko) Psi 데이터를 제외한 프로그램 데이터의 암호화/복호화
JP2004537072A (ja) コンテンツを暗号化する方法および装置

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees