一種密鑰發(fā)散方法及裝置的制造方法
【專利摘要】本發(fā)明適用于密鑰領(lǐng)域,提供了一種密鑰發(fā)散方法及裝置,所述密鑰發(fā)散方法包括:獲取預(yù)設(shè)的計(jì)數(shù)值、終端序列號(hào)和預(yù)配置的基本發(fā)散密鑰,生成初始密鑰;獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值;獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為1的個(gè)數(shù),將比特位為1的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰,或者,獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為0的個(gè)數(shù),將比特位為0的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰。本發(fā)明提高了發(fā)散密鑰的可靠性。
【專利說明】
_種密鑰發(fā)散方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明屬于密鑰領(lǐng)域,尤其涉及一種密鑰發(fā)散方法及裝置。
【背景技術(shù)】
[0002]密鑰是一種參數(shù),可將明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文。隨著密鑰功能的普及,越來越多的用戶設(shè)備和服務(wù)器通過密鑰發(fā)散方法,生成密鑰,將明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文,以提高交互系統(tǒng)的安全性。
[0003]然而,現(xiàn)有密鑰發(fā)散方法,發(fā)散的時(shí)間長,且生成多個(gè)發(fā)散密鑰時(shí),無法在多個(gè)發(fā)散密鑰中,快速選取出優(yōu)選的發(fā)散密鑰,降低了發(fā)散密鑰的可靠性。其原因在于,現(xiàn)有的發(fā)散密鑰發(fā)散方法,發(fā)散時(shí)需要處理較大的數(shù)據(jù)量,在極短的時(shí)間內(nèi),無法生成發(fā)散密鑰,且在生成多個(gè)發(fā)散密鑰時(shí),只會(huì)采用輪詢的方式,在多個(gè)發(fā)散密鑰中選取發(fā)散密鑰,而輪詢的發(fā)散密鑰,并不是優(yōu)選的發(fā)散密鑰。因此,嚴(yán)重浪費(fèi)了發(fā)散時(shí)間,降低了發(fā)散密鑰的可靠性。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例的目的在于提供一種密鑰發(fā)散方法,旨在解決現(xiàn)有密鑰發(fā)散方法,發(fā)散的時(shí)間長,且生成多個(gè)發(fā)散密鑰時(shí),無法在多個(gè)發(fā)散密鑰中,快速選取出優(yōu)選的發(fā)散密鑰,降低了發(fā)散密鑰的可靠性的問題。
[0005]本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種密鑰發(fā)散方法,包括:
[0006]獲取預(yù)設(shè)的計(jì)數(shù)值、終端序列號(hào)和預(yù)配置的基本發(fā)散密鑰,生成初始密鑰;
[0007]獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值;
[0008]獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為I的個(gè)數(shù),將比特位為I的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰,或者,
[0009]獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為O的個(gè)數(shù),將比特位為O的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰。
[0010]本發(fā)明實(shí)施例的另一目的在于提供一種密鑰發(fā)散裝置,包括:
[0011]初始密鑰生成模塊,用于獲取預(yù)設(shè)的計(jì)數(shù)值、終端序列號(hào)和預(yù)配置的基本發(fā)散密鑰,生成初始密鑰;
[0012]計(jì)數(shù)值獲取模塊,用于獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值;
[0013]密鑰發(fā)散模塊,用于獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為I的個(gè)數(shù),將比特位為I的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰,或者,用于獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為O的個(gè)數(shù),將比特位為O的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰。
[0014]在本發(fā)明實(shí)施例中,按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰,解決了現(xiàn)有密鑰發(fā)散方法,發(fā)散的時(shí)間長,且生成多個(gè)發(fā)散密鑰時(shí),無法在多個(gè)發(fā)散密鑰中,快速選取出優(yōu)選的發(fā)散密鑰,降低了發(fā)散密鑰的可靠性的問題,在用戶設(shè)備和服務(wù)器正常使用的情況下,可以快速生成優(yōu)選的發(fā)散密鑰,節(jié)省了發(fā)散時(shí)間,從而提高了發(fā)散密鑰的可靠性。
【附圖說明】
[0015]圖1是本發(fā)明實(shí)施例提供的密鑰發(fā)散方法的實(shí)現(xiàn)流程圖;
[0016]圖2是本發(fā)明實(shí)施例提供的密鑰發(fā)散方法步驟SlOl的實(shí)現(xiàn)流程圖;
[0017]圖3是本發(fā)明實(shí)施例提供的密鑰發(fā)散方法步驟S102的實(shí)現(xiàn)流程圖;
[0018]圖4是本發(fā)明實(shí)施例提供的密鑰發(fā)散方法步驟S103的實(shí)現(xiàn)流程圖;
[0019]圖5是本發(fā)明實(shí)施例提供的密鑰發(fā)散裝置的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0020]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0021]實(shí)施例一
[0022]圖1是本發(fā)明實(shí)施例提供的密鑰發(fā)散方法的實(shí)現(xiàn)流程圖,詳述如下:
[0023]在步驟SlOl中,獲取預(yù)設(shè)的計(jì)數(shù)值、終端序列號(hào)和預(yù)配置的基本發(fā)散密鑰,生成初始密鑰;
[0024]其中,預(yù)先配置基本發(fā)散密鑰,并將基本發(fā)散密鑰存儲(chǔ)至預(yù)設(shè)區(qū)域。
[0025]預(yù)設(shè)的計(jì)數(shù)值可以為系統(tǒng)默認(rèn),也可以自行設(shè)置,在此不做限制。
[0026]其中,當(dāng)檢測(cè)到發(fā)生發(fā)送報(bào)文事件時(shí),執(zhí)行步驟SlOl。
[0027]在步驟S102中,獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值;
[0028]其中,獲取當(dāng)前計(jì)數(shù)器中有效的計(jì)數(shù)值。
[0029]在步驟S103中,獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為I的個(gè)數(shù),將比特位為I的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰,或者,獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為O的個(gè)數(shù),將比特位為O的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰。
[0030]在本發(fā)明實(shí)施例中,按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰,解決了現(xiàn)有密鑰發(fā)散方法,發(fā)散的時(shí)間長,且生成多個(gè)發(fā)散密鑰時(shí),無法在多個(gè)發(fā)散密鑰中,快速選取出優(yōu)選的發(fā)散密鑰,降低了發(fā)散密鑰的可靠性的問題,在用戶設(shè)備和服務(wù)器正常使用的情況下,可以快速生成優(yōu)選的發(fā)散密鑰,節(jié)省了發(fā)散時(shí)間,從而提高了發(fā)散密鑰的可靠性。
[0031]實(shí)施例二
[0032]圖2是本發(fā)明實(shí)施例提供的密鑰發(fā)散方法步驟SlOl的實(shí)現(xiàn)流程圖,詳述如下:
[0033]在步驟S201中,將預(yù)先設(shè)定的計(jì)數(shù)值和終端序列號(hào)組合,生成初始的混合數(shù)據(jù);
[0034]在步驟S202中,利用散列函數(shù),獲取初始的混合數(shù)據(jù)的散列值和預(yù)配置的基本發(fā)散密鑰的散列值;
[0035]其中,利用指定的散列函數(shù),獲取初始的混合數(shù)據(jù)的散列值和預(yù)配置的基本發(fā)散密鑰的散列值,指定的散列函數(shù)包括SHA散列函數(shù)、MD5散列函數(shù)中的至少一種。
[0036]在步驟S203中,利用混合數(shù)據(jù)的散列值和預(yù)配置的基本發(fā)散密鑰的散列值,進(jìn)行異或運(yùn)算,生成初始密鑰。
[0037]在本發(fā)明實(shí)施例中,生成初始密鑰,便于后續(xù)以初始密鑰為基礎(chǔ),進(jìn)行發(fā)散,快速生成優(yōu)選的發(fā)散密鑰。
[0038]實(shí)施例三
[0039]圖3是本發(fā)明實(shí)施例提供的密鑰發(fā)散方法步驟S102的實(shí)現(xiàn)流程圖,詳述如下:
[0040]在步驟S301中,獲取當(dāng)前計(jì)數(shù)器的比特位為I的個(gè)數(shù),獲取當(dāng)前計(jì)數(shù)器的比特位為O的個(gè)數(shù);
[0041]在步驟S302中,判斷當(dāng)前計(jì)數(shù)器的比特位為I的個(gè)數(shù)是否小于預(yù)設(shè)閥值,判斷當(dāng)前計(jì)數(shù)器的比特位為O的個(gè)數(shù)是否小于預(yù)設(shè)閥值;
[0042]在步驟S303中,若是,獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值。
[0043]若否,丟棄當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值。
[0044]在本發(fā)明實(shí)施例中,獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值,便于后續(xù)以計(jì)數(shù)器的計(jì)數(shù)值為基礎(chǔ),進(jìn)行發(fā)散,快速生成優(yōu)選的發(fā)散密鑰。
[0045]實(shí)施例四
[0046]圖4是本發(fā)明實(shí)施例提供的密鑰發(fā)散方法步驟S103的實(shí)現(xiàn)流程圖,詳述如下:
[0047]在步驟S401中,獲取計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值,將計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值和終端序列號(hào)組合,生成當(dāng)前的混合數(shù)據(jù);
[0048]在步驟S402,利用散列函數(shù),獲取當(dāng)前的混合數(shù)據(jù)的散列值和初始密鑰的散列值;
[0049]在步驟S403,利用獲取到的終端序列號(hào)的散列值和計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值的散列值,進(jìn)行異或運(yùn)算,生成當(dāng)前的發(fā)散密鑰;
[0050]在步驟S404,循環(huán)執(zhí)行步驟S402和S403,按照從左往右的順序,對(duì)當(dāng)前的發(fā)散密鑰進(jìn)行發(fā)散,直至計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值不存在值為I的比特位,選出優(yōu)選的發(fā)散密鑰。
[0051]可選地,作為密鑰發(fā)散方法步驟S103的另一種實(shí)現(xiàn)方式,在步驟S404,循環(huán)執(zhí)行步驟S402和S403,按照從右往左的順序,對(duì)當(dāng)前的發(fā)散密鑰進(jìn)行發(fā)散,直至計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值不存在值為I的比特位,選出優(yōu)選的發(fā)散密鑰。
[0052]在本發(fā)明實(shí)施例中,根據(jù)I的比特位的個(gè)數(shù)作為發(fā)散次數(shù),由于計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值中值為I的比特位較少,因此發(fā)散的次數(shù)較少,可以有效減少發(fā)散的時(shí)間,快速生成優(yōu)選的發(fā)散密鑰。
[0053]實(shí)施例五
[0054]圖5是本發(fā)明實(shí)施例提供的密鑰發(fā)散裝置的結(jié)構(gòu)框圖,該裝置可以運(yùn)行于電子設(shè)備中。電子設(shè)備包括但不限于智能手機(jī)、服務(wù)器、平板電腦、筆記本電腦。為了便于說明,僅不出了與本實(shí)施例相關(guān)的部分。
[0055]參照?qǐng)D5,該密鑰發(fā)散裝置,包括:
[0056]初始密鑰生成模塊51,用于獲取預(yù)設(shè)的計(jì)數(shù)值、終端序列號(hào)和預(yù)配置的基本發(fā)散密鑰,生成初始密鑰;
[0057]計(jì)數(shù)值獲取模塊52,用于獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值;
[0058]密鑰發(fā)散模塊53,用于獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為I的個(gè)數(shù),將比特位為I的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰,或者,用于獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為O的個(gè)數(shù),將比特位為O的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰。
[0059]在本實(shí)施例的一種實(shí)現(xiàn)方式中,所述初始密鑰生成模塊,具體包括:
[0060]初始的混合數(shù)據(jù)生成單元,用于將預(yù)先設(shè)定的計(jì)數(shù)值和終端序列號(hào)組合,生成初始的混合數(shù)據(jù);
[0061]第一散列值獲取單元,用于利用散列函數(shù),獲取初始的混合數(shù)據(jù)的散列值和預(yù)配置的基本發(fā)散密鑰的散列值;
[0062]初始密鑰生成單元,用于利用混合數(shù)據(jù)的散列值和預(yù)配置的基本發(fā)散密鑰的散列值,進(jìn)行異或運(yùn)算,生成初始密鑰。
[0063]在本實(shí)施例的一種實(shí)現(xiàn)方式中,所述計(jì)數(shù)值獲取模塊包括:
[0064]個(gè)數(shù)獲取單元,用于獲取當(dāng)前計(jì)數(shù)器的比特位為I的個(gè)數(shù),獲取當(dāng)前計(jì)數(shù)器的比特位為O的個(gè)數(shù);
[0065]個(gè)數(shù)判斷單元,用于判斷當(dāng)前計(jì)數(shù)器的比特位為I的個(gè)數(shù)是否小于預(yù)設(shè)閥值,判斷當(dāng)前計(jì)數(shù)器的比特位為O的個(gè)數(shù)是否小于預(yù)設(shè)閥值;
[0066]計(jì)數(shù)值獲取單元,用于若是,獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值。
[0067]在本實(shí)施例的一種實(shí)現(xiàn)方式中,所述預(yù)先設(shè)定的順序包括從左往右的順序以及從右往左中的至少一種。
[0068]在本實(shí)施例的一種實(shí)現(xiàn)方式中,所述密鑰發(fā)散模塊,包括:
[0069]當(dāng)前的混合數(shù)據(jù)生成單元,用于獲取計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值,將計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值和終端序列號(hào)組合,生成當(dāng)前的混合數(shù)據(jù);
[0070]第二散列值獲取單元,用于利用散列函數(shù),獲取當(dāng)前的混合數(shù)據(jù)的散列值和初始密鑰的散列值;
[0071]發(fā)散密鑰生成單元,用于利用獲取到的終端序列號(hào)的散列值和計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值的散列值,進(jìn)行異或運(yùn)算,生成當(dāng)前的發(fā)散密鑰;
[0072]發(fā)散密鑰選出單元,用于循環(huán)執(zhí)行所述第二散列值獲取單元和所述發(fā)散密鑰生成單元中的步驟,按照從左往右的順序,對(duì)當(dāng)前的發(fā)散密鑰進(jìn)行發(fā)散,直至計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值不存在值為I的比特位,選出優(yōu)選的發(fā)散密鑰。
[0073]本發(fā)明實(shí)施例提供的裝置可以應(yīng)用在前述對(duì)應(yīng)的方法實(shí)施例中,詳情參見上述實(shí)施例的描述,在此不再贅述。
[0074]通過以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來實(shí)現(xiàn)。所述的程序可以存儲(chǔ)于可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如隨機(jī)存儲(chǔ)器、閃存、只讀存儲(chǔ)器、可編程只讀存儲(chǔ)器、電可擦寫可編程存儲(chǔ)器、寄存器等。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器,處理器讀取存儲(chǔ)器中的信息,結(jié)合其硬件執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。
[0075]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種密鑰發(fā)散方法,其特征在于,包括: 獲取預(yù)設(shè)的計(jì)數(shù)值、終端序列號(hào)和預(yù)配置的基本發(fā)散密鑰,生成初始密鑰; 獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值; 獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為I的個(gè)數(shù),將比特位為I的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰,或者, 獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為O的個(gè)數(shù),將比特位為O的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰。2.如權(quán)利要求1所述密鑰發(fā)散方法,其特征在于,所述獲取預(yù)設(shè)的計(jì)數(shù)值、終端序列號(hào)和預(yù)配置的基本發(fā)散密鑰,生成初始密鑰,具體為: 將預(yù)先設(shè)定的計(jì)數(shù)值和終端序列號(hào)組合,生成初始的混合數(shù)據(jù); 利用散列函數(shù),獲取初始的混合數(shù)據(jù)的散列值和預(yù)配置的基本發(fā)散密鑰的散列值;利用混合數(shù)據(jù)的散列值和預(yù)配置的基本發(fā)散密鑰的散列值,進(jìn)行異或運(yùn)算,生成初始密鑰。3.如權(quán)利要求1所述密鑰發(fā)散方法,其特征在于,所述獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值,具體為: 獲取當(dāng)前計(jì)數(shù)器的比特位為I的個(gè)數(shù),獲取當(dāng)前計(jì)數(shù)器的比特位為O的個(gè)數(shù); 判斷當(dāng)前計(jì)數(shù)器的比特位為I的個(gè)數(shù)是否小于預(yù)設(shè)閥值,判斷當(dāng)前計(jì)數(shù)器的比特位為O的個(gè)數(shù)是否小于預(yù)設(shè)閥值; 若是,獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值。4.如權(quán)利要求1所述密鑰發(fā)散方法,其特征在于,所述預(yù)先設(shè)定的順序包括從左往右的順序以及從右往左中的至少一種。5.如權(quán)利要求1或3所述密鑰發(fā)散方法,其特征在于,當(dāng)預(yù)先設(shè)定的順序?yàn)閺淖笸业捻樞驎r(shí),所述獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為I的個(gè)數(shù),將比特位為I的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰,具體為: Si,獲取計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值,將計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值和終端序列號(hào)組合,生成當(dāng)前的混合數(shù)據(jù); S2,利用散列函數(shù),獲取當(dāng)前的混合數(shù)據(jù)的散列值和初始密鑰的散列值; S3,利用獲取到的終端序列號(hào)的散列值和計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值的散列值,進(jìn)行異或運(yùn)算,生成當(dāng)前的發(fā)散密鑰; 循環(huán)執(zhí)行步驟S2和S3,按照從左往右的順序,對(duì)當(dāng)前的發(fā)散密鑰進(jìn)行發(fā)散,直至計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值不存在值為I的比特位,選出優(yōu)選的發(fā)散密鑰。6.一種密鑰發(fā)散裝置,其特征在于,包括: 初始密鑰生成模塊,用于獲取預(yù)設(shè)的計(jì)數(shù)值、終端序列號(hào)和預(yù)配置的基本發(fā)散密鑰,生成初始密鑰; 計(jì)數(shù)值獲取模塊,用于獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值; 密鑰發(fā)散模塊,用于獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為I的個(gè)數(shù),將比特位為I的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰,或者,用于獲取計(jì)數(shù)器的計(jì)數(shù)值比特位為O的個(gè)數(shù),將比特位為O的個(gè)數(shù)作為發(fā)散次數(shù),按預(yù)先設(shè)定的順序、計(jì)數(shù)器的計(jì)數(shù)值、終端序列號(hào)、初始密鑰以及發(fā)散次數(shù),對(duì)初始密鑰進(jìn)行發(fā)散,生成優(yōu)選的發(fā)散密鑰。7.如權(quán)利要求6所述密鑰發(fā)散裝置,其特征在于,所述初始密鑰生成模塊,具體包括: 初始的混合數(shù)據(jù)生成單元,用于將預(yù)先設(shè)定的計(jì)數(shù)值和終端序列號(hào)組合,生成初始的混合數(shù)據(jù); 第一散列值獲取單元,用于利用散列函數(shù),獲取初始的混合數(shù)據(jù)的散列值和預(yù)配置的基本發(fā)散密鑰的散列值; 初始密鑰生成單元,用于利用混合數(shù)據(jù)的散列值和預(yù)配置的基本發(fā)散密鑰的散列值,進(jìn)行異或運(yùn)算,生成初始密鑰。8.如權(quán)利要求6所述密鑰發(fā)散裝置,其特征在于,所述計(jì)數(shù)值獲取模塊包括: 個(gè)數(shù)獲取單元,用于獲取當(dāng)前計(jì)數(shù)器的比特位為I的個(gè)數(shù),獲取當(dāng)前計(jì)數(shù)器的比特位為O的個(gè)數(shù); 個(gè)數(shù)判斷單元,用于判斷當(dāng)前計(jì)數(shù)器的比特位為I的個(gè)數(shù)是否小于預(yù)設(shè)閥值,判斷當(dāng)前計(jì)數(shù)器的比特位為O的個(gè)數(shù)是否小于預(yù)設(shè)閥值; 計(jì)數(shù)值獲取單元,用于若是,獲取當(dāng)前計(jì)數(shù)器的計(jì)數(shù)值。9.如權(quán)利要求6所述密鑰發(fā)散裝置,其特征在于,所述預(yù)先設(shè)定的順序包括從左往右的順序以及從右往左中的至少一種。10.如權(quán)利要求6或9所述密鑰發(fā)散裝置,其特征在于,所述密鑰發(fā)散模塊,包括: 當(dāng)前的混合數(shù)據(jù)生成單元,用于獲取計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值,將計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值和終端序列號(hào)組合,生成當(dāng)前的混合數(shù)據(jù); 第二散列值獲取單元,用于利用散列函數(shù),獲取當(dāng)前的混合數(shù)據(jù)的散列值和初始密鑰的散列值; 發(fā)散密鑰生成單元,用于利用獲取到的終端序列號(hào)的散列值和計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值的散列值,進(jìn)行異或運(yùn)算,生成當(dāng)前的發(fā)散密鑰; 發(fā)散密鑰選出單元,用于循環(huán)執(zhí)行所述第二散列值獲取單元和所述發(fā)散密鑰生成單元中的步驟,按照從左往右的順序,對(duì)當(dāng)前的發(fā)散密鑰進(jìn)行發(fā)散,直至計(jì)數(shù)器當(dāng)前的計(jì)數(shù)值不存在值為I的比特位,選出優(yōu)選的發(fā)散密鑰。
【文檔編號(hào)】H04L9/06GK106034019SQ201510102327
【公開日】2016年10月19日
【申請(qǐng)日】2015年3月9日
【發(fā)明人】黃俊斌, 李華, 陳候進(jìn), 周宇龍, 李鶴祥
【申請(qǐng)人】深圳華智融科技有限公司