安全算法(Base64、MD5、SHA1)

名詞說明

  1. 消息摘要算法
    加密過程不需要密鑰,並且經過加密的數據無法被解密;只有輸入相同的明文數據經過相同的消息摘要算法才能得到相同的密文,主要應用在“數字簽名”領域(比如對用戶密碼加密);著名的摘要算法有RSA公司的MD5算法和SHA-1算法及其大量的變體。
  2. MD5
    MD5的作用是讓大容量信息在用數字簽名軟件簽署私人密鑰前被"壓縮"成一種保密的格式 (也就是把一個任意長度的字節串變換成一定長的十六進制數字串)(128位)。
    1. 壓縮性: 任意長度的數據,算出的MD5值長度都是固定的。
    2. 容易計算: 從原數據計算出MD5值很容易。
    3. 抗修改性: 對原數據進行任何改動,哪怕只修改1個字節,所得到的MD5值都有很大區別。
    4. 強抗碰撞: 已知原數據和其MD5值,想找到一個具有相同MD5值的數據(即僞造數據)是非常困難的。
  3. SHA1
    SHA-1與MD5 的最大區別在於其摘要比MD5 摘要長32 比特(160爲)
  4. 加密算法
    將普通的文本(或者可以理解的信息)與一串數字(密鑰)的結合,產生不可理解的密文的步驟。
  5. 密鑰
    是用來對數據進行編碼和解碼的一種算法
  6. 對稱加密
    加密密鑰和解密密鑰相同,對稱加密以數據加密標準(DES,Data Encryption Standard 56位)算法爲典型代表。另一個對稱密鑰加密系統是國際數據加密算法(IDEA 128位),它比DES的加密性好(類似於三重DES),而且對計算機功能要求也沒有那麼高。IDEA加密標準由PGP(Pretty Good Privacy)系統使用。(現在算力容易破解,少用)
  7. 非對稱加密
    加密密鑰和解密密鑰不同,加密密鑰可以公開而解密密鑰需要保密,非對稱加密通常以RSA(Rivest Shamir Adleman)算法爲代表。(已被ISO推薦爲公鑰數據加密標準)
  8. Base64
    所謂Base64,就是說選出64個字符----小寫字母a-z、大寫字母A-Z、數字0-9、符號"+"、"/"(再加上作爲墊字的"=",實際上是65個字符)----作爲一個基本字符集。然後,其他所有符號都轉換成這個字符集中的字符。即要求把每三個8Bit的字節轉換爲四個6Bit的字節(38 = 46 = 24),然後把6Bit再添兩位高位0,組成四個8Bit的字節,也就是說,轉換後的字符串理論上將要比原來的長1/3。原文的字節不夠的地方可以用全0來補足,轉換時 Base64編碼用=號來代替(Base64編碼會以一個或兩個等號結束)。
  9. 數字簽名
    數字簽名主要用到了非對稱密鑰加密技術與數字摘要技術,數字簽名技術是將摘要信息用發送者的私鑰加密,與原文一起傳送給接收者。接收者只有用發送者的公鑰才能解密被加密的摘要信息,然後用HASH函數對收到的原文產生一個摘要信息,與解密的摘要信息對比。如果相同,則說明收到的信息是完整的,在傳輸過程中沒有被修改,否則說明信息被修改過。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章