密碼工程讀后感-第二章-第五,六節(jié)

這一節(jié)是PTRNG。
根DRNG類似,PTRNG主要也是應(yīng)用在智能卡上。
一般上,PTRNG的實(shí)現(xiàn)方法中,最核心的就是噪音源(noise source)。這個(gè)所謂的噪音源,可以是電子噪音,或者物理實(shí)驗(yàn)效果。反正是什么并不重要,重要的是,這個(gè)噪音源的“效果”,在這個(gè)隨機(jī)數(shù)生成器中會(huì)數(shù)字化處理,或者是變成二進(jìn)制的格式。這個(gè)二進(jìn)制的東西,就叫數(shù)字化模擬信號(hào)(digitalized analog signals, das)。
如果這個(gè)das是二進(jìn)制,我們就叫它das bit。這個(gè)das,可能會(huì)進(jìn)行一系列處理來(lái)“掩蓋”潛在的弱點(diǎn),這個(gè)處理過(guò)程就叫做alrogithmic postprocessing。這個(gè)過(guò)程,需要進(jìn)行數(shù)據(jù)壓縮來(lái)降低產(chǎn)出的數(shù)據(jù)(這是一個(gè)“多對(duì)一”的函數(shù),就是故意“不允許反推”)。
根DRNG相比,TRNG的安全性主要是來(lái)自于das的不可預(yù)測(cè)性。這個(gè)不可預(yù)測(cè)性,一般上用熵來(lái)代替,也叫信息熵。計(jì)算的部分太復(fù)雜,分開記錄。

既然有PTRNG,自然就有NPTRNG,非物理性質(zhì)的真隨機(jī)數(shù)生成器(Non-physical true random number generators。
這玩意兒和PTRNG有點(diǎn)不同,它不需要特定的硬件,它的“熵源”來(lái)自于系統(tǒng)數(shù)據(jù)(比如系統(tǒng)時(shí)間,當(dāng)前線程數(shù)等什么亂七八糟的),或者使用者的互動(dòng),或者兩者皆有。雖然他們的信息熵都很低(越低意味著越容易被預(yù)測(cè)),但是因?yàn)檫@個(gè)“隨機(jī)源”并不是由其設(shè)計(jì)者所掌握,導(dǎo)致NPTRNG的安全考量和PTRNG有很大的區(qū)別,主要是這個(gè)NPTRNG的“熵源”一般上比PTRNG的“熵源”更容易獲取或復(fù)制。
打個(gè)比方,系統(tǒng)開機(jī)(過(guò)了)時(shí)間,這種“熵源”比較固定,所以只憑著系統(tǒng)開機(jī)(過(guò)了)時(shí)間來(lái)設(shè)計(jì),產(chǎn)生的隨機(jī)數(shù)就很容易被預(yù)測(cè)出來(lái),這個(gè)最明顯的例子就是C語(yǔ)言的
和
的區(qū)別。

第七節(jié)主要是一些相關(guān)標(biāo)準(zhǔn),不在考試范圍內(nèi),就跳過(guò)了。