加解密+签名+证书
密鑰
依賴密鑰而不依賴加密算法(私有的加密算法不靠譜)
密鑰長度決定密鑰空間和加解密速度
CEK:內(nèi)容密鑰
KEK:密鑰的密鑰
鹽(隨機數(shù)):防字典(攻擊)
對稱加密:密鑰配送問題
加密模式
(加密數(shù)據(jù)有可能比一次能加密的長度長)
分組加密:分組迭代加密 (加密的長度有限制),分組模式ECB、CBC、CFB、OFB、CTR
流加密:直接整體加密
加解密
RSA:大整數(shù)的質(zhì)數(shù)分解(非對稱) 加密(e,n):msg^e mod n , 解密(d,n):emsg^d mod n
ECC:(非對稱)
ECIES: (KA+KDF+ENC+MAC+Hash)
AES:(對稱) 密鑰長度限制:128、192、256位
RC4:(對稱)
DES:(對稱)
3DES:(對稱) ((msg*DES_Key1)*^DES_Key2)*DES_Key3
協(xié)商密鑰
DH:密鑰協(xié)商算法(使用質(zhì)數(shù)建立的公私鑰對,在一個不安全的通道中,建立起安全的共有對稱加密密鑰)
ECDH:密鑰協(xié)商算法(使用由橢圓曲線加密建立的公私鑰對,在一個不安全的通道中,建立起安全的共有對稱加密密鑰)
哈希
(固定長度,單向,不碰撞)
MD5:128位 (不安全)
SHA1:(不安全)
SHA256
SHA512
SHA3
校驗值
CRC (data/多項式的余數(shù)) (CRC-N:最高位為1, 補N個0)
CRC8:X8+X5+X4+X0
CRC12:X12+X11+X3+X2+X0
CRC16:X16+X15+X2+X0
CRC-CCITT:X16+X12+X5+X0
CRC32:X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X1+X0
簽名
(防篡改,防偽造,防抵賴(除MAC和HMAC))
RSA hash(message)*private_key 例如:SHA256withRSA
MAC hash(key+message)
HMAC hash(key+hash(key+message)) 對稱密鑰 例如:HmacSHA256
DSA hash(message)*private_key
ECDSA hash(message)*private_key 例如:SHA256withECDSA
非對稱簽名 (hash(message))*private_key證書
(認證公鑰,防中間人)
CA簽發(fā)證書(CSR)需要認證身份
X.509(證書標準)
證書作廢(私鑰泄露、私鑰丟失、證書信息修改)
CRL(CA的廢棄證書列表)
根證書無條件信任
RSA detail
ECDH detail
https://rakhesh.com/infrastructure/notes-on-cryptography-ciphers-rsa-dsa-aes-rc4-ecc-ecdsa-sha-and-so-on/
圖解密碼技術(shù)
http://blog.csdn.net/liyuanbhu/article/details/7882789
總結(jié)
- 上一篇: android的签名问题
- 下一篇: android的指纹问题