不急不徐,持之以恒。

          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)  編輯  收藏 所屬分類: 安全
          主站蜘蛛池模板: 电白县| 台北县| 九寨沟县| 闸北区| 蓝田县| 临海市| 太和县| 浏阳市| 伽师县| 涟水县| 灵寿县| 兴和县| 漳平市| 仪征市| 通州市| 农安县| 娄底市| 开平市| 永泰县| 阜平县| 黄骅市| 通江县| 肇庆市| 青浦区| 宜兰县| 汕尾市| 昔阳县| 修文县| 鄂托克前旗| 花垣县| 霍林郭勒市| 南充市| 娄烦县| 乐陵市| 乐山市| 乌鲁木齐县| 临海市| 浮梁县| 华蓥市| 东莞市| 冕宁县|