一種基於液體分子布朗運動的真隨機數發生器的製作方法
2023-06-15 01:49:36 1

本申請涉及隨機數發生器,並且更具體地說,涉及一種基於液體分子布朗運動的真隨機數發生器。
背景技術:
隨機數在密碼學、仿真、集成電路測試等領域有重要作用。隨機數序列通常是隨機二進位序列組合,按照是否可再現、可預測,可以將隨機數分為偽隨機數和真隨機數。偽隨機數並不是真正地隨機,它們通常是由諸如計算機等各種電子設備計算得出的,因此一旦知道了其生成方法以及一些參數(例如隨機數種子),就可得到完全相同的偽隨機數,從而面臨被破譯的風險,因此,為了通信的安全性,需要能夠產生真隨機數的發生器。
真隨機數通常只能通過物理現象獲得。常見的真隨機數的熵源例如但不限於電路噪聲、宇宙噪聲、放射性衰變等。當前的真隨機數發生器通常基於電路噪聲等來產生真隨機數,但是所述噪聲通常較小,很難直接準確地對其進行測量和量化,通常的做法是對其放大後進行測量。然而,由於放大器並非絕對線性放大,因此對較小的噪聲放大後所得到的電流信號的隨機性勢必受到影響。其他的真隨機數產生方法,例如利用亞穩態的觸發器來產生真隨機數,則通常存在隨機性不夠等問題。
另外,隨著通信速率的提高,還存在對高速真隨機數發生器的需要,以滿足不斷提高的通信速率的要求。
技術實現要素:
本發明提供了一種高速的真隨機數發生器,其以液體布朗運動作為熵源,通過周期性地拍攝布朗運動並對拍攝的圖片進行數位化處理來提供高速且具有足夠隨機性的真隨機數列。
所述真隨機數發生器包括隨機數採集單元和隨機數生成單元。所述隨機數採集單元包括:耐高壓的封閉透明液體池,其內盛有由無色透明膠質液體和在所述無色透明膠質液體內做布朗運動的顆粒形成的混合物,以及用來容納所述無色透明膠質液體在高壓下膨脹的真空密封空間;高速顯微成像設備,其周期性地拍攝所述混合物內部切面以獲得多幀圖片。所述隨機數生成單元包括:數位化處理器,其將由所述高速顯微成像設備每次拍攝得到的所述多幀圖片中的每一幀圖片置於平面直角坐標系中,畫出網格,遍歷所述網格中的所有交叉點並分析所述交叉點周圍的灰度,以獲得所述交叉點代表的隨機數,進而得到對應於所述每一幀圖片的初步隨機數串a0;後處理器,其對所述數位化處理器處理得到的所述初步隨機數串a0進行處理,以得到隨機數列;其中,所述高速顯微成像設備在所述透明液體池的一側對準所述透明液體池內的混合物的中間部分進行拍攝,所述高速顯微成像設備的對側具有附著在所述透明液體池的池壁上的、有助於所述拍攝的白色墊片,並且其中,所述高速顯微成像設備電連接到所述隨機數生成單元。
附圖說明
圖1是隨機數採集單元中的耐高壓的封閉透明液體池100的示圖;
圖2是隨機數採集單元中的耐高壓的封閉透明液體池100以及其內的混合物210和真空密封空間220的示圖。
圖3是由隨機數採集單元中的高速顯微成像設備周期性地拍攝的、所述封閉透明液體池100內的所述混合物210的內部切面300。
圖4是由隨機數生成單元中的數位化處理器進行的、將所拍攝的一幀圖片去掉周圍部分後選取中間部分置於平面直角坐標系中進行數位化處理以得到初步隨機數串a0的示圖400。
圖5是由隨機數生成單元中的後處理器進行的、對所述初步隨機數串a0進行處理以產生最終的真隨機數列的過程示圖500。
圖6是真隨機數發生器的整體示圖600。
本領域技術人員應當理解,為了清楚起見,在附圖中沒有示出某些公知的裝置。另外,附圖中所示出的示例是僅出於說明的目的而示出的,而不旨在限制本發明的保護範圍。
具體實施方式
為了提供高速且具有足夠隨機性的真隨機數列,本發明提供了一種高速的真隨機數發生器,其以液體布朗運動作為熵源,通過周期性地拍攝布朗運動並對拍攝的圖片進行數位化處理來提供高速的真隨機數列。下面結合各附圖來詳細地描述本發明。
圖1是隨機數採集單元中的耐高壓的封閉透明液體池100的示圖。在圖1中,所述液體池100是空的,並且處於尚未封閉的狀態。所述液體池100是透明的,以便於高速顯微成像設備對其進行拍攝。另外,雖然在圖1中示出了所述透明液體池是具有一定形狀的,但是本領域技術人員應當理解,所述透明液體池可以是能夠實現本發明目的的任意種類和形狀的透明液體池。
圖2是隨機數採集單元中的耐高壓的封閉透明液體池100以及其內的混合物210的示圖。在該示圖中,所述液體池100盛有高度為目標刻度的、無色透明膠質液體與顆粒的混合物210,所述顆粒在所述無色透明膠質液體內做布朗運動。所述示例是通過向圖1中所示的空的液體池100內加入所述顆粒至目標刻度的一半,再向所述液體池內加入所述膠質液體至所述目標刻度來實現的。所述先加入顆粒至目標刻度的一半,再加入膠質液體至所述目標刻度的步驟是為了使得所述封閉液體池內所述顆粒的體積等於所述顆粒與所述膠質液體體積之和的一半,從而使得所述混合物中任一點是否被所述顆粒佔據的機會均等。
在圖2所示的示例中,在所述混合物210達到所述目標刻度之後,將所述透明液體池100抽真空並密封。在以上示例中,所述目標刻度低於所述封閉液體池的高度,所述封閉液體池100中高於所述目標刻度的部分是用來容納所述無色透明膠質液體在高壓下膨脹的真空密封空間220。
在以上示例中,所述顆粒可以與所述無色透明膠質液體密度相同。所述顆粒還可以是直徑在0.01-0.1mm的黑色不溶於水的顆粒。例如,所述黑色不溶於水的顆粒可以是例如通過過篩法得到的金剛砂粉塵。
所述隨機數採集單元還可以包括溫度計,所述溫度計可以測量所述透明液體池內的所述混合物的溫度。所述溫度計可以是內置的或者無線的。
所述隨機數採集單元還可以包括加熱器,所述加熱器可以對所述封閉透明液體池以及其內部混合物進行加熱,使得所述內部混合物保持低於所述無色透明膠質液體的沸點的目標溫度。
另外,所述隨機數採集單元包括高速顯微成像設備,所述高速顯微成像設備周期性地拍攝所述封閉透明液體池內的所述混合物的內部切面圖片以獲得多幀圖片。
以上所述的封閉透明液體池及其內部的混合物、溫度計、加熱器和高速顯微成像設備構成了所述真隨機數發生器的隨機數採集單元。雖然出於清楚的目的,圖1和圖2中沒有示出所述溫度計、加熱器和高速顯微成像設備,但是本領域技術人員應當理解,為了實現本發明的目的,所述真隨機數發生器可以包括能夠實現本發明目的的、任意類型的以上所述的溫度計、加熱器和高速顯微成像設備。
參照圖3,圖3是由所述隨機數採集單元中的高速顯微成像設備周期性地拍攝的、所述封閉透明液體池內的所述混合物的內部切面300。所述高速顯微成像設備可以周期性地對所述混合物210的內部切面300進行拍攝,並且每拍攝一次,可以得到多幀圖片。所述高速顯微成像設備進行的拍攝可能是高速的,以有助於該真隨機數發生器能夠快速地產生真隨機數列。例如,所述高速顯微成像設備可以每n秒拍攝一次,其中n0,i∈n);令所述xi的初始值全部為0;不重複地遍歷所選取的中間部分中的所有交叉點並分析該交叉點周圍直徑0.01mm範圍內的灰度,如果所述灰度大於50%,則令所述xi=1。本領域技術人員應當理解,所述不重複地遍歷所選取的中間部分中的所有交叉點可以按照能夠不重複地遍歷所述所有交叉點的任意順序來進行。經過以上操作之後,得到對應於每一幀圖片的初步隨機數串a0。
隨後,可以對所述初步隨機數串a0進行後處理,在本發明中,進行所述後處理的裝置可以稱為後處理器(未示出)。以上所述的數位化處理器以及所述後處理器構成本申請所描述的真隨機數發生器中的隨機數生成單元。所述數位化處理器和後處理器可以是能夠執行本發明中所描述的功能的各種市售計算機處理器或微處理器,其例如intel酷睿i5系列或i7系列處理器,或者stm32系列等單片機處理器。
圖5是由隨機數生成單元中的後處理器進行的、對所述初步隨機數串a0進行處理以產生最終的真隨機數列的過程示圖500。所述後處理器可以通過以下步驟來對所述初步隨機數串a0進行處理:對所述隨機數串a0使用馮-諾依曼校正,拋棄無輸出的數據串a1′,產生隨機數列a1;對所拋棄的數據串a1′丟棄第一個數字後進行異或鏈校正,得到隨機數列a2;將所述隨機數列a2拼接到所述隨機數列a1後,以得到對應於所述每一幀圖片的隨機數列a3。所述異或鏈的級數可以取決於隨機數需求。例如,如果要求滿足較高的均勻性和隨機性,可以將級數提高到8級,而如果對隨機數產生效率要求較高,則可以適當地降低該級數。
經過所述後處理器的上述處理之後,得到的是對應於每一幀圖片的隨機數列a3。然而,所述高速顯微成像設備每拍攝一次可以得到多幀圖片,其中每一幀圖片都對應於一個隨機數列a3,因此所述後處理器還可以將對應於每次拍攝得到的多幀圖片的多個隨機數列a3進行拼接,以得到對應於每次拍攝的隨機數列a4。本領域技術人員應當理解,所述拼接是按照能夠不重複地遍歷每次拍攝得到的多幀圖片中的每一幀圖片的任意順序來進行的。
此外,如上所述,所述高速顯微成像設備對所述混合物內部切面的拍攝可以是周期性地進行的,並且每拍攝一次,可以得到多幀圖片。所述高速顯微成像設備進行的拍攝可能是高速的,以有助於該真隨機數發生器能夠快速地產生真隨機數列。例如,所述高速顯微成像設備可以每n秒拍攝一次,其中n<0.1。因此,所述後處理器還可以將對應於周期性拍攝中的每次拍攝的多個隨機數列a4進行拼接,以得到隨機數列a5。本領域技術人員應當理解,所述拼接是按照能夠不重複地遍歷所述周期性拍攝中的每次拍攝的任意順序來進行的。
此外,為了進一步提高以上得到的隨機數列a5的隨機性,所述後處理器還可以將所述隨機數列a5進行異或周期序列校正,以得到隨機數列a6。所述隨機數列a6即為本發明中所描述的真隨機數發生器的最終輸出。
圖6是真隨機數發生器的整體示圖600。在所述示圖中,可以看出,高速顯微成像設備620的對側具有附著在所述透明液體池100的池壁上的白色墊片650,以避免不相關的物體被所述高速顯微成像設備拍攝到;所述高速顯微成像設備620還可以電連接到所述隨機數生成單元610,以將拍攝得到的圖片數據傳輸給所述隨機數生成單元進行處理。如所示,可以具有2臺及以上的高速顯微成像裝置620,使隨機數生產效率加倍。真隨機數發生器的整體示圖600還示出了溫度計630和加熱器640,其如以上參考圖2所描述的那樣進行操作。
本發明所描述的真隨機數發生器能夠快速地生成真隨機數列,以滿足不斷提高的通信速率的要求,並且其產生的真隨機數列以液體分子的布朗運動作為熵源,並且在產生最終輸出的隨機數列的過程中經過了校正,能夠克服隨機性不夠等問題,同時,其數字損失小、隨機數生產效率高(可達到5-10gbps)。