TWI462009B - 亂數產生方法 - Google Patents

亂數產生方法 Download PDF

Info

Publication number
TWI462009B
TWI462009B TW100143325A TW100143325A TWI462009B TW I462009 B TWI462009 B TW I462009B TW 100143325 A TW100143325 A TW 100143325A TW 100143325 A TW100143325 A TW 100143325A TW I462009 B TWI462009 B TW I462009B
Authority
TW
Taiwan
Prior art keywords
value
random number
operator
bits
operation value
Prior art date
Application number
TW100143325A
Other languages
English (en)
Other versions
TW201322119A (zh
Inventor
I Te Chen
Jer Min Tsai
Jeng Nan Tzeng
Wen Hsien Ho
Original Assignee
Univ Kaohsiung Medical
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Univ Kaohsiung Medical filed Critical Univ Kaohsiung Medical
Priority to TW100143325A priority Critical patent/TWI462009B/zh
Publication of TW201322119A publication Critical patent/TW201322119A/zh
Application granted granted Critical
Publication of TWI462009B publication Critical patent/TWI462009B/zh

Links

Landscapes

  • Pinball Game Machines (AREA)

Description

亂數產生方法
本發明係關於一種亂數產生方法,尤其是一種可針對亂數產生之輸入值進行亂度判斷之亂數產生方法。
亂數可應用於許多不同領域,例如密碼學、遊戲理論、量子機器及機率統計等。當亂數應用於具有隨機過程之加解密或遊戲系統時,若該亂數之分佈狀態越雜亂且越難以預測,可提升該加解密系統之安全性與遊戲系統之隨機性。
習知亂數產生器分為真亂數產生器(True random number generator,TRNG)與虛擬亂數產生器(Pseudo random number generator,PRNG),前者係利用隨機產生之雜訊或訊號等隨機事件作為輸入信號,以產生難以預測之一真實亂數;後者係利用軟體或數學演算法,隨機產生一虛擬亂數。然而該虛擬亂數在本質上仍是透過數學演算法得來,屬於可預期的輸出,當該虛擬亂數產生器應用於加解密相關之防護系統時,若該虛擬亂數之產生順序遭到破解,將無法確保防護系統的安全性。
該真亂數產生器雖然能產生真正的一隨機亂數,具有較高之不可預測性,然而該隨機事件若是在一定時間內具有類似的隨機變化,也會使得最後的輸出具有較大之相似度,無法保證該隨機亂數之每個前後數值彼此具有較大差異,使得該隨機亂數之座落點過於接近。有鑑於此,必須 要有一套更佳之亂數產生方法。
本發明之主要目的係提供一種亂數產生方法,該亂數產生方法產生之亂數具有較高之不可預測度。
本發明之主要目的係提供一種亂數產生方法,該亂數產生方法產生之亂數具有較佳之隨機分佈。
為達到前述發明目的,本發明之亂數產生方法,係包含:一樣本選取步驟,係將一取樣裝置所擷取之訊號源,傳送至一轉碼器以輸出一序列,再透過一運算器從該序列中,隨機選取符合運算長度且連續之序列,作為一運算種子;一運算值設定步驟,係利用該運算器所包含之一設定演算法,將該運算種子轉換為數運算值中之一第一運算值,其中該數個運算值中除了該第一運算值之外皆設為0;一亂度判斷步驟,係藉由該運算器,判斷數運算值中之該第一運算值與一第二運算值間之數值差異是否大於一亂度門檻值;一運算值處理步驟,係於該亂度判斷步驟判斷為否時,利用該運算器判斷該第一運算值進入該運算值處理步驟之一重設次數是否大於一重設限制值,若是,則執行該樣本選取步驟,若否,則利用該運算器所包含之一重設演算法重設該第一運算值,再執行該亂度判斷步驟;一亂數產生步驟,係於該亂度判斷步驟判斷為是時,利用該運算器所包含之一亂數演算法,將該數運算值轉換為一亂數值;一亂數處理步驟,係利用該運算器計算該亂數值之位元總數,當該位元總數不為該運算種子之運算長度之位 元個數的倍數時,執行該運算值設定步驟;當該位元總數為該運算種子之運算長度之位元個數的倍數時,係將最後產生且符合運算長度之位元個數的數亂數值設定為該運算種子,再執行該運算值設定步驟。
本發明之亂數產生方法,其中該數運算值包含該第一運算值、該第二運算值及一第三運算值,且該第一運算值、第二運算值及第三運算值之初始值皆設為0。
本發明之亂數產生方法,其中該運算值設定步驟之設定演算法為:C i =10 +(RND byte *i +(CP i <<2) +R)%25 其中,該C i 為第一運算值;該CP i 為第二運算值;該RND byte 為該運算種子;i 為選取序列之個數;R 為該演算法執行之總次數;<<2代表向左移位2位元;%25代表將前述數值除以25並取餘數之值。
本發明之亂數產生方法,其中其中該亂度判斷步驟中,該第一和第二運算值間之數值差異的計算方式為:(C i -CP i ) 2
本發明之亂數產生方法,其中該運算值重設與計次步驟之重設演算法為:C i =10 +(CP i +(C i ^W) +R)%25 其中,該W代表該重設次數,^代表指數運算子。
本發明之亂數產生方法,其中該亂數產生步驟之亂數演算法為:bit[i] =1&(C 1 C 2 ⊕...⊕C n CP 1 CP 2 ⊕...⊕CP n CPP 1 CPP 2 ⊕...⊕CPP n ) 其中,該&代表AND運算子,該⊕代表XOR運算子,bit[i] 代表產生之該亂數值。
本發明之亂數產生方法,其中該輸出位元判斷步驟係包含:步驟(a):係利用該運算器,判斷該亂數值之位元總數是否為該運算種子之運算長度之位元個數的倍數;步驟(b):係於該步驟(a)判斷為否時,利用該運算器將該第二運算值之序列指定為該第一運算值之序列,並執行該運算值設定步驟;步驟(c):係於該步驟(a)判斷為是時,利用該運算器將該第三運算值之序列指定為該第一運算值之序列;步驟(d):係於該步驟(a)判斷為是時,利用該運算器將最後產生且符合該運算種子之位元總數的數亂數值設定為該運算種子。
本發明之亂數產生方法,其中該亂度門檻值設為該訊號源前1K byte的資料之變異數的一半。
本發明之亂數產生方法,其中該重設限制值設為100。
為讓本發明之上述及其他目的、特徵及優點能更明顯易懂,下文特舉本發明之較佳實施例,並配合所附圖式,作詳細說明如下:本發明所述之「進位組態」,係指數字或編碼之進位情形,例如:二進位、八進位或十進位等。
本發明所述之「序列」,係指由數字或符號組合而成之一連續編碼,例如:1100或01011110等。
本發明所述之「運算長度」,係指進行運算時,序列本身所包含之位元(bit)個數,例如:1100之運算長度為4。
本發明所述之「位元組(byte)」,係指運算長度為8之序列,即1byte=8bit。
本發明所述之「變異數」,係指個別資料值與期望值的差異之平方和的平均,可表示為,其中x i 為各資料值,μ為該組資料的期望值.N為資料總數。
請參照第一圖所示,本發明較佳實施例之亂數產生方法之實施架構係包含:一取樣裝置1及一運算處理器2。該取樣裝置1連接該運算處理器2,且該取樣裝置1係用以擷取一訊號源(signal source),並將該訊號源傳至該運算處理器2,以供該運算處理器2進行亂數產生之相關運算。該取樣裝置1與訊號源之種類在此並不設限,可為用以擷取一影像訊號源之一攝影機,或用以擷取一聲音訊號源之一麥克風。
該運算處理器2具有一轉碼器21及一運算器22,該轉碼器21係將該訊號源從類比訊號轉碼為數位訊號,並輸出數位型態之一序列,在本實施例中,係輸出進位組態為二進位之序列,如0101110......等。該運算器22連接該轉碼器21,可接收該轉碼器21輸出之序列,並進行該序列的選取或運算,以產生一亂數序列。
本發明亂數產生方法係藉由上述架構執行各相關步驟,請參照第2圖所示,該亂數產生方法係包含:一樣本選取步驟S1、一運算值設定步驟S2、一亂度判斷步驟S3 、一運算值處理步驟S4、一亂數產生步驟S5、一亂數處理步驟S6。
該樣本選取步驟S1,係將該取樣裝置1所擷取之訊號源,傳送至該轉碼器21以輸出一序列,再透過該運算器22從該序列中,隨機選取符合運算長度且連續之序列,作為一運算種子(seed)。透過該取樣裝置1所蒐集之訊號源,可藉由該轉碼器21之轉碼,將該訊號源由類比訊號轉為數位訊號,並以序列的方式輸出。該運算器22可在該序列中隨機選取符合運算長度且連續之序列,作為後續進行運算之運算種子。更詳言之,當經過該轉碼器21輸出之序列為:0011101000101......,在本實施例中,若該運算長度設定為8,則該運算器22便在該序列中選取00111010或01110100等位元個數為8之序列,做為一運算種子。
該運算值設定步驟S2,係利用該運算器22所包含之一設定演算法,將該運算種子轉換為數運算值中之一第一運算值,其中該數個運算值中除了該第一運算值之外皆設為0。該運算值係為產生亂數所需之輸入值,透過該運算器2內建之該設定演算法,可將該運算種子轉換為該運算值,該設定演算法在此並不設限,在本實施例中,該設定演算法為:C i =10 +(RND byte *i +(CP i <<2) +R)%25 (1)
其中,C i 為該第一運算值;CP i 為該第二運算值;RND byte 為該運算種子,且該運算種子之運算長度為8,即為1位元組(byte);i 為選取序列之個數;R 為該演算法執行之總次數;<<2代表向左移位2位元;%25代表將前 述數值除以25並取餘數之值。
更詳言之,若該運算器22僅從轉碼過後之訊號源隨機選取一序列,該i 值便為1,且僅需進行C1 之運算;若該運算器22隨機選取二序列,該i 值便為2,且需進行C1 與C2 之運算,以下以此類推。為使本發明之解說能更淺顯易懂,以下皆以i =1作為後續範例之說明。
在本實施例中,該第一運算值C1 與第二運算值CP1 一開始可皆設為0,故在該設定演算法(1)執行之初,該設定演算法(1)僅利用從訊號源中隨機選取之運算種子RND byte 進行運算,並將該運算結果指定為該第一運算值C1
該亂度判斷步驟S3,係藉由該運算器22,判斷數運算值中之該第一運算值與一第二運算值間之數值差異是否大於一亂度門檻值,若是,則執行該亂數產生步驟S5,若否,則執行該運算值處理步驟S4。該亂度門檻值在此並不設限,在本實施例中係設為該訊號源前1K byte(1000byte)的資料之變異數的一半。由於該第一運算值C1 與第二運算值CP1 皆作為亂數產生之輸入值,透過該亂度判斷步驟S4之篩選,可避免該數運算值彼此太過相近,當每次進行亂數運算之該數運算值間皆具有較大差異時,所連續產生之亂數也會具有較佳之隨機分佈狀況,而不易連續座落於一相近之範圍。該兩運算值間之數值差異的計算方式如下所示:(C i -CP i ) 2
該計算方式係利用該第一運算值C1 與第二運算值CP1 相減再平方之值,再將該計算結果與該亂度門檻值進行比較。
該運算值處理步驟S4,係於該亂度判斷步驟S3判斷為否時,利用該運算器22判斷該第一運算值進入該運算值處理步驟S4之一重設次數是否大於一重設限制值,若是,則執行該樣本選取步驟S1,若否,則利用該運算器22所包含之一重設演算法重設該第一運算值,再執行該亂度判斷步驟S4。經由該亂度判斷步驟S3的判斷後,若存在該第一運算值C1 與第二運算值CP1 之數值差異小於該亂度門檻值之狀況時,即代表該第一運算值C1 與第二運算值CP1 具有較高之相似度,必須透過該運算器22內建之該重設演算法,重設該第一運算值C1 ,使該第一運算值C1 與第二運算值CP1 可具有較大之數值差異。該重設演算法在此並不設限,在本實施例中,該重設演算法可表示為:C i =10 +(CP i +(C i ^W) +R)%25 (2)
其中,該W代表該重設次數,^代表指數運算子。
更詳言之,當該第一運算值C1 透過該重設演算法(2)重新設定後,該運算器22會同時計算該重設次數,再接著執行該亂度判斷步驟S3。若該亂度判斷步驟S3的判斷仍為否時,會再次利用該重設演算法(3)重設該第一運算值C1 ,並將該重設次數加1,當該亂度判斷步驟S3與運算值處理步驟S4間循環執行之次數大於該重設限制值,代表由該訊號源所產生之該第一運算值C1 與第二運算值CP1 ,皆具有較高之相似度,故需再執行該樣本選取步驟S1,重新取得另一訊號源,並在該訊號源中隨機取得該序列作為 運算種子,再透過該設定演算法(1)得到新的第一運算值C1 。該重設限制值可依使用者需求自訂,在本實施例中係設為100,即該重設次數大於100時,便執行該樣本選取步驟S1。
該亂數產生步驟S5,係於該亂度判斷步驟S3判斷為是時,利用該運算器22所包含之一亂數演算法,將該數運算值轉換為一亂數值。該亂數演算法在此並不設限,在本實施例中,該亂數演算法如下所示:bit[i] =1&(C 1 C 2 ⊕...⊕C n CP 1 CP 2 ⊕...⊕CP n CPP 1 CPP 2 ⊕...⊕CPP n ) (3)
其中,該&代表AND運算子,該⊕代表XOR運算子,該CPP n 代表第三運算值,bit[i] 代表產生之該亂數值,且該亂數值為1位元。更詳言之,在該亂數演算法(3)執行之初,若該第一運算值C1 經由前述運算後之序列表示為:10101010,且該第二運算值CP1 與該第三運算值CPP1 初始值皆設為0,故經由該亂數演算法(3)之計算,可表示為:1&(10101010),其中,該1可表示為:00000001,故經由AND運算子之計算後,會輸出最後一位元之數值0,以作為該亂數值。
該亂數處理步驟S6,係利用該運算器22計算該亂數值之位元總數,當該位元總數不為該運算種子之運算長度之位元個數的倍數時,執行該運算值設定步驟S2;當該位元總數為該運算種子之運算長度之位元個數的倍數時,係將最後產生且符合運算長度之位元個數的數亂數值設定為 該運算種子,再執行該運算值設定步驟S2。請參照第3圖所示,更詳言之,該亂數處理步驟S6係包含一位元數判斷步驟S61、一第二運算值指定步驟S62、一第三運算值指定步驟S63及一運算種子指定步驟S64。
該位元數判斷步驟S61,係利用該運算器22,判斷該亂數值之位元總數是否為該運算種子之運算長度之位元個數的倍數,若否,則執行該第二運算值指定步驟S62,若是,則執行該第三運算值指定步驟S63。在本實施例中,由於該長度為一位元組,即為8位元,故在該位元數判斷步驟S61中,係判斷該亂數值之總位元數是否為8的倍數。
該第二運算值指定步驟S62,係於該位元數判斷步驟S61判斷為否時,利用該運算器22將該第二運算值CP1 之序列指定為該第一運算值C1 之序列,並執行該運算值設定步驟S2。更詳言之,由於每執行一次亂數產生步驟S5便產生1位元之亂數值,當第一次執行該亂數產生步驟S5時,會接著執行該亂數處理步驟S6,當判斷該亂數值之位元總數僅為1時,先將該第二運算值CP1 之序列指定為該第一運算值C1 之序列,再執行該運算值設定步驟S2,並依序執行至該亂數產生步驟S5,再產生1位元之亂數值,並持續執行上述流程,直到該亂數值之位元總數為8的倍數為止。其中,將該第二運算值CP1 之序列指定為該第一運算值C1 之序列,並回到該運算值設定步驟S2,利用新的第二運算值CP1 (即前一次亂數運算的第一運算值C1 )重新計算一新的第一運算值C1 ,可使每一次的亂數運算皆 具有不同之數運算值,以確保該第一運算值C1 與第二運算值CP1 具有較大差異,在進行後續之亂度判斷步驟S3等流程時,可避免相鄰產生之亂數值座落於相近之範圍。
該第三運算值設定步驟S63,係於該位元數判斷步驟S61判斷為是時,利用該運算器22將該第三運算值CPP1 之序列指定為該第一運算值C1 之序列,並執行該運算種子指定步驟S64。在本實施例中,當該亂數值之位元個數為8的倍數時,便執行該第二運算值指定步驟S63,將該第三運算值CPP1 之序列指定為該第一運算值C1 之序列。
該運算種子指定步驟S64,係於該位元數判斷步驟S61判斷為是時,利用該運算器22將最後產生且符合該運算種子之位元總數的數亂數值設定為該運算種子。更詳言之,當該亂數產生步驟S5執行至第8次時,會產生位元總數為8之亂數值,經由該位元數判斷步驟S61之判斷,會先執行該第二運算值指定步驟S63,再接著執行該運算種子指定步驟S64,將該設定演算法(1)之運算種子由原本的訊號源置換成符合運算長度之亂數值,再繼續進行後續之亂數產生流程。其中,利用該亂數值取代原本的訊號源,且該第三運算值CPP1 也同時產生變化,可保證該亂數產生步驟S5皆使用不同之數運算值進行運算,使最後輸出之亂數值具有較高之不可預測性。且亂數產生之過程中所執行之該亂度判斷步驟S4,也可確保該數運算值間具有較大差異,避免相鄰產生之亂數值座落於相近之範圍。
本發明亂數產生方法之終止步驟,係於該運算器22偵測到一觸發條件時,該運算器22可發出一終止訊號,以 終止該亂數產生之操作。該觸發條件在並不設限,在本實施例中,若產生之該亂數值已到達限定要求,或是該訊號源樣本已完全用罄,皆可設為該觸發條件,並使該運算器22發出一終止訊號,終止本發明亂數產生方法之操作。
本發明之亂數產生方法,可利用即時產生之亂數作為數運算值之設定演算,具有提高該亂數值之不可預測度之功效。
本發明之亂數產生方法,具有一亂度判斷門檻以判斷是否需重設該運算值,藉由該亂度判斷與運算值重設,使該亂數值具有較佳之隨機分佈狀況之功效。
雖然本發明已利用上述較佳實施例揭示,然其並非用以限定本發明,任何熟習此技藝者在不脫離本發明之精神和範圍之內,相對上述實施例進行各種更動與修改仍屬本發明所保護之技術範疇,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
〔本發明〕
S1‧‧‧樣本選取步驟
S2‧‧‧運算值設定步驟
S3‧‧‧亂度判斷步驟
S4‧‧‧運算值處理步驟
S5‧‧‧亂數產生步驟
S6‧‧‧亂數處理步驟
S61‧‧‧位元數判斷步驟
S62‧‧‧第二運算值指定步驟
S63‧‧‧第三運算值指定步驟
S64‧‧‧運算種子指定步驟
1‧‧‧取樣裝置
2‧‧‧運算處理器
21‧‧‧轉碼器
22‧‧‧運算器
第1圖:本發明亂數產生方法之架構圖。
第2圖:本發明亂數產生方法之步驟流程圖。
第3圖:本發明亂數產生方法之亂數處理步驟流程圖。
S1‧‧‧樣本選取步驟
S2‧‧‧運算值設定步驟
S3‧‧‧亂度判斷步驟
S4‧‧‧運算值處理步驟
S5‧‧‧亂數產生步驟
S6‧‧‧亂數處理步驟

Claims (9)

  1. 一種亂數產生方法,係包含:一樣本選取步驟,係將一取樣裝置所擷取之訊號源,傳送至一轉碼器以輸出一序列,再透過一運算器從該序列中,隨機選取符合運算長度且連續之序列,作為一運算種子;一運算值設定步驟,係利用該運算器所包含之一設定演算法,將該運算種子轉換為數運算值中之一第一運算值,其中該數個運算值中除了該第一運算值之外皆設為0;一亂度判斷步驟,係藉由該運算器,判斷數運算值中之該第一運算值與一第二運算值間之數值差異是否大於一亂度門檻值;一運算值處理步驟,係於該亂度判斷步驟判斷為否時,利用該運算器判斷該第一運算值進入該運算值處理步驟之一重設次數是否大於一重設限制值,若是,則執行該樣本選取步驟,若否,則利用該運算器所包含之一重設演算法重設該第一運算值,再執行該亂度判斷步驟;一亂數產生步驟,係於該亂度判斷步驟判斷為是時,利用該運算器所包含之一亂數演算法,將該數運算值轉換為一亂數值;一亂數處理步驟,係利用該運算器計算該亂數值之位元總數,當該位元總數不為該運算種子之運算長度之位元個數的倍數時,執行該運算值設定步驟;當該位元總數 為該運算種子之運算長度之位元個數的倍數時,係將最後產生且符合運算長度之位元個數的數亂數值設定為該運算種子,再執行該運算值設定步驟。
  2. 如申請專利範圍第1項所述之亂數產生方法,其中該數運算值包含該第一運算值、該第二運算值及一第三運算值,且該第一運算值、第二運算值及第三運算值之初始值皆設為0。
  3. 如申請專利範圍第2項所述之亂數產生方法,其中該運算值設定步驟之設定演算法為:C i =10 +(RND byte *i +(CP i <<2) +R)%25 其中,該C i 為第一運算值;該CP i 為第二運算值;該RND byte 為該運算種子;i 為選取序列之個數;R 為該演算法執行之總次數;<<2代表向左移位2位元;%25代表將前述數值除以25並取餘數之值。
  4. 如申請專利範圍第2項所述之亂數產生方法,其中該亂度判斷步驟中,該第一和第二運算值間之數值差異的計算方式為:(C i -CP i ) 2
  5. 如申請專利範圍第2項所述之亂數產生方法,其中該運算值重設與計次步驟之重設演算法為:C i =10 +(CP i +(C i ^W) +R)%25 其中,該W代表該重設次數,^代表指數運算子。
  6. 如申請專利範圍第2項所述之亂數產生方法,其中該亂數產生步驟之亂數演算法為:bit[i] =1&(C 1 C 2 ⊕...⊕C n CP 1 CP 2 ⊕...⊕CP n CPP 1 CPP 2 ⊕...⊕CPP n ) 其中,該&代表AND運算子,該⊕代表XOR運算子,bit[i] 代表產生之該亂數值。
  7. 如申請專利範圍第2項所述之亂數產生方法,其中該亂數處理步驟係包含:步驟(a):係利用該運算器,判斷該亂數值之位元總數是否為該運算種子之運算長度之位元個數的倍數;步驟(b):係於該步驟(a)判斷為否時,利用該運算器將該第二運算值之序列指定為該第一運算值之序列,並執行該運算值設定步驟;步驟(c):係於該步驟(a)判斷為是時,利用該運算器將該第三運算值之序列指定為該第一運算值之序列;步驟(d):係於該步驟(a)判斷為是時,利用該運算器將最後產生且符合該運算種子之位元總數的數亂數值設定為該運算種子。
  8. 如申請專利範圍第1項所述之亂數產生方法,其中該亂度門檻值設為該訊號源前1K byte的資料之變異數的一半。
  9. 如申請專利範圍第1項所述之亂數產生方法,其中該重設限制值設為100。
TW100143325A 2011-11-25 2011-11-25 亂數產生方法 TWI462009B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW100143325A TWI462009B (zh) 2011-11-25 2011-11-25 亂數產生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW100143325A TWI462009B (zh) 2011-11-25 2011-11-25 亂數產生方法

Publications (2)

Publication Number Publication Date
TW201322119A TW201322119A (zh) 2013-06-01
TWI462009B true TWI462009B (zh) 2014-11-21

Family

ID=49032388

Family Applications (1)

Application Number Title Priority Date Filing Date
TW100143325A TWI462009B (zh) 2011-11-25 2011-11-25 亂數產生方法

Country Status (1)

Country Link
TW (1) TWI462009B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI240200B (en) * 2003-02-11 2005-09-21 Ip First Llc Random number generator with selectable dual random bit string engines
TWI270004B (en) * 2002-11-20 2007-01-01 Ip First Llc Microprocessor with random number generator and instruction for storing random data
US20100106756A1 (en) * 2008-10-27 2010-04-29 Microsoft Corporation Random number generation failure detection and entropy estimation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI270004B (en) * 2002-11-20 2007-01-01 Ip First Llc Microprocessor with random number generator and instruction for storing random data
TWI240200B (en) * 2003-02-11 2005-09-21 Ip First Llc Random number generator with selectable dual random bit string engines
US20100106756A1 (en) * 2008-10-27 2010-04-29 Microsoft Corporation Random number generation failure detection and entropy estimation

Also Published As

Publication number Publication date
TW201322119A (zh) 2013-06-01

Similar Documents

Publication Publication Date Title
Ahmad et al. An image encryption algorithm based on new generalized fusion fractal structure
US20110069834A1 (en) Method and system for a symmetric block cipher using a plurality of symmetric algorithms
US20090279690A1 (en) Cryptographic system including a mixed radix number generator with chosen statistical artifacts
CN110086600B (zh) 一种基于超混沌系统和变步长约瑟夫问题的图像加密方法
Zhang et al. Characteristic analysis of 2D lag-complex logistic map and its application in image encryption
JP2017508173A (ja) デジタル値処理装置及び方法
Liu et al. Chaos-based color image encryption using one-time keys and Choquet fuzzy integral
JP6552184B2 (ja) 情報処理装置およびその方法
JP2013138409A (ja) 情報処理装置およびその方法
Yang et al. Medical image encryption based on josephus traversing and hyperchaotic lorenz system
Sinha et al. An improved pseudorandom sequence generator and its application to image encryption
TWI462009B (zh) 亂數產生方法
CN112769545A (zh) 基于相邻像素约瑟夫变换和Mealy状态机的图像加密方法
CN115622795B (zh) 基于混沌加密算法的文件加密方法、电子设备及存储介质
CN110012313B (zh) 基于双混沌系统的反馈切换加密方法
JP2011002810A (ja) 暗号化装置、プログラム、暗号システム及び暗号化方法
Fadhil et al. Secure reversible data hiding in the medical image using histogram shifting and RC4 encryption
WO2023093004A1 (zh) 密钥数据处理方法和电子设备
JP7396373B2 (ja) 秘密計算システム、秘密計算サーバ装置、秘密計算方法および秘密計算プログラム
Al-Saadi et al. Provably-secure led block cipher diffusion and confusion based on chaotic maps
US8793296B2 (en) Random number generating method
CN111314061B (zh) 一种随机数的生成方法及系统
CN111756518B (zh) 一种基于忆阻超混沌系统的彩色图像加密方法
CN106375082B (zh) 一种伪随机数产生方法
John et al. 6D Hyperchaotic Encryption Model for Ensuring Security to 3D Printed Models and Medical Images