NIST後量子密碼演算法實際效能評價-1

買賣虛擬貨幣
NIST在第三輪演算法競選中做了一些聰明的事情,第三輪分為兩組:入圍演算法和候選演算法。決賽入圍者是NIST(以及參與NIST決策的大多數密碼學家)認為可立即投入生產並值得立即標準化的演算法。同時,替代候選演算法是一種演算法,但是出於某種原因,NIST認為在對它充滿信心之前,還需要進行幾年的密碼分析和研究。我相信密碼學領域的每個人都對第三輪的選擇都有自己的看法,但是這裡從一個實踐應用角度分析第三輪的決賽入圍者。評判標準我們將從實際應用的角度評價金鑰封裝演算法(KEM), 而不是從理論上的公鑰加密和金鑰封裝的安全性概念,即:
1.與現有傳輸層協議(TLS,Noise等)整合的可能性2.在應用層加密中支援離線公鑰加密的API(也稱為“密封”)。這意味著您可以線上加密(使用公鑰),但是解密需要一個金鑰,該金鑰保持離線狀態,並且僅在需要時才可以訪問。我們將根據以下標準評價數字簽名演算法:1.無狀態性:該演算法可以在回滾的虛擬機器中安全使用嗎?2.頻寬:簽名長度是否比較小?
第三輪金鑰封裝演算法決賽入圍者McEliece經典McEliece演算法是基於糾錯碼。經典McEliece具有較大的公鑰(在第2輪提交中從261120位元組到1357824位元組不等),但密文短(128到240位元組)。這使得很難在TLS之類的協議中實現Classic McEliece(因為僅要傳輸公鑰,它至少需要4個TCP資料包)。Classic McEliece沒有解密失敗,因此適用於離線公鑰加密。但是,巨大的公鑰也可能會阻礙此處的採用。CRYSTALS
CRYSTALS包含兩個演算法:Kyber(金鑰封裝)和Dilithium(簽名)。Kyber公鑰的範圍從800位元組(對於Kyber-512)到1568位元組(對於Kyber-1024),密文的範圍從736位元組到1568位元組,這意味著Kyber可以輕鬆用於TLS等協議。Kyber解密的失敗概率約為2^160。儘管這種可能性不太可能在現實世界中發生,但嚴格來說,演算法中包含的任何非零故障概率,意味著用Kyber加密對稱金鑰會阻止您成功解密。由於沒有機會從錯誤中恢復(儘管不太可能),因此很難推薦Kyber進行離線解密協議。NTRUNTRU是另一種基於格的演算法,是有史以來歷史最長的後量子格密碼系統之一。(由於太早了,所有專利都已過期。)
與Kyber一樣,NTRU提供小的公鑰(低端的ntruhps2048509為699位元組,高階的ntruhps4096821為1230位元組),這使得NTRU適用於要求小尺寸公鑰的應用。與Kyber一樣,對於所有引數集,NTRU的解密失敗率通常低於2^100中的1。  (確切的故障率未在NTRU規範文件中給出。)嚴格來說,這可能永遠不會成為現實問題。但是從技術上講,仍然可以使用無法解密的NTRU加密某些內容。這使得很難為該用例推薦NTRU。SABRESABRE是另一種基於格的金鑰封裝演算法。  SABER的安全性是基於與Kyber和NTRU不同的問題。但是,SABRE可以透過呼叫其輕型模式LightSABER。SABRE提供小型公鑰(672至1312位元組)和密文(736至1472位元組)。TLS對於SABRE應該沒有問題。與其他基於格的演算法一樣,解密失敗概率也不為零(對於SABRE變種,解密失敗概率為2 ^-120到2^-165)。
總結如果後量子密碼的唯一目標是設計可用於線上模式(例如TLS)的密碼學基,那麼任何基於格的演算法(Kyber,NTRU,SABRE)都是不錯的選擇。對於離線公鑰加密,所有這三個演算法都具有解密失敗的風險,只有透過多次加密同一會話金鑰並儲存多個密文,才能真正緩解這種風險。這種故障風險已經可以忽略不計了(更可能是宇宙射線),但是離線協議沒有恢復機制(而線上協議只能重新啟動金鑰交換並呼叫它)。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;