Alice和Bob發信息, Eve在中間偷看, Mallory 試圖修改洗洗。
-
最簡單粗暴的加密:
把每個字母Rotate 幾位。但是壞人只要嘗試最多26個rotation就能破解。如果用比較frequency的話就更快
One-Time Pad
is a crypto algorithm where plaintext is combined with a random key
所以reuse key的話,一旦被發現一個message的信息 另一個消息也會被發現。這個很明顯。。。
畫重點!!!AES!!!
這些Encryption的核心是 ?a xor a = 0
0 xor anything = anything.
http://www.cnblogs.com/happyhippy/archive/2006/12/23/601353.html
ECB:
Problem: ?Relations between pi's reflected on Ci's
Better: ?CBC
使用了 Initiazation Vector, 但是無法并行
CBC的缺點: Sequential執行不能并行運算!
CTR, CFB。
概念題:
Authetification 就是證明這個data是發件人發的
Integrity是 證明數據沒被篡改。
幾種Hash function.
MD5 ? 缺點: lack of collision resistance?
SHA256 屌
MACS
用一個shared secret key k.
Tag T = MAC(K, M)
仔細看一下英文名全稱。。。發現是一個驗證碼。算是用來驗證數據有沒有被更改過的code。所以保證integrity. 雙方互相要有shared key k!
Never re-use key
劃重點:
Password加密:
大部分加密Hashing都很快,但其實慢一點是可以的,而且更好
Offline Attack
如果知道state, 那么就是可以predict的。