精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

隨機數在密碼學中占有重要的地位

lhl545545 ? 來源:集成電路應用雜志 ? 作者:集成電路應用雜志 ? 2020-06-16 11:19 ? 次閱讀

設計一種超高速全數字真隨機數發生器,使用嵌入亞穩態環節的環路振蕩器作為隨機源。對元胞自動機電路進行改良,向其中添加隨機存儲的特性,并將其作為后處理電路的一部分,提高了數據的熵值和偽隨機性。后級電路采用異或鏈電路和 DES 加密算法,提高隨機序列的每比特熵值,改善輸出的統計特性。該方案具有良好的可移植性,極高的生成速率,偏低的資源使用和自定義擴展功能。通過 FPGA 版級驗證,真隨機數生成速率可達 1 Gb/s,具有一定的應用價值。

DOI:10.19339/j.issn.1674-2583.2020.04.006

一種基于隨機儲存元胞自動機真隨機發生器[J]。集成電路應用, 2020, 37(04): 18-21.

True Random Generator Based on Random Storage Cell Automaton

JI Lei, PAN Weiqing, ZHI Yanan

Abstract — In this paper, a ultra-high-speed all-digital true random number generator is designed.The designer uses ring oscillators embedded in a metastable state as a random source. The cellular automaton circuit is improved, and the random storage feature is added to it as a part of the post-processing circuit, which improves the entropy value and pseudo-randomness of the data. The post-stage circuit uses XOR circuit and DES encryption algorithm to increase the entropy value of each bit of the random sequence and improve the statistical characteristics of the output. This solution has good portability, extremely high generation rate, low resource usage, and custom extension functions. Through FPGA-level verification, the true random number generation rate can reach 1 Gb/s, which has certain application value.

Index Terms — TRNG, ring oscillator, metastable state, cellular automata, DES, FPGA.

隨機數在密碼學中占有重要的地位,幾乎所有的密碼算法都要用到一些對攻擊者來說必須是秘密的數據,而其中密鑰必須是隨機數。隨著加解密技術的快速發展,基于軟件實現的偽隨機數發生器可能無法滿足安全性的要求,雖然基于物理隨機源的 TRNG 能保證安全性, 但其產生的真隨機數的質量不高,生成速率偏慢。考慮到 5G 時代的到來,基于區塊鏈物聯網、車聯網、智慧城市技術的快速發展,海量的數據需要在信息交互節點進行加密傳輸,這對真隨機數生成的速率有了更高的要求。

本文設計了一種超高速真隨機數發生器,其具有可移植性好,生成速率高,實現成本低廉的特點并具有自我擴展特性。實際測試中,真隨機數生成速率高達 1 Gb/s,吞吐量/資源高于 1 Mb/LUT,遠遠高于常規真隨機數發生器吞吐量百兆級別,0.3 Mb/LUT 左右的性能。

1 真隨機整體設計

本文整體架構如 所示,框架包括 5 部分:基于亞穩態的環振器真隨機源,基于隨機儲存的元胞自動機電路,異或鏈電路,DES 電路和千兆光口輸出單元。

J.D. Golic 最早提出 Fibonacci 和 Galois 環形振蕩器電路,但隨機數生成速率偏低。2008 年,I.Vasyltsov 等人在 Fibonacci 和 Galois 環形振蕩器的基礎上引入了亞穩態結構,減少所需熵的積累時間。文獻中,朱亮亮等人向其中引入控制環節,降低發生器功耗。本文隨機熵源采用方案。

控制信號為低電平時,大環路斷開,各反相器自成環路,受到半導體噪聲的影響,他們的輸出會在亞穩態區域波動。當控制信號為高電平的時候,各反相器接入大環路,迅速離開亞穩態區域,并進入穩態區域,此時其輸出具有隨機性。

二進制系數 fi 決定環振器的反饋連接。當 fi=1 時,反饋連接;當 fi=0 時,反饋斷開;反饋多項式可以表示為式。

(1)式中,n 為反相器個數。為了確保輸出不會恒定不變,多項式須滿足式。

必須保證 n 為奇數,h(x) 不能被 1+x 整除,且 f(x) 可以被 1+x 整除。如果反饋多項式為本原多項式則以上都可以滿足。

本文采用 36 個 7 階 Fibonacci 震蕩環,28 個 7 階 Galois 震蕩環作為真隨機源。7 階本原多項式共 18 個,重復 3.5 次使用,其輸出作為隨機儲存元胞自動機電路的選擇輸入端。7 階本原多項式如 所示。

以上輸出的序列具有真隨機和偽隨機性,但數字熵源的統計特性往往不夠理想,在物理隨機過程采樣中,會引入偏差和相關性,所以需要添加后處理電路提減小偏差和相關性。

元胞自動機的概念最初被 John von Neumann 和 Ulam 提出,并常用于物理、生物和化學的建模,也用于生成偽隨機序列,是常用的后處理算法之一。元胞自動機是元胞的有限陣列,由相同的元胞組成,根據局部過度功能同步并行發展,且只能與他們最近的鄰居通信。其可以由四元組(Z,Q,V,f)所定義,其中 Z 代表 d 維的細胞空間,Q 代表可能元胞可能狀態組成的集合,V 表示局部規則使用的鄰域,f 代表本地規則。初始時,每個元胞都有一個初始狀態,根據本地規則和鄰域聯系,細胞狀態發生變化。

初級元胞自動機是一個基本元胞自動機,一維細胞空間 Z,元胞狀態 Q={0,1},鄰域 V=(-1,0,1),本地規則 f:Q3→Q,Wolfram 在數學上證明了它作為高性能隨機數發生器的適用性,可以并行的有效實現,如式。

最上方三個方塊表示所有當前時刻 n 可能的鄰域狀態,下一單元格代表下一時刻元胞輸出的狀態。本地規則被下一時刻序列的二進制值所命名。

2014 年,一種基于儲存的元胞自動機被提出,其中 x,y,z 為包括 0 的正整數[9]。元胞的下一狀態的輸出與相鄰元胞和本身的過去狀態有關,如式。

最近,一種基于隨機儲存的元胞自動機被提出,Q={0,1},鄰域 V=(-1,0,1)。其中,τi是隨機值,其小于等于元胞儲存的狀態數 M,元胞的下一狀態可以隨機地由當前狀態,以及過去狀態確定,如式。

本文設計一個基于隨機儲存的元胞自動機,其元胞儲存狀態數 M 為 1,本地規則為 R150,其τi的值由上級的亞穩態震蕩環的輸出決定。0 代表τi=0,輸出當前狀態;1 代表τi=1,輸出上一狀態。其元胞單元電路如圖 5 所示。bit_out 為該元胞自動隨機數的輸出端,連接到異或鏈電路。bit_i_m 為隨機儲存輸出端,連接與其相鄰的左右兩個元胞單元。

隨機儲存的元胞自動機包含 64 個元胞環形連接,其相互連接圖如圖 6 所示,其中只有一個 bit_i_m 初始值為 1。系統開始工作后,每個時鐘周期生成 64 個 bit_out,每相鄰 8 位進行異或壓縮操作,送入下級異或鏈電路中。

為了減小偏差,使得“0,1”分布均勻,采用異或鏈進行處理,對數據進行校正,結構如圖 7 所示。本文采用 8 路異或鏈電路,每路由 8 個觸發器進行異或鏈糾偏,每個時鐘周期輸出 8 bit 數據,輸出偏執非常小。

1940 年代末,香農提出了設計密碼系統的兩個基本方法-混淆和擴散。擴散和混淆可以極大改善輸出序列的統計特性,提高熵值,彌補統計缺陷。

設計中最后采用 DES 加密算法對數據進一步后處理,為 DES 加密算法處理過程。首先對上級輸入的 8 bit 序列進行數據重排,擴展到 128 bit,高 64 bit 和低 64 bit 分別作為明文和密鑰輸入,進行 IP 初始置換,然后 16 輪迭代變換,最后左右交換后進行逆初始置換(IP-1)得到 64 bit密文,作為真隨機數輸出序列,16 輪迭代采用 Feistel 密碼結構對明文和密鑰進行混淆和擴散。其中置換移位操作可獲得擴散,非線性函數 f 操作可獲得混淆。

2 實驗驗證

本文設計真隨機發生器在 FPGA 上進行實驗實現,型號為 xc7z035ffg676-2。外接輸入時鐘為 100 MHz,經過 PLL 倍頻到 500 MHz 后,最后輸出真隨機輸出速率高達 1 Gb/s。實現過程中沒有使用任何布局布線約束,完全由設計軟件自動處理。PC 端通過光口接受 126 組數據,每組 1 Mbit,使用NIST SP-800-22 隨機數測試套件進行隨機性評估測試。測試規定當測試通過率都大于 96 %時,則認為通過該項測試;如果數據通過全部 15 項測試,則認為序列是真隨機的。

為測試結果,數據完全通過試。

為體現本文所設計的真隨機數發生器的性能,本設計與國內外已經公開發表的真隨機數發生器進行比較,其中單個 LUT 資源相當于一個 LE 資源;可移植性的判斷是基于實現時是否使用特殊器件或手動布局布線,如使用則移植性較差,對比結果如表 3 所示。在吞吐量方面,本文設計的真隨機數發生器遠超常規數字發生器的百兆級別。吞吐量/邏輯資源比為 1.107 Mb/LUT,遠大于常規 0.3 Mb/LUT,更加節省資源。移植性方面由于沒有使用特殊器件和物理約束實現,因此可以快速集成到芯片或 FPGA 當中。

由于元胞自動機結構簡單,易擴展的特性,本文對該設計的自我擴展性能進行了實驗驗證,本文將 64 個元胞自動機裁剪為 32 個、16 個,減少硬件資源分別為 143LUT、200LUT,并依次重新實現設計,生成速率分別為 500 Mb/s、250 Mb/s,結果均能通過 NIST SP800-22 測試。實驗表明該隨機數發生器具有擴展性能,使用者可以根據自己實際需求自我進行裁剪或擴展。

3 結語

本文介紹了一種新的數字真隨機數發生器,解決現有真隨機數發生器生成速率,資源消耗,可移植性和擴展性無法全面的兼顧的問題。實際測試真隨機數生成速率可達 1 Gb/s,吞吐量/資源比為 1.1 Mb/LUT,遠遠高于常規真隨機發生器吞吐量的百兆級別和 0.3 Mb/LUT 的吞吐量/資源比。該方案純具有資源消耗低,吞吐量極高,可移植性好和可擴展的特點。便于集成到芯片和 FPGA 中,縮短開發周期,具有很好的實際應用價值,可滿足了未來區塊鏈、物聯網、車輛網、智慧城市中需要大量真隨機數進行信息加密的場合。
責任編輯:pj

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 環形振蕩器
    +關注

    關注

    1

    文章

    12

    瀏覽量

    8701
  • 亞穩態
    +關注

    關注

    0

    文章

    46

    瀏覽量

    13250
  • 隨機數發生器

    關注

    0

    文章

    21

    瀏覽量

    11004
收藏 人收藏

    評論

    相關推薦

    藍牙AES+RNG如何保障物聯網信息安全

    的安全性。競爭應答機制隨機數生成器也發揮著關鍵作用。它確保了多個設備競爭同一資源時,能夠依據公平且隨機的原則分配訪問權,有效避免通信
    發表于 11-08 15:38

    閃存隨機讀寫與連續讀寫哪個重要

    快速響應的應用,如數據庫操作、服務器處理請求等,隨機讀寫速度至關重要。 多任務處理能力 : 隨機讀寫能力強的閃存能夠更有效地處理多個并發任務,因為它們可以更快地訪問和修改存儲
    的頭像 發表于 10-12 11:44 ?313次閱讀

    雅特力AT32 MCU的隨機數生成

    概述產品和生態系統安全性的需求比以往任何時候都更加重要。真隨機數是所有安全系統的核心,其質量會影響設計的安全性。因此沒有內置硬件TRNG的AT32的微控制器系列,如何提高
    的頭像 發表于 08-30 12:26 ?465次閱讀
    雅特力AT32 MCU的<b class='flag-5'>隨機數</b>生成

    如何在FPGA實現隨機數發生器

    分享如何在Xilinx Breadboardable Spartan-7 FPGA, CMOD S7實現4位偽隨機數發生器(PRNGs)。
    的頭像 發表于 08-06 11:20 ?606次閱讀
    如何在FPGA<b class='flag-5'>中</b>實現<b class='flag-5'>隨機數</b>發生器

    鴻蒙開發:Universal Keystore Kit密鑰管理服務 密鑰派生介紹及算法規格

    密碼學,密鑰派生函數(Key derivation function,KDF)使用偽隨機函數從諸如主密碼
    的頭像 發表于 07-11 16:30 ?304次閱讀

    如何使用Python生成四位隨機數

    為了實現這些目標,Python 為我們提供了random() 模塊。random() 是一個內置的 Python 模塊,用于生成隨機數
    的頭像 發表于 04-15 12:47 ?614次閱讀

    恩智浦:向后量子密碼學遷移,我們應該怎么做?

    之前的博文中,我們介紹了由美國國家標準與技術研究院 (NIST) 主導的后量子密碼學 (PQC) 標準化進程,以及未來可能采用的部分PQC標準。在這篇博文中,我們探討PQC遷移過程面臨的一些挑戰
    的頭像 發表于 03-22 09:39 ?1622次閱讀
    恩智浦:向后量子<b class='flag-5'>密碼學</b>遷移,我們應該怎么做?

    國內首枚!合肥造量子芯片重大突破

    記者3月19日從合肥安創谷科技園獲悉,位于該園的合肥硅臻芯片研發的量子隨機數發生器芯片QRNG-10,日前通過了國家密碼管理局商用密碼檢測中心的
    的頭像 發表于 03-21 08:42 ?554次閱讀
    國內首枚!合肥造量子芯片重大突破

    合肥硅臻量子芯片通過商密檢測,助力量子芯片商用發展

     據了解,這一成果填補了我國量子隨機數發生器芯片在毫米級領域的空白,成為首個攻克量子隨機數發生器商用規模化制約因素的重要里程碑。
    的頭像 發表于 03-20 15:04 ?915次閱讀

    TC389芯片上HSM的TRNG真隨機數功能,如何判斷其隨機能力呢?

    想咨詢一下,TC389芯片上HSM的TRNG真隨機數功能,如何判斷其隨機能力呢?有什么資料或者測試內容嗎?
    發表于 03-05 07:20

    請問rt-thread studio如何使用硬件隨機數生成器?

    指導一下。 經過查詢得知可以使用rt_hw_random_get()函數來獲取硬件隨機數,請文需要做什么配置才能使用rt_hw_random_get()函數。
    發表于 02-23 08:03

    基于時分復用光學參量振蕩器的5比特全光量子隨機數發生器

    聯合研究團隊研制出一種基于時分復用簡并點飛秒光學參量振蕩器,具備高重復頻率飛秒光纖激光器泵浦,通過諧振腔接入多通單元,能高效拓展光路,實現5比特全光量子隨機數發生器,并能保持系統高度的緊湊性和穩定性。
    的頭像 發表于 01-09 11:13 ?497次閱讀
    基于時分復用光學參量振蕩器的5比特全光量子<b class='flag-5'>隨機數</b>發生器

    四元工業機器人編程操作的應用

    姿態規劃在機械臂控制占有重要地位,在編程操作時需要應用姿態變換平滑性的插值算法確保機械臂工具動作的柔和度。
    的頭像 發表于 12-27 17:13 ?1174次閱讀
    四元<b class='flag-5'>數</b><b class='flag-5'>在</b>工業機器人編程操作<b class='flag-5'>中</b>的應用

    什么是后量子密碼學?量子計算機vs經典計算機

    后量子密碼學(Post-Quantum Cryptography,PQC)是經典計算機上定義和執行算法,研究量子計算機和經典計算機都無法破解的新密碼系統。后量子密碼學的提出是為了抵抗
    的頭像 發表于 12-19 11:42 ?1646次閱讀

    LTC2156-14A4寄存器的位數1位是隨機數據輸出功能,請問這個隨機數據輸出模式主要用意是什么呢?

    LTC2156-14有數據校驗功能。寄存器A4所羅列的四種測試模式,實際運行均能正常校驗通過。A4寄存器的位數 1位是隨機數據輸出功能。請問這個
    發表于 11-30 08:13