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

書:Springer的Cryptographic Engineering
作者是Cetin Kaya Koc
就當(dāng)著是備考了吧,萬一有其他學(xué)生跟我用同樣的課本呢(笑)
密碼學(xué)的應(yīng)用需要大量的隨機(jī)數(shù),比如所謂generate 64-bit challenge, generate random prime, generate a random session key之類的,不過似乎沒有要求這些隨機(jī)數(shù)應(yīng)該怎樣,或者說有什么要求。直覺上來說,隨機(jī)數(shù)的結(jié)果分布應(yīng)該是平均的,而且每次生成都應(yīng)該是獨(dú)立的。但是實(shí)際上我們都知道這種要求是不太現(xiàn)實(shí)的。
所以退而求其次,對(duì)于隨機(jī)數(shù)有一些要求。
R1:隨機(jī)數(shù)應(yīng)該有良好的統(tǒng)計(jì)特性
這個(gè)是拿來給隨機(jī)數(shù)生成器進(jìn)行統(tǒng)計(jì)測試,這個(gè)要求是防重播攻擊(Replay attack)或者基于相關(guān)性的攻擊(Correlation based attack)
但是,僅憑這一點(diǎn)是不足夠的,因?yàn)榱己玫慕y(tǒng)計(jì)特性也意味著“可被預(yù)測”。所以需要第二個(gè)要求
R2:隨機(jī)數(shù)不可被猜測,這里是我的個(gè)人理解,按照書的原文是"The knowlege of subsequences of random numbers shall not allow one to practically compute predecessors or successors or to guess these numbers with non-negligibly larger probability than without knowledge of these subsequences."
更準(zhǔn)確地說,這一條應(yīng)該是,不管對(duì)方知道或者不知道這個(gè)隨機(jī)數(shù)的序列,他們猜,或推算出下一個(gè)隨機(jī)數(shù)的概率必須差不多一樣低。換句話說,知不知道隨機(jī)數(shù)的序列對(duì)于他們推算或猜測下一個(gè)隨機(jī)數(shù)的概率應(yīng)該要有可以忽視的影響。

第三節(jié)的就是隨機(jī)數(shù)生成器的分類,無非就是確定性隨機(jī)數(shù)生成器(Deterministic RNGs, DRNG),以一個(gè)種子(seed)為開頭,透過特定的算法生成偽隨機(jī)數(shù)。另一種就是真隨機(jī)數(shù)生成器(True RNG, TRNG),這種生成器又在細(xì)分為物理TRNG(Physical TRNG, PTRNG)或者非物理TRNG(Non-Physical TRNG, NPTRNG),對(duì),就是一直套娃。
PTRNG用的是電子電路(例如穩(wěn)壓管的"噪音")的或者物理實(shí)驗(yàn)(例如放射性衰變)非確定性的效果,而NPTRNG是利用不確定性的事件(系統(tǒng)時(shí)間,RAM容量等)。
因此,所謂的hybric RNG就是結(jié)合了這三種的特性。因?yàn)镈RNG的安全性是建立在計(jì)算的復(fù)雜度上,而TRNG的安全性是建立在結(jié)果的不可預(yù)測性上。