隨機數后處理電路的制作方法
【技術領域】
[0001]本實用新型涉及電子電路及數據處理技術領域,具體涉及一種隨機數后處理電路。
【背景技術】
[0002]隨著信息通信技術的迅猛發展,在許多電子產品應用里面信息安全變得越來越重要。特別是在智能卡通信系統里,信息安全更是重中之重。因此,信息加密技術在智能卡與讀卡器的通信系統中被廣泛應用。加密技術的安全性,取決于每次通信時所使用到的“種子”碼,其中“種子”碼是由隨機數產生器產生的。現在使用的智能卡技術中,大多數是采用偽隨機的方法產生“種子”碼的,偽隨機的“種子”碼是可以很容易被破解的,所以對整個交易系統的安全性構成很大的威脅。因此,真隨機數產生器就顯得非常重要,特別是在對安全性要求高的應用系統中。
[0003]眾所周知,隨機源的隨機性能的好壞直接決定了真隨機數發生器的質量。基于物理隨機源產生的真隨機數雖然在隨機序列的長度、獨立性等方面比偽隨機數發生器得到了突破性的進展,但是其產生的真隨機數序列的隨機性不夠穩定,隨機數的質量不高,不能很好地滿足應用需求。通常,還要對隨機源進行后處理,使其輸出高質量的真隨機序列。
【實用新型內容】
[0004]本實用新型提供了一種隨機數后處理電路,旨在提高物理隨機源產生的隨機數序列的質量,使得最終所輸出的隨機序列具有均勻性好、獨立性高等特點,提高加密技術的安全性,在智能卡信息安全等方面有較高的實際應用價值。本實用新型的目的由以下技術方案實現:
[0005]一種隨機數后處理電路,包括:隨機數預處理器,其輸入端連接物理隨機源,輸出端連接隨機數質量檢測器的輸入端,用于對物理隨機源產生的隨機序列進行采樣與異或處理;隨機數質量檢測器,其輸出端連接隨機數插入處理器的輸入端,用于檢測經過預處理后的隨機序列是否通過設定要求,通過則提供隨機數插入使能信號insert_enl與insert_en2及通過檢測的隨機序列,否則不進行操作;隨機數插入處理器,其輸出端分別連接移位寄存器I和移位寄存器2,隨機數插入處理器通過插入使能信號insert_enl與insert_en2分別對移位寄存器I和移位寄存器2在不同時刻插入通過檢測的隨機序列;移位寄存器I和移位寄存器2,各自的輸出端連接異或處理鏈網絡的相應輸入端;異或處理鏈網絡,用于對移位寄存器I和移位寄存器2中的數據按位進行異或處理后將最終的真隨機序列存到隨機數輸出寄存器,其輸出端連接隨機數輸出寄存器的輸入端;隨機數輸出寄存器,其輸出端作為隨機數后處理電路的輸出端。
[0006]作為具體的技術方案,所述隨機數預處理器包括D觸發器1、D觸發器2和異或門,D觸發器I的D端接入物理隨機源產生的隨機序列,CP端接入1.69M時鐘源,D觸發器I的數據輸出信號與D觸發器2數據輸出信號通過異或門進行異或操作,得到的結果作為D觸發器2的數據輸入信號;D觸發器2的輸出信號為預處理后的隨機序列。
[0007]作為具體的技術方案,所述隨機數質量檢測器包括寄存器bit_cnt和翻轉計數器toggle_Cnt,寄存器bit_cnt在隨機數預處理器開始采樣物理隨機源序列時計數,每個時鐘周期bit_cnt寄存器加1,計數值達到48后重新計數;翻轉計數器toggle_cnt用于對預處理后得到的隨機序列進行翻轉計數,預處理后的隨機序列每變化一次翻轉計數器toggle_cnt加1,在48個時鐘周期后停止計數;如果toggle_cnt計數結果大于4且小于48則檢測通過,否則認為隨機序列不合要求;隨機數質量檢測器還提供隨機數插入使能信號insert_enl與insert_en2,供隨機數插入器使用,其中,nsert_enl = I的條件為:寄存器bit_cnt = m,m 表不 2、8、14、20、26、32、38、44 ;nsert_en2 = I 的條件為:寄存器 bit_cnt=k,k 表示 5、11、17、23、29、35、41、47。
[0008]作為具體的技術方案,所述隨機數插入處理器包括兩個與門電路,第一與門電路的兩個輸入端分別接隨機數插入使能信號inSert_enl和檢測通過的隨機序列,輸出連接移位寄存器I ;第二與門電路的兩個輸入端分別接隨機數插入使能信號inSert_enl和檢測通過的隨機序列rng_pre,輸出連接移位寄存器2。
[0009]作為具體的技術方案,所述移位寄存器I和移位寄存器2都為8位移位寄存器,移位寄存器I移動數據的方向為從高位bit7到低位bitO ;移位寄存器2移動數據的方向為從低位bitO到高位bit7。
[0010]作為具體的技術方案,所述異或處理鏈網絡包括八個異或門電路,對移位寄存器I和移位寄存器2中的數據按位進行的異或操作,異或處理鏈網絡的異或操作結果送到隨機數輸出寄存器。
[0011]本實用新型提供的隨機數后處理電路,首先對物理源產生的隨機序列進行預處理,然后通過對隨機數插入的控制,使后續的處理相當于采用了兩路相互獨立且相同的數據源產生的隨機序列,最后經過異或鏈網絡擾亂輸出位流,得到了高質量的隨機數。此外對預處理后隨機數質的量進行了檢測,保證了最終隨機數的高隨機性。本實用新型的有益效果在于:本實用新型的預處理過程、隨機數插入過程與異或操作過程都可以提高隨機序列的隨機性,三個過程的級聯組合使用,可以使隨機數后處理電路得到高質量的隨機數,以便更好的滿足實際的需要。
【附圖說明】
[0012]圖1為本實用新型實施例提供的隨機數后處理電路的結構框圖。
[0013]圖2為本實用新型實施例提供的隨機數后處理電路中隨機預處理單元的結構圖。
[0014]圖3為本實用新型實施例提供的隨機數后處理電路中隨機數插入處理器、移位寄存器1、移位寄存器2、異或處理鏈網絡和隨機數輸出寄存器部分的組合結構圖。
【具體實施方式】
[0015]下面結合附圖對本實用新型進行詳細闡述。
[0016]如圖1所示,本實施例提供的隨機數后處理電路包括:隨機數預處理器、隨機數質量檢測器、隨機數插入處理器、移位寄存器1、移位寄存器2、異或處理鏈網絡和隨機數輸出寄存器;隨機數預處理器的輸入端連接物理隨機源,輸出端連接隨機數質量檢測器的輸入端,隨機數質量檢測器的輸出端連接隨機數插入處理器的輸入端,隨機數插入處理器的輸出端分別連接移位寄存器I和移位寄存器2,移位寄存器I和移位寄存器2的輸出端連接異或處理鏈網絡的輸入端,異或處理鏈網絡的輸出端連接隨機數輸出寄存器的輸入端,隨機數輸出寄存器的輸出端作為隨機數后處理電路的輸出端。
[0017]基于上述隨機數后處理電路的隨機數后處理,其主要包括:物理隨機源輸出序列首先送到隨機數預處理器;經過預處理后的隨機數送到隨機數質量檢測器;然后經過隨機數插入器把隨機數分別送到移位寄存器I和移位寄存器2 ;移位寄存器I和移位寄存器2中的數據按位經過異或處理后把最終的真隨機數存到隨機數輸出寄存器。以下結合附圖進行詳細描述:
[0018]如圖2所示,隨機數預處理器包括D觸發器1、D觸發器2及異或門,D觸發器I的D端用于接入物理隨機源產生的隨機序列TRNG,CP端接入1.69M時鐘源,,這樣對隨機序列進行了采樣與同步過程;D觸發器I的數據輸出信號與D觸發器2數據輸出信號通過異或門進行異或操作,得到的結果作為D觸發器2的數據輸入信號;D觸發器2的輸出信號為預處理后的隨機序列:rng_pre,經過預處理后提高了隨機序列的隨機性。
[0019]本實施例提供的隨機數質量檢測器包括寄存器bit_cnt和翻轉計數器toggle_cnt,寄存器bit_cnt在開始采樣物理隨機源序列時計數,每個時鐘周期bit_cnt寄存器加I,計數值達到48后重新計數;翻轉計