code

2017年7月21日 星期五

Cryptography筆記11 - 其他的Block cipher攻擊

Attacks on implementation

implementation如果沒考慮到一些已知的attacks的話,會很慘!
例如side channel attacks,利用觀察encryption/decryption的電力消耗,也有可能找出secret key

或是fault attacks,利用物理性的使紀錄加密資料的裝置出錯,有可能會在block cipher最後一個round時洩漏secret key! @@

所以絕對不要自己implement這些crypto primitives,既然稱為primitives就代表已經有其他公正機構(e.g. OpenSSL) 幫我們考慮到了這些implementation attacks!


Linear and differential attacks

此類攻擊的動機是,能否找出比exhaustive key search attack更快速的攻擊。

這是對DES 的s-boxes的攻擊,記得之前說過s-boxes的mapping不能是linear,但已知DES5th s-boxes有些微的linearity bias,這使得attacker知道message 和ciphertext 能夠得知key的一些資訊。

可以用以下式子檢驗:

如果沒有bias的話,epsilon應該等於0,但是DES的s-boxes linearity使得epislon ~= 1/(2^21)

如何使用此攻擊過程省略,總之可以把攻擊DES時間降低到2^43 << 2^56 (Exhaustive search),不過前提是必須要獲得2^42個m/c pairs。

教訓就是,不要自己設計cipher!!!!!!!!!!!!! 5th sbox的linearity (儘管很輕微)都可能遭遇未知方法的攻擊,所以只能用已知的public cipher,至少已知的攻擊都有防範。


Quantum attacks

名子聽起來很威! 假設一個問題是海底撈針,也就是在某個domain space中找出某幾個特定答案,那只能透過exhaustive search (假設沒有其他快捷的演算法)。

如果有量子電腦呢? 已經證明透過量子演算法,可以把search time降低到平方根的量級!  這讓128-bit AES也只需要2^64 時間就能破解key,這時一定要換成AES-256。

不過是否能有真正的量子電腦還是個問題。

沒有留言:

張貼留言