密碼常識測試

2022-09-25 07:00:09 字數 2298 閱讀 3638

1. 很多企業和技術人文都有下面這樣的想法∶「由公司或自己開發一種密碼演算法,並將這種演算法保密,這樣就能保證安全。"

2. 使用地低強度的密碼演算法,比如凱撒密碼,也比完全不加密更安全。

3. 一次性密碼本(one-time pad)或一次一密是無法被破解的,所以日常的資料加密應該使用一次性密碼本演算法。

4. 只要密碼演算法強度足夠,實現正確就可以保證資訊保安。

判斷:錯

原因:使用保密的演算法是無法獲得高安全性的。我們不應該製作或使用任何保密的密碼演算法,而是應該使用那些已經公開的、被公認為強度較高的密碼演算法。這樣做的原因主要有以下兩點

(1)密碼演算法的秘密早晚會公諸於世

從歷史上看,密碼演算法的秘密最終無一例外地都會被暴露出來,拿最近的事例來說,***的密碼演算法也沒能倖免被扒皮的命運。rsa公司開發的rc4密碼演算法曾經也是保密的,但最終還是有一位匿名人士開發並公開了與其等效的程式。一旦密碼演算法的詳細資訊被暴露,依靠對密碼演算法本身進行保密來確保機密性的密碼系統也就土崩瓦解了。反之,那些公開的演算法從一開始就沒有設想過要保密,因此演算法的暴露絲毫不會削弱它們的強度。

(2)開發高強度的密碼演算法是非常困難的

要比較密碼演算法的強弱是極其困難的,因為密碼演算法的強度並不像數學那樣可以進行嚴密的證明。密碼演算法的強度只能通過事實來證明,如果專業密碼破譯者經討數年的嘗試仍然沒有破解某個密碼演算法,則說明這種演算法的強度較高。稍微聰明一點的程式設計師很容易就能夠編寫出"自己的密碼系統」。這樣的密碼在外行看來貌似牢不可破,但在專業密碼破譯者的眼裡,要破解這樣的密碼幾乎是手到擒來。

現在世界上公開的被認為強度較高的密碼演算法,幾乎都是經過密碼破譯者長期嘗試破解未果而存活下來的。因此,如果認為「公司自己開發的密碼系統比那些公開的密碼系統更強」,那只能說是過於高估自己公司的能力了。試圖通過對密碼演算法本身進行保密來確保安全性的行為,一般稱為隱藏式安全性(securitybvobscuritv),這種行為是危險且愚蠢的。

反過來說,將密碼演算法的詳細資訊以及程式源**全部交給專業密碼破譯者,並目為其提供大量的明文和密文樣本如果在這樣的情況下破譯一段新的密文依然需要花上相當長的時間,就說明這是高強度的密碼。

判斷:錯

原因:一般人們會認為:就算密碼的強度再低,也比完全不加密要強吧?其實這樣的想法是非常危險的。正確的想法應該是:與其使用低強度的密碼,還不如從一開始就不使用任何密碼。

這主要是由於使用者容易通過「密碼」這個詞獲得一種「錯誤的安全感」。對於使用者來說,安全感與密碼的強度無關,而只是由「資訊已經被加密了」這一事實產生的,而這通常會導致使用者在處理一些機密資訊的時候麻痺大意。

早在16世紀,當時的蘇格蘭女王瑪麗就曾認為沒有人能夠破譯自己使用的密碼。正是由於對密碼的盲信,她將刺殺伊莉莎白女王的計畫明明白白地寫在了密信中,結果密碼遭到破譯,瑪麗也因此被送上了斷頭台。

判斷:錯

原因:一次性密碼本即vernam cipher,是由gilbert vernam在2023年, 開發的一種加密演算法。之所以叫做一次性密碼本,是因為加密所用的金鑰是一次性的,即金鑰只會使用一次,不會出現因為金鑰洩露導致之前的加密內容被解密。即使金鑰被洩露了,也只會影響一次通訊過程。

雖然一次性密碼本無法破解,但是它存在很多缺陷,所以實際工作中很少使用:

(1)金鑰太長

一次性密碼本是用與原文等長的金鑰做異或得到的,如果原文很大,那麼相應的金鑰也非常大。

(2)無法重用金鑰

每個金鑰只用一次,即是缺點也是優點。意味著我們每次都要不停的更換金鑰,增加了複雜性。

(3)金鑰的配送

因為金鑰和原文以及密文都是等長的,目標端如果想解密就必須拿到金鑰,如果能夠機密的傳輸金鑰給目標端,那為什麼不直接將原文機密的傳送給目標端呢?

(4)金鑰的儲存

每次加密都需要換乙個金鑰,這意味著每乙個明文都需要儲存乙個同樣長度的金鑰,如果明文已經可以很好的儲存了,那何必多做一步加密呢?

雖然一次性密碼本有這麼多缺點,但是他給其他的加密演算法以啟發,於是後來產生了很多個變種。

判斷:錯

原因:密碼只是資訊保安的一部分。假如alice給bob傳送加密郵件。即便不去破解密碼演算法,也依然會有很多方法能夠知道alice所傳送的郵件內容。例如,攻擊者可以不去嘗試破譯經過加密的郵件,而是轉而攻擊alice的電腦以獲取加密之前的郵件明文。

再比如社會工程學攻擊。例如,辦公室的內線**響起,**裡說:「你好,我是it部門。由於需要對您的電腦進行安全檢查,請將你的密碼臨時改為xr2315.」而實際上撥打**的有可能就是一名攻擊者。

上面提到的這些攻擊手段,都與密碼的強度毫無關係。要保證良好的安全性,就需要理解「系統」這一概念本身的性質。複雜的系統就像一根由無數個環節相連組成的鏈條,如果用力拉,鏈條就會從其中最脆弱的環節處斷開。因此,系統的強度取決於其中最脆弱的環節的強度。但是最脆弱的環節並不是密碼,而是人類自己。

密碼常識測試

1.很多企業和技術人文都有下面這樣的想法 由公司或自己開發一種密碼演算法,並將這種演算法保密,這樣就能保證安全。2.使用地低強度的密碼演算法,比如凱撒密碼,也比完全不加密更安全。3.一次性密碼本 one time pad 或一次一密是無法被破解的,所以日常的資料加密應該使用一次性密碼本演算法。4.只...

密碼常識測試

很多企業和技術人文都有下面這樣的想法 由公司或自己開發一種密碼演算法,並將這種演算法保密,這樣就能保證安全。論點錯誤 因為我們不應該製作或使用任何保密的密碼演算法,而是應該使用那些已經公開的 被公認為強度較高的密碼演算法。這樣做的原因主要有以下兩點 1,密碼演算法的秘密早晚會公諸於世 從歷史上看,密...

密碼常識測試

1.很多企業和技術人文都有下面這樣的想法 由公司或自己開發一種密碼演算法,並將這種演算法保密,這樣就能保證安全。2.使用低強度的密碼演算法,比如凱撒密碼,也比完全不加密更安全。3.一次性密碼本 one time pad 或一次一密是無法被破解的,所以日常的資料加密應該使用一次性密碼本演算法。4.只要...