很多企業和技術人文都有下面這樣的想法∶「由公司或自己開發一種密碼演算法,並將這種演算法保密,這樣就能保證安全。":
論點錯誤
因為我們不應該製作或使用任何保密的密碼演算法,而是應該使用那些已經公開的、被公認為強度較高的密碼演算法。
這樣做的原因主要有以下兩點:
1,密碼演算法的秘密早晚會公諸於世
從歷史上看,密碼演算法的秘密最終無一例外地都會被暴露出來。拿最近的事例來說,***的密碼演算法也沒能倖免被扒皮的命運。rsa公司開發的rc4密碼演算法曾經也是保密的,但最終還是有一位匿名人士開發並公開了與其等效的程式。
一旦密碼演算法的詳細資訊被暴露,依靠對密碼演算法本身進行保密來確保機密性的密碼系統也就土崩瓦解了。反之,那些公開的演算法從一開始就沒有設想過要保密,因此演算法的暴露絲毫不會削弱它們的強度。
2,開發高強度的密碼演算法是非常困難的
要比較密碼演算法的強弱是極其困難的,因為密碼演算法的強度並不像數學那樣可以進行嚴密的證明。密碼演算法的強度只能通過事實來證明,如果專業密碼破譯者經過數年的嘗試仍然沒有破解某個密碼演算法,則說明這種演算法的強度較高。
稍微聰明一點的程式設計師很容易就能夠編寫出「自己的密碼系統」。這樣的密碼在外行看來貌似牢不可破,但在專業密碼破譯者的眼裡,要破解這樣的密碼幾乎是手到擒來。
使用低強度的密碼演算法,比如凱撒密碼,也比完全不加密更安全。:
論點錯誤
與其使用低強度的密碼,還不如從一開始就不使用任何密碼。
這主要是由於使用者容易通過「密碼」這個詞獲得一種「錯誤的安全感」。對於使用者來說,安全感與密碼的強度無關,而只是由「資訊已經被加密了」這一事實產生的,而這通常會導致使用者在處理一些機密資訊的時候麻痺大意。
早在16世紀,當時的蘇格蘭女王瑪麗就曾認為沒有人能夠破譯自己使用的密碼。正是由於對密碼的盲信,她將刺殺伊莉莎白女王的計畫明明白白地寫在了密信中,結果密碼遭到破譯,瑪麗也因此被送上了斷頭台。
一次性密碼本(one-time pad)或一次一密是無法被破解的,所以日常的資料加密應該使用一次性密碼本演算法。:
論點錯誤
但是一次性金鑰加密方式有時候非常不方便,因此現在很少有人在用這種加密方式。而正是由於這種不便性,我們實際需要的是一些理論上有些弱的加密方式,比如aes/rijndael 以及twofish 。一次金鑰的不方便性在於:
由於一次性金鑰是一種對稱加密方式,進行加密通訊的雙方需要擁有完全一樣的金鑰資料。而在某些環境下,這種條件是無法實現的,因為要想讓雙方都擁有這個金鑰,就意味著必須有一種足夠安全的方式讓雙方共享或傳遞金鑰資料,而如果有了這樣的安全環境,也就不需要再使用一次性金鑰了。而一般來說通過物理方式傳遞金鑰(比如親手交給對方)才能實現一次性金鑰的優勢。
密碼常識測試
1.很多企業和技術人文都有下面這樣的想法 由公司或自己開發一種密碼演算法,並將這種演算法保密,這樣就能保證安全。2.使用地低強度的密碼演算法,比如凱撒密碼,也比完全不加密更安全。3.一次性密碼本 one time pad 或一次一密是無法被破解的,所以日常的資料加密應該使用一次性密碼本演算法。4.只...
密碼常識測試
1.很多企業和技術人文都有下面這樣的想法 由公司或自己開發一種密碼演算法,並將這種演算法保密,這樣就能保證安全。2.使用低強度的密碼演算法,比如凱撒密碼,也比完全不加密更安全。3.一次性密碼本 one time pad 或一次一密是無法被破解的,所以日常的資料加密應該使用一次性密碼本演算法。4.只要...
密碼常識測試
1.很多企業和技術人文都有下面這樣的想法 由公司或自己開發一種密碼演算法,並將這種演算法保密,這樣就能保證安全。2.使用地低強度的密碼演算法,比如凱撒密碼,也比完全不加密更安全。3.一次性密碼本 one time pad 或一次一密是無法被破解的,所以日常的資料加密應該使用一次性密碼本演算法。4.只...