量子計算機如何分解兩個質數乘積

2021-01-20 墨子沙龍



知道一個大數是兩個質數的乘積,求出具體兩個質數,這樣的大數分解問題是一個難的問題,但是把兩個質數乘起來就簡單很多,比如n=10,104,547是兩個質數p,q的乘積,把n分解為2789和3623這兩個質數,比起把它們乘起來就耗時很多。RSA公鑰密碼系統的安全性就是基於這樣的原理,這個系統在銀行和網際網路是廣泛使用的,其運行原理是基於所謂的費馬小定理和歐拉定理,這裡就不展開了。那麼量子計算機是怎樣分解兩個質數的乘積呢?



張益唐是世界知名的科學家,他把孿生子質數問題推進了許多,孿生子質數是指兩個質數隻相差2,是緊挨著的,比如3和5, 11和13, 641和643等。張益唐證明相差在7000萬之內的一對質數是無窮多的,很快大家就把這個距離縮減到百量級,而原始的問題是能否證明孿生子質數是無窮多的,當然我們這裡的空間太小,不可能證明孿生子質數問題。還是回到大數分解問題,我們假設兩個質數是孿生子質數,我們會知道他們的乘積可以寫為(x+1)(x-1)=x2-1 的形式,那分解它們的積就是一個簡單的問題,比如可以解 x2-1=n 這個式子就可以, 例如143的分解可以用143+1再開根號計算,得到x=12,這個數字加減1就可以得到11和13這兩個質數。


在運行RSA密碼系統中,加密和解密的計算都需要用到求n的模,即所有的數字都限制在n之內,超出了就減去n的倍數,比如14=1(mod 13), 就是指如果取13的模,14就等於1,同樣15就等於2,也可以13和26就等於0。


這樣的話 x2-1=n 如果取n的模,就可以寫為,x2-1=0 (mod n)。量子計算機就是利用這樣的性質來進行計算的。具體來說,我們發現x, 然後求x+1, x-1與n的最大公約數就能求得兩個質數p和q。因為(x+1)(x-1)就是pq的倍數,那麼x+1和x-1就是p或者q的倍數了。當然需要指出x=1是一個解,不過是平庸的。


比如分解21,可以發現 82=64=1+3×21=1(mod 21), 那麼8加減1就是7和9, 用7和9去求和21的最大公約數得到7和3, 我們知道答案21=7×3.


我們也可以試一下n=10,104,547,可以發現 59851592=n×3545192+1 , 用x解加減1與n求最大公約數就可以得到兩個質數


當然問題是,是否所有的n=p×q都可以用這樣的方法求解,是可以的,這是由歐幾裡得定理保證的,就是所謂的輾轉相除法



那麼量子算法具體怎麼操作呢,P.Shor指出可以隨便找個y, 然後求y的冪次,多求幾次,我們會發現,滿足 yr=1 (mod n) , 而r又是偶數的概率大於50%。我們已經指出當r是偶數2m的時候,x=ym 就是我們要求的方程的解。具體來講量子計算機可以對y同時執行從0到一個比較大數字N做冪次,因為yr=1 (mod n)成立,所以冪次是按照r這個周期進行循環的,發現這個周期就成功分解了n


以上沒有任何量子的東西存在,只是說有一種算法,可以分解大數n, 而這個算法對量子計算機來說是容易的,就如同二一添作五對算盤是容易的一樣,但是經典計算機是不是也可以這樣做呢,當然是可以的,只是經典計算機這樣做難度和直接分解n的難度是一樣的,這在RSA原始的文獻裡就已經指出了。




範桁,中國科學院物理研究所研究員,博士生導師,固態量子信息與計算實驗室主任,課題組長,從事量子計算與量子信息理論與實驗研究,近年特别致力於以多量子比特為特徵,模擬諸如凝聚態多體物理、場論與統計等方面的研究,也涵蓋量子算法實現、量子機器學習、量子化學模擬等內容。


每次讀到RSA密碼系統、Shor算法內容時,都有種感覺,簡單的數字、神奇的數學、竟然還這麼有用,這些內容對量子計算的研究者是基礎內容,在此與大家分享。


推薦閱讀


相關焦點

  • 質數如何用於信息加密?
    直到400年後網際網路誕生之時,數十億用戶的隱私,從機密的電子郵件內容到電子商務網站的交易都完全依賴於質數。那麼,質數是如何被用於加密的呢?例如,10可以寫成2和5的乘積,這就是兩個質數。或者150作為15和10的乘積,可以進一步分解,寫成是3和5、2和5的乘積,這些都是質數。又或者,更大的數字,比如126356,可由更大的質數組成,2、2、31和1019。在數學中,把一個合數變成質數乘積的過程被稱為質因子分解。
  • 量子計算機分解的最大質因數有新紀錄了!
    現在由於量子技術的發展,量子計算機有一天可能會通過破解加密而威脅到網際網路的安全。最近量子計算初創公司Zapata與IBM合作開發了一種分解大數字的新方法,成功將其應用到迄今為止量子計算機所能分解的最大質因數上,該進展可能讓量子技術距離加密破解又近了一步。
  • 樹上微精讀——自然數的質數判定,合數分解與孿生質數分布
    本書站在全新角度,用全新方法,自成體系地解決,自然數中的質數判定和合數分解成質因子兩個難題。世界難題1內容簡介:書中給出了自然數的數性和質數的判定定理和判定公式、自然數中的合數分解定理和質因數判定公式、自然數中孿生質數的分布定理和判定公式。給出了借用普通計算機進行自然數數性判定、求質數、求孿生質數、求合數的質因數的方法。
  • 為什麼數學家對質數如此著魔?-數學,數學家,質數 ——快科技(驅動...
    質數又叫素數,只能被1和自身整除,是所有大於1數字的基本組成。也就是說,每個數字要麼本身就是一個質數,如2、17、53或673,要麼就是質數的乘積,如17119(17 x 19?3)。此外,每個數字都只有一種方法可以分解成質數。
  • 解密量子通信衛星:究竟要幹啥?
    作為中國最年輕的院士,潘建偉還有一個身份是全國政協委員,在兩會期間,他被記者問到最多的東西,當然就是量子通信和量子計算機。雖然量子計算機現在還沒有什麼好談,但量子衛星馬上就要上天了。  在接受採訪時,潘建偉透露,我國研製的世界首顆量子通信衛星有望在今年7月發射,相應地,量子保密通信「京滬幹線」,也將在今年下半年全線開通。  這意味著一個『天地一體化』的量子通信網絡將初步形成,也意味著自上世紀80年代起,至今歷經30多年的量子信息研究,終於走向實用。這種衛星和地面之間的量子通信,在全球範圍也將是首次實現。
  • 為什麼數學家對質數如此著魔?
    質數又叫素數,只能被1和自身整除,是所有大於1數字的基本組成。也就是說,每個數字要麼本身就是一個質數,如2、17、53或673,要麼就是質數的乘積,如17119(17 x 19?3)。此外,每個數字都只有一種方法可以分解成質數。
  • 量子衛星有何神奇之處?
    我國首顆量子科學試驗衛星「墨子」發射升空,據說,這顆衛星成功運行後,我國將成為世界上第一個實現衛星和地面之間量子通信的國家。那麼,到底什麼是量子啊?量子衛星有什麼神奇之處呢? 小編答 據小編了解,這個被命名為「墨子」的世界首顆量子科學實驗衛星,其科技含量及精密程度可謂是達到了該研究領域前所未有的高度。
  • 不懂量子也不懂計算機,那麼,你能理解量子計算機嗎?
    谷歌、IBM、阿里巴巴和許多初創公司在競爭,想第一個實現「量子霸權」,也就是讓量子計算機在一個計算任務中快過傳統計算機。為了在芸芸眾生中彰顯你的卓爾不凡,不妨粗淺了解一點量子計算機的原理。其實它和我們熟知的電腦差不了多少。
  • 量子計算機可以做什麼?
    現有的加密方法是基於那些用普通計算機無法快速解決的數學問題設計的,但是量子計算機可以輕易攻破這種加密方法。那麼量子計算機還有哪些明顯強於普通計算機的技能?雖然為了回答這個問題我們進行了很多理論方面的準備,但是這個問題仍舊很棘手。RSA算法,一種廣泛被用於保護信息安全的算法,它利用計算機都很難快速完成的因數分解來進行加密。
  • 2020省考行測技巧:巧用質因數分解解決乘積問題
    通過分析這類題目多為幾個數相乘的形式,下面中公教育專家為各位考生介紹如何巧用質因數分解解決幾個數乘積的問題。一、質因數分解的定義定義: 將一個合數分解為幾個質數相乘的形式。比如:136=2×2×2×17二、質因數分解的應用例1 :某種產品每箱48個。小李製作這種產品,第1天製作了1個,以後每天都比前一天多製作1個。X天后總共製作了整數箱產品。問X的最小值在以下哪個範圍內?
  • 何時攻破質數難題,探尋神奇的質數
    在汽車變速箱齒輪的設計上,相鄰的兩個大小齒輪齒數設計成素數,以增加兩個齒輪內兩個相同的齒相遇嚙合次數的最小公倍數(即是這兩個齒輪齒數的乘積,兩個素數的最小公倍數就是它們的乘積),這可以防止有的齒經常和另一個齒輪的某一齒單一接觸(特別是當這個齒設計有一些小的缺陷時,任何機械工程都是有一些小誤差的),可增強耐用度、減少故障。
  • 質數和網絡安全--簡單科普
    目前正在進行中的網際網路梅森素數大搜索(GIMPS)項目就是為了發現更多的質數,已知最大的質數具有23249425個位數,要寫完這個質數需要9000頁張紙,而目前已知的原子數量不會超過100個位數。這個由一個志願者花了14年的時間計算後得出的質數寫作2-1。有人會提出疑問,需要知道這麼大位數的質數嗎?
  • 兩個不相等的質數m、n滿足5m+7n=129,求m+n=?
    已知兩個不相等的質數m、n滿足5m+7n=129,求m+n=?在做題之前,我們先了解一下「什麼叫質數」。質數,又稱素數,指在大於1的自然數中,除了1和該數自身外,無法被其他自然數整除的數(也可定義為只有1與該數本身兩個正因數的數)。大於1的自然數若不是素數,則稱之為合數。例如,5是個素數,因為其正約數只有1與5。而6則是個合數,因為除了1與6外,2與3也是其正約數。
  • 整個數學界最重要的問題之一,質數是如何分布的?
    數論的基本組成部分是質數。即諸如:2、3、5、7、11、13等不能被1以外的數整除的整數。質數無法被分解為更簡單的元素;它與數學的關係恰如元素與化學的關係。由100個左右的化學元素可以合成化學家們所研究的上百萬種化合物。歐幾裡得證得算術的基本理論為:所有的正整數要麼是質數,要麼能被唯一地分解為一組質數。
  • 質數、合數
    換句話說,只有兩個正因數(1和自己)的自然數即為素數。比1大但不是素數的數稱為合數。1和0既非素數也非合數。合數是由若干個質數相乘而得到的。所以,質數是合數的基礎,沒有質數就沒有合數。這也說明了前面所提到的質數在數論中有著重要地位。
  • 「九章」問世:量子計算機究竟有多快
    還有用量子計算機來分解大數和求離散對數,還有 Pell 方程和一些其他數學問題也是尋找周期性,Grover 則提出可以用量子計算機來有效進行更大空間的搜索。現在來看下什麼是因數分解。假設你有一個整數 33,你想要找到兩個整數相乘等於 33,用 3 乘以 11 即可,兩個數字相乘對經典計算機來說非常簡單。
  • 量子計算機能做什麼?
    其實,量子計算機的誕生與兩個實際問題密切相關——模擬量子系統裡的物理過程、破解密碼。而且由於其強大的計算能力,量子計算機誕生之初,就有科學家就證明了量子計算機在大量數據的搜索方面也有巨大的優勢。模擬量子系統裡的物理過程位置、速度、動量等物理量用來描述物體的狀態,物理量改變了,粒子的狀態就會改變。
  • 量子計算機剛進入它的「電子管時代」
    量子計算機的概念1980年代提出,投入研發20年,迄今還沒有一臺真正走出實驗室。但傳說它(將來會)很厲害。谷歌、IBM、阿里巴巴和許多初創公司在競爭,想第一個實現「量子霸權」,也就是讓量子計算機在一個計算任務中快過傳統計算機。  粗淺了解一點量子計算機的原理後,你會發現其實它和我們熟知的電腦差不了多少。
  • 任一合數僅能被唯一分解成有限個素數的乘積的根本原因
    先證明任一合數能分解成有限個素數的乘積。假設N不能分解成有限個素數的乘積,分3種情形討論:1、它僅能分解成無限個大於1的正整數的積,即可分解成無限個素數之積,或無限個合數之積,或無限個素數與無限個合數之積,或無限個素數與有限個合數之積,或無限個合數與有限個素數之積。
  • 【新知】「九章」問世:量子計算機究竟有多快
    還有用量子計算機來分解大數和求離散對數,還有Pell方程和一些其他數學問題也是尋找周期性,Grover則提出可以用量子計算機來有效進行更大空間的搜索。現在來看下什麼是因數分解。假設你有一個整數33,你想要找到兩個整數相乘等於33,用3乘以11即可,兩個數字相乘對經典計算機來說非常簡單。但是如果我們有一個非常大的數字,想要找到它是由哪兩個質數相乘得到,這就是一個非常困難的問題了。