Welcome everyone to this agenda.
This should be the last agenda of HITCOM.
This agenda is the standard and principles of post-value code.
We will introduce some technical explanations of post-value code.
And this year, NIST also selected some candidates for post-value code.
We will make some introductions to these algorithms.
Today's speaker is Mr.
Chen Junming.
Because he is still abroad, we will do it in the form of pre-recorded and live Q&A.
Mr.
Chen is a professor at NTU.
He is in charge of teaching some courses related to cryptography.
He also works in the branch of Security Technology and Security Intelligence Technology.
He has a lot of experience in cryptography research.
So today he will share with us some principles and explanations of post-value code.
Let's give a round of applause to welcome Mr.
Chen.
各位HICOM的朋友大家好。
由於人在舊金山灣區,
以錄影的方式向大家報告這場後量子密碼標準及其原理。
我們先介紹在資訊安全與密碼學之中相關的基本概念。
顧名思義,保護資訊安全需要把資料加密。
密碼學除了加密和解密的演算法之外,
還有數位簽章確認身份以及資訊的來源。
另外雜售函數的使用也非常廣泛。
而量子電腦就是會威脅到密碼學之中特定的演算法。
密碼系統依照Key的使用可以區分為兩大類。
為了將Key解釋清楚,最淺顯的例子可能是2000年前的人類所使用的加密方法。
古羅馬帝國凱撒大帝的加密方式是,將明文Plantax字母往後推三個,成為密文Ciphertext。
例如明文如果是SPY間諜,往後推三個之後成為VSB,三個都是子音,在英文裡面沒有這個字。
因此如果敵人攔截中途傳送的訊息, 那麼他們看到的像是亂碼。
以比較數學的方式來解釋,就是明文P加3之後得到密文C,
而這個加法是需要modular26,也就是除以26之後得到它的餘數,超過25就需要減掉26。
而解密則是往前推三個字母,也就是密文-3等於明文。
而這個3所扮演的角色就是key,密鑰,必須藏起來,不讓別人知道。
使用的key不同,同樣的明文,加密之後會得到不同的密文。
如果加密是加7,解密就是減7,如果是加密是減11,那麼解密是加11。
加密和解密所使用的key是一樣的或是對稱的,就叫做對稱式的密碼系統。
不過根據歷史文獻記載,凱撒大帝從來沒有用過3以外的key。
這就是人類已經使用兩千年的對稱密碼系統。
明文經由加密成為密文,而密文解密之後還原為明文。
加密和解密所使用的key是一樣的或是對稱的,可以從其中一把key推得另外一把key,就稱為對稱密碼系統。
1970年代美國政府制定DES成為國家標準,2000年AES取而代之,而現在這兩項密碼系統仍然在全世界廣泛使用。
另一類型密碼系統,key的角色並不對稱。
私鑰很容易計算得到公鑰,但是將公鑰逆推還原得到私鑰,計算上非常困難。
例如將兩個大質數乘在一起成為大整數,計算上非常容易。
但是將一個大整數因數分解為兩個大質數,計算上非常困難。
這正是已經廣泛使用超過40年的RSA公鑰密碼系統的安全基礎。
另一類現在廣泛使用的公鑰密碼系統,是以離散對數問題為基礎。
很不幸,這兩類問題都會被未來的量子電腦輕易破解。
這就是Public Key Cryptosystem公鑰密碼系統的運作方式。
公鑰可以公開,任何人都可以取得。
只有生成這對公私鑰的人,持有私鑰。
明文經由公鑰操作加密,得到密文。
以私鑰操作解密,還原為明文。
這就是公鑰密碼系統的加密和解密。
以公鑰加密,以私鑰解密。
在習慣上,我們以不同顏色來區別不同類型的資訊。
必須妥善保管藏起來的,我們用紅色來表示。
可以公開或可能被敵人取得的資訊,或寫在標準中的演算法,我們用藍色來表示。
如果將操作的先後順序對調,也就是先以私鑰運算,再以公鑰運算,則是數位簽章的簽章與驗章。
這裡的Message,訊息,可能是一份合約或是一筆交易,也可能是在網路上面的一筆訂單。
以私鑰操作,稱之為簽章。
簽章之後得到的結果,就稱之為Digital Signature,數位簽章。
簽章和訊息本身一起傳送給對方,對方以對應的公鑰、驗章Verify。
如果說驗章通過,則同意的確是由私鑰的持有者所做出來的正確簽章。
這就是數位簽章的簽章與驗章的流程。
數位簽章在現在的網路世界中非常重要,使用的也非常的頻繁和普遍。
有以上說明可知,公鑰密碼系統分成兩大類。
加解密是以公鑰加密,以私鑰解密。
數位簽章則是以私鑰簽章,再以公鑰驗章。
後面我們會談到,美國政府正在制定新的公鑰密碼系統國家標準,以抵抗量子電腦的威脅。
而新的標準就分成兩大類,加解密和數位簽章。
接著,我們具體說明量子計算對資訊安全的威脅。
首先是名詞解釋。
我們知道分子由原子組成,而原子之中有電子、質子和中子。
量子Quantum並不是一種例子,它是物理學家用來描述微觀世界的一套理論。
Quantum computing量子計算是利用量子力學的特性進行計算。
Quantum cryptanalysis量子破密則是以量子計算來破解密碼系統。
密碼系統分成公鑰密碼系統和對稱式密碼系統兩大類,而這兩類密碼系統受到的威脅非常不一樣。
Shor's algorithm will pose a serious threat to the current public key cryptosystem.
Grover's algorithm has an impact on the right-hand-side cryptosystem, but the threat is not so severe.
為了抵抗Shor's algorithm所造成的威脅有兩個防禦的方向,一個是QKD,另外一個是PQC,後面將分別解釋。
Shor's algorithm was discovered by Peter Shor, who was employed at AT&T Bell Laboratory in 1994.
未來如果實現於成熟的2000QB以上Large Scale 大規模Universal通用型量子電腦,
則可以破解現今所有標準的公鑰密碼系統。
Shor's algorithm's approach is to convert the problem of division or separation of values into an order-finding problem.
這裡的order-finding指的是在一個抽象代數中的群,其中一個元素,尋找這個元素的order。
解完這樣的問題,再利用量子複利頁轉換,Quantum Fourier Transform於多項式時間之內解出得到答案。
Grover's algorithm affects all symmetric code systems.
安全參數將因此縮減一半,但不如RSA或是橢圓曲線密碼系統ECC
於多項式時間被破解所受到的威脅那麼劇烈。
如果使用夠長的對稱式密鑰,量子計算並不構成威脅。
例如,現在AES的標準,key的長度是128、192或256位元。
如果使用256位元key的AES,未來仍然有128位元的量子安全參數。
Grover's algorithm運作原理是給定一個boolean function, 所謂的boolean function是不管它的輸入如何,輸出只有一個位元,0或1,一個bit。
給定了boolean函數後,利用量子態的疊加,superposition特性,可以達成同時平行運算的效果。
再經由相位轉換,phase inversion,以及對平均翻轉,inversion above mean兩個操作,可以改變疊加態中的係數,最後很有可能得到正確的答案。
QKD是Quantum Key Distribution,量子密鑰分配的縮寫。
它利用量子力學的特性,使通訊雙方產生並分享隨機的安全的密鑰,再以其他機制對訊息加密和解密。
所以QKD僅用於生產和分配密鑰,它並不傳輸任何實質的訊息。
實際運用上,QKD經常與AES等對線式密碼系統一起使用。
QKD又經常與量子密碼學Quantum Cryptography縮寫為QC混為一談,因為它是QC量子密碼學中最著名也是最成熟的例子。
PQC是Post-Quantum Cryptography,後量子密碼學的縮寫,它又稱為抗量子計算密碼學,是現代密碼學的一個研究領域,專門研究能夠抵抗量子電腦攻擊的公鑰密碼系統,以取代現行的標準,包括RSA、ECC等未來會受到嚴重威脅的公鑰密碼系統。
它不同於量子密碼學QC,後量子密碼學PQC是使用現有的電腦與網路,不依靠量子力學,不使用量子電腦,PQC的基礎是公認無法被量子電腦有效解決的計算難題。
因此我們可以這樣理解,QKD的基礎是物理,PQC的基礎是數學,是演算法。
再來我們介紹量子電腦的發展。
這張圖是Peter Shaw論文第一頁的上半部,提出解決離散對數問題和質因數分解的量子演算法。
歷史上第一次執行Shaw演算法是發生在2001年,IBM製造了7個Qubits的量子電腦,可以成功地分解15為3乘5,兩個質數的乘積。
這當然距離破解RSA還非常遙遠,但至少跨出了第一步。
距今20年前,IBM以7個Qubits的量子電腦質因數分解15之後,進展並不快,但是在近年量子電腦的發展似乎加速。
2017年11月,IBM製造出50個Qubits的量子電腦。
2018年1月,Intel做出49個Qubits的晶片。
而在2018年3月,Google則製造出72個Qubits的晶片。
2019年10月,IBM推出全世界第一台商用量子電腦,它是53Qubits的量子電腦,客戶可以付費連線使用。
同樣在2019年10月,Google公佈了CEO執行長與量子電腦的合照,並且宣稱成功達到了量子霸權Quantum Supremacy,
也就是說以最新的量子電腦成功地解決了以現有所謂古典電腦Classical Computer非常困難無法解決的問題。
但是IBM對於Google的宣稱非常不以為然。
首先,IBM認為Google解決的問題是非常無聊而沒有實用價值的問題。
其次,IBM認為Google過度高估了問題對於現有電腦的難度。
在正確的估計之下,其實該問題對於現有的電腦複雜度其實沒有那麼高。
那麼量子電腦的製造何時會進展到出現足夠大的規模破解現有的公要密碼系統RSA ECC呢?
以下引用美國政府NIST曾經引用的專家說法。
Michelle Mosca博士是這方面的專家。
2015年4月她曾經說,在2026年,大約有七分之一的機率量子電腦可以破解現有公要密碼系統。
而在2031年,這樣的機會將達到二分之一。
不過這是在2015年的估計,現在美國政府NIST已經不再引用這樣的說法。
而有更新的估計和預測。
威脅現有公要密碼系統的大規模量子電腦或許會在十年或十五年之後出現,但我們絕對不能等到那個時候才開始應對。
事實上,我們現在開始做準備已經不算早,否則未來我們會有越來越多的麻煩。
原因,我們以莫斯卡博士有名的定義來解釋。
如果X加Y大於Z,就必須擔憂了。
其中,X是將資料處於保密狀態的時間長度,也可以解釋成相關產品的生命週期。
Y則是將後量子密碼TQC標準化並且廣泛於實務上採用所需要的時間長度。
而Z則是建造出大規模量子電腦所需要的時間。
以具體的數字舉例會比較清楚。
我們採用剛才提到的2031年,也就是假設Z等於10年。
以及在10年之後,夠大規模的量子電腦出現,可以破解現有的RSA和ECC等公要密碼系統。
另外在假設X和Y都是7年,也就是Y等於7,經過7年的時間後量子密碼已經標準化並且其相關產品廣泛地為實務上所採用。
而X等於7表示資料必須保密7年,或者是相關的資安產品生命週期是7年。
乍看之下,在這個例子中不會有問題,因為經過7年的時間後量子密碼已經標準化並且為實務上所普遍採用。
而夠大規模的量子電腦是在10年之後對RSA和ECC等公要密碼系統產生威脅。
但是問題並不是在7年後,而是在6年後或5年後。
例如6年後對資料的保護以及銷售的資安產品仍然是使用RSA和ECC等公要密碼系統,而這些資料在4年之後會被量子電腦所破解。
從原先的7年縮短為4年,這就造成了問題。
為了避免前述麻煩,必須讓x加y小於等於z,我們才不需要擔憂。
也就是PQC後量子密碼標準化並且為實務上所廣泛採用的時間,
再加上資料的保密期間,或者是產品的生命週期,不晚於大規模量子電腦出現的時間。
因此,我們必須及早準備。
美國國家標準與技術研究院NIST負責制定PQC國家標準。
NIST早在2016年即開始PQC標準制定程序,於今年7月5日公告四項獲選的演算法,以及四項進入第四輪候選的演算法。
其中公要加密Kyber與數位簽章Delithium Falcon同以Lattice為基礎。
數位簽章SphinxPlus則以雜湊函數HashFunction為基礎,我們將介紹基本原理。
進入第四輪的Bike、Classic MacElise、HQC均以編碼Coding為基礎,SuperSingularIsogenyCyc則剛被破解。
以下介紹Lattice基本原理。
在線性代數中,一個向量空間由基底Basis所生成。
現在我們考慮Rn空間,n-way的時數空間。
考慮一組基底B,它的向量是B1到Bn。
那麼現在我們考慮這組基底的整係數線性組合,也就是M-I-B-I的形式,把它們全部加起來。
那麼所有的這些整係數線性組合的向量就構成了所謂的Lattice。
右邊這張圖是一個二維的Lattice。
它是由U1和U2這組基底所生成。
所有U1和U2的整係數線性組合就是這些所有全部的藍色的點。
注意到這裡,V1和V2所生成的Lattice其實也是這些藍色的點。
於是U1、U2、V1、V2這兩組基底都生成了相同的Lattice。
每一個Lattice都有無窮多組基底。
我們可以在Lattice上面問以下的這些問題。
當Lattice的維度Dimension很大的時候, 這些問題都會變成計算上非常困難的問題, 因此可以用來設計公要密碼系統。
第一個問題是SVP,Shortest Vector Problem,最短向量問題。
給定一個Lattice之後,請問Lattice上面最短的非0向量是哪一個?
如果這個Lattice給的是U1、U2這樣的基底,那麼很容易回答,最短向量就是U1以及-U1。
但是如果給的Lattice基底是V1和V2,那麼要回答最短向量是哪一個就不是那麼容易了,需要做些計算。
而當維度很大時,要找到非0的最短向量,這是一個非常困難的計算難題。
第二個問題是所謂的Closest Vector Problem,簡寫為CVP。
給定一個向量在Rn空間中,請問和這個向量最接近的Lattice向量是哪一個?
如果說給的是U1、U2基底,那麼回答這個問題相對容易,但是給的是V1、V2時,要回答這個問題就不容易了。
第三個問題是Lattice Basis Reduction,給定一個壞的基底,請尋找一個好的基底,和它生成相同的Lattice。
而在這邊,U1、U2就是一組好的基底,V1、V2是一組壞的基底,因為U1、U2它的向量長度比較短,而且它們的夾角比較接近90度,接近直角。
而V1、V2的向量長度比較長,而且它們的角度太小或是太大,並不接近直角。
一旦能夠把壞的基底轉換成好的基底,那就容易回答前面的SVP和CVP這兩個難題。
因此,如果要破解一個以Lattice為基礎的公要密碼系統,最直接的破解方法就是把對應的Lattice從壞的轉成好的。
那麼一旦可以解SVP和CVP,就很有可能可以破解這樣一個公要密碼系統。
獲選的Lattice-based演算法全部使用結構化金格,這頁列出Kyber、Deletion、Falcon分別使用的多項式環Polynomial Ring。
由於每個演算法都相當複雜,且需要較多數學背景,在此不仔細介紹。
同樣,獲選的Hash-based Sphinx-plus演算法也非常複雜,在此也不仔細介紹,但多花點時間解釋其基本原理。
雜湊函數為基礎,Hash-based Signature最早是在1979年的時候,由Lemper提出來的Signature只能簽名簽一次。
也就是說,生成了一對公私鑰之後,把公鑰公開,然後在需要簽名的時候,就用私鑰去對某一份文件簽署,然後傳送給對方,或者是公開。
讓大家都可以去驗章。那這個過程結束之後,這對公私鑰就必須作廢,不能再用第二次。
這跟我們現在所熟悉的數位簽章這個用法當然很不一樣嘛。
在REC的ECC其實都可以簽很多很多次,一對公私鑰可以用很久。
好,那所以當然就是一開始提出來的時候呢,並不好用,沒有人要用,那也開始有各式各樣的改進。
好,那他就只能用一次。如果說想要用第二次的話呢,這個簽章呢就可能被偽造,可能會被仿冒身份。
假設我們要簽署的這份文件,他的位元素是K。
好,比如說我們要去簽SHOT256的HashValue的話,那麼這個K呢就是256。
那麼我們就需要選512個元素。
這512個元素呢就是YIJ,這個YIJ來自某一個key spaceY,這個可以事先指定。
就隨著這個安全上面的需要,你可以去設計這個space長什麼樣子。
好,我們現在先不去研究這個Y的細節,我們就考慮這個一般的情況。
我們如果說要簽的對象,他的長度是K位元,那麼我們就需要準備2K個元素。
而這2K個元素的編號,他們的標記是1到K是I,然後J呢是0或1。
I是從1到K,然後J是0或1。
於是呢我們就有總共有2K個元素,有2K個YIJ。
然後把這2K個YIJ分別帶入雜湊函數H。
好,這也是HashBase的這一類型的密碼系統的特性。
雜湊函數呢,其實我們可以去更換。
好 ,就是說這個HashBase的signature是它的protocol是這樣。
但是呢,其實你可以把它換成你喜歡的安全的雜湊函數。
好,那現在呢,我們就不指定這個H是某一個。
到底是shard2,shard3哪一個,我們不管它,反正就是某一個安全的雜湊函數。
我們把這個YIJ呢,就分別帶入這些雜湊函數,然後得到ZIJ。
而這些YIJ就是私鑰,ZIJ就是公鑰。
就把這個secret key藏起來,把public key公開。
那麼需要簽章的時候呢,就使用secret去簽章。
然後把簽章的結果和文件一起公開。
讓別人都可以用公鑰,用public key去驗章。
這私鑰呢,是可以用一個prng,偽亂數產生器,sudo random number generator去生成嘛。
好,那麼prng都是給它一個seed,給它一個種子。
然後呢,它去生成後面的一連串的輸出,看起來很亂,當作亂數來使用。
所以說這個secret key呢,就有可能就是你只要儲存那個seed就可以了。
seed可能可以很小,夠長就可以了。
好,比如說128位元。
好,那麼用seed去生成所有的這些yij。
那這樣子的話呢,你就只要儲存seed就可以了。
好,那public key的話呢,這邊其實後面也會提到,我們就先講一下。
就是說public key呢,我們可以把所有的這些public key,所有這些zij啊,把它們全部都串連在一起。
concatenate,全部都連在一起。
併在一起之後呢,再代入一個雜售函數。
然後呢,把雜售值當作公要。
以後人家驗章的時候呢,就是去得到這些zij之後呢,就代入同樣的一個雜售函數。
得到雜售值,然後去跟公要去比對。
如果說跟那個public key一模一樣,雜售值完全一樣的話呢,就接受這個簽章。
它的原型,私鑰和公鑰都蠻大的,但是都有一些技巧去把私鑰和公鑰縮小。
好,那但是呢,就是把它公鑰縮小的話呢,必須要付出一些很明顯的代價。
就是它的那個簽章的結果,簽章簽出來的結果會很大,我們等一下會看到原因。
有了私鑰和公鑰之後,假設我們要簽署一份文件,比如說我們要簽署比特幣的交易好了。
好,那比特幣的交易的雜售值是shark256的hash value,所以說這個k是256。
我們就針對這256位元來做出數位簽章。
那麼就逐一看它每一個位元。
如果說這個位元是0,就選第一列。
如果說這個位元是1,那就去選第二列。
舉例來說,現在如果說有一個比特幣的交易,它開頭是1,然後第二個位元是0。
第一個元素就是y11。
好,就是說從y10和y11裡面要選一個。
那由於這個位元是1嘛,那就去選y11。
然後呢,第二個位元是0,就從y20和y21裡面就去選y20。
好,依序類推一直下去,一直到最後一個位元是1。
那就從y2560和y2561裡面去選第二個,去選y2561。
把它們全部都集合在一起,就得到y11,y20,然後呢,第3,第4,第5,一直到第255個元素之後,第256個元素是y2561。
就是看這個要簽的對象的這個message,它的每一個位元是0的時候就從第一列裡面選,是1的時候就從第二列裡面選,然後作為簽章。
網路上其他人驗章的時候呢,就把公鑰,那些Zij拿來,把每一個這些簽章裡面的這些Yaj帶進去,雜售函數,然後得到Zij。
去看它是不是出現在公鑰裡面對應的位置,就是該0的時候是0,該1的時候是1。
好,那如果說每一個算出來的雜售值都對,而且都出現在它該出現的位置,那就接受這個簽章。
對於它公私鑰的optimization,其實我們之前已經提過了,這邊就述諸文字把它寫得更清楚一點。
就是在私鑰的部分呢,我們是可以使用一個prng,私鑰呢就可以換成是一個csprng的一個seed,存它就好。
好,那公鑰呢,就如同剛剛所說,其實我們可以把那些Zij全部都連在一起,全部綁在一起之後帶入一個雜售函數,就是這張圖裡面所看到的top hash。
這個top hash就作為真正的公鑰,驗章者最後要比對的是那個top hash。
但是呢,這邊會引申出一個問題,就是說如果說用這種方法去縮減公鑰的長度的話, 那麼簽章的結果會更大。
怎麼說呢?我們就用前面的這個例子來看。
本來在這個one-time signature的原型,簽出來的結果是y11、y20、yke,一直到yke。
好,那於是呢,驗章的人呢,可以根據y11、y20和一直到最後的yke呢,
分別去計算出右下角這個矩陣中的z11、z20、zke。
好,就是說計算出z11、z20、zke,這個是驗章者可以去得到的。
好,那但是呢,驗章者呢,他要比對的是那個top hash,是所有這些zij的連在一起之後的雜售值。
所以說簽章的人啊,就必須要把跟簽章沒有直接關係的,但是驗章者會用到的z10、z21、一直到zk0。
就是右下角這個矩陣中,z10、z21、zk0,這些沒有用它做簽章。
但是呢,驗章的時候呢,驗章者會需要這些所有的zij才能去綁在一起,帶出雜售值。
簽章的時候呢,除了簽進去,寫進去y11、y20到yke之外呢,還要把z10、z21、一直到zk0也一起寫到簽章裡面。
那麼驗章的人才有辦法去完成驗章的程序。
那光是從這件事情就可以看到,為了要縮減公要,那麼簽章就必須變更大。
這就是在縮減公司要的時候呢,可以使用的技巧。
那由於呢,只能用一次嘛,就不是那麼好用。
於是呢,在同一年,merkle就提出來了merkle-treat,用它來建構merkle-signature。
好,merkle-treat這件事情呢,其實大家可能覺得有印象,因為我們在介紹bitcoin的時候呢,就提到像bitcoin和ethereum都是用merkle-treat作為儲存所有交易的一個data structure,一個資料結構。
那我們可以看到就是說,這個merkle-treat的底下呢,用的符號呢,那個yij就是私鑰。
那我們這邊是大寫的y。
好,就是說把這個私鑰呢,帶入雜售函數,帶入一個hash function,帶入h,得到雜售值。
然後呢,每兩個併在一起,再帶入雜售函數。
兩兩併在一起,帶入雜售函數,然後一路算上去,得到最上面的呢,在bitcoin我們講過了。
這個merkle-treat的root,我們就把它叫做merkle-root。
而這個merkle-root是要放到bitcoin的block,區塊裡面去的。
最上面的那個top,top hash,就是merkle-root,那個a30呢,就可以看成是public key公鑰。
底下呢,這些每一個y啊,y0,y1,y2,一直到y7,每一個y都只能用一次。
簽完以後呢,就不能再用了,就跟剛剛的one-time signature一樣,簽完一次呢,就不能再用了。
但是呢,對於這個三層的merkle-treat來說,最上面的那個top hash呢,可以用八次。
那個公鑰可以用八次。
好,私鑰呢,必須要有八個不同的私鑰。
好,那當然這個私鑰其實也是可以由某一個seed去生成出來啦。
那三層的可以用八次。
如果他有十層的話呢,那個公鑰就可以用二的十四方,1024次。
所以他的層數越多的話,公鑰就可以活越久,又可以用越多次。
這就解決了之前Lemple one-time signature公私鑰都只能用一次的這個問題。
好,那不過呢,這邊又要付出代價,就是對於驗章者來說,verifier來說, 要這樣一路算上去得到那個top hash, 這個一路上這個path,這個每一個節點,每一個node, 他的兄弟,他的sibling,也就是我們看右邊那張圖。
右邊那張圖裡面呢,OS0, OS1, OS2, 這些都必須要寫在簽章裡面,都必須要附上去,都必須要寫在簽章裡面。
那麼驗章的人才有辦法一路往上算。
用完Y0之後,他不能再用Y0了,他必須要用Y1。
用完Y1之後呢,前兩個都不能再用,他要用Y2。
所以他必須要記錄下來,哪些用過,哪些沒用過。
Hashbase這邊呢,會分為兩大類的數位簽章。
一個是Stateful,一個是Stateless。
Stateful的話呢,就是要記錄他的狀態。
哪些是要用過,哪些是要沒用過,要記錄下來。
這是Stateful。
那在Stateless的話呢,就是不需要記錄這些狀態。
好,那不需要記錄這些狀態的話,那就是一般的數位簽章, 就是相當於我們現在RSA ECC的一般的用法。
反正只要拿著四要去簽章就對了。
不需要去記錄說哪些用過,哪些沒用過。
好,那這個Stateless的話呢,就是另外一類型。
那當然就是為了要達到Stateless讓他比較好用的話呢, 又需要去額外的去付出一些代價。
最後總結量子計算威脅資訊安全的應對之道。
量子電腦的研發進展日新月異, 甚至已經成為大國之間的競爭, 包括美國與中國。
也成為科技大廠之間的競爭, 包括Google、IBM、Intel。
何時量子電腦發展至有能力破解當今公要密碼系統?
現在還說不準,快則十年,慢則三十年。
保持關注量子電腦的最新進展,
即可明白升級至後量子密碼急迫性的高低。
NIST和NSA一再強調,根據過去經驗, 包括從DES到AES、SHA-1到SHA-2, 以及ECC橢圓曲線密碼的採用, 更換密碼系統演算法總是曠日費時, 可能長達一二十年。
畢竟必須配合更新的軟硬體太多, 更換程序又麻煩,
還必須確保新系統穩定、安全、可靠才能上線使用。
再加上如先前MOSCAR定理的說明,
必須將產品生命週期、文件保密期限都列入考慮,
因此現在就開始準備過渡至PQC一點都不嫌早。
若能及早完成轉換至後量子密碼時代, 未來就不需要再擔心大規模量子電腦的出現, 到底是在十年後還是三十年後。
再一併詢問老師,
然後老師回覆之後會再將問題貼在slido上面跟大家分享。
所以有問題還是可以盡量提問。 那這邊也謝謝大家今天參與我們這一場議程。