具體到2個問題:1.如何加密/解密一個e-mail ? 2.如何加密/解密任意一個文件 ?-*-最好能同時提供Windows下和Linux下的操作方法。謝謝。
熱心網友
公鑰密碼技術 公鑰密碼技術核心思想是使用公鑰密碼算法的用戶有一對密鑰,其中一個稱謂私鑰,用于解密消息或對消息進行數字簽名,由用戶自己使用,需妥善保存,防止泄密;另一稱為公鑰,公布在公開位置,由其他人使用,其作用是進行加密或驗證數字簽名。 假設用戶A要使用公鑰密碼技術將消息M加密傳給用戶B,用戶A首先從公開位置查詢到用戶B的公鑰PubKeyB,并用該公鑰加密消息M得到密文PubKeyB(M),然后,用戶A將密文PubKeyB(M)發送給用戶B。當用戶B收到密文PubKeyB(M)后,利用自己的私鑰PriKeyB解密密文PubKey(M)就可以得到消息M。對于以上過程,因為消息M是以密文形式傳輸的,公鑰密碼算法保證了只有擁有私鑰PriKeyB才能解密密文,所以,任何別有用心的人都無法通過網絡竊聽獲取明文消息M。從上述過程可以看出,利用公鑰密碼技術傳遞消息之前用戶A與用戶B不必通過秘密渠道協商加密密鑰,用戶A只需在公開位置查詢到用戶B的公鑰就可以了。公鑰密碼技術的這一優勢是傳統對稱密碼技術無法比擬的,它不要求通信雙方在進行通信之前通過秘密渠道協商加密密鑰。但采用公鑰密碼技術加密信息的速度遠遠低于采用傳統對稱密碼技術加密信息速度。因而,在應用中經常首先利用公鑰密碼技術傳遞傳統對稱密碼技術所需要的加密密鑰,然后再使用傳統對稱密碼技術加密所需傳遞的信息。 公鑰密碼技術的另一個優勢就是消息發送者可以利用自己的私鑰對發送消息進行數字簽名,而消息接收者使用發送者的公鑰可以驗證發送者所作的數字簽名。通過驗證數字簽名可以保證消息來源的真實性,也可以防止發生糾紛時消息發送者對發送過的消息進行抵賴。另外,數字簽名還可以保證數據的完整性,因為消息篡改者無法為篡改后的消息消息偽造原始發送者所要做的數字簽名。 在實際應用中,每一個用戶通常有兩對密鑰:一對專門用來進行加解密,另一對專門用戶進行數字簽名與驗證數字簽名。對應的公鑰分別稱為加密公鑰,驗證簽名公鑰,對應的私鑰分別稱為解密私鑰,數字簽名私鑰。 根據公鑰技術的特點,用戶的公鑰是存放在公開位置的,需要使用時可以到公開位置查詢,這樣可以大大簡化對密鑰的管理。然而利用公鑰密碼技術實現數據傳輸安全并不意味著不存在密鑰管理問題。如果用戶B存放在公開位置的公鑰被不法用戶D替換為自己的公鑰,用戶A使用用戶B的公鑰加密信息,不法信息使用自己的私鑰就可以解密通過網絡傳輸的密文。因此在利用公鑰密碼技術實現數據的安全傳輸時,必須采取措施讓用戶確信自己使用的公鑰確實是它所期望的用戶的公鑰。利用公鑰基礎設施PKI可以使用用戶能夠判斷自己所使用的公鑰正是所期望的公鑰。二、認證機構CA與公鑰證書 根據公鑰密碼技術原理,要想在Internet上進行安全的數據傳輸,必須保證其中一方擁有另一方的公鑰。如何在廣域網上安全得到對方的公鑰,以防止假日攻擊,止前主要依賴認證機構CA來實現。認證機構CA是可信的權威機構,其權威性首先體現在它的所有用戶都知道其驗證簽名公鑰及加密公鑰。CA的用戶U首先在CA注冊,并提交自己的公鑰。當注冊成功,也就是CA驗證了用戶U身份的真實性后,CA就將用戶名U,用戶的公鑰及另外一些用戶屬性放在一個文本中,對所形成的文本進行數字簽名處理。文本及CA對文本的簽名信息,就形成用戶A的公鑰證書。認證機構CA作為可信權威機構其可信性體現在CA能保證書中的用戶名與公鑰是致的,也就是說CA能保證基所簽署的標識為用戶A的證書中的公鑰一定是用戶A的,而且證書中的有關屬性是正確的。有了CA,用戶擁有了公鑰證書,廣域網上方便快捷的安全的通信便成為了可能。三、公鑰基礎設施的結構 公鑰基礎設施系統通常包括認證機構CA、證書與CPL數據存儲區和用戶三部分,其中用戶包括證書申請者與證書使用者,如圖1所示。 公鑰證書申請者首先要生成自己的公私鑰對,并將公鑰與自己的身份證明材料提交給認證機構CA。認證機構CA通過用戶提供的身份證明材料,驗證用戶的身份。如果用戶提供的身份證明材料真實可信,認證機構CA為用戶登記注冊,并使用自己的私鑰為用戶簽發公鑰證書。公鑰證書的結構如圖2所示,從中可以看出公鑰證書通常包括三部分內容:需要簽名部分、簽名算法部分和簽名值部分。 需要簽名部分包括證書版本號,序列號,持有者(證書主體)的公鑰,有效期及其他相關信息。簽名算法部分的內容標識CA對證書進行數字簽名所使用的公鑰簽名算法。簽名值部分包含的是CA使用簽名算法部分所標識的簽名算法,使用自己的簽名私鑰對需要簽名部分進行數字簽名的簽名結果。 認證機構CA將其簽發的用戶公鑰證書公布在公開位置,如圖1中的數據存儲區。從圖1中可以看出,數據存儲區中除了存放用戶公鑰證書之外,還存放證書吊銷列表CRL(Certificate Revocation List),它列出了由于種種原因而吊銷了的證書。 當用戶A要使用用戶B的公鑰進行安全數據傳輸時,用戶A首先在公鑰基礎設施的存儲區查詢用戶B的公鑰證書,然后使用認證機構CA的驗證簽名公鑰驗證證書中CA的數字簽名。如果CA的數字簽名正確,用戶A還需要檢查用戶B的公鑰證書是否被吊銷,這需要通過查詢認證機構CA公布的CRL來實現。當用戶B的公鑰證書中CA的數字簽名有效,且公鑰證書沒有被列入CRL時,用戶凡可以放心地使用用戶B的公鑰證書中的公鑰進行安全數據傳輸。四、公鑰基礎設施提供的服務 公鑰基礎設施作為網絡數據安全傳輸的基礎設施通常提供下列服務: 提供進行密碼操作的密碼模塊。用戶使用這些密碼模塊可以進行加解密操作,也可以利用這些模塊進行數字簽名,驗證數字簽名,生成公私鑰對,生成會話密鑰與用戶口令。 為用戶提供證書服務。公鑰基礎設施可以幫助用戶生成證書申請,也可以為用戶簽發證書,同時也可以為用戶驗證證書的有效性,如證書是否過期,是否已經被吊銷等。 為用戶提供密鑰管理服務。包括密鑰的生成,密鑰備份,密鑰存儲,密鑰恢復,密鑰查詢等。五、公鑰基礎設施的應用前景 PKI作為網絡信息安全的基礎設施,在給企業或組織提供可靠的安全性的同時,也可以為企業節省開支,最大可能地利用現有投資,并可以不斷嗇新的安全模塊。特別是隨著Internet的發展,基于開放式網絡的電子設備應用不斷深入,PKI作為保障電子商務安全的基礎,在整個網絡的安全交易中起著核心的作用,必將會得到更大的發展。另外,為了打破國外信息安全領域的壟斷,特別是在基礎領域,我國的企業和研究機構更應該研制和開發具有獨立知識產權的PKI產品,構筑我國的信息安全長城。 。