TWI757694B - 基於量子運算的真亂數產生方法 - Google Patents
基於量子運算的真亂數產生方法 Download PDFInfo
- Publication number
- TWI757694B TWI757694B TW109105753A TW109105753A TWI757694B TW I757694 B TWI757694 B TW I757694B TW 109105753 A TW109105753 A TW 109105753A TW 109105753 A TW109105753 A TW 109105753A TW I757694 B TWI757694 B TW I757694B
- Authority
- TW
- Taiwan
- Prior art keywords
- random number
- quantum
- qubit
- classical
- random
- Prior art date
Links
Images
Landscapes
- Optical Modulation, Optical Deflection, Nonlinear Optics, Optical Demodulation, Optical Logic Elements (AREA)
Abstract
本發明提出一種基於量子運算的真亂數產生方法。電腦設備經由網路自量子電腦接收經由對多個量子位元執行量測所獲得的多個古典位元並儲存於儲存模組,基於亂數範圍自儲存模組讀取並刪除對應長度的多個古典位元作為亂數數列,對亂數數列執行格式轉換處理以獲得亂數值,並輸出亂數值。本發明可有效產生無法預測且不具重複性的真亂數,而可提升亂數應用的可信度。
Description
本發明係與量子運算有關,特別有關於基於量子運算的真亂數產生方法。
現有的亂數產生方法多是採用模擬亂數(pseudo random)技術。上述模擬亂數技術是先設定亂數種子(seed),並基於亂數種子來執行亂數演算法,以產生亂數值。
現有的亂數產生方法由於使用固定的亂數種子與亂數演算法來產生亂數,其所產生的多個亂數值之間實際上存在規律,而可被預測與重複。
更進一步地,當亂數值可以被預測或重複時,基於亂數值的應用(如加解密或博奕遊戲)將存在被破解的風險。
是以,現有的模擬亂數產生方法存在上述問題,而亟待更有效的方案被提出。
本發明之主要目的,係在於提供一種基於量子運算的真亂數產生方法,可產生真亂數。
為達上述目的,本發明係提供一種基於量子運算的真亂數產生方法,包括以下步驟:a)於電腦設備經由網路自量子電腦接收經由對多個量子位元執行量測所獲得的多個古典位元;b)將多個古典位元儲存於電腦設備的儲存模組;c)基於亂數請求的亂數範圍自儲存模組讀取對應長度的多個古典位元作為亂數數列,並自儲存模組刪除所讀取的多個古典位元;d)對亂數數列執行格式轉換處理以獲得亂數值;及,e)輸出亂數值。
本發明可有效產生無法預測且不具重複性的真亂數,而可提升亂數應用的可信度。
1:電腦設備
100:處理模組
101:網路模組
102:人機介面
103:儲存模組
1030:亂數產生程式
1031:古典位元緩衝區
104:功能模組
2:量子電腦
20:雲端應用平台
200:量子電腦程式
3:網路
4:外部電腦設備
50-52、70:Hadamard邏輯閘
60-62、83:量測邏輯閘
7、8:量子邏輯電路
71、72、81:單控制反邏輯閘
80、82:雙控制反邏輯閘
S10-S14:第一亂數產生步驟
S20-S22:忽略誤差量測步驟
S30-S32、S40-S43:考量誤差量測步驟
S50-S59:第二亂數產生步驟
S60-S64:第三亂數產生步驟
S70-S72:第四亂數產生步驟
S80-S81:亂數應用步驟
圖1為本發明一實施態樣的真亂數產生系統的架構圖。
圖2為本發明第一實施例的真亂數產生方法的流程圖。
圖3為本發明第二實施例的真亂數產生方法的部分流程圖。
圖4為本發明第三實施例的真亂數產生方法的部分流程圖。
圖5為本發明第四實施例的真亂數產生方法的流程圖。
圖6為本發明第五實施例的真亂數產生方法的部分流程圖。
圖7為本發明第六實施例的真亂數產生方法的部分流程圖。
圖8為本發明第七實施例的真亂數產生方法的部分流程圖。
圖9為本發明一實施態樣的量子邏輯電路的架構圖。
圖10為本發明一實施態樣的量子邏輯電路的架構圖。
茲就本發明之數個較佳實施方式,配合圖式,詳細說明如後。
目前大部分的電腦設備都是採用古典位元(classical binary bits)作為運算或儲存的最小資料單位。古典位元僅能被設定為0與1的其中之一。
相較於古典位元,量子位元(Qubit)是以向量來加以描述,在運算過程中量子態可以是0也可以是1,而必須經過量測才能獲得確定的量子態(如0或1)。並且,當量子位元處於疊加態(superposition)時,為0的機率與為1的機率皆為50%。
具體而言,古典位元與量子位元主要具有以下區別:
一、量子位元的量子態是歸一化(Normalized)的向量來加以描述,可用抽象的狄拉克標記(Dirac Notation)來加以表示,即|0〉與|1〉;古典位元則是以數值0或1來加以描述。
二、因為量子態是向量,單一量子位元可以處於|0〉與|1〉的線性疊加;古典位元則無法以疊加態描述。
三、當多個量子位元彼此有交互作用時,則處於量子糾纏態,即其中一個量子位元狀態改變時,會瞬間影響另一個量子位元;多個古典位元之間則彼此獨立,沒有交互作用。
四、量子位元的量測結果與所選擇的量測基底有關,量測基底可以影響量測結果各個量測結果(量子態)的機率;古典位元則不需進行量測。更進一步地,目前已有相關技術提出:經由採用適當的量測基底,來使量子位元的不同量測結果(如0與1)具有相同的機率,即可隨機產生0與1。並且,前述使量子位元的不同量測結果具有相同的機率屬於量子運算領域的常見技術,於此不再贅述。
首請參閱圖1,為本發明一實施態樣的真亂數產生系統的架構圖。
為解決現有的模擬亂數可被預測與重複的問題,本發明是提出一種真亂數產生方法,是運用於圖1所示的真亂數產生系統。本發明的真亂數產生方法可基於量子運算來產生隨機的古典位元,以產生真亂數。並且,由於量子位元的量測結果具有真實隨機性,即不可被預測與重複,其量測結果可以用來產生真亂數。
具體而言,本發明的真亂數產生系統主要包括電腦設備1與至少一台量子電腦2(圖1以多台量子電腦2為例)。
電腦設備1為通用電腦(如智慧型手機、筆記型電腦、平板電腦、個人電腦、智慧型穿戴設備等等電子電腦或傳統電腦),主要是由大量積體電路組成,並用以基於古典位元(0與1)執行運算與資料儲存。
各量子電腦2是基於量子位元執行運算與資料儲存。量子電腦2是屬於量子運算領域的常見電腦設備,其細節架構與運作原理於此不再贅述。
於一實施態樣中,量子電腦2是作為雲端伺服器,來經由量子運算提供指定的雲端服務。具體而言,量子電腦2可包括雲端應用平台20,雲端應用平台20可用來執行用以實現量子演算法的量子電腦程式200,藉以提供前述雲端服務(如經由量子演算法產生隨機的古典位元)。
電腦設備1主要包括網路模組101、人機介面102、儲存模組103及電性連接上述模組的處理模組100。
網路模組101(如行動網路模組或Wi-Fi網路模組等等)用以連接網路3(如網際網路),並可透過網路3連接遠端的量子電腦2以進行資料傳輸(如請求/接收隨機的古典位元)。
人機介面102可包含輸入裝置(如鍵盤、滑鼠及/或觸控板等等)與輸出裝置(如喇叭、指示燈及/或顯示器等等),並用來與用戶進行互動(如呈現後述的亂數值)。
儲存模組103可包括暫態電腦可讀取媒體(如RAM)與非暫態電腦可讀取媒體(如ROM、快閃記憶體、固態硬碟、磁碟硬碟等等),並用以儲存資料。
於一實施態樣中,非暫態電腦可讀取媒體可包括亂數產生程式1030。電腦程式1030記錄有電腦可執行之程式碼,當處理模組100執行前述程式碼後,可執行後述的本發明各實施例的真亂數產生方法。
於一實施態樣中,儲存模組103更包括一古典位元緩衝區(buffer)1031。古典位元緩衝區1031可為暫態電腦可讀取媒體或非暫態電腦可讀取媒體,不加以限定,並用以儲存自量子電腦2所收到的古典位元。
處理模組100(如CPU、MCU、GPU或其他處理器)用以控制電腦設備1的各模組運作。
於一實施態樣中,電腦設備1更包括一或多個功能模組104(圖1以一個功能模組104為例)。功能模組104電性連接處理模組100,用以實現特定功能。
舉例來說,當功能模組104為照相機時,可拍攝所在環境的影像並提供給處理模組100進行處理;當功能模組104為人員偵測器(如PIR感測器)時,可偵測人員是否進入所在環境;當功能模組104為博弈機台時,可依據處理模組100所提供的資料(如亂數值)進行運作;當功能模組104為安全模組(如加/解密模組或驗證模組)時,可對資料進行加/解密或驗證。
於一實施態樣中,真亂數產生系統更包括外部電腦設備4。外部電腦設備4(如博弈機台、具有加/解密功能的儲存裝置或加/解密裝置等等)為通用電腦並連接網路3。外部電腦設備4可經由網路3自電腦設備1取得資料(如控制指令
或亂數值),並依據所收到的資料進行運轉(如產生博弈結果、執行資料加/解密,等等)。
請一併參閱圖2,為本發明第一實施例的真亂數產生方法的流程圖。本實施例的真亂數產生方法包括以下步驟。
步驟S10:電腦設備1的處理模組100控制網路模組101經由網路3自量子電腦2接收多個古典位元。具體而言,量子電腦2可對多個量子位元執行量測來獲得隨機產生的多個古典位元,並將這些古典位元傳送至電腦設備1。
步驟S11:處理模組100將所收到的多個古典位元儲存於儲存模組103的古典位元緩衝區1031。
步驟S12:處理模組100基於亂數請求的亂數範圍(如1至10,或-100至-100等等)自儲存模組103的古典位元緩衝區1031讀取對應長度的多個古典位元作為亂數數列,並自古典位元緩衝區1031刪除所讀取的多個古典位元,即刪除已使用的古典位元。
步驟S13:處理模組100對亂數數列執行格式轉換處理以獲得亂數值。
於一實施例中,處理模組100依據亂數請求所要求的亂數格式(如1補數(1's complement)、2補數(2's complement)、十進位或十六進位等等)對亂數數列執行格式轉換,以產生格式相符的亂數值。
於一實施例中,處理模組100是直接將亂數數列自二進位轉換進位
步驟S14:處理模組100輸出亂數值。具體而言,處理模組100可經由人機介面102顯示亂數值、讀出亂數值,或者,經由網路模組101與網路3將亂數值傳送至外部電腦設備4,不加以限定。
藉此,本發明可有效產生無法預測且不具重複性的真亂數,而可提升亂數應用的可信度。
於一例子中,若亂數請求是要求0至127(亂數範圍)之間的五個亂數(亂數數量),則處理模組100是自古典位元緩衝區1031每次讀取8個古典位元(8位元可表示十進位的0至127的所有正整數)作為一個亂數數列以計算一個亂數值,並執行五次前述讀取與計算(共40位元)以獲得五個亂數值。
於另一例子中,若亂數請求是要求-4至+4(亂數範圍)之間的1個亂數(亂數數量),則處理模組100是自古典位元緩衝區1031讀取4個古典位元作為亂數數列(4位元可表示十進位的-7至+7的所有整數值)以計算一個亂數值,並於亂數值超出亂數範圍時(如為-5或6),再次執行讀取與計算,直到所獲得的亂數值滿足亂數範圍。
於一實施例中,古典位元緩衝區1031是一個先進先出(First In First out)的記憶體(如暫存器(register)、緩衝器(buffer)或快閃記憶體(flash memory)等等),步驟S11是以先進先出的方式來儲存多個古典位元至古典位元緩衝區1031,而步驟S12是以先進先出的方式來自古典位元緩衝區1031讀取多個古典位元。換句話說,最早被存入的古典位元緩衝區1031的古典位元(組)會最早被讀出。
於一實施例中,電腦設備1可不斷重複執行步驟S10-S11來填滿古典位元緩衝區1031。藉此,當電腦設備1收到亂數請求時,可直接執行步驟S12-S14來輸出亂數值,而可節省步驟S10-S11的等待時間。
於一實施例中,電腦設備1是於收到亂數請求時,才執行步驟S10-S11以取得隨機的古典位元,並接著執行步驟S12-S14以輸出亂數值。
續請一併參閱圖1至圖3,圖3為本發明第二實施例的真亂數產生方法的部分流程圖。圖3是用以對圖2的步驟S10做更詳盡的說明。
於本實施例中,為提升量子位元的量測效率,是直接忽略量子電腦的誤差,而直接進行量測並使用量測結果來產生亂數值。
具體而言,步驟S10可包括以下步驟S20-S22。
步驟S20:量子電腦2對各量子位元分別執行Hadamard邏輯閘操作以使各量子位元變為疊加態。Hadamard邏輯閘操作為量子運算領域的常見技術,主要是用以將量子位元變為為疊加態(即處於|0〉與|1〉的線性疊加),其計算細節於此不再贅述。
步驟S21:量子電腦2對疊加態的各量子位元分別執行量測處理以量測各量子位元的量子態來獲得一個古典位元。藉由對多個量子位元分別執行量測,量子電腦2可產生多個古典位元。
於一實施例中,為了獲得較佳的執行效率,量子電腦2每次是對三個量子位元分別執行量測來獲得三個古典位元,但不以此限定,亦可對五個量子位元分別執行量測來獲得五個古典位元,等等。
步驟S22:量子電腦2經由網路3傳送所獲得的多個古典位元至電腦設備1。
藉此,本發明可有效自量子位元經由量測獲得古典位元。
請一併參閱圖9,為本發明一實施態樣的量子邏輯電路的架構圖。前述步驟S20-S21可使用圖9所示的量子邏輯電路來加以表示。更進一步地,前述量子電腦程式200可用來實現圖9所示的量子邏輯電路。
於圖9的例子中,是對三個量子位元q0-q2進行量測,來獲得三筆量測結果(C),即三個古典位元。
具體而言,於本例子中,三個量子位元q0-q2是先分別通過Hadamard邏輯閘50-52來變為疊加態。接著,通過量測邏輯閘60-62對疊加態的三個量子位元q0-q2的量子態進行量測,以自量子位元q0獲得第零古典位元、自量子位元q1獲得第一古典位元、並自量子位元q2獲得第二古典位元(即控制線C的輸出)。
請一併參閱圖1、圖2及圖4,圖4為本發明第三實施例的真亂數產生方法的部分流程圖。圖4是用以對圖2的步驟S10做更詳盡的說明。
量子位元容易受外界干擾(如熱雜訊)而產生誤差(如位元翻轉誤差,bit-flip error,如量子態|0〉受干擾而變成|1〉),而造成降低量測結果的品質。
對此,於本實施例中,為排除上述誤差的影響,是將多個量子位元(做為區別,下稱工作量子位元)作為量子位元組(如兩個工作量子位元為一組量子位元組,或者五個工作量子位元為一組量子位元組),不加以限定),並對各量子位元組來執行量測以獲得一個古典位元(即本實施例是以多個量子位元來產生一個古典位元),來提升量測結果的品質。
具體而言,步驟S10可包括以下步驟S30-S32。
步驟S30:量子電腦2使量子位元組的多個工作量子位變為糾纏態。於糾纏態下,多個工作量子位元的量子態會相互影響。
並且,於沒有誤差的情況下,多個工作量子位元的量子態會因相互影響而相同。於存在位元翻轉誤差的情況下,其中一個(或以上)的工作量子位元的量子態會因翻轉而與其他工作量子位元的量子態不同。
步驟S31:量子電腦2依據糾纏態的多個工作量子位元的多個量子態決定一個古典位元。
於一實施例中,是量測糾纏態的多個工作量子位元的多個量子態,依據多個量子態採用多數決來決定古典位元。舉例來說,若三個工作量子位元經量測的量子態分別為0、0、1,則基於多數決,古典位元會被設定為0(多數)。上述原理在於,量子位元發生誤差的機率是小於正常狀態的機率。
於一實施例中,各量子位元組除了多個工作量子位元外,更包括輔助量子位元作為誤差校正碼(error correcting code)。
值得一提的是,經發明人的反覆實驗,三個工作量子位元可以具有最佳的糾纏態,而可以用來產生最佳的量測結果。對此,後續說明是以三個工作量子位元為例,但不應以此限定本發明的量子位元組的多個工作量子位元的數量(亦可為二個、五個或九個等等)。
具體而言,本實施例的步驟S31可包括步驟S40-S43。步驟S40:量子電腦2對第一個工作量子位元、第二個工作量子位元及輔助量子位元執行雙控制反邏輯閘操作,以影響輔助量子位元的量子態。
步驟S41:量子電腦2對第一個工作量子位元及第二個工作量子位元執行單控制反邏輯閘操作,以影響第二工作量子位元的量子態。
步驟S42:量子電腦2對第二個工作量子位元、第三個工作量子位元及輔助量子位元執行雙控制反邏輯閘操作,以再次影響輔助量子位元的量子態。
步驟S43:量子電腦2對輔助量子位元的量子態執行量測處理以獲得一個古典位元。
接著,執行步驟S32:量子電腦2經由網路3傳送所獲得的一個古典位元至電腦設備1。
藉此,本發明可有效校正量子位元的誤差,而提升量子位元的隨機性,並獲得品質更好的隨機數。
請一併參閱圖10,為本發明一實施態樣的量子邏輯電路的架構圖。圖4的步驟S30可使用圖10所示的量子邏輯電路7來加以實現,步驟S40-S43可使用圖10所示的量子邏輯電路8來加以實現。更進一步地,前述量子電腦程式200可用來實現圖10所示的量子邏輯電路7、8。
於圖10的例子中,是對三個工作量子位元q0-q2及輔助量子位元a0進行邏輯運算,並將輔助量子位元a0的最終的量測結果(C)作為第零古典位元。
於量子邏輯電路7中,工作量子位元q0-q2被變為糾纏態。具體而言,通過Hadamard邏輯閘70來使工作量子位元q0變為疊加態,通過單控制反邏輯閘71使工作量子位元q0-q1糾纏,並通過單控制反邏輯閘72使工作量子位元q0、q2糾纏。
接著,於量子邏輯電路8中,糾纏態的工作量子位元q0-q2糾纏至輔助量子位元a0,並以輔助量子位元的量子態來獲得古典位元。具體而言,以工作量子位元q0、q1為控制位元,以輔助量子位元a0為目標位元執行雙控制反邏輯閘80;以工作量子位元q1為控制位元,以工作量子位元q1為目標位元執行單控制反邏輯閘81;以工作量子位元q1、q2為控制位元,以輔助量子位元a0為目標位元執行雙控制反邏輯閘82。藉此,工作量子位元q1、q2、q3會糾纏輔助量子位元a0,即輔助量子位元a0的量子態可以用來反應工作量子位元q1、q2、q3的量子態。
最後,通過量測邏輯閘83對輔助量子位元a0的量子態進行量測來獲得第零古典位元(即控制線C的輸出)。
續請一併參閱圖1至圖5,圖5為本發明第四實施例的真亂數產生方法的流程圖。於本實施例中,古典位元的補充(對應圖2的步驟S10-S11,即圖5的步驟S50-S54)與亂數的產生(對應圖2的步驟S12-S14,即圖5的步驟S55-S59)是獨立執行(可先後執行或平行處理),而沒有執行順序關係。
此外,於本實施例中,用戶可設定(或由電腦設備1自動設定)補充條件,當補充條件滿足時,電腦設備1會自動補充古典位元緩衝區1031的古典位元。
步驟S50:電腦設備1產生古典位元產生請求,並經由網路3發送古典位元產生請求至量子電腦2的雲端應用平台20。
步驟S51:量子電腦對多個量子位元執行量測以獲得隨機產生的多個古典位元,並經由網路3回傳這些古典位元至電腦設備1。
於一實施例中,古典位元產生請求包括用戶資訊,雲端應用平台20是於用戶資訊通過驗證時,才執行步驟S51的處理。
步驟S52:電腦設備1將所收到的古典位元儲存於古典位元緩衝區1031。
步驟S53:電腦設備1判斷預設的補充條件是否滿足,補充條件可預存於儲存模組103中。
於一實施例中,補充條件可為古典位元緩衝區1031的可用空間大於預設值(即剩餘的古典位元過少)、預設時間間隔經過(如10分鐘)、每次連上網路3時及/或每次收到亂數請求時,不加以限定。
若電腦設備1判斷預設的補充條件滿足,則再次執行步驟S50-S53以再次為古典位元緩衝區1031補充古典位元。
若電腦設備1判斷預設的補充條件不滿足,則執行步驟S54:電腦設備1判斷是否結束補充功能(如用戶關閉補充功能或者與網路3中斷連接等等)。
若電腦設備1判斷不須結束補充功能,則再次執行步驟S53。若電腦設備1判斷結束補充功能,則結束方法。
前述實施例中,一旦網路3的連接中斷且古典位元緩衝區3所儲存的的古典位元用盡,電腦設備1將會無法產生亂數值,而造成用戶不便。
為解決上述問題,本實施例進一步提出一種混合提供真亂數與模擬亂數的功能,主要是由執行步驟S55-S59來實現。
步驟S55:電腦設備1判斷是否收到任一亂數請求。如自外部電腦設備4收到亂數請求或用戶經由人機介面102輸入亂數請求。
若電腦設備1判斷未收到任何亂數請求,則再次執行步驟S55。
若電腦設備1收到亂數請求,則執行步驟S56:電腦設備1判斷是否連接網路3,而可以執行步驟S50-S52的古典位元的補充。
若電腦設備1判斷連接網路3,則執行步驟S57:電腦設備1執行真亂數產生程序(如圖2的步驟S12-S14),以獲得屬於真亂數的亂數值。
若電腦設備1判斷未連接網路3,則執行步驟S58:電腦設備1進一步判斷古典位元緩衝區1031目前所儲存的剩餘的多個古典位元的總長度是否滿足此亂數請求的亂數範圍及/或亂數數量。
舉例來說,若古典位元緩衝區1031僅剩下39位元,但亂數範圍為0至1023(即每個亂數值需10位元),且需要5個亂數值,即總共需要50位元,則電腦設備1可判定古典位元不足產生所有亂數。
舉例來說,若古典位元緩衝區1031僅剩下4096位元,但亂數範圍為0至1048575(即每個亂數值需20位元),且需要10個亂數值,即總共需要2000位元,則電腦設備1可判定古典位元足夠產生所有亂數。
若電腦設備1判斷古典位元緩衝區1031剩餘的古典位元足夠,則執行步驟S57以產生真亂數。
若電腦設備1判斷古典位元緩衝區1031剩餘的古典位元不足夠,則執行步驟S59:電腦設備1基於該亂數請求的該亂數範圍執行模擬亂數產生程序以產生多個模擬亂數位元作為亂數數列,並對亂數序列執行格式轉換處理來獲得格式符合的亂數值。
藉此,本發明可隨時提供用戶亂數值,並於連接網路3時提供高品質的真亂數。
值得一提的是,步驟S58並非本實施例的必要步驟。於一實施例中,本發明的真亂數產生方法亦可被修改為於判斷未連接網路3(步驟S56,否)時,直接執行模擬亂數產生程序(步驟S59)。
於一實施例中,電腦設備1可設置量子邏輯電路(如圖9或圖10所述的量子邏輯電路,亦可經由將一份量子電腦程式200移至電腦設備1執行來加以實
現)。於步驟S59中,電腦設備1是經由量子邏輯電路來於本地端模擬執行量子演算法(如前述真亂數產生程序)來獲得亂數。
請一併參閱圖1至圖6,圖6為本發明第五實施例的真亂數產生方法的部分流程圖。於本實施例中,進一步提供一種亂數篩選功能。用戶可於亂數請求中設定亂數條件(如不連號或不重複等等),電腦設備1會依據所設定的亂數條件來篩選所產生的亂數值。
具體而言,本實施例的真亂數產生方法包括以下步驟。
步驟S60:電腦設備1接受亂數請求。亂數請求中設定有亂數條件與亂數數量。
步驟S61:電腦設備1執行亂數產生程序以產生一個亂數值。亂數產生程序可為前述真亂數產生程序、模擬亂數產生程序或兩個混搭,不加以限定。
步驟S62:電腦設備1判斷所產生的亂數值是否符合亂數條件。
以亂數條件是不連號為例,電腦設備1判斷所產生的亂數值是否與先前產生的其他亂數值為連號(如先前已產生亂數值3,若本次產生亂數值2,則可判定為連號,若本次產生亂數值1,則可判定為不連號)。
以亂數條件是不重覆為例,電腦設備1判斷所產生的亂數值是否與先前產生的其他亂數值為連號(如先前已產生亂數值13,若本次又產生亂數值13,而可判定為重複;若本次產生亂數值7,而可判定為不重複)。
若電腦設備1判斷所產生的亂數值符合亂數條件,則執行步驟S64。
若電腦設備1判斷所產生的亂數值不符合亂數條件,則執行步驟S63:電腦設備1刪除此不符條件的亂數值。
接著執行步驟S64:電腦設備1判斷已產生的和條件的亂數值的數量是否達到亂數數量。
若尚未達到亂數數量,則再次執行步驟S61;否則,電腦設備1輸出所有亂數並結束本次執行。
續請一併參閱圖1至圖7,圖7為本發明第六實施例的真亂數產生方法的部分流程圖。於本實施例中,進一步提供一種觸發功能。電腦設備1於被觸發後才會接受設定亂數請求,並據以產生亂數值。
具體而言,本實施例的真亂數產生方法包括以下步驟。
步驟S70:電腦設備1判斷預設的觸發條件是否滿足,觸發條件可預存於儲存模組103中。
於一實施例中,觸發條件可為自外部電腦設備4收到亂數請求。
於一實施例中,功能模組104為照相機,用以不斷拍攝環境影像,並傳送至處理模組100(或送至雲端伺服器執行AI人臉辨識),以偵測並辨識人臉。前述觸發條件可為偵測到人臉,或者人臉通過辨識驗證。
於一實施例中,功能模組104為PIR感測器,用以於感測到用戶時觸發訊號。前述觸發條件可為收到PIR感測器的觸發訊號,即偵測到用戶。
若電腦設備1判斷觸發條件不滿足,則再次執行步驟S70以持續判斷。
若電腦設備1判斷觸發條件滿足,則執行步驟S71:電腦設備1經由人機介面102接受用戶的亂數請求操作,並依據亂數請求操作設定亂數請求。
於一實施例中,前述亂數請求操作是輸入亂數範圍、亂數個數及/或亂數條件,但不加以限定。
步驟S72:電腦設備1基於亂數請求產生對應的一或多個亂數值(亂數值的產生方式如前所述,於此不再贅述)。
藉此,用戶可經由觸發電腦設備1來使電腦設備1快速進入可接受操作的狀態,而有效提升輸入請求的效率。
續請一併參閱圖1至圖8,圖8為本發明第七實施例的真亂數產生方法的部分流程圖。本發明所產生的一或多個亂數值可應用於不同領域,如資訊安全、遊戲與博弈等等。
具體而言,電腦設備1可於產生亂數值後執行步驟S80或S81來應用所產生的亂數值。
步驟S80:電腦設備1基於所產生的亂數值執行加密處理。
於一實施例中,電腦設備1可基於亂數值產生加密金鑰,並以此加密金鑰配合對應的加密演算法(如OpenSSL)來對資料或設備進行軟體加密。
步驟S81:電腦設備1基於所產生的亂數值計算遊戲結果。
於一實施例中,遊戲為骰子遊戲,電腦設備1是產生1-6之間的亂數值作為電子骰的點數,但不以此限定,所有使用亂數的遊戲皆可運用本發明所產生的真亂數來提升隨機性。
綜上所述,本發明所產生的亂數值是具有極佳的可用性。並且,由於本發明所產生的是真亂數,無法被預測與重複,更進一步提升了加密的安全性與遊戲的公平性。
以上所述僅為本發明之較佳具體實例,非因此即侷限本發明之專利範圍,故舉凡運用本發明內容所為之等效變化,均同理皆包含於本發明之範圍內,合予陳明。
S10-S14:第一亂數產生步驟
Claims (9)
- 一種基於量子運算的真亂數產生方法,包括:a)於一電腦設備經由網路自一量子電腦接收經由對多個量子位元執行量測所獲得的多個古典位元;b)將多個古典位元儲存於該電腦設備的一儲存模組;c)於收到一亂數請求且連接網路時,基於該亂數請求的一亂數範圍自該儲存模組讀取對應長度的該多個古典位元作為一亂數數列,並自該儲存模組刪除所讀取的該多個古典位元;d)於收到該亂數請求且未連接網路時,基於該亂數請求的該亂數範圍執行一模擬亂數產生程序以產生多個模擬亂數位元作為該亂數數列;e)對該亂數數列執行一格式轉換處理以獲得一亂數值;及f)輸出該亂數值。
- 如請求項1所述之基於量子運算的真亂數產生方法,其中該步驟a)包括以下步驟:a11)於該量子電腦上對各該量子位元分別執行Hadamard邏輯閘操作以使各該量子位元變為疊加態;a12)對疊加態的各該量子位元分別執行量測處理以獲得該多個古典位元;及a13)經由網路傳送該多個古典位元至該電腦設備。
- 如請求項1所述之基於量子運算的真亂數產生方法,其中該步驟a)是對各量子位元組來執行量測以獲得一個該古典位元,各該量子位元組包括至少二個該量子位元。
- 如請求項3所述之基於量子運算的真亂數產生方法,其中該步驟a)包括以下步驟:a21)於該量子電腦上使該量子位元組的該多個工作量子位元變為糾纏態;a22)依據糾纏態的該多個工作量子位元的多個量子態決定一個該古典位元;及a23)經由網路傳送該古典位元至該電腦設備。
- 如請求項4所述之基於量子運算的真亂數產生方法,其中該步驟a22)是量測糾纏態的該多個工作量子位元的該多個量子態,依據該多個量子態採用多數決來決定該古典位元。
- 如請求項4所述之基於量子運算的真亂數產生方法,其中各該量子位元組更包括一輔助量子位元,且係包括三個該工作量子位元;該步驟a22)更包括以下步驟:a221)對第一個該工作量子位元、第二個該工作量子位元及該輔助量子位元執行一雙控制反邏輯閘操作;a222)對第一個該工作量子位元及第二個該工作量子位元執行一單控制反邏輯閘操作;a223)對第二個該工作量子位元、第三個該工作量子位元及該輔助量子位元執行該雙控制反邏輯閘操作;及a224)對該輔助量子位元執行量測處理以獲得一個該古典位元。
- 如請求項1所述之基於量子運算的真亂數產生方法,其中該步驟b)是以先進先出的方式來儲存該多個古典位元至該儲存模組,該步驟c)是以先進先出的方式來自該儲存模組讀取該多個古典位元。
- 如請求項1所述之基於量子運算的真亂數產生方法,其中更包括以下步驟: g)基於該亂數請求的一亂數數量重複執行該步驟c)與該步驟d)的至少其中之一與該步驟f)以產生數量符合該亂數數量的該多個亂數值,並於任一該亂數值不符該亂數請求的一亂數條件時,刪除該亂數值。
- 如請求項1所述之基於量子運算的真亂數產生方法,其中該步驟c)更包括一步驟c1)於收到該亂數請求、未連接網路且該儲存模組所儲存的該多個古典位元的總長度滿足該亂數範圍時,自該儲存模組讀取該多個古典位元作為該亂數數列,並自該儲存模組刪除所讀取的該多個古典位元;該步驟d)是於收到該亂數請求、未連接網路且該儲存模組所儲存的該多個古典位元的總長度不足該亂數範圍時,基於該亂數請求的該亂數範圍執行該模擬亂數產生程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109105753A TWI757694B (zh) | 2020-02-21 | 2020-02-21 | 基於量子運算的真亂數產生方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109105753A TWI757694B (zh) | 2020-02-21 | 2020-02-21 | 基於量子運算的真亂數產生方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202133056A TW202133056A (zh) | 2021-09-01 |
TWI757694B true TWI757694B (zh) | 2022-03-11 |
Family
ID=78777436
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109105753A TWI757694B (zh) | 2020-02-21 | 2020-02-21 | 基於量子運算的真亂數產生方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI757694B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI826040B (zh) * | 2022-10-12 | 2023-12-11 | 財團法人工業技術研究院 | 量子電路設計方法及裝置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1190278B1 (en) * | 2000-03-09 | 2006-10-18 | STMicroelectronics S.r.l. | Method and hardware architecture for controlling a process or for processing data based on quantum soft computing |
CN102955855A (zh) * | 2012-10-30 | 2013-03-06 | 河南理工大学 | 基于量子算法的掌纹数据库搜索方法 |
CN109934351A (zh) * | 2019-03-06 | 2019-06-25 | 南京航空航天大学 | 一种量子教与学算法以及基于量子教与学算法的模糊滑模控制方法 |
CN110134369A (zh) * | 2019-04-15 | 2019-08-16 | 深圳市纽创信安科技开发有限公司 | 随机数发生器、随机数发生方法及芯片 |
CN111461335A (zh) * | 2020-04-03 | 2020-07-28 | 合肥本源量子计算科技有限责任公司 | 基于mpi多进程的含噪声单量子逻辑门实现方法及装置 |
-
2020
- 2020-02-21 TW TW109105753A patent/TWI757694B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1190278B1 (en) * | 2000-03-09 | 2006-10-18 | STMicroelectronics S.r.l. | Method and hardware architecture for controlling a process or for processing data based on quantum soft computing |
US7383235B1 (en) * | 2000-03-09 | 2008-06-03 | Stmicroelectronic S.R.L. | Method and hardware architecture for controlling a process or for processing data based on quantum soft computing |
CN102955855A (zh) * | 2012-10-30 | 2013-03-06 | 河南理工大学 | 基于量子算法的掌纹数据库搜索方法 |
CN109934351A (zh) * | 2019-03-06 | 2019-06-25 | 南京航空航天大学 | 一种量子教与学算法以及基于量子教与学算法的模糊滑模控制方法 |
CN110134369A (zh) * | 2019-04-15 | 2019-08-16 | 深圳市纽创信安科技开发有限公司 | 随机数发生器、随机数发生方法及芯片 |
CN111461335A (zh) * | 2020-04-03 | 2020-07-28 | 合肥本源量子计算科技有限责任公司 | 基于mpi多进程的含噪声单量子逻辑门实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202133056A (zh) | 2021-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111967609B (zh) | 模型参数验证方法、设备及可读存储介质 | |
US9658832B2 (en) | Multi-factor entropy sourcing for random number generators | |
CN112016632B (zh) | 模型联合训练方法、装置、设备和存储介质 | |
KR20180049347A (ko) | Cnn과 rnn을 이용한 얼굴인식 기반 키 생성 방법 및 장치 | |
TW202107305A (zh) | 模型參數確定方法、裝置和電子設備 | |
CN109614790B (zh) | 基于反馈环puf的轻量级认证设备及认证方法 | |
WO2022033219A1 (zh) | 人脸活体检测方法、***、装置、计算机设备和存储介质 | |
WO2021135638A1 (zh) | 检测图像是否被篡改的方法及装置和电子设备 | |
JP2017508173A (ja) | デジタル値処理装置及び方法 | |
TWI757694B (zh) | 基於量子運算的真亂數產生方法 | |
US20200110906A1 (en) | Encryption circuit for performing virtual encryption operations | |
CN109145651B (zh) | 一种数据处理方法及装置 | |
Zheng et al. | Ed-PUF: Event-driven physical unclonable function for camera authentication in reactive monitoring system | |
US9270455B1 (en) | CPU assisted seeding of a random number generator in an externally provable fashion | |
TWI769603B (zh) | 影像處理方法及存儲介質 | |
CN112635061B (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN107133517B (zh) | 一种基于内存中数据加密和计算的数据还原方法 | |
KR20200017038A (ko) | 메시지 인증 장치 및 방법 | |
WO2022087829A1 (zh) | 数据处理电路、数据处理方法及电子设备 | |
CN114117428A (zh) | 一种检测模型的生成方法及装置 | |
Pan et al. | Side-channel analysis-based model extraction on intelligent CPS: An information theory perspective | |
CN111209050A (zh) | 用于切换电子设备的工作模式的方法和装置 | |
Boanca | Exploring Patterns and Assessing the Security of Pseudorandom Number Generators with Machine Learning. | |
US11048477B2 (en) | Entropy server for random number generation | |
US20230177154A1 (en) | Sparse Encodings for Control Signals |