對稱密碼演算法可通過增加演算法引數長度來抵禦量子計算機,為什麼公鑰密碼演算法就不能通過增加引數長度來抵禦?

時間 2021-07-06 12:09:34

1樓:

」對稱密碼演算法可以通過增加演算法引數的長度來抵禦量子計算機,為什麼公鑰密碼演算法就不能通過增加引數長度的方法來抵禦?「 答案當然是

可以。但是這裡面的關係並不是簡單的疊加的問題。

這篇回答就當是科普了。對稱加密和公匙加密的特性非常不同,從而導致應用背景非常不一樣。

對稱加密:需要提前協調金鑰,加密效率高。 => 檔案加密,一般為step 2

公匙加密:不需要提前協調密室,加密效率非常低。=>傳遞對稱加密金鑰,一般為step 1

對稱加密一般1bit的金鑰加密1bit資料。但是公匙加密就很慘了,2048bit的rsa遠遠不能傳遞2048bit的資料。2023年時,NIST認為15360-bit RSA和256-bit symmetric keys加密能能力差不多[1] 15360bit啊。。。

所以說,公匙加密不適合長時間重複使用,一般履行完協調分配金鑰的功能之後就不再繼續使用。所以,目前基本上就是在無腦瘋狂指數倍地增長key的長度,或者研發量子加密。但是就現狀而言,增長key更容易點。

一般的加密系統裡兩者皆有,一般用法後面說。如果用了量子加密,其實就是省去了用公匙加密傳遞金鑰的過程,可以直接進入對稱加密步驟,目前被認為比較安全。

所以,一般想要達到A和B加密通訊的簡化版步驟是:

A和B互相傳送乙個明文資料報,協調下自己打算使用的公匙和對稱加密演算法。

A和B使用一種公匙協調方案,(一般在接收方B處)和對方協調乙個公匙,並且自己保留私匙。

A採用剛剛生成的公匙對來傳送乙個新生成的對稱加密的金鑰。A直接生成的金鑰,因此知道內容。B因為有私鑰能夠解密,因此也知道金鑰。

雙方拋棄公匙加密的一切中間結果,直接移步對稱加密。

那麼為什麼大家更關心量子計算機對於對稱加密的暴力破解能力?因為公匙加密的破解方法實在是太多了,Ciphertext-Only Attack, Chosen Plaintext Attack, Chosen Ciphertext Attack這三大類方法基本上總有一款能夠構造一種攻擊場景。最差最差才是暴力破解。

而一般認為增長1bit對稱加密長度約等於增長7~8bit公匙加密長度。[2]這也是基本符合前面的15360對比256。

所以研究量子計算機對公匙的攻擊沒什麼意義,對對稱加密的攻擊才是致命的。

本著科普的精神,稍微反饋一下另乙個答案的幾個個觀點。不是懟,是科普!不是懟,是科普!不是懟,是科普!畢竟另一位答者明確表示自己不是領域內的,重在參與。

觀點1中的

」對於傳統計算機來說用rsa1024 7.5倍長度的金鑰去加密時間成本太大,因為好的演算法不僅需要安全更需要效率。「

這裡理解到了公匙加密的弱點,但是沒有體會到公匙加密至今依然存在的意義。對稱加密最大的問題就是如何安全地讓通訊雙方使用同乙個金鑰。如果兩個人能夠用別的方式,比如線下傳個u盤,那當然好。

但是很多時候不方便。公匙加密目前的主要應用就是傳送金鑰和用不對稱加密來實現」證書「。

觀點2的描述應該說採用的是」絕對安全「這個定義。但是隨著暴力破解密碼的可行性越來越高,"安全"的定義被改成」破解的代價》資訊本身的價值「。也就是說,變得類似於投入和產出之間的關係。

這是一場攻防戰。在算力無窮的前提下,沒有安全的系統。

觀點4的觀念是對稱加密裡面增加複雜度的常用方法。通俗易懂,在日常應用裡簡單粗暴有效。但是使用對稱加密需要注意的是,多次加密不一定能提公升安全性。

因為對稱加密的核心方法是,造出乙個長度等於資料的金鑰,和資料做異或運算。但是」用三個金鑰k1, k2, k3依次異或資料m三遍「等價於"用金鑰k4=k1+k2+k3來異或m一遍"。知道即可,實際應用的時候可能會有別的因素限制。

2樓:彩虹的彼方

先說明我不是學這個專業的,了解這些內容只能說是興趣。而且我對自身個人隱私保護非常注重。既然不是專業的,說的話可能就不夠嚴謹,而且我看的東西都是一些網上的部落格和部分不知道是否正確的研究資料,現在寫出來的都是普遍的大家普通人都是這麼認為的理論,希望不要懟我。

觀點1:非對稱密碼也可以通過增加長度來獲得安全性

像rsa1024這種演算法可以增加長度到7.5倍來抵禦初級量子攻擊,但是本身這種演算法加密的效率就不夠高,對於傳統計算機來說用rsa1024 7.5倍長度的金鑰去加密時間成本太大,因為好的演算法不僅需要安全更需要效率。

觀點2:對稱演算法增加長度來保證安全性這句話也是不嚴謹的

目前最新的量子演算法可以縮短一半對稱演算法解密的時間,比如aes256未來理論上具有和當前aes128一致的安全性。但這只是理論性的,未來如果出現比grover演算法更加先進的解鎖方式那就依然不夠安全。

觀點3:量子計算機理論上確實能高效破解現有非對稱加密體系,但是有很大問題

即使算力夠,想要搞定糾錯也是個很大的問題。想要量子運算統一進行,糾錯的量子位元也需要很多。理論上數千個量子位元就能完成高效的rsa破解,但是這是沒算糾錯的量子位元,好像目前的研究結果認為糾錯的位元也是指數式增加,所以未來真正的能用於高效解密的量子計算機能不能在我們依然在世出現還是個問題。

觀點4:目前我認為的保護隱私的方法

如果真的擔心未來量子計算機破解密碼,個人的話網上存的資料少點。然後自己加密的話根本不需要非對稱的演算法,選擇bitlocker在組策略裡面調整為xts aes 256就行。如果覺得還不行,就建立乙個虛擬磁碟,bitlocker來兩次嘛。

如果還不放心我建議你用windows7sp1旗艦版的bitlocker,為啥呢?目前win8的是純cbcaes的bitlocker安全性最低,win10是xtsaes的bitlocker安全性其次,而win7sp1則是糾錯的cbcaes安全性最高。。另外如果有智慧卡(就是含有加密證書檔案的類似於usb的那個)配合bitlocker那就萬無一失了,因為量子計算機理論上對對稱證書加密方式目前沒有辦法。

然後在虛擬硬碟加密完成後用7-zip的aes256加密一遍變成乙個3層加密的檔案。

這樣如果在網盤傳輸檔案也是安全的。至少我目前看到的文章加上自己才疏學淺的推測,這種方法50年之內應該還是沒問題的。如果按照目前谷歌的50位元的這個算力,50年之後真出現上萬位元的機子解密估計也要3-5年。

到時候做個擦除然後更新一下加密方式,就又可以保護自己的檔案了。

第一學歷差,可通過考研改變嗎?

禎炘 可以改變,不過有些公司還是會介意你的第一學歷。努力去做到讓人不介意你第一學歷,而是你的能力等各方面優秀。當然也要看你是從事哪方面,哪個城市。 陳澀 當然可以,不說考研考985 211,咱們考的普通學校的研,出來也是研究生,對不對?但是咱們要明白的是考研很難,讀研更難。如果你想考,就好好的認真的...

HTTPS 下 Web 前端密碼非對稱加密是否有意義?

最近被這個問題折騰了好久。我來說說我的看法吧。首先,前端非對稱加密幹的人不多。而且就算幹了的站點比如google我都不知道他的加密演算法是什麼。然後,這個事情是有意義的,因為這樣可以證明服務端絕對不會拿到你的真實密碼,給客戶安全感。最後,我也不知道我該用單次的sha256 鹽還是PBKDF2 sha...

相同的密碼用過密碼演算法後,得到的key值是一樣的嗎?

看題主所說 不同長度的明文加密後長度相同 相同的明文每一次加密後密文不同 那應該不是雜湊演算法 應該是分組加密 不同長度明文加密後長度相同的原因是明文還不夠長而且需要按照一定方式填充 每次加密結果不一樣是因為有IV 初始化向量 如何判斷到底是不是雜湊呢?雜湊完得到的結果無法還原。而加密得出的密文可以...