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