<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 用振蕩器采樣隨機數發(fā)生器保證網(wǎng)絡(luò )SoC設計加密算法

用振蕩器采樣隨機數發(fā)生器保證網(wǎng)絡(luò )SoC設計加密算法

作者: 時(shí)間:2010-12-23 來(lái)源:網(wǎng)絡(luò ) 收藏

在保障互聯(lián)網(wǎng)安全的各種加密算法中,隨機數產(chǎn)生至關(guān)重要。產(chǎn)生隨機數的方法有多種,其中法最適于構建設計所需的隨機數發(fā)生器。本文介紹法的工作原理,并概述在具體使用這種時(shí)應注意的事項。

本文引用地址:http://dyxdggzs.com/article/191416.htm

隨著(zhù)許多企業(yè)的網(wǎng)絡(luò )應用從內部網(wǎng)擴展到公眾互聯(lián)網(wǎng),對虛擬專(zhuān)用網(wǎng)絡(luò )(VPN)設備的需求也開(kāi)始逐漸上升。為了服務(wù)于這個(gè)市場(chǎng),半導體廠(chǎng)商推出了一些專(zhuān)用產(chǎn)品,把所有必需安全功能都集成在一個(gè)器件里面。

專(zhuān)用于互聯(lián)網(wǎng)協(xié)議安全(IPsec)的AES和3DES類(lèi)加密/解密算法以及SHA1和MD5等散列算法已廣為人知并得到普遍重視,然而,保證VPN系統安全的關(guān)鍵在于生成隨機數的能力,但這點(diǎn)卻常常被忽視。

隨機數是許多加密應用的基礎,其作用是生成Diffie-Hellman、Rivest-Shamir-Adelman和數字簽名等算法所需的公共/專(zhuān)用密鑰對,并為大批量加密算法和IPsec分別生成初始向量和即時(shí)隨機數,此外,大量其它類(lèi)型的安全協(xié)議也靠隨機數發(fā)生器的不可預測性來(lái)防止系統被破解。常用一些復雜數學(xué)函數生成高質(zhì)量偽隨機數發(fā)生器(PRNG)位流,但事實(shí)證明有很多途徑可以攻擊用PRNG加密的系統,因此加密安全系統需要使用更高質(zhì)量的隨機數發(fā)生器。

在明確了這些需求之后,到底有沒(méi)有一種真正的隨機數發(fā)生器可以根據非確定噪聲源產(chǎn)生隨機數,并特別適用于系統級芯片()設計呢?大多數隨機數發(fā)生器方案通??梢詺w為三大類(lèi),即直接放大、離散時(shí)間混沌和振蕩器。前兩種方法更適用于客戶(hù)定制的單元設計,因為在這些場(chǎng)合設計人員可以控制實(shí)際電路的布局;而振蕩器采樣技術(shù)可以作為標準單元設計流程的一部分,因此在設計中很流行。不過(guò)設計人員即使選用了振蕩器技術(shù),仍然有許多實(shí)施問(wèn)題需要仔細考慮。圖1:直接放大技術(shù)中噪聲源經(jīng)過(guò)定時(shí)比較器的放大和限幅,產(chǎn)生一個(gè)隨機數序列。

隨機數生成技術(shù)

直接放大技術(shù)使用高增益高帶寬放大器來(lái)處理由熱噪聲或散射噪聲引起的電壓變化。例如可采用N阱電阻對將其熱噪聲轉換成一個(gè)電壓變化信號,然后以抖動(dòng)的形式輸入隨機數發(fā)生器模塊微系統中(圖1)。采用這種方法時(shí)設計人員必須要考慮其它一些因素,如系統熱噪聲通常與基底噪聲及電源電壓波動(dòng)等局部特征耦合在一起,如果電路沒(méi)有正確屏蔽,這些因素便會(huì )使熱噪聲源的隨機性受到影響??朔@種現象的方法是對一對鄰近的電阻進(jìn)行采樣,再對結果求差以減少其它噪聲源的影響。

離散時(shí)間混沌法使用模擬信號處理技術(shù)產(chǎn)生隨機位流。這種方式下,隨機性不是從熱噪聲源獲得,而是從非常穩定的動(dòng)態(tài)變化中得到,其系統設計與模/數轉換器性質(zhì)類(lèi)似。在傳統的A/D轉換器中,殘余信號經(jīng)過(guò)采樣和保持,再饋送到A/D轉換器的輸入端(圖2)。一般來(lái)說(shuō),單是這種技術(shù)本身尚不足以產(chǎn)生隨機序列,因為電路的不準確性限制了A/D轉換分辨率,也降低了系統產(chǎn)生隨機序列的能力。因此,為獲得非確定隨機性,這種技術(shù)常常要與其它技術(shù)配合使用。圖2:離散時(shí)間混沌采用模擬信號處理技術(shù)來(lái)產(chǎn)生非確定位流。

目前,隨機數發(fā)生器(RNG)設計中最流行的方法是振蕩器采樣法(圖3),其基本設計思想是利用兩個(gè)獨立工作的高、低頻振蕩器之間的相對關(guān)系來(lái)得到非確定噪聲源,用高抖動(dòng)低頻振蕩器采樣高頻振蕩器,從而產(chǎn)生隨機數序列。在數字電路中,低頻方波源可作為一個(gè)正沿觸發(fā)D觸發(fā)器的時(shí)鐘,高頻方波源則作為觸發(fā)器的數據輸入,并在時(shí)鐘脈沖的上升沿對其進(jìn)行采樣。

在該系統中,產(chǎn)生隨機數的關(guān)鍵元件是低頻振蕩器,因為它的設計具有頻率不穩定性,即抖動(dòng),而且低頻與高頻之比經(jīng)過(guò)仔細選擇可以符合一定條件。設計中最重要的是低頻振蕩器的抖動(dòng)量,這個(gè)抖動(dòng)就是隨機源。頻率不穩定性可以是此類(lèi)振蕩器的一個(gè)功能,也可由另一個(gè)非確定噪聲源直接“植入”,因此可以說(shuō),正是采樣時(shí)鐘相對于高頻數據輸入的相位變化保證了可以獲得隨機位流。圖3:振蕩器采樣法利用兩個(gè)自由工作振蕩器之間的相位差來(lái)產(chǎn)生隨機性。

如果兩個(gè)振蕩器在工作過(guò)程中都不發(fā)生漂移,那么采樣得到的位流便具有周期性而且可以預測,這種周期性和通常稱(chēng)為節拍頻率的頻率比有關(guān)。此外,兩個(gè)振蕩器的頻率比對所產(chǎn)生的位流有著(zhù)非常重要的影響。多項研究表明,為了保證高度隨機性,低頻振蕩器周期變化標準差的兩倍與高頻振蕩器周期之比應該大于3:2,否則位碼之間便會(huì )存在明顯的相關(guān)性,以致于后面的位將比其前面的位更容易預測。

使用振蕩器采樣法

選用振蕩器采樣法來(lái)設計隨機數發(fā)生器的設計人員還必須考慮其它一些實(shí)施問(wèn)題,所選振蕩器的類(lèi)型也會(huì )影響整個(gè)系統設計的固有隨機性。此外,為了保證相關(guān)噪聲源不會(huì )降低系統隨機性,必須仔細選擇振蕩器,這必然又會(huì )增加器件電路布局的復雜性。作為一種補償,可采用數字后處理技術(shù)來(lái)降低設計風(fēng)險并保留系統的隨機性。

在考慮實(shí)施振蕩器采樣法時(shí),設計人員可從幾種不同類(lèi)型的振蕩器中進(jìn)行選擇,包括差分振蕩器、單端振蕩器及混合振蕩器,不同類(lèi)型振蕩器對不同噪聲源的敏感度也不一樣。顯而易見(jiàn),不同振蕩器的特性比較需要豐富的知識,本文在此只作簡(jiǎn)單討論。

通常,差分振蕩器對電源及基底噪聲的敏感度不如單端振蕩器。這是因為差分放大器對的電源和接地點(diǎn)會(huì )同時(shí)出現電壓擺動(dòng),所以?xún)蓚€(gè)輸入之間的差值保持一致,輸出也一致,呈現出較高的共模抑制比(CMRR)。差分邏輯常用于模擬邏輯壓控振蕩器設計中,例如鎖相環(huán)中的振蕩器,因為鎖相環(huán)需要較高的CMRR,所以差分振蕩器方案并不特別適用于那些需要非確定噪聲源的設計。另一方面,單端反相振蕩器極易受電壓擺動(dòng)或輸入信號中直流分量的影響,如果噪聲對電平帶來(lái)任何波動(dòng),都會(huì )影響振蕩器的抖動(dòng)。此外,差分、感容及張弛振蕩器設計需要客戶(hù)定制的電路布局,所以無(wú)法集成到標準單元的SoC設計中。因此,在SoC設計中最簡(jiǎn)單直接的解決方案通常是單端環(huán)形振蕩器(圖4)。圖4:?jiǎn)味谁h(huán)形振蕩器對噪聲很敏感,這點(diǎn)可在隨機數發(fā)生器中加以利用。

盡管單端環(huán)形振蕩器有這樣的優(yōu)勢,在選用時(shí)還是有一些復雜因素必須考慮。由于高速數字系統存在切換動(dòng)作,因此熱噪聲與電源/基底噪聲相比一般可以忽略不計。電源和基底噪聲是引起噪聲耦合的主要原因,噪聲耦合的振蕩器在反相電路中會(huì )產(chǎn)生δ延遲。電源電壓變化或來(lái)自基底耦合的噪聲會(huì )改變每級電路輸出節點(diǎn)的電容,從而使振蕩器的總頻率不斷改變。此外,除熱噪聲外,所有環(huán)形振蕩器延遲電路級中的電源和基底噪聲都是相關(guān)的,所以如果沒(méi)有牢靠的接地環(huán)保護電路,設計人員都不希望讓兩個(gè)振蕩器電路靠得太近。如果屏蔽不是很好,會(huì )造成兩個(gè)位流源之間的隨機性相互關(guān)聯(lián)。在最終的振蕩器設計中,所有這些因素都必須要考慮到。

此外,就算設計人員有良好的意愿,實(shí)施方案也可能無(wú)法產(chǎn)生真正的隨機位流。設計人員或許要借助一些成本高昂的額外測試來(lái)保證隨機數發(fā)生器系統能產(chǎn)生期望的結果。如前所述,隨機性主要來(lái)自電源和基底噪聲與振蕩器電路的耦合,由于這些振蕩器會(huì )耦合同一個(gè)噪聲源,因此設計人員不希望將它們靠得太近。進(jìn)一步來(lái)說(shuō),如果兩個(gè)振蕩器鎖定在同一個(gè)噪聲源上并相互耦合,那么它們之間的相關(guān)性也會(huì )增加,從而使兩個(gè)源的隨機輸出相互關(guān)聯(lián)。如果在最終布局上將兩個(gè)振蕩器分開(kāi),電源和基底噪聲的相關(guān)效應便可減輕。

采用振蕩器采樣法的一種常見(jiàn)做法是多設計一對振蕩器,萬(wàn)一主隨機源失效了,它還可以降低RNG系統沒(méi)有非確定性噪聲源的風(fēng)險,隨后通過(guò)一個(gè)強大的混合函數將采樣位流進(jìn)行混合,以便保留各個(gè)源固有的隨機性,這一點(diǎn)將在后面詳述。為了從混合位流中獲得更好的隨機性,必須給各振蕩器選擇一個(gè)獨特的主標稱(chēng)頻率,或者使其頻率能夠調節,這可盡量減少多個(gè)源之間的互相關(guān)性。當然,設計者必須權衡考慮,要么接受額外成本,要么承擔不能生成真正隨機數的風(fēng)險。


上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: SoC 振蕩器 采樣 安全性

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>