討論:密碼學
密碼學屬於維基百科技術主題的基礎條目擴展。請勇於更新頁面以及改進條目。 本條目頁依照頁面評級標準評為初級。 本條目頁屬於下列維基專題範疇: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Untitled
編輯這條條目的內容出自瑞星軟體的網站,因此版權應該屬於瑞星,似乎有違反GNU自由文檔協議之嫌.所以先放到這裡做參考.而且本文也不適合做百科全書的條目.希望大家能參考以下內容,但儘量使用原創的文章.詳悉關於版權的問題還是參考Wikipedia:版權資訊--Formulax 2003年1月17日 07:49 (UTC)
本文出自: http://211.101.232.5/safety/safetyschool/safetylesson/1219mmx.htm
到目前為止,我們已經對網絡的基礎知識有了相當的了解,並且連TCP/IP協議都知道了不少,好現在我要問你一個非常簡單的問題——放心,不是測驗,這個問題就是:你有免費電子郵件嗎?——99.99%的可能性是有,是吧?(什麼?你還沒有?搞不懂你,快去申請一個!!!)接下來告訴你一個比較那個的事實,嘿嘿,你知不知道,你的郵件在網上是以明文的形式傳輸的?呵呵,不知道了吧——OK,恩哼,大家做好了,現在開始講課!!
上面我們已經知道了加密的必要性,現在我們以一個實例來看看加密的過程。假設你想通過Internet給你表妹送條秘密消息,於是你打算對其進行加密。你通過一種複雜的方式將其變為不規則碼的加密信息,除了你的表妹沒有人能把它解釋成可以讀懂的文件,而她之所以能把它讀懂,也只是因為你給了她一個解密方法,她將用它把加密的消息變得規則,恢復它的真實面貌。常規的單密鑰加密方法是:在你使用它加密之前,把加密密碼告訴她。例如,一個簡單的單密鑰加密方法是把原信息中的字母按字母表的順序依次移動3位。這樣,單同DOG變為GRJ,下面的表顯示了一行被用單密鑰加密方案加密的文檔。
H a p p y n e w y e a r K D S S A C Q H Z C A H D U
你表妹收到你的消息後,將字母按字母表的順序向後移動3位即可解密——解出來原來是這麼一句話,立即活活氣死。默哀三分鐘。從中我們提煉出加密解密的過程如下圖:
好了,這基本上就是加密解密的過程,當然後面我們還會講到對不同的密鑰體系它的過程又有所複雜,所以我們現在就講密鑰體系。
密鑰體系 如果以密鑰為標準,可將密碼系統分為單鑰密碼(又稱為對稱密碼或私鑰密碼)體系和雙鑰密碼(又稱為非對稱密碼或公鑰密碼)體系。哦,對了,所謂密鑰差不多可以理解成密碼。
在單鑰體制下,加密密鑰和解密密鑰是一樣的,或實質上是等同的,這種情況下,密鑰就經過安全的密鑰信道由發方傳給收方。單鑰密碼的特點是無論加密還是解密都使用同一個密鑰,因此,此密碼體制的安全性就是密鑰的安全。如果密鑰洩露,則此密碼系統便被攻破。最有影響的單鑰密碼是1977年美國國家標準局頒布的DES算法。單鑰密碼的優點是:安全性高。加解密速度快。缺點是:1)隨著網絡規模的擴大,密鑰的管理成為一個難點;2)無法解決消息確認問題;3)缺乏自動檢測密鑰洩露的能力。
而在雙鑰體制下,加密密鑰與解密密鑰是不同的,此時根本就不需要安全信道來傳送密鑰,而只需利用本地密鑰發生器產生解密密鑰即可。雙鑰密碼是:1976年W.Diffie和M.E.Heilinan提出的一種新型密碼體制。由於雙鑰密碼體制的加密和解密不同,且能公開加密密鑰,而僅需保密解密密鑰,所以雙鑰密碼不存在密鑰管理問題。雙鑰密碼還有一個優點是可以擁有數字簽名等新功能。最有名的雙鑰密碼體系是:1977年由Rivest,Shamir和Ad1eman人提出的RSA密碼體制。雙鑰密碼的缺點是:雙鑰密碼算法一般比較複雜,加解密速度慢。
因此,網絡中的加密普遍採用雙鑰和單鑰密碼相結合的混合加密體制,即加解密時採用單鑰密碼,密鑰傳送則採用雙鑰密碼。這樣既解決了密鑰管理的困難,又解決了加解密速度的問題。目前看來,這種方法好象也只能這樣了。
密碼算法 我們前面已經提到了關於密碼算法的問題,現在我們就簡單的來看一看常用的幾種密碼算法。其中最著名的(好象也是最悠久的?)就是DES算法了。DES是一種單鑰密碼算法,它工作起來簡直就是典型的分組方式,它的基本思想是將二進制序列的明文分成每64位一組,用長為64位的密鑰對這些明文進行16輪代換和置換加密。最後形成密文。它的巧妙之處就在於,除了密鑰輸入順序之外,其加密和機密的步驟完全相同,從而在製作DES晶片時很容易達到標準化和通用化,非常適合現代通信的需要。但不幸的是,由於它時間久遠,從而成為古往今來的黑客們樂此不疲的攻擊對象,目前黑客已經可以在20小時內成功的破掉它(只要有一個好的工具)。所以咱就不好意思再說它了。而在公鑰密碼系統中,最常用的就是RSA算法了,RSA算法簡單的說來是這樣的:先找出兩個非常大的質數P和Q,算出N=(P*Q),找到一個小於N的E,使E和(P-1)*(Q-1)互質。算出數D,使D*E=1 MOD (P-1)*(Q-1)。公用密鑰為(E,N),私鑰為(D,N),用戶可以銷毀P和Q。這種算法的保密性非常好。但是由於RSA涉及到高次冪運算,所以用它實現速度比較慢。 OK,好象講的太深了?好把,那今天我們就講到這裡拉,明天還有更深的在後面,好好消化消化哦!
外部連結已修改
編輯各位維基人:
我剛剛修改了密碼學中的1個外部連結,請大家仔細檢查我的編輯。如果您有疑問,或者需要讓機器人忽略某個連結甚至整個頁面,請訪問這個簡單的FAQ獲取更多信息。我進行了以下修改:
- 向 http://www.murky.org/cryptography/index.shtml 中加入存檔連結 https://web.archive.org/web/20040609180803/http://www.murky.org/cryptography/index.shtml
有關機器人修正錯誤的詳情請參閱FAQ。
外部連結已修改
編輯各位維基人:
我剛剛修改了密碼學中的4個外部連結,請大家仔細檢查我的編輯。如果您有疑問,或者需要讓機器人忽略某個連結甚至整個頁面,請訪問這個簡單的FAQ獲取更多信息。我進行了以下修改:
- 向 http://www.tcs.hut.fi/~helger/crypto/ 中加入存檔連結 https://web.archive.org/web/20040210212414/http://www.tcs.hut.fi/~helger/crypto/
- 向 http://www.rsasecurity.com/rsalabs/faq/index.html 中加入存檔連結 https://web.archive.org/web/20040401123210/http://www.rsasecurity.com/rsalabs/faq/index.html
- 向 http://www.mindspring.com/~schlafly/crypto/faq.htm 中加入存檔連結 https://web.archive.org/web/20040423165953/http://www.mindspring.com/~schlafly/crypto/faq.htm
- 向 http://home.ecn.ab.ca/~jsavard/crypto/jscrypt.htm 中加入存檔連結 https://web.archive.org/web/20040402055610/http://home.ecn.ab.ca/~jsavard/crypto/jscrypt.htm
有關機器人修正錯誤的詳情請參閱FAQ。