精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用香蕉驅動一個隨機數生成器,靠譜嗎?

開發 新聞
這個香蕉隨機數生成器原理是啥?真的靠譜嗎?

圖片

?你以為的隨機數是不是都是那種很高級的?

比如前兩天,區塊鏈平臺Solana出現了長達4個小時的宕機事件。

根據聯合創始人Anatoly Yakovenko和其他開發人員表示,該問題是由于區塊鏈的持久隨機數功能存在錯誤導致的。Yakovenko表示,該問題“導致部分網絡認為該區塊無效”,因此“無法形成共識”。

圖片

再比如,在2015年與2017年,?工行聯合中國科技大學實現基于量子通信技術的同城和異地數據加密傳輸,在電子檔案、網上銀行等領域落地試點。去年,工行在銀行業中率先完成了量子隨機數的場景試點。

工行金融科技部總經理表示:“量子隨機數被認為是安全性最高的隨機數,我們利用其隨機性、不可推測和不可重復的特點,運用量子隨機數加密、標記、校驗重要金融交易信息,以更有效地防范用戶身份假冒、交易數據截獲重放等攻擊,更好地確保用戶意愿的真實性、交易要素的完整性和交易過程的安全性。”

但是你可能想都想不到,要生成隨機數,其實只要一根香蕉就夠了。這個別出心裁的腦洞得到一位即將電子學碩士畢業的博主Valerio Nappi實踐支持。

這個香蕉隨機數生成器原理是啥?真的靠譜嗎?快和文摘菌一起來看看~

讓我們從問題的根源開始說起。

計算機是確定性的系統。換句話說,如果我們總是給它們相同的輸入數據,它們也總是會返回相同的輸出值。這正是我們對計算機的期望。然而,確定性和隨機性并不是一種兼容的關系,而計算機本身無法做任何隨機的事情。

為了更好地理解隨機數,我們必須要理解一組數字成為隨機數的兩個必要不充分條件:

每個數字出現在列表中的概率必須與其他每個數字相同(取一個參考區間),也即均勻分布。

數字的序列必須是事先無法預測的。

顯然,確定型機器的困難在于回答第2點。在只滿足第1點的情況下,很有可能生成的是偽隨機數,并非真正的隨機。

但是,這和香蕉有什么關系?

當我們為計算機提供隨機數時,硬件系統是必不可少的,這就是隨機數生成器(TRNG)。

TRNG有許多類型,不過他們原理都是類似的,即利用不同的物理隨機量并將其轉換為數字信息傳遞給計算機。最常見的是利用物理現象,如電阻的熱噪聲、二極管的雪崩效應和其他混亂效應。

使用香蕉的話,應該還是放射性衰變。我們知道,香蕉內含有大量的鉀,而自然界中存在的鉀有一小部分是放射性的,但比例很高。具體來說,這里說的是40K同位素,它占自然界中鉀的0.01%。(以及很搭配與檸檬和糖一起吃)

圖片

這么來看的話,“以香蕉為動力的隨機數生成器”瞬間變得合理了不少。

但有一個問題仍然存在:我們在計算機中對隨機數做什么?

——加密。這也是研究隨機數及其與計算機關系的主要原因。隨機數被用來生成加密密鑰,這是決定加密系統有效性的唯一因素。正如Kerckhoffs原理所言,“一個密碼系統的安全性不應取決于保持密碼算法的隱蔽性,而只應取決于保持密鑰的隱蔽性”。

很明顯,如果攻擊者能夠以某種方式預測密鑰,我們便會處在一個脆弱的系統中。因此,“好的隨機數”是一個好的加密系統的基礎。

圖片

要用什么來檢測“香蕉”

為了分析隨機數生成器的質量,我們還需要專門設計的軟件工具。目前最流行的兩個是ent和dieharder。ent是作為放射性衰變隨機數生成器的輕量級測試而設計的,它非常簡單和快速,需要的數據很少,但結果只是指示性的。Dieharder是一個被認為是隨機數生成器的黃金標準的測試套件,它進行非常徹底的測試,但需要數千兆字節的樣本來運行。

在這里我們當然選擇ent。

準備一下數據,我們用ent進行第一次測試。數據是由發生器寫入串口的,我們用cat /dev/ttyACM0 >> sampletext.txt從linux控制臺將它們保存在一個文件中,在append模式下利用bash流重定向命令,這樣我們就可以停止采集,以后再繼續采集,而不會覆蓋文件。

兩天內收集的樣本包括90628個16位數字,每行一個。這些數字被保存為ascii文本文件,但ent分析的是二進制文件,可以用C語言寫一個很短的程序把它們轉換成二進制。

#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <stdint.h>
int main(int argc, char const *argv[]) {
FILE * lettura = fopen("textsample.txt", "r");
assert(lettura != NULL);
FILE * scrittura = fopen("sample.txt", "wb");
assert(scrittura != NULL);
uint16_t N = 0; //N is 16 bytes
char bytes[2];
char buffer[6]; // 5 char + terminator
do{
fscanf(lettura,"%s",buffer); // put one line in the buffer
N = atoi(buffer); // from char array to integer
bytes[0] = (N >> 8); // take the 8 msb
bytes[1] = (N & 0xFF); // take the 8 lsb
fwrite(bytes, 1, sizeof(bytes), scrittura); // output raw msb and lsb
}while (!feof(lettura));
fclose(lettura);
fclose(scrittura);
return 0;
}

做完這些,我們就可以第一次運行ent測試了。

圖片

Ent給出了幾個參數:

  • 熵:熵是一部分信息中包含的“隨機性”的數量。信息理論告訴我們,理論上可以通過壓縮而不損失信息的最小尺寸,由熵值表示。
  • 卡方分布:這個測試是用來了解我們的數值分布對理論分布的遵守程度。從ent手冊來看,這個值應該盡可能地接近256,百分比值在10-90%之間。
  • 算術平均值:比特的簡單算術平均值。由于數值在0到255之間,所以它應該大約等于127。
  • 用蒙特卡洛方法計算π的值:在這里更多的是一個漂亮的數據,而不是一個有用的方法。
  • 自相關:表示系列值之間的依賴性,在最佳情況下必須等于零。

香蕉與卡方的關系

卡方是統計學中的一個概念,主要用于測試一組數值與理論上預測的分布的擬合程度。

如果給定了一個數據集,頻率為一個給定的數據項出現的次數,自由度為可能值的數量減去1。為什么要減1?假設拋硬幣的情況,我們有兩種可能的結果:正面和反面。但出現正面的百分比直接由它出現反面的百分比決定。那如果我們考慮一個有三種可能結果的事件,第三種結果的百分比直接由其他兩種決定。

圖片

讓我們再搖骰子為例。擲骰子有6個可能的結果,這給了我們五個自由度。那投擲1000次骰子,我們要驗證統計學中所謂的零假設,或者驗證在一定的概率范圍內,我們的結果是真正隨機的。

這些是從實驗中得到的數據:

圖片

于是我們得到了實驗的卡方值,3068。

現實情況下的數據完全反映理論分布是極不可能的,一個太接近于零的卡方值也是值得懷疑的。另一方面,我們離理論分布越遠,分子就越大,而分母不變。這導致了卡方值的增長。這對卡方值而言,意味著能夠拒絕無效假設,從而知道你所處理的數據不僅僅是偶然的結果,而是有一定的意義。

但然而,對于我們來說,這是一則壞消息,因為這意味著我們的數據不是均勻分布的。

圖片

表中的行代表系統的自由度,在模具案例中,有5個自由度。列代表計算值大于表格中的值的概率水平。也有一些表格表示計算值小于的概率,這些表格被稱為左尾表,上面顯示的表格是右尾表。這是因為在一種情況下考慮的是圖形的右邊,而在另一種情況下考慮的是左邊。案例中chi^2=3.068,這介于90%和25%的情況之間。這足以說明,從我們可以歸類為隨機的行為來看,沒有過度的變化。

圖片

讓我們回到香蕉上,把90%和10%作為參考百分比,對于255個自由度,從ent對生成器記錄的數值的測試中,能得到498.15的值,超出了可接受的范圍,ent返回的概率百分比為<0.01%。

圖片

關于香蕉的猜測

但可能有人馬上注意到,字節1的計數明顯少于其他的,字節2的計數則多得多。仔細一看,那些“缺少”的計數被分配給了2。

經過一些測試,我決定將偶數位置的字節與奇數位置的字節分開。這是因為每生成一個16位數字(2個字節),就會產生兩個字節,一個是偶數位置,一個是奇數位置。

圖片圖片?

MSB沒有報告任何重大問題,但LSB組是問題所在。為了了解問題來源,我們必須首先了解數字是如何在內部產生的。

蓋革管通過一個接口電路,當它被輻射擊中時,在單片機的引腳2(PB2/INT0)上發送一個信號,引腳2被配置為在收到上升沿時產生一個中斷:attachInterrupt(digitalPinToInterrupt(2), randomCore, RISING);。中斷將調用randomCore()函數,其定義如下:

圖片?

該函數被調用時,反過來調用單片機的micros()函數。這個函數返回一個32位的數字,代表自系統開啟以來已經過去的微秒數。作為一個32位無符號數,它將在4294.96秒后溢出,或每70分鐘左右溢出一次。由于微控制器的速度不足以獲得更準確的更新,micros()以4微秒為單位進行更新,始終保持兩個最小有效位為零。

出于這個原因,我們將micros()返回的值向右移動了兩個比特。這樣我們就得到了一個30比特的值。如果我們也使用最小有效位,我們將得到漸進的數字,直到下一次定時器溢出。在溢出發生的70分鐘內,每個數字肯定會比前一個大,也肯定會比后一個小。這絕對不是隨機的。

因此,讓我們只保留micros()的前16字節。這個值每隔262144微秒就會有一次溢出,使得上述情況發生的可能性極小。

圖片

注意到,這個值每4*2^8=1024微秒出現一次,或者說大約1毫秒,是產生中斷溢出后的下一個值。然后我們把注意力放到單片機核心的millis()函數的代碼上來。

millis()函數通過將TIMER0的預分頻器設置為64來工作,對于一個時鐘為16MHz的8位定時器來說,這導致每1.024毫秒就有一次定時器溢出。定時器溢出會產生一個中斷,向量為TIMER0_OVF。如果蓋革管脈沖與TIMER0溢出同時到達,我們將有兩個相互競爭的中斷:TIMER0_OVF和INT0。這種情況由微控制器的中斷優先級系統來處理,其優先級順序在數據手冊中標明。

圖片

TIMER0溢出的優先級比外部中斷低得多,所以就有了以下猜測:

情況1:INT0中斷與TIMER0_OVF中斷同時到達。由于它有更高的優先級,外部中斷首先被執行,犧牲了millis(),影響了函數的準確性,但對生成的數字沒有產生明顯的影響。

情況2:INT0中斷比TIMER0_OVF中斷在下一個時鐘周期到達。由于已經過了一個時鐘周期,TIMER0_OVF中斷已經在執行了。當執行結束時,micros()已經是2的值了,所以生成的數字將被注冊為2的值。

但也有可能使用串行對延遲產生了影響,但還需要進一步調查?

責任編輯:張燕妮 來源: 大數據文摘
相關推薦

2024-11-01 15:51:06

2017-05-18 10:00:40

Linuxpandom隨機數生成器

2014-07-23 10:07:34

2018-11-19 10:10:51

Python數據庫隨機生成器

2017-05-29 09:56:25

2021-08-12 17:13:28

漏洞IoT設備網絡攻擊

2019-01-24 09:46:38

PelicanPython生成器

2024-05-29 09:05:17

2022-05-22 13:59:27

Go編程語言

2020-09-08 11:21:48

SQL生成器跨庫

2022-09-07 08:37:34

DCGAN圖片AI

2022-10-17 18:29:55

2009-12-02 17:01:01

PHP隨機數rand()

2024-08-19 00:00:00

表單生成器開發開源

2023-08-08 10:15:18

2011-05-19 11:30:00

密碼密碼生成器

2024-06-12 13:40:58

2024-10-07 08:52:59

分布式系統分布式 IDID

2024-12-09 00:00:03

Vue3項目表單

2016-01-21 09:55:51

點贊
收藏

51CTO技術棧公眾號

一级黄色a视频| 一本大道熟女人妻中文字幕在线 | 欧美两根一起进3p做受视频| ,一级淫片a看免费| 欧美影院三区| 色久优优欧美色久优优| 国产无套精品一区二区| 青青操国产视频| 成人网av.com/| 国产精品免费人成网站| 国产成人免费av| 欲求不满的岳中文字幕| 爱福利在线视频| 国产成人99久久亚洲综合精品| 日韩性xxxx爱| 久久久精品高清| 91免费在线| 免费不卡在线观看| 最近中文字幕日韩精品 | 久久亚洲综合网| 国产在线免费视频| 91精品日本| 亚洲国产视频网站| 国产精品久久国产三级国电话系列| 中国毛片直接看| 91麻豆精品国产综合久久久 | 国产精品无码久久久久| 日本一区免费视频| 国产精品主播视频| 免费一级suv好看的国产网站 | 亚洲尤物视频网| 登山的目的在线| 国产视频网站一区二区三区| 亚洲精品国产视频| 国产高清在线精品一区二区三区| 国产一级性生活| 欧美色资源站| 在线观看一区日韩| 色中文字幕在线观看| va婷婷在线免费观看| 欧美日韩在线大尺度| 亚洲电影免费观看高清完整版在线观看 | 国产99久久精品一区二区| 亚洲成人网在线播放| 国产福利一区二区三区在线播放| 1024亚洲合集| 成人av中文| 国产又大又黄视频| 日韩国产一区二区三区| 日韩亚洲欧美成人一区| 被灌满精子的波多野结衣| 欧美日韩在线精品一区二区三区激情综 | 91丨porny丨首页| 日韩av男人的天堂| 国产老头老太做爰视频| 精品精品国产三级a∨在线| 都市激情亚洲色图| 大桥未久一区二区| 无码精品一区二区三区在线| 日本网站在线观看一区二区三区 | 亚洲天堂黄色片| 欧美久久精品| 制服丝袜中文字幕一区| 国产肥臀一区二区福利视频| 麻豆网站在线免费观看| 久久综合五月天婷婷伊人| 91香蕉嫩草影院入口| 在线天堂中文字幕| 欧美aa国产视频| 国产亚洲欧美日韩美女| 中国特级黄色片| 国产综合色激情| 狠狠操狠狠色综合网| 国产成人三级视频| 春暖花开成人亚洲区| 成人性生交大片免费看视频在线| 国产精品第七十二页| 免费在线看黄网址| 日韩在线中文| 亚洲美女av黄| 日本一区二区在线免费观看| 亚洲色图综合| 在线观看www91| 黄色一级在线视频| 色网在线观看| ㊣最新国产の精品bt伙计久久| 欧美亚洲丝袜| 天堂网在线中文| 国产精品18久久久久久久久| 欧美性受xxxx黑人猛交| 日韩精品一区三区| 欧美激情视频一区二区三区免费| 中文字幕亚洲综合久久筱田步美| 国产成人无码一区二区在线观看| 99久久婷婷国产综合精品青牛牛| 91精品国产综合久久精品麻豆| 中文字幕乱码人妻综合二区三区 | 一区二区三区在线观看视频 | 欧美激情五月| 久久精品久久久久| 日韩欧美视频免费观看| 久久国产亚洲| 日韩中文在线不卡| 免费观看特级毛片| 99精品视频在线观看播放| 在线观看久久久久久| 无码一区二区三区在线| 国产一区日韩| 夜夜嗨av一区二区三区免费区| 偷拍女澡堂一区二区三区| 噜噜噜狠狠夜夜躁精品仙踪林| 精品久久久久久久久久久久久久久久久| 精品亚洲视频在线| 国产精品一区二区三区av| 欧美精品久久99久久在免费线| 亚洲va综合va国产va中文| 日韩综合av| 91精品啪在线观看国产60岁| 一起草最新网址| 91久久精品无嫩草影院| 日韩一区二区三区视频| 亚洲少妇中文字幕| 精品国产乱子伦一区二区| 日韩不卡在线观看| 中国美女乱淫免费看视频| 亚洲人成精品久久久| 亚洲天堂色网站| 91麻豆制片厂| 一区二区蜜桃| 91精品国产777在线观看| 欧美超碰在线观看| 精品影视av免费| 91九色视频在线观看| 日韩有码第一页| 久久综合九色综合97婷婷女人 | 精人妻一区二区三区| 国产色噜噜噜91在线精品| 日韩成人在线免费观看| 无码人妻丰满熟妇啪啪欧美| 999国产精品| 国语自产在线不卡| 亚洲性猛交富婆| 国产精品一区二区在线播放 | 亚洲精品午夜久久久| www.国产在线视频| 三级成人在线| 日韩视频123| 精品少妇人妻一区二区黑料社区| 97精品国产一区二区三区| 久久久久久中文| 中文字幕有码无码人妻av蜜桃| 国产激情视频一区二区三区欧美| 久中文字幕一区| 蜜桃av在线免费观看| 亚洲成a人在线观看| 成人中文字幕av| 欧美第一在线视频| 亚洲日本欧美中文幕| 美女的奶胸大爽爽大片| 久久精品30| 成人av免费在线看| 2019中文字幕在线视频| 午夜日韩在线电影| 久久成年人网站| 深爱激情综合网| 欧美高清性猛交| 中文字幕在线2019| 99视频精品免费视频| 亚洲一区高清| 电影网一区二区| 精品欧美乱码久久久久久| 国产又粗又黄又猛| 国产精品婷婷| 国产91一区二区三区| 日本中文在线观看| 色噜噜狠狠色综合欧洲selulu| 国产精品果冻传媒| 亚洲情侣在线| 国产精品久在线观看| 欧洲一区av| 亚洲成av人片| 亚洲美女精品视频| 亚洲综合婷婷| 国产日韩精品在线播放| 国产三级在线看| 欧美午夜www高清视频| 在线播放第一页| 欧美一区二区三区久久精品茉莉花 | 男人晚上看的视频| 久热精品视频| 免费久久久一本精品久久区| av免费在线视| 91精品国产黑色紧身裤美女| 在线观看免费小视频| 久久久国产亚洲精品| 精品一区二区国产| av手机在线观看| 精品久久人人做人人爱| 精品自拍偷拍视频| 国产精一区二区三区| 免费看污污视频| 91精品国产一区二区在线观看 | 少妇高潮惨叫久久久久| 青青草原综合久久大伊人精品优势| 欧美日本韩国国产| 精品三级久久| 亚洲欧美一区二区三区在线| av中文在线播放| 26uuu精品一区二区在线观看| 国产精品裸体瑜伽视频| 久久香蕉网站| 国产69精品久久久久久| 日韩二区三区| 91传媒视频在线播放| 一级黄色片网址| 久久精品久久99精品久久| 一区二区三区av| 日韩精品亚洲专区在线观看| 欧美激情精品久久久久久| 成人黄色在线观看视频| 亚洲成av人片观看| 性少妇bbw张开| 日本午夜精品视频在线观看| 国产又粗又爽又黄的视频| 99精品国产高清一区二区麻豆| 97人人做人人爱| 97人人模人人爽人人澡| 国内精品嫩模av私拍在线观看| 97久草视频| 在线男人天堂| 中文字幕日韩综合av| 国产精品乱码一区二区| 亚洲综合区在线| 精品人妻一区二区三区香蕉| 另类天堂av| 潘金莲一级淫片aaaaaa播放1| aaa国产精品视频| 青青久久aⅴ北条麻妃| 午夜在线播放| 精品av综合导航| 亚洲色成人www永久网站| 亚洲免费在线电影| 97香蕉碰碰人妻国产欧美| 日韩成人精品在线观看| 国产 国语对白 露脸| 亚洲精品合集| 91夜夜未满十八勿入爽爽影院 | 特黄特色免费视频| 国产精品腿扒开做爽爽爽挤奶网站| 性刺激综合网| 超碰成人福利| 国产黑人绿帽在线第一区| 二区三区在线观看| 亚洲男人的天堂在线| 国产一区二区网站| 狠狠色香婷婷久久亚洲精品| 九九精品视频免费| 99久久婷婷国产| 最新免费av网址| 国产一区白浆| 欧美另类videosbestsex日本| 久久最新网址| 国产伦精品一区二区三区照片91 | 日本亚洲视频在线| 拔插拔插海外华人免费| 成人免费在线播放| 久久riav二区三区| 亚洲日本va中文字幕| 国产美女精彩久久| 日韩性xxx| 97在线视频观看| 亚洲国产精品精华素| 中文字幕亚洲综合久久筱田步美| 深夜福利免费在线观看| 日韩欧美国产成人一区二区| 中文无码av一区二区三区| 狠狠色狠色综合曰曰| 国产一级特黄毛片| 尤物视频一区二区| 国产三级aaa| 久久精品人人做人人综合 | 亚洲国产欧美日韩在线观看第一区 | 欧美a一欧美| 亚洲精品女av网站| 日韩欧国产精品一区综合无码| 日韩免费在线观看视频| 国产社区精品视频| 欧美精品久久久久久久久久| 91小视频xxxx网站在线| 日韩在线一区二区三区免费视频| 免费人成在线观看网站| 日韩精品在线免费观看| 天天综合在线视频| 精品久久久久一区| 高h放荡受浪受bl| 精品国产一区久久| 亚洲黄色在线播放| 日韩精品自拍偷拍| 亚洲精品字幕在线| 精品国产伦一区二区三区免费| 亚洲第一色视频| 精品国产亚洲在线| 黄色aaa毛片| 精品国产电影一区二区| 色网站免费观看| 亚洲激情视频在线观看| 日漫免费在线观看网站| 亚洲免费视频一区二区| 精品美女视频在线观看免费软件| 精品亚洲一区二区| 激情小视频在线| 在线精品国产欧美| 黄色网址在线免费播放| 久久99久久久久久久噜噜| av电影免费在线看| 欧美一区二三区| 国产精品高清乱码在线观看| 国产精品入口免费视频一| 欧美亚洲二区| 91久久偷偷做嫩草影院| 国产精品22p| 蜜桃视频日韩| 日韩免费一区| 91九色国产ts另类人妖| 亚洲麻豆视频| 亚洲免费av一区二区三区| 精品亚洲成a人| 久久精品无码专区| 久久精品在线观看| 少妇高潮一区二区三区喷水| 一区二区日韩电影| 国产成人无码精品久久久久| 色综合天天综合在线视频| 91丨九色丨丰满| 亚洲第一精品福利| 国产三级在线| 精品中文字幕在线观看| 免费福利视频一区二区三区| 成人黄在线观看| 欧美黑白配在线| 亚洲五月六月| 在线看片日韩| 天天视频天天爽| 国产99久久精品| 永久免费av无码网站性色av| 一区二区三区毛片| 亚洲s码欧洲m码国产av| 91麻豆精品国产综合久久久久久| 天天射,天天干| 久久精品国产成人精品| 亚洲女同av| 亚洲综合中文字幕在线观看| 亚洲欧洲av| 日本精品免费视频| 久久久噜噜噜久久狠狠50岁| 国产大片一区二区三区| 久久美女艺术照精彩视频福利播放| 希岛爱理中文字幕| 色中色一区二区| 免费看av毛片| 精品国产欧美成人夜夜嗨| 成人免费网站视频| 国产伦精品一区二区三区四区视频 | 蜜桃av一区二区| 亚洲综合自拍网| 亚洲另类一区二区| 综合久久中文字幕| 日韩av网站在线| 日韩精品分区| 成人免费xxxxx在线观看| 最新精品国偷自产在线| 日韩视频在线视频| 国产一区视频在线看| 四季av中文字幕| 日韩欧美国产激情| 色欲av永久无码精品无码蜜桃| 美女久久久久久久| 国产一区二区三区四区五区3d| 欧美精品在线一区| 中文在线一区| 中文字幕天堂av| 亚洲精品乱码久久久久久黑人 | 日本色综合中文字幕| 噜噜噜在线视频| 亚洲国产综合色| 精品国产伦一区二区三| 精品久久久91| 四虎视频在线精品免费网址| 日本精品一区二区三区视频 | 欧美三级午夜理伦三级富婆| 久久久久久久久岛国免费| 中文字幕一区二区三区精品 | 岛国精品视频在线播放| 蜜桃视频在线观看www| 欧美激情在线视频二区| 三级欧美日韩| 国产高清不卡无码视频| 国产精品一区二区无线| 国产va在线播放| 精品盗摄一区二区三区|