不急不徐,持之以恒。

          http://blog.gopersist.com/

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            24 隨筆 :: 0 文章 :: 52 評論 :: 0 Trackbacks

          加密算法

          數據加密算法有對稱加密、非對稱加密和信息摘要三類。

          對稱加密是使用單個密鑰對數據進行加密和解密。有DES、AES、RC-5等算法。

          非對稱加密是使用一對密鑰(公鑰和私鑰)對數據進行加密和解密。有RSA、ECC等算法。非對稱加密大概比對稱加密慢100倍以上。

          通常的用法如下:

          1. 使用公鑰加密數據,使用私鑰解密數據。
          2. 使用私鑰簽名數據,使用公鑰驗證簽名。

          信息摘要如果也算加密算法的話,它的加密過程不需要密鑰,并且經過加密的數據無法被解密,它是根據不定長的明文計算得到一段定長的數據。有MD5、SHA1等算法。

          密鑰規范

          規范太多,網上講得很亂,挑常用的按我的理解列一下。

          密鑰格式:

          1. X.509:通用的證書格式,包括公鑰信息、用戶標識、簽發信息等。
          2. PKCS系統標準:美國RSA數據安全公司及其合作伙伴制定的一組公鑰密碼學標準。其中PKCS#8描述私有密鑰的信息格式,包括私鑰及可選的屬性集等。

          密鑰存儲:

          1. DER:二進制編碼。
          2. PEM:ASCII編碼。

          加密模式

          塊密碼自身只能加密長度等于密碼塊長度的單塊數據,若要對變長數據進行加密,則必須事先將數據進行切分,而且最后一個數據塊需要適當的填充方式擴展到密碼塊的長度。加密模式即塊密碼的工作模式,就是使用這些方式用同一個密鑰對多于一塊的數據進行加密。

          加密模式通常用于對稱加密,也可以用于非對稱加密。但非對稱加密通常不適合加密較長的信息,所以會使用混合加密代替。

          ps: 以RSA和DES為例,混合加密通常使用DES先加密明文,再使用RSA的公鑰加密DES的密鑰,再將2個密文一起傳遞出去。接收方使用RSA的私鑰解密DES的密鑰信息,再使用DES的密鑰解密具體內容。

          最簡單的加密模式是ECB(即電子密碼本)。其他還有CBC、PCBC、CFB等。

          ECB和CBC需要對最后一塊進行填充,填充方法有很多種,最簡單的是先在明文的最后填充空字符,使明文長度為密碼塊長度的整數倍。

          微信訂閱號:
          源文地址:http://blog.gopersist.com/2015/04/08/crypto/

          posted on 2015-04-13 21:51 老林 閱讀(4943) 評論(0)  編輯  收藏 所屬分類: 安全
          主站蜘蛛池模板: 兴文县| 珲春市| 兰州市| 兴和县| 都江堰市| 益阳市| 珲春市| 定州市| 宜城市| 梅河口市| 青岛市| 岐山县| 石嘴山市| 泰州市| 深州市| 宿松县| 桂阳县| 中山市| 佛坪县| 昭觉县| 揭东县| 蚌埠市| 威宁| 永仁县| 内黄县| 九江市| 景谷| 洛川县| 洪湖市| 新民市| 工布江达县| 宣武区| 黄梅县| 香港 | 会昌县| 舞钢市| 巴彦淖尔市| 茌平县| 修文县| 浑源县| 涞源县|