91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

3天內不再提示

技術分享 | 隨機數生成過慢導致系統阻塞怎么辦?

啟揚ARM嵌入式開發 ? 2022-08-15 09:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

/dev/random和/dev/urandom是linux上的隨機數生成器,是個字符設備,為系統提供隨機數。隨機數主要應用在加密方面,沒有加密的操作都是可預測且不安全的。

linux上隨機數的生成原理

linux上隨機數的生成原理是將系統的中斷信息收集起來放入熵池中,通過算法生成更多無序的數據,有了大量的無序數據之后,每次獲取隨機數,就會從池子中讀取指定的字節序列,而這些字節序列就是生成器生成的隨機數。

linux開機時就會伴隨著random設備的初始化,一般我們經常會遇見這兩條log:

random: crng init done,

random: 7 urandom warning(s) missed due to ratelimiting,

這說明隨機數已經初始化完成,可以隨時請求使用。但是在某些時候會卡在這個log很長時間,這是因為在開機時系統中斷不夠或程序運行時熵不足,生成隨機數非常緩慢,導致阻塞,進而導致無法開機、app無法正常運行等一系列bug。

為了解決這個問題,我們可以移植一個工具對熵池進行補熵,這樣隨機數生成器就會快速生成隨機數,解決阻塞導致的一系列問題。

解決方案

解決這個問題的工具有很多,這里我們選用移植haveged工具,并使用啟揚IAC-IMX8MM-kit開發板展示具體操作過程。

移植haveged-1.9.3

首先source我們的sdk開發環境,然后進入到源碼內,通過configure配置makfile文件,命令如下:

./configure --host=aarch64-poky-linux --prefix=/home/ylook/haveged

配置完成后執行make && make install命令,會在/home/ylook/haveged目錄下生成編譯完成后的二進制文件以及相關庫文件,如下圖所示:

(注:筆者路徑有所不同,根據環境自行更改即可)

279007a6-1a5a-11ed-9ade-dac502259ad0.png

注意:

為防止錯誤,可以使用file命令檢查二進制文件架構,保證為aarch64架構即可。

將編譯出來的二進制文件拷貝到板子的/usr/bin/目錄,庫文件拷貝到/usr/lib/目錄,執行haveged --h命令,如下圖所示:

27b356a2-1a5a-11ed-9ade-dac502259ad0.png

這里就相當于我們已經把板子里的環境配置好了,為了能夠開機就使用該工具生成熵,所以我們需要在開機進程中將該工具設置為自動運行。

因為啟揚i.MX8M Mini開發板上使用systemed工具配置相關服務,所以我們需要寫一個service,然后讓它開機運行,具體service如下:

27cc616a-1a5a-11ed-9ade-dac502259ad0.png

使用systemctl enable haveged之后重啟就會生效,可從開機log中看出,如圖所示,在很早之前初始化就已經完成了。

27efc4e8-1a5a-11ed-9ade-dac502259ad0.png

也可以使用命令cat /proc/sys/kernel/random/entropy_avail,查看當前熵值,在沒有haveged之前該值只有幾十幾百,而開啟之后有幾千。

281a6a90-1a5a-11ed-9ade-dac502259ad0.png

這樣,就完美解決了隨機數生成過慢導致系統阻塞的問題。

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

    關注

    7

    文章

    322

    瀏覽量

    21912
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    labview求助:想寫一個labview輸出不重復隨機數的程序,有沒有大佬幫忙看看這個假分支要怎么寫?

    大佬們想寫一個labview輸出不重復隨機數的程序,有沒有大佬幫忙看看這個假分支要怎么寫
    發表于 04-27 08:39

    labview怎么輸出不重復的整數隨機數

    大佬們我想問一下怎么能夠生成不重復的隨機數,labview能夠輸出整數隨機數
    發表于 04-16 11:15

    “Quantum Origin”成首個獲NIST驗證的軟件量子隨機數生成

    隨機數生成器(QRNG)軟件Quantum Origin 已通過美國國家標準與技術研究院(NIST)的驗證。 Quantum Origin是首個獲得此項驗證的軟件QRNG,它將成
    的頭像 發表于 04-03 15:22 ?351次閱讀

    是否可以輸入隨機數據集來生成INT8訓練后量化模型?

    無法確定是否可以輸入隨機數據集來生成 INT8 訓練后量化模型。
    發表于 03-06 06:45

    開源隨機數生成器庫OpenRNG助力實現移植到Arm平臺時的最佳性能

    OpenRNG 實現了多種生成器和分布方式。生成器算法可生成“看似隨機”并具有某些統計特性的序列,我們將在下文進行討論。分布方式會將序列映射到常見的概率分布概念,如高斯分布或二項分布
    的頭像 發表于 02-08 09:24 ?1311次閱讀
    開源<b class='flag-5'>隨機數</b><b class='flag-5'>生成</b>器庫OpenRNG助力實現移植到Arm平臺時的最佳性能

    《DNESP32S3使用指南-IDF版_V1.6》第三十一章 RNG實驗

    如下幾個小節:31.1 隨機數發生器簡介31.2 硬件設計31.3 程序設計31.4 下載驗證 31.1隨機數發生器簡介ESP32-S3內置一個真隨機數發生器(RNG),其生成的32
    發表于 12-26 09:31

    “安徽造”量子隨機數芯片通過國家密碼管理局檢測

    近日,國家密碼管理局商用密碼檢測中心出具報告,由安徽問天量子科技公司自主研發的WT-QRNG300量子隨機數芯片通過檢測。這是國內首家官方商密報告認定、且已實現商用量產及產業化的“量子隨機數芯片
    的頭像 發表于 12-19 19:06 ?799次閱讀

    問天量子和方寸微電子聯合發布量子隨機數芯片

    近日,國家密碼管理局商用密碼檢測中心出具報告,問天量子和方寸微電子聯合自主研發的WT-QRNG300量子隨機數芯片通過檢測,這是國內首家官方商密報告認定、且已實現商用量產及產業化的“量子隨機數芯片”產品。
    的頭像 發表于 12-19 16:18 ?953次閱讀

    對稱加密技術有哪些常見的安全漏洞?

    對稱加密技術在實際應用中可能面臨的安全漏洞主要包括: 實現不當: 錯誤的加解密實現、弱隨機數生成器或其他邏輯錯誤都可能導致安全漏洞。 漏洞利用: 利用已知的弱點或攻擊手段,如理論上可行
    的頭像 發表于 12-16 13:59 ?728次閱讀

    LuatOS開發之4G模組隨機數(random)|實戰指南

    本次學習的實戰是關于4G模組LuatOS開發的隨機數示例指南,希望大家有所收獲。
    的頭像 發表于 11-30 09:51 ?770次閱讀
    LuatOS開發之4G模組<b class='flag-5'>隨機數</b>(random)|實戰指南

    解析Air780E模組LuatOS開發的隨機數(random) 示例篇

    本文主要解析的是低功耗4G模組Air780E的LuatOS開發隨機數(random)實例,我以整理成文分享給大家。
    的頭像 發表于 11-29 20:23 ?590次閱讀
    解析Air780E模組LuatOS開發的<b class='flag-5'>隨機數</b>(random) 示例篇

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

    引入由隨機數生成器產生的隨機數作為時間戳或序列號,系統能夠識別并拒絕重復使用的舊消息,從而防止攻擊者利用歷史信息進行欺詐。此外,隨機數
    發表于 11-08 15:38

    雅特力AT32 MCU的隨機數生成

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

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

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

    大電流一體成型電感有噪音怎么辦

    電子發燒友網站提供《大電流一體成型電感有噪音怎么辦.docx》資料免費下載
    發表于 07-30 12:30 ?0次下載
    主站蜘蛛池模板: 在线观看免费高清 | 色www| 天天射天天草 | 天堂网中文 | 中文字幕一二三区 | 国内精品久久久久久影院老狼 | 午夜韩国理论片在线播放 | 大又大粗又爽又黄少妇毛片 | 天堂网2021天堂手机版 | 国产成人精品免费视频大全可播放的 | 啪啪免费看视频 | 高清色黄毛片一级毛片 | 色噜噜狠狠色综合欧洲 | 成人亚洲网站 | 亚洲国产人成在线观看 | 国产大乳孕妇喷奶水在线观看 | 日本一区二区三区不卡在线看 | 国产剧情麻豆三级在线观看 | 国产人成精品免费视频 | 一级片免费看 | 亚洲综合色网站 | 国内黄色精品 | 美女无遮挡拍拍拍免费视频 | 亚洲三级电影 | 精品一区二区国语对白 | 天天操夜夜操 | 色老板在线视频一区二区 | 国产激情视频一区二区三区 | 亚洲伊人久久综合影院2021 | 1024国产基地永久免费 | 天天摸夜夜摸爽爽狠狠婷婷97 | 色噜噜狠狠成人网 | 五月天狠狠操 | 亚洲福利一区 | 寄宿日记免费看 | 亚洲系列中文字幕一区二区 | 一区二区三区欧美在线 | 亚洲成在人线久久综合 | 456亚洲人成影院在线观 | 在线免费视频网站 | 高清性色生活片欧美在线 |