亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于生成安全密鑰的方法和系統(tǒng)的制作方法

文檔序號:7598090閱讀:129來源:國知局
專利名稱:用于生成安全密鑰的方法和系統(tǒng)的制作方法
技術領域
本發(fā)明涉及有條件存取和復制保護系統(tǒng)。更具體的說,本發(fā)明涉及用于生成安全密鑰的方法和系統(tǒng)。
背景技術
數字電視,一般稱為DTV,它是一種能夠傳輸和接收數字信號、顯示數字圖像、以及播放數字聲頻的增強型電視系統(tǒng)。雖然某一些特征已存在于當前的模擬電視系統(tǒng)中,如國家電視標準委員會(NTSC)、順序彩色和存儲視頻制式(SECAM)、以及逐行倒相制式(PAL)等電視系統(tǒng),但是,對數字化傳輸、接收、視頻和音頻的組合,可將數字電視與當前的模擬電視系統(tǒng)區(qū)別開來。
數字電視所采用的技術優(yōu)于當前的模擬電視系統(tǒng),并且以更高的頻譜效率方式使用很少的帶寬。在這方面,與當前的模擬電視系統(tǒng)相比,數字電視在相同的帶寬中允許更多頻道可包含更多可供廣播的信息。因此,可以將任何多余的帶寬重新分配給其它類型的通信系統(tǒng)使用。因此,與當前的模擬廣播電視系統(tǒng)相比,采用數字電視系統(tǒng)的廣播公司能夠提供包含更高畫面分辨率的空中電視信號?;谶@些原因,國會已要求當前的廣播電視服務必須及時、完全地轉換為數字電視。
為了提供這些高分辨率的電視信號,數字電視系統(tǒng)會采用不同的視頻和音頻壓縮技術,例如運動圖像專家組(MPEG)。MPEG是由國際標準化組織(ISO)和國際電工委員會(IEC)組建的一個聯合委員會,一般稱為ISO/IECJTC1/SC29/WG11。MPEG包括多個成員組織,每個成員組織包括來自全世界的計算機、無線電通信、電視、電纜、人造衛(wèi)星和其它工業(yè)領域的代表。各種MPEG視頻和音頻的成員組織針對全運動視頻、相關的音頻以及它們的數字存儲媒介復用來研發(fā)相應的壓縮標準。這些壓縮標準同樣被數字電纜電視系統(tǒng)和數字衛(wèi)星系統(tǒng)采用。雖然壓縮標準是由不同的組織頒布的,但是在MPEG標準中并沒有特別規(guī)定傳輸和加密或有條件訪問技術。因此,系統(tǒng)設計者和集成者可以自由地確定和實現他們自己的傳輸或有條件訪問技術。
此外,在一些傳統(tǒng)的音頻/視頻處理系統(tǒng)中,音頻/視頻數據如電影易遭盜版的攻擊,需要防止非法復制的保護。在高價值的電影和視頻節(jié)目中,與盜版和未授權復制相關的損失非常巨大。由于可利用未壓縮的清晰數字視頻來實現對高價值節(jié)目的完美復制,所以需要復制保護技術來保護未壓縮的視頻。為了防止盜版或未授權復制,當在存儲器和存儲設備中存取之前,可對視頻數據如高價值的視頻內容進行壓縮和加密。視頻解碼和解壓縮系統(tǒng)中,一般采用幀緩存器進行運動預測,這樣可提供增強的圖片質量。存儲在這些幀緩沖器中的視頻圖像或圖片是未壓縮的并且是清晰的。因此攻擊者或黑客可利用不同的方法訪問這些緩存器,然后復制視頻圖像。
而且,通過將現有系統(tǒng)與本發(fā)明進行比較,本領域的技術人員將會進一步看出傳統(tǒng)方案的其他局限性和缺點。

發(fā)明內容
本發(fā)明涉及用于產生安全密鑰的方法和系統(tǒng)。本發(fā)明的方法可包括如下步驟接收至少一個第一輸入密鑰、一個第二輸入密鑰和一個第三輸入密鑰,然后根據至少所述第一輸入密鑰、第二輸入密鑰和第三輸入密鑰生成一個第一輸出密鑰。所生成的第一輸出密鑰應保證它是唯一的,并且與所述第一輸入密鑰不相同。所述第一輸入密鑰可為用戶密鑰,第二輸入密鑰可為用戶密鑰選擇,第三輸入密鑰可為密鑰變量。另外,還可確定第一輸出密鑰是否為唯一密鑰和/或與第一輸入密鑰不相同。如果確定所述第一輸出密鑰不是唯一密鑰和/或與第一輸入密鑰相同,則根據第一輸入密鑰、第二輸入密鑰和/或第三輸入密鑰中的一個的修正值,生成一個第二輸出密鑰。還可進一步確定所述第二輸出密鑰是否為唯一密鑰和/或與第一輸入密鑰、第二輸入密鑰和/或第三輸入密鑰的修正值不相同。第一輸出密鑰和第二輸出密鑰可能不是弱密鑰或半弱密鑰。
另一方面,本發(fā)明中的第一輸入密鑰,第二輸入密鑰和第三輸入密鑰可被映射,以生成映射的輸出密鑰數據。也可根據所述第一輸入密鑰生成中間密鑰。所生成的中間密鑰和所生成的映射輸出密鑰數據可被加擾,以產生一個加擾輸出。所生成的映射輸出密鑰數據中的至少一部分可被屏蔽,并與加擾輸出一起進行異或(XOR)處理,以生成第一輸出密鑰。然后,所生成的第一輸出密鑰可被傳送到加密引擎,使它可利用所生成的第一輸出密鑰對信息進行加密。
本發(fā)明的另一個實施例中,提供一種機器可讀存儲裝置,其中存儲有計算機程序,所述計算機程序中至少有一個代碼部分用于產生安全密鑰,所述至少一個代碼部分可被機器執(zhí)行,以使該機器執(zhí)行上述用于生成安全密鑰的步驟。
在本發(fā)明的另一個實施例中,提供一種用于產生安全密鑰的系統(tǒng),包括可接收至少一個第一輸入密鑰、一個第二輸入密鑰和一個第三輸入密鑰的安全密鑰生成器。據此,所述安全密鑰生成器可根據至少第一輸入密鑰、第二輸入密鑰和第三輸入密鑰,生成一個第一輸出密鑰。所生成的第一輸出密鑰應是唯一密鑰并且不同于至少所述第一輸入密鑰。所述第一輸入密鑰可為用戶密鑰,第二輸入密鑰可為用戶密鑰選擇,第三輸入密鑰可為密鑰變量。所述第一輸出密鑰和第二輸出密鑰可能不是弱密鑰和/或半弱密鑰。所述安全密鑰生成器可確定所述第一輸出密鑰是否為唯一密鑰并且不同于至少所述第一輸入密鑰。如果安全密鑰生成器確定所述第一輸出密鑰不是唯一密鑰和/或與至少第一輸入密鑰相同,則安全密鑰生成器會根據第一輸入密鑰、第二輸入密鑰和/或第三輸入密鑰中一個的修正值,生成一個第二輸出密鑰。所述安全密鑰生成器還可確定第二輸出密鑰是否為唯一密鑰和/或與所述第一輸入密鑰、第二輸入密鑰和/或第三輸入密鑰中至少一個的修正值不相同。
所述系統(tǒng)中還包括對至少第一輸入密鑰、第二輸入密鑰和第三輸入密鑰進行映射以生成映射的輸出密鑰數據的映射器(mapper)。安全密鑰生成器可根據第一輸入密鑰生成一個中間密鑰。加擾器(scrambler)可對生成的中間密鑰和所生成的映射輸出密鑰數據進行加擾,以產生加擾輸出。屏蔽器(masker)可屏蔽所生成的映射輸出密鑰數據中的至少一部分,異或運算器(OXR)可對所生成的映射輸出密鑰數據的被屏蔽部分和所述加擾輸出進行異或處理,以生成第一輸出密鑰。所述安全密鑰生成器可將生成的第一輸出密鑰傳送到加密引擎,所述加密引擎可利用生成的第一輸出密鑰對信息進行加密。
在本發(fā)明的另一個實施例中,提供了一種用于產生安全密鑰的系統(tǒng),其中包括一個映射器。與所述映射器相連的一個加擾器和一個屏蔽器。與所述加擾器相連的一個安全密鑰生成器,以及可與所述屏蔽器和加擾器相連的一個XOR運算器。在這樣的結構中,所述XOR門電路的一個輸出作為該安全密鑰生成系統(tǒng)的一個輸出。至少一個處理器和/或加密引擎可與XOR運算器的輸出相連。還可設置存儲器與所述加密引擎和/或處理器相連。
一個方面,本發(fā)明提供一種用于生成安全密鑰的方法,此方法包括接收至少一個第一輸入密鑰、一個第二輸入密鑰和一個第三輸入密鑰;根據至少所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰,生成一個第一輸出密鑰,其中所述第一輸出密鑰是唯一的,并與至少所述第一輸入密鑰不相同。
本發(fā)明的優(yōu)選方案中,所述第一輸入密鑰是用戶密鑰,所述第二輸入密鑰是用戶密鑰選擇,所述第三輸入密鑰是密鑰變量。
本發(fā)明的優(yōu)選方案中,所述方法還包括確定所述第一輸出密鑰是否為唯一密鑰中的至少一個,并且與至少所述第一輸入密鑰不相同;如果所述第一輸出密鑰為非唯一密鑰中的至少一個,并且與至少所述第一輸入密鑰相同,則根據所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰中至少一個的修正值,生成第二輸出密鑰。
本發(fā)明的優(yōu)選方案中,所述方法還包括確定所述第二輸出密鑰是否為唯一密鑰中的至少一個,并且與所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰中至少一個的修正值不相同。
本發(fā)明的優(yōu)選方案中,所述第一輸出密鑰和所述第二輸出密鑰不是弱密鑰或半弱密鑰。
本發(fā)明的優(yōu)選方案中,所述方法還包括映射至少所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰,以生成映射的輸出密鑰數據。
本發(fā)明的優(yōu)選方案中,所述方法還包括根據所述第一輸入密鑰生成一個中間密鑰。
本發(fā)明的優(yōu)選方案中,所述方法還包括對所述生成的中間密鑰和所述生成的映射輸出密鑰數據進行加擾,以產生一個加擾輸出。
本發(fā)明的優(yōu)選方案中,所述方法還包括屏蔽所述生成的映射輸出密鑰數據中的至少一部分;對所述生成的映射輸出密鑰數據中被屏蔽的至少一部分和所述加擾輸出進行異或處理,以生成所述第一輸出密鑰。
本發(fā)明的優(yōu)選方案中,所述方法還包括,將所述生成的第一輸出密鑰傳送到加密引擎,使之可利用所述生成的第一輸出密鑰對信息加密。
另一方面,本發(fā)明提供一種機器可讀存儲裝置,其中存儲有計算機程序,所述計算機程序中至少有一個用于產生安全密鑰的代碼部分,所述至少一個代碼部分可被機器執(zhí)行,使所述機器可完成以下步驟接收至少一個第一輸入密鑰、一個第二輸入密鑰和一個第三輸入密鑰;根據至少所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰,生成一個第一輸出密鑰,其中所述第一輸出密鑰是唯一的,并與至少所述第一輸入密鑰不相同。
本發(fā)明的優(yōu)選方案中,所述第一輸入密鑰是用戶密鑰,所述第二輸入密鑰是用戶密鑰選擇,所述第三輸入密鑰是密鑰變量。
本發(fā)明的優(yōu)選方案中,所述機器可讀存儲裝置還包括用于確定所述第一輸出密鑰是否為唯一密鑰中的至少一個并與至少所述第一輸入密鑰不相同的代碼;以及當所述第一輸出密鑰為非唯一密鑰中的至少一個并與至少所述第一輸入密鑰相時,用于根據所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰中至少一個的修正值來生成第二輸出密鑰的代碼。
本發(fā)明的優(yōu)選方案中,所述機器可讀存儲裝置還包括用于確定所述第二輸出密鑰是否為唯一的密鑰中的至少一個,并確定它與所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰中至少一個的修正值不相同的代碼。
本發(fā)明的優(yōu)選方案中,所述第一輸出密鑰和所述第二輸出密鑰不是弱密鑰或半弱密鑰。
本發(fā)明的優(yōu)選方案中,所述機器可讀存儲裝置還包括用于映射至少所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰以生成映射的輸出密鑰數據的代碼。
本發(fā)明的優(yōu)選方案中,所述機器可讀存儲裝置還包括根據所述第一輸入密鑰生成中間密鑰的代碼。
本發(fā)明的優(yōu)選方案中,所述機器可讀存儲裝置還包括用于對所述生成的中間密鑰和所述生成的映射輸出密鑰數據進行加擾以產生加擾輸出的代碼。
本發(fā)明的優(yōu)選方案中,所述機器可讀存儲裝置還包括用于屏蔽所述生成的映射輸出密鑰數據的至少一部分的代碼;
用以對所述生成的映射輸出密鑰數據中被屏蔽的至少所述部分和所述加擾輸出進行異或,以生成所述第一輸出密鑰的代碼。
本發(fā)明的優(yōu)選方案中,所述機器可讀存儲裝置還包括用于將所述生成的第一輸出密鑰傳送到加密引擎的代碼,使密引擎用可利用所述生成的第一輸出密鑰對信息加密。
另方面,本發(fā)明還提供一種用于生成安全密鑰的系統(tǒng),該系統(tǒng)包括一個安全密鑰生成器,它用于接收至少一個第一輸入密鑰、一個第二輸入密鑰和一個第三輸入密鑰;所述安全密鑰生成器根據至少所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰,生成一個第一輸出密鑰,其中所述第一輸出密鑰是唯一的,并且與至少所述第一輸入密鑰不相同。
本發(fā)明的優(yōu)選方案中,所述第一輸入密鑰是用戶密鑰,所述第二輸入密鑰是用戶密鑰選擇,所述第三輸入密鑰是密鑰變量。
本發(fā)明的優(yōu)選方案中,所述安全密鑰生成器確定所述第一輸出密鑰是否為唯一密鑰中的至少一個,并且與所述至少所述第一輸入密鑰不相同;如果所述第一輸出密鑰是非唯一密鑰中的至少一個,并且與至少所述第一輸入密鑰相同,則根據所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰中至少一個的修正值生成第二輸出密鑰。
本發(fā)明的優(yōu)選方案中,所述安全密鑰生成器會確定所述第二輸出密鑰是否為唯一密鑰中的至少一個,并且與所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰中至少一個的修正值不相同。
本發(fā)明的優(yōu)選方案中,所述第一輸出密鑰和所述第二輸出密鑰不是弱密鑰或半弱密鑰。
本發(fā)明的優(yōu)選方案中,所述系統(tǒng)還包括用于映射至少所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰,以生成映射的輸出密鑰數據的映射器。
本發(fā)明的優(yōu)選方案中,所述系統(tǒng)還包括可根據所述第一輸入密鑰生成中間密鑰的密鑰生成器。
本發(fā)明的優(yōu)選方案中,所述系統(tǒng)還包括用于對所述生成的中間密鑰和所述生成的映射輸出密鑰數據進行加擾以產生加擾輸出的加擾器。
輸出密鑰數據加擾以產生用于屏蔽至少一部分所述生成的映射輸出密鑰數據的屏蔽器;異或運算器將所述屏蔽的至少所述一部分所述生成的映射輸出密鑰數據和所述加擾輸出進行異或,從而生成所述第一輸出密鑰。
本發(fā)明的優(yōu)選方案中,所述安全密鑰生成器將所述生成的第一輸出密鑰傳送到加密引擎,它利用所述生成的第一輸出密鑰對信息加密。
另一方面,本發(fā)明還提供一種用于生成安全密鑰的系統(tǒng),該系統(tǒng)包括一個映射器;一個與所述映射器相連的加擾器;一個與所述映射器相連的屏蔽器;一個與所述加擾器相連的安全密鑰生成器;以及一個與所述屏蔽器和所述加擾器相連的XOR運算器。
本發(fā)明的優(yōu)選方案中,所述系統(tǒng)還包括與所述XOR運算器的輸出相連的至少一個處理器。
本發(fā)明的優(yōu)選方案中,所述系統(tǒng)還包括與所述XOR運算器的輸出相連的加密引擎。
本發(fā)明的優(yōu)選方案中,所述系統(tǒng)還包括與至少一個所述加密引擎和所述至少一個處理器相連的存儲器。
下面將結合附圖及實施例,進一步說明本發(fā)明的優(yōu)點、特征和新穎性,以對本發(fā)明有更加充分的理解。


圖1是本發(fā)明一個實施例中可使用安全密鑰生成器、從多個輸入密鑰而生成一個輸出密鑰的系統(tǒng)的方框圖。
圖2是本發(fā)明一個實施例中,可從圖1所示的多個輸入密鑰生成一個輸出密鑰的安全密鑰生成功能塊的方框圖。
圖3是本發(fā)明一個實施例中,可用于實現圖2所示安全密鑰生成功能,并用于檢驗所生成密鑰的有效性的流程圖。
圖4是本發(fā)明一個實施例中,可用于從圖2所示的多個輸入密鑰生成一個輸出密鑰的安全密鑰生成系統(tǒng)的方框圖。
具體實施例方式
在數字電纜和人造衛(wèi)星系統(tǒng)中,高價值電影和視頻節(jié)目或內容可通過有條件的訪問(CA)或復制保護(CP)加擾系統(tǒng)來保護。在這方面,加擾密鑰可由CA或CP系統(tǒng)控制和加密,并作為重放或接收過程中的一部分,這些密鑰可在例如機頂盒(STB)中被解密并被用來將內容解擾。本發(fā)明提供了一種方法和系統(tǒng),以通過安全地處理一些輸入密鑰生成用戶有條件訪問和復制保護的密鑰。
在使用加密或解密引擎如DES、3DES或AES的系統(tǒng)中,對密鑰保護是保證安全的最重要的任務之一。對于許多應用來說,可從若干輸入密鑰中生成密鑰。生成的密鑰稱為輸出密鑰。一般地,輸出密鑰可從用戶密鑰、用戶密鑰選擇和密鑰變量的任意組合中生成。用戶密鑰是分配給特定STB廠商的密鑰。用戶密鑰選擇是被分配用于使用不同運行方式的密鑰。例如,特定的用戶密鑰選擇可用于現場直播解碼模式,而對于重放模式可采用另一用戶密鑰選擇。密鑰變量是用于區(qū)別不同的機頂盒(STB)的密鑰。通常,密鑰生成過程應滿足不同的安全需求方式。
因此,本發(fā)明的某些實施例可體現為用于生成安全密鑰的方法和系統(tǒng)。根據本發(fā)明的實施例,該方法包括接收至少一個第一輸入密鑰、一個第二輸入密鑰和一個第三輸入密鑰,并根據至少所述第一輸入密鑰、第二輸入密鑰和第三輸入密鑰生成一個第一輸出密鑰。所生成的第一輸出密鑰應保證它是唯一的,并與第一輸入密鑰不相同。所述第一輸入密鑰可為用戶密鑰,第二輸入密鑰可為用戶密鑰選擇,第三輸入密鑰可為密鑰變量。
而且,還可確定所述第一輸出密鑰是否為唯一密鑰和/或與第一輸入密鑰不相同。如果確定第一輸出密鑰不是唯一密鑰和/或與第一輸入密鑰相同,那么根據修正的第一輸入密鑰、修正的第二輸入密鑰和/或修正的第三輸入密鑰,生成一個第二輸出密鑰。在任一情形下,可確定第二輸出密鑰是否為唯一密鑰和/或與修正的第一輸入密鑰、第二輸入密鑰和/或第三輸入密鑰不相同。所述第一輸出密鑰和第二輸出密鑰可能不是弱密鑰或半弱密鑰。
所述第一輸入密鑰、第二輸入密鑰和第三輸入密鑰可通過一個映射函數而被映射,以生成映射的輸出密鑰數據。根據第一輸入密鑰也可生成中間密鑰。可對生成的中間密鑰和生成的映射輸出密鑰數據進行加擾,以產生加擾輸出。所生成的映射輸出密鑰數據中的至少一部分可被屏蔽,并與所述加擾輸出進行異或,從而生成第一輸出密鑰。生成的第一輸出密鑰隨后被傳送到加密引擎,使加密引擎可利用生成的第一輸出密鑰對信息加密。
圖1是本發(fā)明一個實施例中,可使用安全密鑰生成器從多個輸入密鑰中生成輸出密鑰的系統(tǒng)100的方框圖。參照圖1,圖中顯示了一個安全密鑰生成功能塊110;一個第一輸入密鑰,它是用戶密鑰cus_key120;一個第二輸入密鑰,它是用戶密鑰選擇cus_key_sel130;一個第三輸入密鑰,它是密鑰變量key_var140;以及一個輸出密鑰out_key150。其中,用戶密鑰cus_key120可以是一個K位的用戶密鑰;用戶密鑰選擇cus_key_sel130可以是一個L位的用戶選擇向量;輸入密鑰變量key_var140可以是一個M位的密鑰變量向量;輸出密鑰out_key140可以是一個N位的處理密鑰。在操作中,安全密鑰生成功能塊110接收輸入密鑰cus_key120、cus_key_sel130、key_var140,并相應地生成輸出密鑰out_key150。
圖2是本發(fā)明一個實施例中,可從圖1所示的多個輸入密鑰生成一個輸出密鑰的安全密鑰生成功能塊的方框圖200。參照圖2,該安全密鑰生成功能塊中包括一個安全密鑰生成器260、一個映射器270、一個加擾器280、一個屏蔽功能塊或屏蔽器290、以及一個XOR運算器295。輸入密鑰cus_key220可作為安全密鑰生成器260和映射器270的輸入,輸入密鑰cus_key_sel230和key_var240可作為映射器270的輸入。安全密鑰生成器260的輸出297與加擾器280相連。映射器270的輸出272與屏蔽功能塊290的輸入以及加擾器280的輸入相連。加擾器280的輸出282和屏蔽功能塊290的輸出292與XOR運算器295相連。XOR運算器295的輸出即為N位的輸出密鑰,out_key250。在這種結構中,每個K位的用戶密鑰220、L位的用戶密鑰選擇230和M位的密鑰變量240都可由映射器270來映射。
映射器270包括適當的映射電路、邏輯和/或代碼,它們適于處理例如用戶密鑰220、用戶密鑰選擇向量230和密鑰變量向量,從而為加擾器280和屏蔽功能塊290生成輸入數據。因此,數據272可表示為data=MappingLogic(Cus_key,Cus_key_sel,key_var)。
本發(fā)明中,映射器270可設計成具有以下特性。映射器270可作為擴散過程操作,用以消除用戶密鑰220、用戶密鑰選擇向量230和密鑰變量向量240中的統(tǒng)計分布。映射器270可適于生成相對易于計算的固定長度的輸出272。映射器270可實現難以逆轉換的單向功能。在這方面,假設映射器270生成了一個特定輸出272,那么根據該輸出將很難確定其輸入。對于至少一些用戶密鑰,映射器270還可以以無碰撞的方式來運行。因此,由映射器270接收的輸入中,不會有兩個被映射成相同的輸出,換句話說,對于用戶密鑰220、用戶密鑰選擇向量230和它們的密鑰變量向量240,映射器是無碰撞的,兩個不同的輸入不會產生或被映射成相同的輸出。
密鑰生成器260可包括適于根據接收的用戶密鑰220生成密鑰的邏輯、電路和/或代碼。通過設計安全密鑰生成器260,可使得輸入cus_key220和輸出gen_kgy297之間存在一一對應的關系。
屏蔽功能塊或屏蔽器290包括適當的邏輯、電路和/或代碼,從而適于提高加擾器280的安全性。屏蔽功能塊或屏蔽器290可結合映射器270和安全密鑰生成器260一起設計,以保證可以維持某特定的條件。例如,輸出out_key250可能與相應的用戶密鑰cus_key220不相同。本發(fā)明中,屏蔽功能塊或屏蔽器290可使得輸出密鑰out_key250決不是弱密鑰或半弱密鑰。例如,DES有四個弱自對偶密鑰k,其中Ek(Ek(m))=m,以及k1和k2成對出現的十二個半弱密鑰,使得Ek1(Ek2(m))=m。因此,如果DES引擎使用了輸出密鑰250的話,那么輸出密鑰out_key250決不是這些弱密鑰和半弱密鑰中的一個。以下表格示出了示例性的弱密鑰和半弱密鑰。


圖3是本發(fā)明一個實施例中,可用于實現圖2所示安全密鑰生成功能,并用于檢驗所生成密鑰的有效性的流程圖300??啥x一個配置,其輸入包括cus_key220的Q個不同值、針對每個cus_key220的cus_key_sel230的R個不同值、以及key_var240的S個不同值。這些配置值可使用于圖2所示的密鑰生成功能塊中。為了保證不違反任何條件或要求,常用的方法是在cus_key220的Q個不同值、cus_key_sel230的R個不同值和key_var240的S個不同值的所有可能輸入組合中進行循環(huán)。如果違反了某一條件,則改變cus_key220的Q個不同值、cus_key_sel230的R個不同值和key_var240的S個不同值中的至少一個配置,然后在對這些值進行測試,以確定是否違反了條件。復位計數器I、J、K,以檢查新的配置中的可能的輸入組合未產生違反的條件。
參照圖2和圖3,該流程開始于步驟302。在步驟302中,將表示當前用戶密鑰的計數器I,I=1,...,Q,表示當前用戶密鑰選擇向量的計數器J,J=1,...,R和表示密鑰變量向量的計數器K,K=1,...,S,初始化為零(0)。參照圖3和圖2,在步驟306中,為第j個用戶密鑰cus_key分配一個值A,為第i個用戶密鑰選擇cus_key_sel分配一個B,為第K個密鑰變量key_varition分配一個C。在步驟308中,映射器270對分配的值A、B、C進行處理,以生成輸出數據272。在步驟310中,安全密鑰生成器310對分配的值A進行處理,生成輸出key_gen297。映射器270的輸出數據272被傳遞到屏蔽器290和加擾器280。屏蔽器290在對數據272進行處理之后生成輸出292。
安全密鑰生成器260的輸出key_gen297還被傳遞到加擾器280。因此,在步驟312中,加擾器280對輸出數據272和由安全密鑰生成器260生成的key_gen297進行處理,產生輸出282。加擾器280的輸出282和屏蔽器290的輸出292在步驟312中還進行XOR處理,以產生結果輸出out_key250。一旦生成了輸出密鑰out_key250,可利用步驟314到步驟334,確定輸出密鑰out_key250是否有效或已違反了至少一預先規(guī)定的條件。根據輸出密鑰的唯一性,所述映射器、安全密鑰生成器、屏蔽器和/或密鑰表可自適應地進行調整。
因此,在步驟314中,可確定輸出密鑰out_key250是否為唯一的。如果確定了輸出密鑰out_key250不是唯一的,那么在步驟334中,會修正映射器270、安全密鑰生成器260、屏蔽器290和/或輸入A、B、C中的至少一個。然后,本流程控制轉到開始步驟302,以根據步驟334得到的修正信息生成密鑰。在步驟314中,如果確定了輸出密鑰out_key250是唯一的,那么在步驟316中,會確定輸出密鑰250是否與用戶密鑰cus_key或A相同。如果確定了輸出密鑰out_key250與用戶密鑰cust_key220相同,那么會在步驟334中,修正映射器270、安全密鑰生成器260、屏蔽器290和/或輸入A、B、C中的至少一個。如果確定了輸出密鑰out_key250與用戶密鑰cust_key220不相同,那么在步驟318中,會確定K值是否與S值相同。因為K值最初被初始化為零(0),所以在初始執(zhí)行的步驟302到步驟318中,K值為零(0)。在序列K=1,...,S中,S表示密鑰變量向量的終值。如果確定了K值與S值相同,那么在步驟330中,將K值初始化為零(0)。如果確定了K值與S值不相同,那么在步驟324中,K值加1,然后本流程控制轉回到步驟306。
當K值在步驟330中被初始化為零(0)后,在步驟320中,可確定J值是否與R值相同。因為J值最初被初始化為零(0),所以在初始執(zhí)行的步驟302到步驟318中,J值為零(0)。在序列J=1,...,R中,R表示用戶密鑰選擇向量的終值。如果確定了J值與R值相同,那么在步驟332中,會將J值初始化為零(0)。如果確定了J值與R值不相同,那么在步驟326,J值加1,然后控制轉回到步驟306。
當J值在步驟332中被初始化為零(0)后,在步驟322中,可確定I值是否與Q值相同。因為I值最初被初始化為零(0),所以在初始執(zhí)行的步驟302到步驟318中,I值為零(0)。在序列J=1,...,Q中,Q表示用戶密鑰的終值。如果確定了I值與Q值相同,則本流程在步驟336結束。如果確定了I值與Q值不相同,那么在步驟328中,I值加1,然后控制轉回到步驟306。
圖4是本發(fā)明一個實施例中,可用于從圖2所示的多個輸入密鑰生成一個輸出密鑰的安全密鑰生成系統(tǒng)的方框圖400。參照圖4,該密鑰生成功能塊包括安全密鑰生成器460、映射器470、加擾器480、屏蔽功能塊或屏蔽器490、以及XOR運算器495。該安全密鑰生成系統(tǒng)400還包括處理器402、存儲器404和加密引擎406。
輸入cus_key420可作為安全密鑰生成器460和映射器470的輸入,輸入密鑰cus_key_sel430和key_var440可作為映射器470的輸入。安全密鑰生成器460的輸出連接到加擾器480。映射器470的輸出與屏蔽功能塊490的輸入以及加擾器480的輸入相連。加擾器480的輸出和屏蔽功能塊490的輸出與XOR運算器495相連。處理器402可以是例如微處理器、微控制器或其它類型的加密處理器。存儲器404是隨機訪問存儲器(RAM),例如DRAM或SRAM。加密引擎406可以是DES、3DES、AES或其它加密引擎。
參照圖4,用于生成安全密鑰的系統(tǒng)400可包括一個安全密鑰生成器410,它接收至少一個第一輸入密鑰420、一個第二輸入密鑰430和一個第三輸入密鑰440。因此,安全密鑰生成器410可根據至少第一輸入密鑰420、第二輸入密鑰430和第三輸入密鑰440,生成一個第一輸出密鑰450。所生成的第一輸出密鑰450應是唯一密鑰,并至少與第一輸入密鑰420不相同。第一輸入密鑰420可為用戶密鑰,第二輸入密鑰430可為用戶密鑰選擇,第三輸入密鑰440可為密鑰變量。安全密鑰生成器410可確定第一輸出密鑰450是否為唯一密鑰,并與至少第一輸入密鑰420不相同。如果第一輸出密鑰450不是唯一密鑰和/或與至少第一輸入密鑰420相同,安全密鑰生成器410會根據第一輸入密鑰420、第二輸入密鑰430和/或第三輸入密鑰440的修正值,生成第二輸出密鑰。安全密鑰生成器410還可確定第二輸出密鑰是否為唯一密鑰和/或與至少修正的第一輸入密鑰、第二輸入密鑰和/或第三輸入密鑰不相同。第一輸出密鑰450和第二輸出密鑰不是弱密鑰和/或半弱密鑰。
所述系統(tǒng)400中的映射器470可映射至少所述第一輸入密鑰420、第二輸入密鑰430和第三輸入密鑰440,以生成映射的輸出密鑰數據472。安全密鑰生成器460根據第一輸入密鑰420生成中間密鑰497。加擾器480對中間密鑰497和生成的映射輸出密鑰數據472進行加擾,產生加擾輸出482。屏蔽器490可屏蔽所生成的映射輸出密鑰數據472中的至少一部分,異或運算器495可對生成的映射輸出密鑰數據492和加擾輸出482中被屏蔽的部分進行異或處理,以生成第一輸出密鑰450。安全密鑰生成器410將生成的第一輸出密鑰450傳送到加密引擎406,加密引擎406利用生成的第一輸出密鑰450對信息加密。
本實施例中,雖然處理器402、存儲器404和/或加密引擎406與安全密鑰生成器410是分離的,但是本發(fā)明并不限于此。因此,處理器402、存儲器404和/或加密引擎406的任何結合可被集成入安全密鑰生成器410,或成為它的一部分。根據本發(fā)明的實施例,利用處理器402確定生成的密鑰是否有效,如果有效,則保留生成的密鑰。否則放棄生成的密鑰。關于有效密鑰或無效密鑰的表格被存儲在存儲器404中。因此,一旦密鑰生成,則可將它與存儲在存儲器404中的有效或無效密鑰進行比較。存儲器404還包含供處理器402和/或加密引擎406使用的代碼。
因此,本發(fā)明可在硬件、軟件或軟硬件結合中實現。本發(fā)明能以集中方式在一個計算機系統(tǒng)中實現,或以分布方式即以不同的元件分布在幾個互連的計算機系統(tǒng)中的方式來實現??梢圆捎眠m于實施這里所描述的方法的各種計算機系統(tǒng)或其它設備。帶有計算機程序的通用計算機系統(tǒng)是硬件和軟件的典型組合,當加載和執(zhí)行程序后,相應的程序可以控制計算機系統(tǒng)實現這里所描述的方法。
本發(fā)明還可嵌入計算機程序產品中,它包括能實現這里描述的方法的所有特征,當程序裝載入計算機系統(tǒng)后,能實現這些方法。本文中的計算機程序可用一套指令集中的任何表達式、任何語音、代碼或符號,使系統(tǒng)有信息處理能力,可直接完成特定功能,或者在以下步驟之一或二者完成之后來完成1)轉化為另一種語音、代碼或符號;2)以不同的材料形式復制。
雖然已參照某些特定實施例對本發(fā)明進行了描述,但是本領域的技術人員會明白,在不偏離本發(fā)明的范圍的情況下,可以進行各種變化和等同替代。此外,在不偏離本發(fā)明的范圍的情況下,為使特定條件和材料適合于本發(fā)明的示教,可以作出許多修改。因此,本發(fā)明并不是局限于所公開的特定的實施例,而是屬于權利要求范圍的所有實施例。
權利要求
1.一種用于產生安全密鑰的方法,其特征在于,包括接收至少一個第一輸入密鑰、一個第二輸入密鑰和一個第三輸入密鑰;根據至少所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰,生成一個第一輸出密鑰,其中所述第一輸出密鑰是唯一的,并與至少所述第一輸入密鑰不相同。
2.根據權利要求1所述的方法,其特征在于,所述第一輸入密鑰是用戶密鑰,所述第二輸入密鑰是用戶密鑰選擇,所述第三輸入密鑰是密鑰變量。
3.根據權利要求1所述的方法,其特征在于,還包括確定所述第一輸出密鑰是否為唯一密鑰中的至少一個,并且與至少所述第一輸入密鑰不相同;如果所述第一輸出密鑰為非唯一密鑰中的至少一個,并且與至少所述第一輸入密鑰相同,則根據所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰中至少一個的修正值,生成第二輸出密鑰。
4.根據權利要求3所述的方法,其特征在于,還包括確定所述第二輸出密鑰是否為唯一密鑰中的至少一個,并且與所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰中至少一個的修正值不相同。
5.一種機器可讀存儲裝置,其中存儲有計算機程序,所述計算機程序中至少有一個代碼部分用于產生安全密鑰,所述至少一個代碼部分可被機器執(zhí)行,使所述機器可完成以下步驟接收至少一個第一輸入密鑰、一個第二輸入密鑰和一個第三輸入密鑰;根據至少所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰,生成一個第一輸出密鑰,其中所述第一輸出密鑰是唯一的,并與至少所述第一輸入密鑰不相同。
6.根據權利要求5所述的機器可讀存儲裝置,其特征在于,所述第一輸入密鑰是用戶密鑰,所述第二輸入密鑰是用戶密鑰選擇,所述第三輸入密鑰是密鑰變量。
7.一種用于生成安全密鑰的系統(tǒng),其特征在于,包括一個安全密鑰生成器,它用于接收至少一個第一輸入密鑰、一個第二輸入密鑰和一個第三輸入密鑰;所述安全密鑰生成器根據至少所述第一輸入密鑰、所述第二輸入密鑰和所述第三輸入密鑰,生成一個第一輸出密鑰,其中所述第一輸出密鑰是唯一的,并且與至少所述第一輸入密鑰不相同。
8.根據權利要求7所述的系統(tǒng),其特征在于,所述第一輸入密鑰是用戶密鑰,所述第二輸入密鑰是用戶密鑰選擇,所述第三輸入密鑰是密鑰變量。
9.一種用于生成安全密鑰的系統(tǒng),其特征在于,包括一個映射器;一個與所述映射器相連的加擾器;一個與所述映射器相連的屏蔽器;一個與所述加擾器相連的安全密鑰生成器;以及一個與所述屏蔽器和所述加擾器相連的XOR運算器。
10.根據權利要求9所述的系統(tǒng),其特征在于,還包括至少一個與所述XOR運算器的輸出端相連的處理器。
全文摘要
本發(fā)明涉及用于生成安全密鑰的方法和系統(tǒng),其中包括一個安全密鑰生成器,它用于接收第一、第二和第三輸入密鑰,并利用這些密鑰生成一個第一輸出密鑰。所述第一、第二和第三輸入密鑰可分別為用戶密鑰、用戶密鑰選擇和密鑰變量。所生成第一輸出密鑰可以是唯一的,它與第一輸入密鑰不相同,并且不是一個弱密鑰或半弱密鑰。所述第一、第二和第三輸入密鑰可被映射,以生成映射的輸出密鑰數據,并根據第一輸入密鑰生成中間密鑰。所述中間密鑰和輸出密鑰數據可被加擾,以產生一個加擾輸出。所述輸出密鑰數據中的至少一部分可被屏蔽,并與所述加擾輸出一起進行XOR處理,以生成第一輸出密鑰。
文檔編號H04L9/14GK1798023SQ20041008189
公開日2006年7月5日 申請日期2004年12月29日 優(yōu)先權日2004年12月29日
發(fā)明者王德·王, 謝孟·陳, 羅伯特·布朗希爾, 蘇萊·陳 申請人:美國博通公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1