不管是生成隨機(jī)器件地址,、強(qiáng)化加密算法還是創(chuàng)建獨(dú)立產(chǎn)品密鑰,,可靠地生成隨機(jī)數(shù)字都變得日益重要,。這些隨機(jī)數(shù)字對(duì)于日常嵌入式系統(tǒng)特別有用,,比如車(chē)庫(kù)門(mén)接收機(jī)必須一一對(duì)應(yīng)地正確識(shí)別遠(yuǎn)程控制的隨機(jī)數(shù)字,,以防止非授權(quán)訪問(wèn),。為了生成隨機(jī)數(shù)字,,開(kāi)發(fā)人員可以使用高級(jí) 16 位 MCU 確保將所有信號(hào)都控制在 MCU 內(nèi)部,,而且與昂貴的模擬硬件相比,,這種解決方案成本更低,、安全性也更高,。
雙時(shí)鐘芯片架構(gòu)可以支持 TI 超低功耗MCU MSP430 的隨機(jī)數(shù)字生成能力。超低頻振蕩器 (VLO) 與數(shù)控振蕩器 (DCO) 是兩個(gè)獨(dú)立的時(shí)鐘系統(tǒng),,可以利用二者間的計(jì)時(shí)差生成隨機(jī)位流,。一個(gè) VLO 時(shí)鐘周期中的DCO 時(shí)鐘數(shù)量大致相同。然而,,由于 VLO 與 DCO 時(shí)鐘源彼此獨(dú)立變化,,無(wú)法預(yù)測(cè)生成的數(shù)字是奇數(shù)還是偶數(shù),因此這種器件更安全,。更重要的是,,即使在前面生成的數(shù)字為已知的情況下,也不可能預(yù)測(cè)之后的結(jié)果,。
由于 VLO 的靈活性很高,,其速度可降至 DCO 以下。然后可以將定時(shí)器配置為升序計(jì)數(shù),,將 DCO 作為源時(shí)鐘,,從而觸發(fā)對(duì)下一次 VLO 從低到高升序的采集。這次采集將記錄一個(gè) VLO 時(shí)鐘周期中的 DCO 時(shí)鐘周期數(shù),。由于時(shí)鐘源的變化,,每次采集將導(dǎo)致單位 VLO 周期內(nèi)的 DCO 時(shí)鐘數(shù)略有差異。正是這種差異才產(chǎn)生了隨機(jī)數(shù)字,。例如,,為了生成 16 位隨機(jī)數(shù)字,需要進(jìn)行 16 次采集,,每個(gè)被采集數(shù)字的最低有效字節(jié)轉(zhuǎn)換成存儲(chǔ)器中的一個(gè)字,。
設(shè)計(jì)人員可以使用定時(shí)器外設(shè)收集隨機(jī) LSB,通過(guò)在每個(gè)采集周期中確保 CPU 處于關(guān)閉狀態(tài),,可以實(shí)現(xiàn)超低功耗,。只需要短暫使用 CPU,即可將 LSB 轉(zhuǎn)換為存儲(chǔ)單元,。
盡管上述方法是隨機(jī)數(shù)字的主要來(lái)源,,但是,MSP430 時(shí)鐘系統(tǒng)還是允許設(shè)計(jì)人員結(jié)合使用反饋法,。在要求進(jìn)行 FIPS 140-2 測(cè)試的情況下,,這些方法可提高算法性能。
第一個(gè)反饋機(jī)制是,,在每個(gè)采樣位后使 DCO 略微加速,。時(shí)鐘控制寄存器在每個(gè)位后加上數(shù)字 5。這種相加或額外變化導(dǎo)致在每個(gè)環(huán)路時(shí) DCO 的速度均高于 VLO,。雖然可以使用任何數(shù)字,,但數(shù)字 5 可以產(chǎn)生足夠大的階躍變化,,以至于 DCO 與 VLO 之間發(fā)生很大的差異。
另外,,每次轉(zhuǎn)換 LSB 時(shí),,兩個(gè)以前采樣的隨機(jī)位被按位加至?xí)r鐘控制寄存器的除法器位。這些位在到達(dá)計(jì)時(shí)器之前將控制用于 VLO 的除法器,,同時(shí)還改變了計(jì)時(shí)器測(cè)定的VLO 與 DCO 之間的關(guān)系,。
最后,每個(gè)得出的位實(shí)際上是 5 個(gè)環(huán)路“多數(shù)原則”的結(jié)果,。如前所述,,每個(gè)環(huán)路都從 CCR 生成其自身的 LSB,但 5 的“多數(shù)原則”用于選擇最終位,。
通過(guò)這種方式,,MSP430 MCU 能夠以極低的功耗生成隨機(jī)位的連續(xù)流。這種位流可以用于創(chuàng)建隨機(jī)數(shù)字,;如果不需要對(duì)運(yùn)行的應(yīng)用時(shí)鐘架構(gòu)進(jìn)行修改,,將針對(duì)偽隨機(jī)數(shù)字生成器 (PRNG) 生成初始種子,。
借助該技術(shù),,就可以生成通過(guò) FIPS 140-2 隨機(jī)性測(cè)試的位流。這就是說(shuō),,該技術(shù)可廣泛用于需要生成隨機(jī)數(shù)字的各種應(yīng)用領(lǐng)域,。特別是隨著無(wú)線技術(shù)的推廣,這種隨機(jī)數(shù)字生成技術(shù)將有很好的前景,。另外,,由于該技術(shù)采用目前的 MSP430 MCU 架構(gòu)內(nèi)部信號(hào),具有成本低與安全性高等優(yōu)勢(shì),。