密碼學綜述
-
密碼的基本功能
- 機密性
- 鑑別
- 報文完整性
- 不可否認性
基本模型
演算法分類
- 訊息編碼:Base64
- 訊息摘要:MD、SHA、MAC
- 對稱密碼:DES、3DES、AES
- 非對稱密碼:RSA、DH金鑰交換
- 數字簽名:RSASignature、DSASignature
密碼學五元組
- 明文、密文、加密演算法、解密演算法、金鑰。加解密演算法不是密碼安全性的關鍵,關鍵在於金鑰。金鑰不等於密碼。說白了金鑰就是口令 。而密碼 = 金鑰 + 規則
對稱密碼(傳統密碼)與非堆成密碼(公鑰密碼)
- 對稱密碼:加解密使用相同的金鑰密碼體制
- 非對稱密碼:加解密使用不同的金鑰——公鑰與私鑰
JAVA程式設計中常用加密演算法類
-
訊息編碼
- BASE64Encoder、BASE64Decorder
-
訊息摘要
- MessageDigest
-
對稱密碼
- KeyGenerator、SecretKey、Cipher
-
非對稱密碼
- KeyPairGenerator、KeyFactory、KeyPair、PublicKey、PrivateKey、Cipher
-
數字簽名
- Signature
Base64 在Java程式設計中的使用。
sun.misc.** JAR包。或者是Apache 提供的commons coderc JAR。簡單直接的使用. new Base64**Encoder[Decorder]