亂數產生器及其亂數產生方法
【技術領域】
[0001]本發明涉及一種數值產生器,且特別涉及一種亂數產生器及其亂數產生方法。
【背景技術】
[0002]身處信息化社會與全球化時代,人與電腦、網絡間的關系日益趨于緊密,因而造就了電子交易應用的便利與普及性。為了要提升電子交易的安全性,利用亂數碼來對每一筆交易的紀錄進行加解密作業,是現今普遍的作法之一。
[0003]一般而言,會利用亂數產生器來產生亂數序列,并且透過亂數序列取得所需要的亂數碼,其中亂數碼的不重復性決定亂數碼的亂度,并且亂數碼的亂度決定亂數碼被破解的機率。因此,如何提高亂數碼的亂度則是設計亂數產生器的一個主題。
【發明內容】
[0004]本發明提供一種亂數產生器及其亂數產生方法,可提高亂數序列的亂度,亦即可提高亂數碼的亂度。
[0005]本發明的亂數產生器,用以產生一亂數序列(random sequence),包括一線性反饋移位暫存器電路、一振蕩電路、一延遲電路、一邏輯運算電路。線性反饋移位暫存器電路接收亂數序列以產生多個第一控制信號及多個第二控制信號。振蕩電路接收這些第一控制信號以產生一亂數時鐘脈沖信號。延遲電路接收一交流信號及這些第二控制信號,以產生一亂數延遲取樣信號。邏輯運算電路接收亂數時鐘脈沖信號及亂數延遲取樣信號,以依據亂數延遲取樣信號提取亂數時鐘脈沖信號的邏輯電平,且依據所提取的亂數時鐘脈沖信號的邏輯電平決定邏輯運算電路的輸出端的邏輯電平,以形成亂數序列。
[0006]本發明的亂數產生器的亂數產生方法,用以產生一亂數序列,包括下列步驟。透過一線性反饋移位暫存器電路接收亂數序列以產生多個第一控制信號及多個第二控制信號。透過一振蕩電路接收這些第一控制信號以產生一亂數時鐘脈沖信號。透過一延遲電路接收一交流信號及這些第二控制信號,以產生一亂數延遲取樣信號。透過一邏輯運算電路接收亂數時鐘脈沖信號及亂數延遲取樣信號,以依據亂數延遲取樣信號提取亂數時鐘脈沖信號的邏輯電平,并且邏輯運算電路依據所提取的亂數時鐘脈沖信號的邏輯電平決定邏輯運算電路的輸出端的邏輯電平,以形成亂數序列。
[0007]基于上述,本發明實施例的亂數產生器及其亂數產生方法,其反饋所產生的亂數序列以產生具有亂度的第一控制信號及第二控制信號,再依據第一控制信號控制振蕩電路產生的亂數時鐘脈沖信號及依據第二控制信號控制延遲電路延遲交流信號的延遲時間。藉此,可提高亂數序列的亂度,亦即可提高亂數碼的亂度。
[0008]為讓本發明的上述特征和優點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。
【附圖說明】
[0009]圖1為依據本發明一實施例的亂數產生器的系統示意圖。
[0010]圖2為圖1依據本發明一實施例的振蕩電路、線性反饋移位暫存器電路及延遲電路的電路不意圖。
[0011]圖3為依據本發明一實施例的亂數產生器的亂數產生方法的流程圖。
[0012]其中,附圖標記說明如下:
[0013]100:亂數產生器
[0014]110、110a:線性反饋移位暫存器電路
[0015]120、120a:振蕩電路
[0016]130、130a:延遲電路
[0017]140:邏輯運算電路
[0018]BF_1 ?BF_n:緩沖器
[0019]CKR:參考時鐘脈沖信號
[0020]D:輸入端
[0021 ]DFF、DFF_1 ?DFF_n:D 型正反器
[0022]INT_1 ?INT_n:反相器
[0023]Q:輸出端
[0024]RNC:控制信號
[0025]RSE:亂數序列
[0026]SAC:交流信號
[0027]S1、S2:波形
[0028]SC1、SC1_1 ?SCl_n:第一控制信號
[0029]SC2、SC2_1 ?SC2_n:第二控制信號
[0030]SRCK:亂數時鐘脈沖信號
[0031]SRD:亂數延遲取樣信號
[0032]Sff_l ?SW_n_l:開關
[0033]XR_1 ?XR_n:異或門
[0034]S310、S320、S330、S340:步驟
【具體實施方式】
[0035]圖1為依據本發明一實施例的亂數產生器的系統示意圖。請參照圖1,請參照圖1,在本實施例中,亂數產生器100用以產生一亂數序列RSE,并且包括線性反饋移位暫存器電路LFSR 110、振蕩電路120、延遲電路130及邏輯運算電路140,其中邏輯運算電路140例如包括D型正反器DFF。
[0036]在本實施例中,線性反饋移位暫存器電路110接收控制信號RNC及亂數序列RSE。當線性反饋移位暫存器電路110受控于控制信號RNC而啟動時,線性反饋移位暫存器電路110會依據亂數序列RSE產生多個第一控制信號SCI及多個第二控制信號SC2。
[0037]振蕩電路120接收第一控制信號SCI,以依據第一控制信號SCI產生一亂數時鐘脈沖信號SRCK,其中亂數時鐘脈沖信號SRCK的脈波寬度會受控于第一控制信號SCI的電壓電平的變化而對應地變化(如虛線波形S1所示)。延遲電路130接收交流信號SAC (如方波)及第二控制信號SC2以依據第二控制信號SC2延遲交流信號SAC而產生亂數延遲取樣信號SRD,其中交流信號SAC的延遲時間受控于第二控制信號SC2的電壓電平的變化而不同(如虛線波形S2所示),亦即交流信號SAC會對應第二控制信號SC2的電壓電平的變化而抖動以作為亂數延遲取樣信號SRD。
[0038]邏輯運算電路140的D型正反器DFF的輸入端D接收亂數時鐘脈沖信號SRCK,D型正反器DFF的觸發端接收亂數延遲取樣信號SRD。D型正反器DFF會依據亂數延遲取樣信號SRD提取亂數時鐘脈沖信號SRCK的邏輯電平,且依據所提取的亂數時鐘脈沖信號SRCK的邏輯電平決定邏輯運算電路140的輸出端Q的邏輯電平,以形成亂數序列RSE。
[0039]依據上述,由于亂數序列RSE被反饋以產生第一控制信號SCI及第二控制信號SC2,因此亂數序列RSE本身的亂度會間接影響第一控制信號SCI及第二控制信號SC2的亂度,以隨機調整/設定亂數時鐘脈沖信號SRCK的脈波寬度及交流信號SAC的延遲時間,進而提升亂數序列RSE的亂度。
[0040]在本發明的實施例中,第一控制信號SCI可部分相同于第二控制信號SC2,亦即部分的第一控制信號SCI完全相同于部分的第二控制信號SC2 ;第一控制信號SCI可完全相同于第二控制信號SC2 ;或者,第一控制信號SCI可完全不同于第二控制信號SC2。
[0041 ] 在本實施例中,邏輯運算電路140例如包括D型正反器DFF,但在其他實施例中,邏輯運算電路140可例如包括T型正反器,以依據亂數延遲取樣信號SRD及亂數時鐘脈沖信號SRCK產生亂數序列RSE。并且,交流信號SAC繪示為方波以說明,但在其他實施例中,交流信號SAC可以是正弦波信號、三角波信號、方波信號及鋸齒波信號的其中之一。
[0042]圖2為圖1依據本發明一實施例的振蕩電路、線性反饋移位暫存器電路及延遲電路的電路示意圖。請參照圖1及圖2,其中相同或相似元件使用相同或相似標號。在本實施例中,假設第一控制信號SCI完全相同于第二控制信號SC2。
[0043]線性反饋移位暫存器電路110a例如包括多個正反器元件(如D型正反器DFF_1?DFF_n)、多個邏輯運算元件(如異或門XR_1?XR_n)及多個開關SW_1?SW_n_l,其中開關SW_1?SW_n-l為導通或不導通可依據本領域的技術人員自行設定,本發明實施例不以為限。
[0044]D型正反器DFF_1?D型正反器DFF_n的輸出端Q (對應邏輯輸出端)提供第一控制信號(SC1_1?SCl_n)及第二控制信號(SC2_1?SC2_n)并且耦接后一個異或門(如XR_2?XR_n)的運算輸入端,D型正反器DFF_1?DFF_n的重置端接控制信號RNC,D型正反器DFF_1?DFF_n的觸發端共同接收參考時鐘脈沖信號CKR,D型正反器DFF_1?DFF_n的輸入端D(對應邏輯輸入端)耦接前一異或門(如XR_1?XR_n)的運算輸出端。
[0045]舉例來說,D型正反器DFF_1的輸入端D耦接異或門XR_1的運算輸出端,D型正反器DFF_2的輸入端D耦接異或門XR_2的運算輸出端,其余則以此類推。亦即,第i個異或門(如XR_1?XR_n)的運算輸出端耦接第i個D型正反器(如DFF_1?DFF_n)的輸入端D,其中,i為大于等于1的正整數。并且,D型正反器DFF_1的輸出端Q耦接異或門XR_2的運算輸入端,D型正反器DFF_2的輸出端Q耦接異或門XR_3的運算輸出端,其余則以此類推。亦即,第i個D型正反器(如DFF_1?DFF_n)的輸出端Q耦接耦接第i+Ι個異或門(如XR_2?XR_n)的第一運算輸入端。
[0046]第1個異或門XR_1的第一運算輸入端接收亂數序列RSE,第1個異或門XR_1的第二運算輸入端耦接最后的D型正反器DFF_n的輸出端。開關SW_1?SW_n_l分別耦接于第1個異或門XR_1外的異或門(如XR_2?XR_n)的其中之一的第二運算輸