專利名稱::隨機數生成方法和隨機數生成器的制作方法
技術領域:
:本發明涉及一個用于生成隨機數的方法和一個隨機數生成器,該生成器可用于信息工業領域比如說密碼裝置,特別可用于量子計算機領域。
背景技術:
:完全無序且具有相同出現頻率的隨機數可廣泛用于對社會現象、物理現象等等的數值模擬。隨機數在密碼裝置中同樣起重要作用,并且在信息安全領域得到廣泛關注。現在,人們已經研究并開發了多種隨機數生成方法,但是幾乎都只能通過軟件算法生成偽隨機數。到目前為止,隨機數的算法生成方法被廣泛應用于一定的可靠性級別以及隨機數的高速生成中。然而通常情況下,由于計算機只能生成一定范圍的信息,由計算機生成的隨機數具有一個特定的周期。因此,在數值模擬中無法得到精確解,而在信息安全中也無法實現足夠的安全度。有鑒于此,就需要更加完全無序的隨機數。近來,隨著硬件的處理速度和可靠性的發展,一種物理生成隨機數的方法被開發出來。舉例來說,大家知道生成于像熱電噪聲、放射性衰變這樣的物理現象的隨機數具有符合理想情況的低確定性。然而,所述物理生成方法需要大型裝置以用來生成隨機數。
發明內容本發明的一個目的是提出一個用簡單且不昂貴的裝置生成更加完全無序的隨機數的新方法,以及一個應用于所述隨機數生成方法的隨機數生成器。為實現上述目的,本發明涉及一個用于生成隨機數的方法,包括以下步驟準備一個包括第一晶體管和第二晶體管的雙穩態多諧振蕩電路(bistablemultivibratorcircuit),給所述雙穩態多諧振蕩電路加一個驅動電壓以隨機接通和切斷第一晶體管和第二晶體管中的一個,給所述第一晶體管和第二晶體管中之一的接通狀態和切斷狀態指定數字“0”和“1”,從而生成一個二進制隨機數。本發明還涉及一個包括一個雙穩態多諧振蕩電路的隨機數生成器。一個雙穩態多諧振蕩電路包括兩個正反饋連接的晶體管,而不考慮電路的使用情況如每部分電路或者一個集成電路。在所述雙穩態多諧振蕩電路中,當一個驅動電壓被加到電路上,兩個晶體管中的一個立刻導通電流,而另一個立刻切斷電流。當兩個晶體管由特征值相同的晶體管構成而其他組件由特征值對稱的組件構成時,所述雙穩態多諧振蕩電路就因此變得符合理想情況,使得當通過加一個驅動電壓接通該雙穩態多諧振蕩電路時就難以預測哪一個晶體管會導通電流。這樣,晶體管的開關選擇就決定于雙穩態多諧振蕩電路中的噪聲。根據這一觀點,如果兩個晶體管中的一個被檢測出導電,并且比如說數字“0”被指定表示晶體管的不導電狀態而數字“1”被指定表示晶體管的導電狀態,那么由于晶體管基于所述雙穩態多諧振蕩電路中的噪聲被隨機開關,從而就能生成一個二進制隨機數。晶體管導電可以通過測量其中的集電極電壓而很容易的檢測出來。如果無法構造理想的雙穩態多諧振蕩電路,那么所選定的一個晶體管就無法基于雙穩態多諧振蕩電路中的噪聲被隨機接通/切斷,這樣,該晶體管就可能依統計規律被接通/切斷。因此,上述二進制隨機數就無法生成。這樣,就需要調節所述雙穩態多諧振蕩電路中組件的特征值以使得所選定的晶體管基于該雙穩態多諧振蕩電路中的噪聲隨機導電,特別是在一段預定時間內調節該組件。從而數字“0”或“1”的出現概率就可成為0.5,這樣,就可生成二進制隨機數。為了更好的理解本發明須參照附圖,其中圖1是一個雙穩態多諧振蕩電路的電路圖,該振蕩電路依照本發明包括一個隨機數生成器,圖2是一個供電控制電路的電路圖,該控制電路用于產生一個加在所述雙穩態多諧振蕩電路上的驅動電壓,圖3是一個緩沖電路的電路圖,該緩沖電路用于測量并輸出所述雙穩態多諧振蕩電路中的一個晶體管的集電極電壓,圖4是一個隨機數的二進制頻率分布圖,該隨機數依照本發明由一個隨機數生成器和隨機數生成方法生成,以及圖5是另一個隨機數的二進制頻率分布圖,該隨機數由本發明的隨機數生成器和隨機數生成方法生成。具體實施例方式下面參照附圖詳細描述本發明。圖1是一個雙穩態多諧振蕩電路的電路圖,該振蕩電路依照本發明包括一個隨機數生成器。圖1中所描述的雙穩態多諧振蕩電路由作為基本電路部件的晶體管T1、T2,集電極電阻R1、R2,反饋電阻R3、R4,偏置電阻R7、R8、R9、R11,以及作為補充電路部件的電容C1、C2,電阻R5、R6和用于波形成形的二極管D1-D4所構成。為了實現所述雙穩態多諧振蕩電路,晶體管T1和T2由特征值相同的晶體管構成。集電極R1和R2被設置為相同的電阻值,反饋電阻R3和R4也被設置為相同的電阻值。同樣的,電容C1和C2也被設置為相同的電容值。在這里,并不總需要把電阻R5和R6的電阻值以及二極管D1-D4的特征值分別設置為相同值。然而通常情況下,最好把像電阻和二極管這樣的補充電路部件的特征值設置為相同值。當把一個給定驅動電壓從輸入端加到所述雙穩態多諧振蕩電路上時,晶體管T1和T2中的一個被導通電流而另一個被切斷電流。這樣,如果晶體管T1、T2的特征值,集電極電阻R1、R2的電阻值,反饋電阻R3、R4的電阻值,電容C1、C2的電容值以及偏置電阻R8、R9、R11的電阻值都分別相同,那么晶體管T1和T2的導電狀態就無法預測,而這樣一來,其導電狀態就決定于所述雙穩態多諧振蕩電路中的噪聲。舉例來說,數字“0”被指定表示晶體管T1經開關操作(打開)的導電狀態,而數字“1”被指定表示晶體管T1經開關操作(關閉)的不導電狀態。由于晶體管T1的導電狀態或不導電狀態決定于所述雙穩態多諧振蕩電路中的噪聲,所以數字“0”和“1”就可被隨機生成,這樣就可以生成一個特定的二進制隨機數。晶體管T1的導電狀態和不導電狀態可以通過在輸出端測量其集電極電壓而很容易的檢測出來。然而通常情況下,除非晶體管T1和T2的特征值被設置成相同值否則所述雙穩態多諧振蕩電路難以實現,這就使得晶體管T1和T2可能會依統計規律處于導電狀態或者不導電狀態。因此,晶體管T1處于導電狀態或不導電狀態的概率就會統計地大于其處于不導電狀態或導電狀態的概率,這就使得數字“0”或“1”的出現概率就會大于數字“1”或“0”的出現概率。結果,就無法生成一個二進制隨機數。這樣,所述雙穩態多諧振蕩電路中的電路部件就在一段預定時間內被調節以使得數字“0”和“1”的出現概率相等(出現概率=0.5)。因此,由于晶體管T1的導電狀態及不導電狀態能基于雙穩態多諧振蕩電路中的噪聲被隨機設置,那么數字“0”和“1”的出現概率就可被設置為0.5,從而生成一個特定的二進制隨機數。在本實施方式中,可以調節作為可變電阻的偏置電阻R11的阻值以使數字“0”和“1”具有相同的出現概率0.5。偏置電阻R11在平衡條件下可以和電阻R8串聯。圖2是一個供電控制電路的電路圖,該控制電路用于產生一個加在圖1所描述的雙穩態多諧振蕩電路上的驅動電壓。在圖2所描述的供電控制電路中,其輸出端連接到圖1中所描述的雙穩態多諧振蕩電路的輸入端。在圖2所描述的供電控制電路中,一個給定的偏置電流被導入該電路,而一個給定的矩形波通過電容C3和C4同樣被導入該電路。然后,晶體管T3就被接通以在集電極產生并輸出一個用于所述雙穩態多諧振蕩電路的驅動電壓。可以使用一個單個的無極電容來代替電容C3和C4。圖3是一個緩沖電路的電路圖,該緩沖電路用于測量并輸出圖1中所描述的雙穩態多諧振蕩電路中的晶體管T1的集電極電壓。在圖3所描述的緩沖電路中,其輸入端連接到位于圖1所描述的雙穩態多諧振蕩電路中的晶體管T1的集電極處的輸出端。在該緩沖電路輸出端處所測得的給定集電極電壓被提供來用于計算。在圖3所描述的緩沖電路的使用過程中,可以很容易的測得晶體管T1的集電極電壓而不影響圖1中所描述的雙穩態多諧振蕩電路。因此,就可以很容易并穩定地生成二進制隨機數。圖4和圖5是通過使用由圖1-3所描述的電路組件所構成的隨機數生成器而生成的隨機數的二機制頻率分布圖。圖4示出了5000個隨機數樣本而圖5示出了10000個隨機數樣本。在圖4和圖5中沒出現成片的圖案,而只出現了點狀的樣本,這顯示了一個二進制隨機數的生成。雖然參照上面的實例對本發明作了詳細的描述,但本發明并不限于上述公開,并且在不違背本發明意圖的情況下可以作各種變動和修改。舉例來說,在圖1所描述的電路圖中,如果把電容C11(0.001微法)、C12(0.1微法)和C13(1微法)并聯在輸入端和接地之間的線路上,所述雙穩態多諧振蕩電路的操作就會更加穩定。在上面的實施方式中,雖然使用并且開/關驅動的是晶體管T2,但也可以使用并且驅動晶體管T2。同樣的,數字“0”可以被指定表示晶體管T1的不導電狀態,而數字“1”可以被指定表示晶體管T1的導電狀態。此外,在上述實施方式中,雖然用于平衡晶體管T1和T2的偏置可變電阻R11和電阻R9串聯,但它也可以和R9并聯。另外,另一個可變電阻可以代替電阻R11和所述雙穩態多諧振蕩電路中的一個電阻串聯或并聯在一起。如上所述,依照本發明,能夠提出一個用簡單且不昂貴的裝置生成更加完全無序的隨機數的新方法以及一個應用于所述隨機數生成方法的隨機數生成器。權利要求1.一個用于生成隨機數的方法,包括以下步驟準備一個包括第一晶體管和第二晶體管的雙穩態多諧振蕩電路,給所述雙穩態多諧振蕩電路加一個驅動電壓以隨機接通和切斷所述第一晶體管和所述第二晶體管中的一個,給所述第一晶體管和所述第二晶體管中之一的接通狀態和切斷狀態指定數字“0”和“1”,從而生成一個二進制隨機數。2.如權利要求1中的生成方法,其中所述第一晶體管和所述第二晶體管中之一的所述接通狀態和所述切斷狀態通過測量其集電極電壓來測得。3.如權利要求1中的生成方法,其中“0”和“1”的出現概率通過調節所述雙穩態多諧振蕩電路中的一個電路元件的特征值來控制。4.如權利要求3中的生成方法,其中所述出現概率值被設置為0.5。5.如權利要求1中的生成方法,其中所述電路元件是一個偏置可變電阻。6.一個隨機數生成器,包括一個雙穩態多諧振蕩電路。7.如權利要求6中所規定的隨機數生成器,其中所述雙穩態多諧振蕩電路包括一個偏置可變電阻。8.如權利要求6中所規定的隨機數生成器,還包括一個連接到所述雙穩態多諧振蕩電路的供電控制電路,該控制電路為所述雙穩態多諧振蕩電路產生一個驅動電壓。9.如權利要求6中所規定的隨機數生成器,還包括一個連接到所述第一晶體管和所述第二晶體管之一的緩沖電路,該緩沖電路檢測該晶體管集電極電壓。全文摘要給一個待驅動的雙穩態多諧振蕩電路的輸入端加一個給定的驅動電壓。這樣,所述雙穩態多諧振蕩電路中的一個晶體管就基于該電路中的噪聲被隨機接通和切斷。當數字“0”和“1”被指定表示該晶體管的導電狀態(接通狀態)和不導電狀態(切斷狀態),就產生一個二進制隨機數。文檔編號H03K3/00GK1497429SQ0315948公開日2004年5月19日申請日期2003年9月27日優先權日2002年9月27日發明者齊藤義明申請人:新潟大學,新大學