chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

3天內不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

linux上隨機數的生成原理

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

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

random: crng init done,

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

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

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

解決方案

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

移植haveged-1.9.3

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

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

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

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

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

注意:

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

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

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

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

因為啟揚i.MX8M Mini開發(fā)板上使用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

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

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

    關注

    7

    文章

    322

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    MPC5746R有真隨機數模塊(TRNG)嗎?

    MPC5746R有真隨機數模塊(TRNG)嗎? 如果有,請給些資料和例程,謝謝! 我的工程里沒有使用SDK。
    發(fā)表于 04-08 06:20

    硅臻正式推出QRNG全系列量子隨機數發(fā)生器產品

    信息安全是社會穩(wěn)定的必要條件,數字時代其重要性更是愈發(fā)凸顯。無論在經典還是量子加密的過程中,隨機數都是安全性的基石。加密密鑰由隨機數生成,安全性由隨機數的不可預測性保證。與偽
    的頭像 發(fā)表于 03-10 16:24 ?361次閱讀
    硅臻正式推出QRNG全系列量子<b class='flag-5'>隨機數</b>發(fā)生器產品

    三防漆不固化怎么辦?從材料到工藝的排查指南 |鉻銳特實業(yè)

    鉻銳特實業(yè)|東莞廠家|三防漆不固化怎么辦?從材料過期、固化條件錯配、涂層過厚、前處理不當到環(huán)境溫濕度,一文帶你系統(tǒng)排查三防漆固化不良問題,附行業(yè)數據及實用解決方法。
    的頭像 發(fā)表于 02-22 01:22 ?289次閱讀
    三防漆不固化<b class='flag-5'>怎么辦</b>?從材料到工藝的排查指南 |鉻銳特實業(yè)

    飛凌嵌入式ElfBoard-系統(tǒng)信息與資源之產生隨機數

    一、rand rand可在指定范圍內生成隨機數。1.頭文件#include 2.函數原型int rand(void);3.參數無。4.返回值rand() 函數返回一個范圍在 0 到 RAND_MAX
    發(fā)表于 01-22 08:59

    智能顯示模塊上電后顯示“No Project”怎么辦?

    智能顯示模塊上電后顯示“No Project”怎么辦?
    發(fā)表于 01-20 15:20

    如何在LTspice仿真中實現(xiàn)偽隨機數和真隨機數生成

    本文討論如何在LTspice仿真中利用flat()、gauss()和mc()函數來實現(xiàn)偽隨機數和真隨機數生成,并介紹如何使用設置面板的Hacks部分中的 Use the clock
    的頭像 發(fā)表于 01-09 14:08 ?4826次閱讀
    如何在LTspice仿真中實現(xiàn)偽<b class='flag-5'>隨機數</b>和真<b class='flag-5'>隨機數</b>的<b class='flag-5'>生成</b>

    德思特應用 | 前沿量子隨機數研究:多特蒙德工業(yè)大學如何通過高速數字化儀保障信息安全

    在量子信息時代,生成真正隨機的數字對加密與安全至關重要。多特蒙德工業(yè)大學研究人員利用高速數字化儀對量子隨機數生成過程進行多通道采集與分析,成功實驗評估竊聽風險,為密碼協(xié)議與安全應用提供
    的頭像 發(fā)表于 12-22 17:22 ?511次閱讀
    德思特應用 | 前沿量子<b class='flag-5'>隨機數</b>研究:多特蒙德工業(yè)大學如何通過高速數字化儀保障信息安全

    使用單片機系統(tǒng)時間不準怎么辦

    使用單片機系統(tǒng)時間不準,怎么辦?具體的是與晶振有關系還是MCU內部有關系,時間一長顯示的時間就慢了
    發(fā)表于 12-05 07:51

    ?基于RNG90的真隨機數生成技術解析與應用指南

    Microchip Technology RNG90 CryptoAuthentication?器件設計用于需要安全隨機數發(fā)生器的系統(tǒng)。RNG90即用型,無需任何定制。Microchip RNG90
    的頭像 發(fā)表于 10-10 15:01 ?819次閱讀
    ?基于RNG90的真<b class='flag-5'>隨機數</b><b class='flag-5'>生成</b>器<b class='flag-5'>技術</b>解析與應用指南

    隨機數和偽隨機數的區(qū)別

    隨機數在當前程序運行環(huán)境中是一種常用參數,目前主要分為兩種,偽隨機數和真隨機數,本期我們就來講一下二者的區(qū)別。
    的頭像 發(fā)表于 08-27 17:46 ?2857次閱讀

    電腦開機每次自動開啟很多軟件怎么辦?

    電腦開機每次自動開啟很多軟件怎么辦
    發(fā)表于 07-17 06:40

    路由器能連上但是沒有網絡怎么辦?

    路由器能連上但是沒有網絡怎么辦
    發(fā)表于 07-10 06:15

    DS28S60具有ChipDNA的DeepCover加密協(xié)處理器技術手冊

    的協(xié)處理器,命令功能包括ECDSA-P256簽名和驗證、基于SHA-256的數字簽名、AES-128數據包加密/解密、用于會話密鑰生成的ECDHE密鑰交換以及訪問高質量的隨機數。集成了符合NIST
    的頭像 發(fā)表于 05-13 14:39 ?964次閱讀
    DS28S60具有ChipDNA的DeepCover加密協(xié)處理器<b class='flag-5'>技術</b>手冊

    FPGA的Jtag接口燒了,怎么辦?

    在展開今天的文章前,先來討論一個問題:FPGA的jtag接口燒了怎么辦?JTAG接口的輸入引腳通常設計為高阻抗,這使得它們對靜電電荷積累非常敏感,由于JTAG接口需要頻繁連接調試器、下載線纜等外
    的頭像 發(fā)表于 04-27 11:01 ?2818次閱讀
    FPGA的Jtag接口燒了,<b class='flag-5'>怎么辦</b>?

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

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