用于檢查隨機(jī)數(shù)序列的熵的裝置和方法
【專利摘要】根據(jù)一種實(shí)施方式描述了一種用于檢查隨機(jī)數(shù)序列的熵的裝置,所述裝置包括:隨機(jī)源,所述隨機(jī)源被配置用于提供隨機(jī)輸入序列;后處理電路,所述后處理電路被配置用于接收所述隨機(jī)輸入序列以及由所述隨機(jī)輸入序列建立隨機(jī)數(shù)序列,其方式是,所述后處理電路實(shí)施所述隨機(jī)輸入序列的后處理和抽??;逆后處理電路,所述逆后處理電路被配置用于從所述后處理電路接收所述隨機(jī)數(shù)序列以及建立經(jīng)處理的隨機(jī)數(shù)序列,其方式是,所述逆后處理電路通過與由所述后處理電路實(shí)施的后處理相逆的方式方法處理所述隨機(jī)數(shù)序列;熵檢驗(yàn)器,所述熵檢驗(yàn)器被配置用于基于所述經(jīng)處理的隨機(jī)數(shù)序列檢查所述隨機(jī)數(shù)序列的熵。
【專利說明】
用于檢查隨機(jī)數(shù)序列的熵的裝置和方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及用于檢查隨機(jī)數(shù)序列的熵(Entropie)的裝置和方法。
【背景技術(shù)】
[0002] 在電子設(shè)備中,例如在芯片卡中,經(jīng)常需要隨機(jī)數(shù)序列,例如用于加密應(yīng)用。當(dāng)建 立隨機(jī)數(shù)的序列時(shí),其熵是重要的序列質(zhì)量說明,因?yàn)橹挥懈叩撵夭疟WC高的安全性,例如 保證侵入者不會(huì)猜出序列的隨機(jī)數(shù)。因此能夠檢查所建立的隨機(jī)數(shù)序列的熵的方法是值得 期待的。
【發(fā)明內(nèi)容】
[0003] 根據(jù)一種實(shí)施方式,提供一種用于檢查隨機(jī)數(shù)序列的熵的裝置,所述裝置包括:隨 機(jī)源,所述隨機(jī)源被配置用于提供隨機(jī)輸入序列;后處理電路,所述后處理電路被配置用于 接收隨機(jī)輸入序列以及由隨機(jī)輸入序列建立隨機(jī)數(shù)序列,其方式是,實(shí)施隨機(jī)輸入序列的 后處理和抽取(Dezimierung);逆后處理電路,所述逆后處理電路被配置用于從后處理電路 接收隨機(jī)數(shù)序列以及建立經(jīng)處理的隨機(jī)數(shù)序列,其方式是,通過與由后處理電路實(shí)施的后 處理相逆的方式方法來處理隨機(jī)數(shù)序列;熵檢驗(yàn)器,所述熵檢驗(yàn)器被配置用于基于經(jīng)處理 的隨機(jī)數(shù)序列來檢查隨機(jī)數(shù)序列的熵。
[0004] 根據(jù)另一種實(shí)施方式,提供一種根據(jù)以上描述的裝置用于檢查隨機(jī)數(shù)序列的熵的 方法。
【附圖說明】
[0005] 在附圖中,相同的附圖標(biāo)記通常在所有不同視圖中涉及相同部分。附圖不一定是 按比例的,而重點(diǎn)通常在于闡述本發(fā)明的原理。在以下描述中參考以下附圖描述了不同方 面,其中:
[0006] 圖1示出了根據(jù)一種實(shí)施方式的芯片卡。
[0007] 圖2示出了隨機(jī)數(shù)生成器的架構(gòu)的示例。
[0008] 圖3示出了后處理器的示例。
[0009] 圖4示出了用于檢查隨機(jī)數(shù)序列的熵的裝置。
[0010] 圖5示出了流程圖。
[0011] 圖6示出了根據(jù)一種實(shí)施方式的用于檢查隨機(jī)數(shù)序列的熵的裝置的示例。
[0012] 圖7示出了 101Q比特?cái)?shù)列上的數(shù)字模擬的結(jié)果,其中,借助于12比特LFSR無壓縮地 對(duì)熵為0.25的噪聲源進(jìn)行后處理。
[0013] 圖8示出了壓縮為2的數(shù)字模擬的結(jié)果。
[0014] 圖9示出了壓縮為4的數(shù)字模擬的結(jié)果。
[0015] 圖10示出了根據(jù)另一種實(shí)施方式的用于檢查隨機(jī)數(shù)序列的熵的裝置的示例。
[0016] 圖11示出了根據(jù)一種實(shí)施方式的線性反饋移位寄存器的示例。
[0017] 圖12示出了進(jìn)行解密的LFSR的示例。
【具體實(shí)施方式】
[0018] 以下的詳細(xì)描述涉及附圖,其為了進(jìn)行說明示出本發(fā)明的特定細(xì)節(jié)和方面,在這 些特定細(xì)節(jié)和方面中能夠?qū)嵤┍景l(fā)明??梢允褂闷渌矫娌⑶铱梢赃M(jìn)行結(jié)構(gòu)方面的、邏輯 方面的和電學(xué)方面的改變,而不脫離本發(fā)明的保護(hù)范圍。本發(fā)明的不同方面不必然彼此排 斥,因?yàn)楸景l(fā)明的一些方面可以與本發(fā)明的一個(gè)或多個(gè)其他方面結(jié)合,以形成新的方面。
[0019] 圖1示出了根據(jù)一種實(shí)施方式的芯片卡1〇〇。
[0020] 所述芯片卡100包括載體101,在所述載體上布置芯片卡模塊102。所述芯片卡模塊 102包括不同的數(shù)據(jù)處理部件,例如存儲(chǔ)器103、處理器104或者例如專用的加密處理器105。 所述芯片卡模塊102包括隨機(jī)數(shù)生成器106。所述隨機(jī)數(shù)生成器例如可以向處理器104或加 密處理器輸送隨機(jī)數(shù)序列,其中,所述加密處理器例如可以基于所述隨機(jī)數(shù)序列實(shí)施加密 操作。
[0021] 圖2示出了隨機(jī)數(shù)生成器200的架構(gòu)的示例。
[0022]所述隨機(jī)數(shù)生成器200包括噪聲源201,所述噪聲源被配置用于輸出噪聲信號(hào)n (t)。所述噪聲源201例如具有一定的熵并且不具有記憶或具有短的記憶。所述隨機(jī)數(shù)生成 器200的數(shù)字化單元將噪聲信號(hào)轉(zhuǎn)換成經(jīng)數(shù)字化的噪聲信號(hào)(DNS-Digitized Noise Signal){s[i]},即,數(shù)字噪聲值序列,其方式例如是,以確定的采樣間隔采樣噪聲信號(hào)以及 將采樣值數(shù)字化。所述隨機(jī)數(shù)生成器200還包括后處理器203,所述后處理器以進(jìn)行壓縮的 數(shù)字算法(例如根據(jù)Hashing函數(shù),例如借助具有經(jīng)抽取的輸出的線性反饋移位寄存器)對(duì) 經(jīng)數(shù)字化的噪聲信號(hào)進(jìn)行后處理,以便獲得具有全熵的隨機(jī)數(shù)序列Ir[i]},其也稱為內(nèi)部 隨機(jī)序列(IRS-Internal Random Sequence)。
[0023] 為了保證足夠程度的安全性,例如可以檢查或測(cè)試隨機(jī)數(shù)序列r[i]的每比特的 熵。然而,因?yàn)閴嚎s算法可能會(huì)具有長(zhǎng)的記憶(例如可以借助32比特LFSR實(shí)現(xiàn)),所以出于實(shí) 踐原因無法實(shí)現(xiàn)內(nèi)部隨機(jī)序列Ir[i]}的直接熵測(cè)試,因?yàn)樗鰷y(cè)試需要太多數(shù)據(jù)。
[0024] 這當(dāng)考慮強(qiáng)靜態(tài)隨機(jī)過程的熵率或源信息率的定義時(shí)可以看出:
[0025] - lim//.(^|^15CD
[0026] 其中,Xk是處理的第k項(xiàng),H(X|Y)是條件熵。對(duì)于二進(jìn)制的熵源,熵率是在知道先前 n-1比特的情況下第n個(gè)比特的熵。
[0027] H(X)可以如下計(jì)算:
[0029] 其中,P(Xn-l,Xn-2,'",X1)是輸出比特序列(Xn-l,X n-2,'",X1)的概率,p(Xn|xn-1, xn-2,…,xi)是第n個(gè)符號(hào)知道先前n-1個(gè)符號(hào)的條件概率。
[0030] 可以由所建立的數(shù)據(jù)序列估計(jì)兩個(gè)概率,但當(dāng)對(duì)經(jīng)后處理的數(shù)據(jù)(在該情況下為 lr[i]})實(shí)施測(cè)試時(shí),n必須大于后處理器203的記憶(例如在32比特LFSR的情況下為32比 特),以便獲得壓縮源的熵率。對(duì)于更小的n,測(cè)試會(huì)受通過后處理器203引入的偽隨機(jī)性欺 騙。先前定義的概率估計(jì)例如對(duì)于32比特的存儲(chǔ)深度不能實(shí)際實(shí)施。
[0031]圖3示出了后處理器300的示例。
[0032]后處理或后處理單元(例如后處理電路)300基于長(zhǎng)度為n比特的線性反饋移位寄 存器(LFSR-Linear Feedback Shift Register)305,所述線性反饋移位寄存器包括線性移 位寄存器301、反饋網(wǎng)絡(luò)302和異或門303。所述后處理器300接收(例如由數(shù)字化單元202提 供的)隨機(jī)比特流{s[i]}作為輸入并且輸出N比特字序列形式的隨機(jī)數(shù)序列|r[i]}。隨機(jī)比 特流{s[i]}由具有值0和1的比特的流組成。隨機(jī)比特流{s[i]}例如具有每比特相對(duì)較低的 熵并且例如以高速率提供給后處理器300。隨機(jī)比特流的隨機(jī)比特顯然充當(dāng)后處理器300的 開始值。
[0033] N比特移位寄存器301與反饋網(wǎng)絡(luò)302和異或門303連接,所述異或門接收反饋網(wǎng)絡(luò) 302的輸出和輸入流{s[i]}作為輸入,并且所述異或門的輸出被輸送給n比特移位寄存器 301。所述移位寄存器301以時(shí)鐘信號(hào)進(jìn)行時(shí)鐘控制并且包括n個(gè)存儲(chǔ)元件,即,其實(shí)現(xiàn)為觸 發(fā)器鏈。利用所述時(shí)鐘信號(hào)的每一個(gè)時(shí)鐘脈沖,使在一個(gè)存儲(chǔ)元件中存儲(chǔ)的相應(yīng)比特移位 到右側(cè)相鄰的存儲(chǔ)元件中(除了在最右側(cè)的存儲(chǔ)元件中存儲(chǔ)的比特),其中,使由異或門303 輸出的新出現(xiàn)的比特移位到最左側(cè)的存儲(chǔ)元件中。僅當(dāng)后處理器的控制器304向移位寄存 器301施加使能信號(hào)時(shí),移位寄存器301才實(shí)施移位操作。
[0034]所述控制器304可以將所述n比特移位寄存器301的存儲(chǔ)元件重置成預(yù)先確定的 值,其方式是,其施加重置信號(hào)。這些預(yù)先確定的值可以全部具有相同的值,例如邏輯"〇"或 "1"。替代地,可以將存儲(chǔ)元件重置成與密鑰或制造識(shí)別碼相應(yīng)的值。對(duì)于輸送給n比特移位 寄存器的每KxN個(gè)比特,作為隨機(jī)數(shù)序列{r[i]}的隨機(jī)字輸出在移位寄存器301中存儲(chǔ)的n 比特的N個(gè)比特,其中,K是提供給控制器304的壓縮因數(shù)。例如,在向n比特移位寄存器301輸 送KxN個(gè)比特之后(即,在全部KxN個(gè)時(shí)鐘周期之后),輸出的N個(gè)比特是在n比特移位寄存器 中在最左側(cè)存儲(chǔ)的N個(gè)比特。
[0035]在所述時(shí)鐘信號(hào)的每一個(gè)時(shí)鐘周期中,所述反饋網(wǎng)絡(luò)302使用(在所述時(shí)鐘周期開 始時(shí))存儲(chǔ)在所述移位寄存器301的存儲(chǔ)元件中的值作為輸入,以便計(jì)算反饋比特。所述異 或門303將所述反饋比特與在所述時(shí)鐘周期中出現(xiàn)的隨機(jī)比特進(jìn)行異或組合并且將所述組 合的結(jié)果用作所述移位寄存器301的輸入。
[0036]在計(jì)算反饋比特中不必使用存儲(chǔ)在存儲(chǔ)元件中的所有值,例如根據(jù)本原反饋多項(xiàng) 式計(jì)算所述反饋比特。例如可以如此選擇本原反饋多項(xiàng)式,使得在其重復(fù)之前反饋比特序 列具有最大可能的長(zhǎng)度,如果總向LFSR 305輸入相同的隨機(jī)比特。所述反饋網(wǎng)絡(luò)302顯然可 以提高存儲(chǔ)在存儲(chǔ)元件中的比特的隨機(jī)性,從而使其概率更接近均勻分布。
[0037]所述控制器304借助于重置信號(hào)和使能信號(hào)控制移位寄存器301。所述控制器接收 時(shí)鐘信號(hào)、認(rèn)證模式信號(hào)、開始信號(hào)和壓縮因數(shù)作為輸入。所述開始信號(hào)用于啟動(dòng)后處理器 302〇
[0038]在后處理器300的正常運(yùn)行模式中,在建立每一個(gè)隨機(jī)字之前不將移位寄存器的 存儲(chǔ)元件置于預(yù)先確定的值。當(dāng)在移位寄存器301上施加使能信號(hào)時(shí),在輸出隨機(jī)字之前對(duì) 數(shù)量為KxN的隨機(jī)比特進(jìn)行后處理。待處理的KxN個(gè)隨機(jī)比特的數(shù)量由壓縮因數(shù)K確定。因 此,顯然可以收集KxN個(gè)隨機(jī)比特的熵并且將其壓縮成一個(gè)N比特隨機(jī)字。通過向控制單元 施加低認(rèn)證模式信號(hào)的方式來選擇所述正常運(yùn)行模式。
[0039] 在認(rèn)證模式中,在開始建立每一個(gè)隨機(jī)字之前,移位寄存器301的存儲(chǔ)元件置于預(yù) 先確定的值。然后,對(duì)KxN個(gè)隨機(jī)比特進(jìn)行后處理,并且形成得到的隨機(jī)字。輸出、收集并且 根據(jù)統(tǒng)計(jì)測(cè)試一一例如基于以上公式(2)測(cè)試隨機(jī)字。
[0040] 因此,如果在開始新的壓縮之前重置LFSR,則可以直接測(cè)量序列|r[i]}的熵,只要 假設(shè)噪聲源的低熵的未處理的隨機(jī)流的每KxN個(gè)比特在n比特LFSR中被壓縮成隨機(jī)字,以便 建立高熵的N比特隨機(jī)字,如其在圖3中示出的那樣。實(shí)際上,在假設(shè)無記憶源的情況下,重 置操作確保經(jīng)后處理的字是獨(dú)立的。因此,當(dāng)N較小時(shí)(例如8比特),可以通過測(cè)試輸出分布 的平整度來簡(jiǎn)單地測(cè)量熵。
[0041] 然而,在所述方法中所獲得的估計(jì)熵典型地過于不利:例如如果n = 32并且N = 8, 則重置操作破壞在獲得輸出字節(jié)之后仍在LFSR中剩余的24比特的熵。這意味著:在認(rèn)證模 式中所測(cè)量的熵低于在沒有重置的正常模式中達(dá)到的實(shí)際的熵。
[0042]以下描述一種實(shí)施方式,其例如能夠?qū)崿F(xiàn)在實(shí)際應(yīng)用中測(cè)量所建立的隨機(jī)數(shù)序列 的熵,其中,避免了如在以上參考圖3描述的示例中那樣過于不利。
[0043]圖4示出了用于檢查隨機(jī)數(shù)序列的熵的裝置400。
[0044] 所述裝置400包括隨機(jī)源401和后處理電路402,所述隨機(jī)源被配置用于提供隨機(jī) 輸入序列,所述后處理電路被配置用于接收所述隨機(jī)輸入序列以及由所述隨機(jī)輸入序列建 立隨機(jī)數(shù)序列,其方式是,所述后處理電路實(shí)施所述隨機(jī)輸入序列的后處理和抽取。
[0045] 所述裝置400還包括逆后處理電路403,所述逆后處理電路被配置用于從所述后處 理電路402接收隨機(jī)數(shù)序列以及建立經(jīng)處理的隨機(jī)數(shù)序列,其方式是,所述逆后處理電路以 與由所述后處理電路實(shí)施的后處理相逆的方式方法來處理隨機(jī)數(shù)序列。
[0046] 所述裝置400還包括熵檢驗(yàn)器404,所述熵檢驗(yàn)器被配置用于基于經(jīng)處理的隨機(jī)數(shù) 序列來檢查隨機(jī)數(shù)序列的熵。
[0047]換言之,根據(jù)一種實(shí)施方式,實(shí)施后處理器的逆操作的逆(或進(jìn)行解密的)后處理 器在測(cè)試隨機(jī)數(shù)序列的熵之前處理所述隨機(jī)數(shù)序列。由此例如可以去除由后處理器引入的 偽隨機(jī)性,因此與沒有逆后處理的隨機(jī)數(shù)序列的熵的測(cè)量相比可以以更小的深度來測(cè)量 熵。
[0048] 這例如能夠?qū)崿F(xiàn)經(jīng)后處理的(經(jīng)壓縮的)噪聲源的熵率的直接測(cè)試。附加地,根據(jù) 一種實(shí)施方式,可以容易地實(shí)現(xiàn)在線噪聲源完全失效和后處理器的完好性測(cè)試。
[0049] 所述裝置的部件(例如后處理電路、逆后處理電路和熵檢驗(yàn)器)例如可以通過一個(gè) 或多個(gè)電路實(shí)現(xiàn)。"電路"可以理解為任意類型的實(shí)現(xiàn)邏輯實(shí)體,其可以是專用電路或執(zhí)行 在存儲(chǔ)器中、在固件中或在它們的任意組合中存儲(chǔ)的軟件的處理器。因此,"電路"可以是固 定布線的邏輯電路或可編程邏輯電路,例如可編程處理器,例如微處理器。"電路"同樣可以 是執(zhí)行軟件、例如任意類型的計(jì)算機(jī)程序的處理器。以下更詳細(xì)描述的相應(yīng)功能的任意其 他類型的實(shí)現(xiàn)也同樣可以理解為"電路"。
[0050] 例如借助于存儲(chǔ)元件一一例如觸發(fā)器的串行連接來實(shí)現(xiàn)寄存器。
[0051] 根據(jù)一種實(shí)施方式,所述抽取包括對(duì)于在后處理電路中輸入的隨機(jī)輸入序列的每 第二數(shù)量的比特輸出第一數(shù)量的經(jīng)后處理的比特。
[0052] 例如,所述抽取是以壓縮因數(shù)對(duì)隨機(jī)輸入序列進(jìn)行的壓縮,所述壓縮因數(shù)等于2的
[0053] 根據(jù)一種實(shí)施方式,所述后處理電路包括線性反饋移位寄存器,并且所述后處理 是借助于所述線性反饋移位寄存器對(duì)隨機(jī)輸入序列進(jìn)行的處理。
[0054] 例如,所述抽取包括輸出在所述線性反饋移位寄存器中存儲(chǔ)的第一數(shù)量的比特, 更確切地說,每當(dāng)在所述線性反饋移位寄存器中已經(jīng)輸入隨機(jī)輸入序列的第二數(shù)量的比特 時(shí)輸出在所述線性反饋移位寄存器中存儲(chǔ)的第一數(shù)量的比特。
[0055]例如通過壓縮因數(shù)提供第二數(shù)量的比特與第一數(shù)量的比特之間的比例,即,所述 比例例如相應(yīng)于預(yù)先確定的壓縮因數(shù)。
[0056]所述逆后處理電路可以包括另一線性反饋移位寄存器,并且對(duì)隨機(jī)數(shù)序列進(jìn)行的 與由所述后處理電路實(shí)施的后處理相逆的處理例如是借助于所述另一線性反饋移位寄存 器對(duì)隨機(jī)數(shù)序列進(jìn)行的處理。
[0057] 例如根據(jù)相同的本原多項(xiàng)式配置所述線性反饋移位寄存器和所述另一線性反饋 移位寄存器。
[0058] 根據(jù)一種實(shí)施方式,所述隨機(jī)源包括噪聲源和數(shù)字化單元,所述噪聲源和所述數(shù) 字化單元被配置用于建立隨機(jī)輸入序列,其方式是,將所述噪聲源的噪聲輸出數(shù)字化。
[0059] 根據(jù)一種實(shí)施方式,所述熵檢驗(yàn)器被配置用于識(shí)別隨機(jī)數(shù)序列的熵是否等于零并 且當(dāng)所述熵檢驗(yàn)器識(shí)別到經(jīng)處理的隨機(jī)數(shù)序列的熵等于零時(shí)輸出指示隨機(jī)源失效的信號(hào)。
[0060] 例如,所述熵檢驗(yàn)器被配置用于識(shí)別經(jīng)處理的隨機(jī)數(shù)序列的熵是否等于零,其方 式是,所述熵檢驗(yàn)器識(shí)別經(jīng)處理的隨機(jī)數(shù)序列是否恒定。
[0061] 根據(jù)一種實(shí)施方式,所述裝置還包括控制器,所述控制器被配置用于檢查所述后 處理電路的完好性,其方式是,所述控制器檢查經(jīng)處理的隨機(jī)數(shù)序列作為對(duì)恒定隨機(jī)輸入 序列的響應(yīng)是否恒定。
[0062] 根據(jù)一種實(shí)施方式,所述熵檢驗(yàn)器被配置用于測(cè)量所述隨機(jī)數(shù)序列的熵,其方式 是,所述熵檢驗(yàn)器測(cè)量所述經(jīng)處理的隨機(jī)數(shù)序列的熵。
[0063] 例如,所述熵檢驗(yàn)器可以被配置用于測(cè)量所述經(jīng)處理的隨機(jī)數(shù)序列的熵,其方式 是,所述熵檢驗(yàn)器對(duì)所述經(jīng)處理的隨機(jī)數(shù)序列使用統(tǒng)計(jì)測(cè)試。
[0064]根據(jù)一種實(shí)施方式,提供一種處理設(shè)備,所述處理設(shè)備包括以上描述的用于檢查 隨機(jī)數(shù)序列的熵的裝置。
[0065]所述處理設(shè)備例如是芯片卡。
[0066] 根據(jù)一種實(shí)施方式,提供一種用于檢查隨機(jī)數(shù)的熵的方法,如在圖5中示出的那 樣。
[0067] 圖5示出了流程圖500。
[0068]在步驟501中,由隨機(jī)輸入序列建立隨機(jī)數(shù)序列,其方式是,實(shí)施所述隨機(jī)輸入序 列的后處理和抽取。
[0069]在步驟502中,建立經(jīng)處理的隨機(jī)數(shù)序列,其方式是,通過與所述后處理相逆的方 式方法來處理所述隨機(jī)數(shù)序列。
[0070] 在步驟503中,基于經(jīng)處理的隨機(jī)數(shù)序列檢查所述隨機(jī)數(shù)序列的熵。
[0071] 要注意的是,結(jié)合圖4中的裝置400描述的實(shí)施方式類似地適用于如其在圖5中示 出的方法,反之亦然。
[0072]以下更詳細(xì)地示出實(shí)施方式。
[0073]圖6示出了根據(jù)一種實(shí)施方式的用于檢查隨機(jī)數(shù)序列的熵的裝置600的示例。
[0074] 所述裝置600包括噪聲源601,所述噪聲源是無記憶的或具有短時(shí)記憶并且提供經(jīng) 數(shù)字化的噪聲信號(hào){s[i]},即,隨機(jī)數(shù)字值的序列。所述噪聲源601例如相應(yīng)于噪聲源201以 及數(shù)字化單元202。
[0075] 所述經(jīng)數(shù)字化的噪聲源{s[i]}被輸送給后處理器602,所述后處理器包括n比特 LFSR(線性反饋移位寄存器)603,其中,LFSR例如具有參考圖3描述的線性反饋移位寄存器 305的結(jié)構(gòu)。通過抽取塊604表示抽取,即,根據(jù)壓縮因數(shù)K的壓縮。壓縮因數(shù)K例如是2的冪, 例如4,從而對(duì)于在移位寄存器603中輸入的每4個(gè)比特提取1個(gè)輸出比特。例如字長(zhǎng)N可以等 于1,從而后處理器602逐比特地輸出隨機(jī)比特并且后處理器602的輸出線是單位線。
[0076] 所述噪聲源601和所述后處理器例如是隨機(jī)數(shù)生成器605的一部分,例如布置在電 子設(shè)備上,例如芯片卡上。
[0077]所述后處理器602的輸出(其也是隨機(jī)數(shù)生成器605的輸出)是隨機(jī)數(shù)序列(或隨機(jī) 數(shù)流)lr[i]},所述隨機(jī)數(shù)序列(或所述隨機(jī)數(shù)流)能夠被其他部件一一例如已經(jīng)參考圖1解 釋的處理器或協(xié)處理器使用,并且在所述示例中要檢查它的熵。
[0078] 例如,在制造了包括隨機(jī)數(shù)生成器605的設(shè)備之后并且例如在其使用之前(例如在 隨機(jī)數(shù)序列Ir[i]}用于例如加密目的之前),可以檢查所述設(shè)備的熵。例如可以在制造了確 定數(shù)量的分別包括隨機(jī)數(shù)生成器605的設(shè)備(例如芯片卡)之后,在所建立的隨機(jī)數(shù)序列的 熵方面對(duì)這些設(shè)備中的一些進(jìn)行測(cè)試。
[0079] 為了檢查所建立的隨機(jī)數(shù)序列的熵,由進(jìn)行解密的線性反饋移位寄存器處理輸出 流lr[i]},所述線性反饋移位寄存器具有與進(jìn)行后處理的LFSR603相同的多項(xiàng)式(假設(shè)K是2 的冪)。所述進(jìn)行解密的LFSR可以具有自同步的配置和消除在通過后處理器602進(jìn)行壓縮期 間引入的偽隨機(jī)性的特性。所述進(jìn)行解密的LFSR 606的輸出一一即經(jīng)解密的具有高熵的隨 機(jī)流lr[i]}被輸送給熵檢查單元607,所述熵檢查單元借助于條件熵測(cè)試?yán)绺鶕?jù)以上公 式(2))確定其熵。
[0080] 根據(jù)公式(2)的統(tǒng)計(jì)測(cè)試?yán)绨ń⑷缭诠?2)右側(cè)總和中對(duì)于幻,…,Xn表示 的條件概率的表,其中,n達(dá)到一個(gè)確定的最大值(其不應(yīng)與表示LFSR 301、603的長(zhǎng)度的n混 淆)。換言之,對(duì)于n的確定值確定在公式(2)的極限中的表述,所述確定值例如根據(jù)壓縮因 數(shù)和所期望的熵度量精確度來選擇。例如對(duì)于壓縮16,從20至22的范圍中選擇n的值(其也 稱為深度或條件深度),這是典型地仍可實(shí)際實(shí)現(xiàn)。
[0081] 在以上描述的示例中,在制造之后例如在實(shí)驗(yàn)室中測(cè)試隨機(jī)數(shù)生成器605,可以例 如通過計(jì)算機(jī)實(shí)現(xiàn)進(jìn)行解密的LFSR 606和熵檢驗(yàn)單元607,所述計(jì)算機(jī)接收隨機(jī)數(shù)序列{r
[i]}〇
[0082] 所述進(jìn)行解密的LFSR 606的工作方式顯然基于具有最大長(zhǎng)度的序列(即由LFSR借 助本原多項(xiàng)式建立的序列)的特性。即,具有最大長(zhǎng)度的序列的2的冪抽取就是相同序列的 移位版本。因此,盡管通過塊604進(jìn)行抽取,所述進(jìn)行解密的LFSR 606仍可以逆轉(zhuǎn)所述進(jìn)行 后處理的LFSR的自由演進(jìn)(即自由運(yùn)行),并且當(dāng)所述進(jìn)行后處理的LFSR 602的輸入由恒定 的比特流組成時(shí)(即當(dāng)噪聲源601關(guān)閉或失效時(shí)),其產(chǎn)生恒定的輸出。
[0083]要注意的是,當(dāng)壓縮K不是2的冪時(shí),所述進(jìn)行解密的LFSR不具有與所述后處理器 602相同的多項(xiàng)式,但是如果使用正確的多項(xiàng)式,以上特性仍然有效。
[0084] 另外,對(duì)于以上要注意的是,為了所述進(jìn)行解密的LFSR 606產(chǎn)生恒定輸出,輸入流 不必是恒定的;輸入流由恒定的K比特子序列的重復(fù)組成就足夠了。
[0085] 因此,經(jīng)解密的序列可以用于測(cè)試經(jīng)壓縮的序列|r[i]}的熵,其方式是,使 用具有深度的條件熵測(cè)試,其深度比直接對(duì)Ir[i]}實(shí)施測(cè)試時(shí)所需要的低n步。
[0086] 圖7示出了 101()比特序列上的數(shù)字模擬的結(jié)果,其中,利用n=12比特的LFSR無壓縮 地(K = l)對(duì)具有熵H=0.25的噪聲源進(jìn)行后處理。
[0087] 通過第一曲線701示出了當(dāng)對(duì)|r[i]}使用條件熵測(cè)試時(shí)獲得的結(jié)果,并且通過第 二曲線702示出了當(dāng)對(duì)經(jīng)解密的序列使用條件熵測(cè)試時(shí)獲得的結(jié)果,其中,深度從左 向右沿著深度軸703增加,并且由熵測(cè)試輸出的熵從下向上沿著熵軸704增加。
[0088] 可以看出,在解密之后熵測(cè)試能夠立即識(shí)別正確的源熵(0.25 ),而當(dāng)直接測(cè)試輸 出序列l(wèi)r[i]}時(shí)需要深度12(LFSR長(zhǎng)度)。
[0089] 圖8示出了具有壓縮K = 2的數(shù)字模擬的結(jié)果。
[0090] 如同在圖7中那樣,通過第一曲線801示出了當(dāng)對(duì)|r[i]}使用條件熵測(cè)試時(shí)獲得的 結(jié)果,并且通過第二曲線802示出了當(dāng)對(duì)經(jīng)解密的序列使用條件熵測(cè)試時(shí)獲得的結(jié) 果,其中,深度從左向右沿著深度軸803增加,并且由熵測(cè)試輸出的熵從下向上沿著熵軸804 增加。
[0091] 可以看出,當(dāng)使用壓縮時(shí)(在此示例中K = 2),獲得與在圖7中的模擬相似的結(jié)果: 在經(jīng)解密的序列(第二曲線802)的情況下,所估計(jì)的條件熵立即開始向終值(大約2x0.25) 收斂,而對(duì)于輸出序列必須達(dá)到深度12才看到估計(jì)的下降(第一曲線801)。這同樣適用于更 高的壓縮因數(shù),如在圖9中可見的那樣。
[0092]圖9示出了具有壓縮K = 4的數(shù)字模擬的結(jié)果。
[0093] 如同在圖7和8中那樣,通過第一曲線901示出了當(dāng)對(duì)|r[i]}使用條件熵測(cè)試時(shí)獲 得的結(jié)果,并且通過第二曲線902示出了當(dāng)對(duì)經(jīng)解密的序列使用條件熵測(cè)試時(shí)獲得 的結(jié)果,其中,深度從左向右沿著深度軸903增加,并且由熵測(cè)試輸出的熵從下向上沿著熵 軸904增加。
[0094] 如同圖8情況那樣,在經(jīng)解密的序列的情況下,所估計(jì)的條件熵立即開始向終值收 斂,而對(duì)于輸出序列必須達(dá)到深度12才看到估計(jì)的下降。
[0095] 如在圖7至9中可見,可以確定經(jīng)解密的序列的條件熵估計(jì)是直接對(duì)序列{r
[i]}實(shí)施的估計(jì)的移動(dòng)了n步的版本(其中,在以上示例中n = 12)。
[0096]根據(jù)一種實(shí)施方式,由進(jìn)行解密的LFSR產(chǎn)生的經(jīng)解密的序列用于實(shí)現(xiàn)噪聲源601 的完全失效測(cè)試(T0T測(cè)試)。實(shí)際上,當(dāng)噪聲源輸出變得恒定時(shí)(具有恒定的K比特子序列), 在所述進(jìn)行解密的LFSR 606的輸出端上得到恒定的序列。T0T測(cè)試可以通過如在圖10中示 出的用于非轉(zhuǎn)換識(shí)別的檢測(cè)器實(shí)施。
[0097]圖10示出了根據(jù)另一種實(shí)施方式的用于檢查隨機(jī)數(shù)序列的熵的裝置1000的示例。 [0098] 類似于圖6中的裝置600,所述裝置1000包括噪聲源1001、后處理器1002和進(jìn)行解 密的LFSR 1006,所述進(jìn)行解密的LFSR如以上參考圖6描述那樣運(yùn)行。所述裝置1000還包括 用于非轉(zhuǎn)換識(shí)別的檢測(cè)器1007,所述檢測(cè)器接收經(jīng)解密的隨機(jī)流作為輸入并且例如計(jì)數(shù)是 否在預(yù)先確定數(shù)量的比特內(nèi)不發(fā)生轉(zhuǎn)換,例如在測(cè)試序列(即在所述示例中經(jīng)解密的隨機(jī) 流)的64個(gè)連續(xù)比特內(nèi)。如果在預(yù)先確定數(shù)量的比特內(nèi)未發(fā)生轉(zhuǎn)換,則觸發(fā)警報(bào)。
[0099] 例如可以在沒有熵檢查單元的情況下在設(shè)備一一例如芯片卡中實(shí)現(xiàn)所述裝置 1000,從而在所述設(shè)備運(yùn)行期間可以檢查噪聲源是正常工作還是失效。
[0100] 另外,根據(jù)一種實(shí)施方式,經(jīng)解密的序列還可以用于實(shí)現(xiàn)進(jìn)行后處理的 LFSR的完好性測(cè)試:當(dāng)在熵測(cè)試期間強(qiáng)制噪聲源輸出為恒定值(恒定的K比特子序列)時(shí),在 解密之后肯定得到恒定序列。這可以在設(shè)備的制造之后以及供貨之前借助于外部的熵檢查 單元或用于非轉(zhuǎn)換識(shí)別的檢測(cè)器而使用,但也可以在設(shè)備自身中實(shí)現(xiàn),例如具有圖10的架 構(gòu),從而可以檢查所述設(shè)備的進(jìn)行后處理的LFSR的完好性,例如用于識(shí)別對(duì)設(shè)備的入侵。
[0101] LFSR 305、603例如是線性反饋移位寄存器,如其在圖11中示出的那樣。
[0102] 圖11示出了根據(jù)一種實(shí)施方式的線性反饋移位寄存器(LFSR)llOO。
[0103] 所述LFSR是按照自同步配置的斐波那契LFSR。所述LFSR包括多個(gè)觸發(fā)器1101,在 所述示例中ri = 32。每一個(gè)觸發(fā)器的輸出端分別通過相應(yīng)的與門1102與n輸入端異或門1103 連接(除了最右側(cè)的觸發(fā)器1102,其直接與n輸入端異或門連接),其中,n輸入端異或門的輸 出端與進(jìn)行解密的LFSR 1100的輸入端一起與異或門1104連接。異或門1104的輸出端是位 于最左側(cè)的寄存器1101的輸入端并且是所述進(jìn)行解密的LFSR 1100的輸出端。
[0104]在其第二輸入端上,每一個(gè)與門1102接收本原多項(xiàng)式的一個(gè)系數(shù),所述LFSR應(yīng)根 據(jù)所述本原多項(xiàng)式工作。與第i個(gè)觸發(fā)器的輸出端(在所述示例中i = l,…,32)連接的與門 1102尤其接收多項(xiàng)式的第i個(gè)系數(shù)(即,系數(shù)x1)。
[0105]如前所述,為了實(shí)現(xiàn)確定的壓縮,例如,在使確定數(shù)量的比特移位到LFSR 1100中 之后,輸出例如1個(gè)比特。
[0106] 圖12示出了進(jìn)行解密的LFSR 1200的示例。
[0107] 所述進(jìn)行解密的LFSR是按照自同步配置的斐波那契LFSR。所述進(jìn)行解密的LFSR包 括多個(gè)觸發(fā)器1201,在所述示例中n = 32。每一個(gè)觸發(fā)器的輸出端分別通過相應(yīng)的與門1202 與n輸入端異或門1203連接(除了最右側(cè)的觸發(fā)器1202,其直接與n輸入端異或門連接),其 中,n輸入端異或門的輸出端與所述進(jìn)行解密的LFSR 1200的輸入端一起與異或門1204連 接。異或門1104的輸出端是所述進(jìn)行解密的LFSR 1200的輸出端。所述進(jìn)行解密的LFSR的輸 入端與(最左側(cè)的)第一觸發(fā)器1201連接。每一個(gè)與門1202在其第二輸入端上接收本原多項(xiàng) 式的一個(gè)系數(shù),所述LFSR應(yīng)根據(jù)所述本原多項(xiàng)式工作。與第i個(gè)觸發(fā)器的輸出端(在所述示 例中i = 1,…,32)連接的與門1202尤其接收多項(xiàng)式的第i個(gè)系數(shù)(即,系數(shù)x1)。
[0108]在作為進(jìn)行解密的LFSR 606的應(yīng)用中,將系數(shù)cl,C2,-_c31設(shè)定為與進(jìn)行后處理 的LFSR 603的多項(xiàng)式系數(shù)相同。
[0109]要注意的是,對(duì)于作為后處理器602的壓縮的任何2的冪,所述進(jìn)行解密的LFSR 1200可以用作圖6中的裝置600的進(jìn)行解密的LFSR 606。
[0110]雖然描述了特定方面,但對(duì)于技術(shù)人員而言可以看出,可以進(jìn)行對(duì)形式和細(xì)節(jié)的 不同改變,而不脫離由所附權(quán)利要求限定的本發(fā)明的各方面的構(gòu)思和保護(hù)范圍。因此,通過 所附權(quán)利要求給出了保護(hù)范圍,因此應(yīng)包括位于權(quán)利要求的含義或等同范圍中的所有變 化。
【主權(quán)項(xiàng)】
1. 一種用于檢查隨機(jī)數(shù)序列的熵的裝置,所述裝置包括: 隨機(jī)源,所述隨機(jī)源被配置用于提供隨機(jī)輸入序列; 后處理電路,所述后處理電路被配置用于接收所述隨機(jī)輸入序列以及由所述隨機(jī)輸入 序列建立隨機(jī)數(shù)序列,其方式是,所述后處理電路實(shí)施所述隨機(jī)輸入序列的后處理和抽??; 逆后處理電路,所述逆后處理電路被配置用于從所述后處理電路接收所述隨機(jī)數(shù)序列 以及建立經(jīng)處理的隨機(jī)數(shù)序列,其方式是,所述逆后處理電路通過與由所述后處理電路實(shí) 施的后處理相逆的方式方法處理所述隨機(jī)數(shù)序列; 熵檢驗(yàn)器,所述熵檢驗(yàn)器被配置用于基于所述經(jīng)處理的隨機(jī)數(shù)序列檢查所述隨機(jī)數(shù)序 列的熵。2. 根據(jù)權(quán)利要求1所述的裝置,其中,所述抽取包括對(duì)于在所述后處理電路中輸入的隨 機(jī)輸入序列的每第二數(shù)量的比特輸出第一數(shù)量的經(jīng)后處理的比特。3. 根據(jù)權(quán)利要求1或2所述的裝置,其中,所述抽取是以壓縮因數(shù)對(duì)所述隨機(jī)輸入序列 進(jìn)行的壓縮,所述壓縮因數(shù)等于2的冪。4. 根據(jù)權(quán)利要1至3中任一項(xiàng)所述的裝置,其中,所述后處理電路包括線性反饋移位寄 存器,并且所述后處理是借助于所述線性反饋移位寄存器對(duì)所述隨機(jī)輸入序列進(jìn)行的處 理。5. 根據(jù)權(quán)利要求4所述的裝置,其中,所述抽取包括輸出在所述線性反饋移位寄存器中 存儲(chǔ)的第一數(shù)量的比特,更確切地說,每當(dāng)在所述線性反饋移位寄存器中已經(jīng)輸入所述隨 機(jī)輸入序列的第二數(shù)量的比特時(shí)輸出在所述線性反饋移位寄存器中存儲(chǔ)的第一數(shù)量的比 特。6. 根據(jù)權(quán)利要求4或5所述的裝置,其中,所述逆后處理電路包括另一線性反饋移位寄 存器,并且對(duì)所述隨機(jī)數(shù)序列進(jìn)行的與由所述后處理電路實(shí)施的后處理相逆的處理是借助 于所述另一線性反饋移位寄存器對(duì)所述隨機(jī)數(shù)序列進(jìn)行的處理。7. 根據(jù)權(quán)利要求6所述的裝置,其中,根據(jù)相同的本原多項(xiàng)式配置所述線性反饋移位寄 存器和所述另一線性反饋移位寄存器。8. 根據(jù)權(quán)利要求1至7中任一項(xiàng)所述的裝置,其中,所述隨機(jī)源包括噪聲源和數(shù)字化單 元,所述噪聲源和所述數(shù)字化單元被配置用于建立所述隨機(jī)輸入序列,其方式是,對(duì)所述噪 聲源的噪聲輸出進(jìn)行數(shù)字化。9. 根據(jù)權(quán)利要求1至8中任一項(xiàng)所述的裝置,其中,所述熵檢驗(yàn)器被配置用于識(shí)別所述 隨機(jī)數(shù)序列的熵是否等于零以及當(dāng)所述熵檢驗(yàn)器識(shí)別到所述經(jīng)處理的隨機(jī)數(shù)序列的熵等 于零時(shí)輸出指示所述隨機(jī)源失效的信號(hào)。10. 根據(jù)權(quán)利要求9所述的裝置,其中,所述熵檢驗(yàn)器被配置用于識(shí)別所述經(jīng)處理的隨 機(jī)數(shù)序列的熵是否等于零,其方式是,所述熵檢驗(yàn)器識(shí)別所述經(jīng)處理的隨機(jī)數(shù)序列是否恒 定。11. 根據(jù)權(quán)利要求1至10中任一項(xiàng)所述的裝置,所述裝置還包括控制器,所述控制器被 配置用于檢查所述后處理電路的完好性,其方式是,所述控制器檢查所述經(jīng)處理的隨機(jī)數(shù) 序列作為對(duì)恒定的隨機(jī)輸入序列的響應(yīng)是否恒定。12. 根據(jù)權(quán)利要求1至11中任一項(xiàng)所述的裝置,其中,所述熵檢驗(yàn)器被配置用于測(cè)量所 述隨機(jī)數(shù)序列的熵,其方式是,所述熵檢驗(yàn)器測(cè)量所述經(jīng)處理的隨機(jī)數(shù)序列的熵。13. 根據(jù)權(quán)利要求12所述的裝置,其中,所述熵檢驗(yàn)器被配置用于測(cè)量所述經(jīng)處理的隨 機(jī)數(shù)序列的熵,其方式是,所述熵檢驗(yàn)器對(duì)所述經(jīng)處理的隨機(jī)數(shù)序列使用統(tǒng)計(jì)測(cè)試。14. 一種處理設(shè)備,所述處理設(shè)備包括根據(jù)權(quán)利要求1至13中任一項(xiàng)所述的用于檢查隨 機(jī)數(shù)序列的熵的裝置。15. 根據(jù)權(quán)利要求14所述的處理設(shè)備,其中,所述處理設(shè)備是芯片卡。16. -種用于檢查隨機(jī)數(shù)序列的熵的方法,所述方法包括: 由隨機(jī)輸入序列建立隨機(jī)數(shù)序列,其方式是,實(shí)施所述隨機(jī)輸入序列的后處理和抽??; 建立經(jīng)處理的隨機(jī)數(shù)序列,其方式是,通過與所述后處理相逆的方式方法處理所述隨 機(jī)數(shù)序列; 基于經(jīng)處理的隨機(jī)數(shù)序列檢查所述隨機(jī)數(shù)序列的熵。
【文檔編號(hào)】G06F19/00GK105912834SQ201610094443
【公開日】2016年8月31日
【申請(qǐng)日】2016年2月19日
【發(fā)明人】M·布奇, R·盧奇
【申請(qǐng)人】英飛凌科技股份有限公司