私鑰
私鑰 |
私鑰加密算法使用單個私鑰來加密和解密數據。由於具有密鑰的任意一方都可以使用該密鑰解密數據,因此必須保護密鑰不被未經授權的代理得到。私鑰加密又稱為對稱加密,因為同一密鑰既用於加密又用於解密。私鑰加密算法非常快(與公鑰算法相比),特別適用於對較大的數據流執行加密轉換。通常,私鑰算法(稱為塊密碼)用於一次加密一個數據塊。塊密碼(如 RC2、DES、TripleDES 和 Rijndael)通過加密將 n 字節的輸 入塊轉換為加密字節的輸出塊。如果要加密或解密字節序列,必須逐塊進行。由於 n 很小(對於 RC2、DES 和 TripleDES,n = 8 字 節;n = 16 [默認值];n = 24;對於 Rijndael,n = 32),因此必須對大於 n 的數據值一次加密一個塊。
目錄
簡介
基類庫中提供的塊密碼類使用稱作密碼塊鏈 (CBC) 的鏈模式,它使用一個密鑰和一個初始化向量 (IV) 對數據執行加密轉換。對於給定的私鑰 k,一 個不使用初始化向量的簡單塊密碼將把相同的明文輸入塊加密為同樣的密文輸出塊。如果在明文流中有重複的塊,那麼在密文流中將存在重複的塊。如果未經授權的 用戶知道有關明文塊的結構的任何信息,就可以使用這些信息解密已知的密文塊並有可能發現您的密鑰。若要克服這個問題,可將上一個塊中的信息混合到加密下一 個塊的過程中。這樣,兩個相同的明文塊的輸出就會不同。由於該技術使用上一個塊加密下一個塊,因此使用了一個 IV 來加密數據的第一個塊。使用該系統, 未經授權的用戶有可能知道的公共消息標頭將無法用於對密鑰進行反向工程。可以危及用此類型密碼加密的數據的一個方法是,對每個可能的密鑰執行窮舉搜索。根據用於執行加密的密鑰大小,即使使用最快的計算機執行這種搜索,也極其耗 時,因此難以實施。使用較大的密鑰大小將使解密更加困難。雖然從理論上說加密不會使對手無法檢索加密的數據,但這確實極大增加了這樣做的成本。如果執行徹 底搜索來檢索只在幾天內有意義的數據需要花費三個月的時間,那麼窮舉搜索的方法是不實用的。
評價
公鑰和私鑰就是俗稱的不對稱加密方式,是從以前的對稱加密(使用用戶名與密碼)方式的提高。用電子郵件的方式說明一下原理。 使用公鑰與私鑰的目的就是實現安全的電子郵件,必須實現如下目的:1、我發送給你的內容必須加密,在郵件的傳輸過程中不能被別人看到。 2、必須保證是我發送的郵件,不是別人冒充我的。 要達到這樣的目標必須發送郵件的兩人都有公鑰和私鑰。 公鑰,就是給大家用的,你可以通過電子郵件發布,可以通過網站讓別人下載,公鑰其實是用來加密/驗章用的。私鑰,就是自己的,必須非常小心保存,最好加上 密碼,私鑰是用來解密/簽章,首先就Key的所有權來說,私鑰只有個人擁有。公鑰與私鑰的作用是:用公鑰加密的內容只能用私鑰解密,用私鑰加密的內容只能 用公鑰解密。[1]