code

2017年7月22日 星期六

Cryptography筆記12- AES

Substitution-Permutation network

每個round包含一個subsitution layer以及一個permutation layer,所有的block bits都被改變,跟Fiestel network不一樣:



substitution layer和permutation layer都要inverisble,要不然無法decrypt:




AES 128

詳細schema如下:



Byte substitution只是單純的lookup table byte replacement:

substitution table可以real-time compute或是runtime compute,tradeoff就是code size vs speed。

ShiftRow就單純的permutation:

Mix columns就是把columns做linear transformation (apply matrix to each column):



Attacks on AES

1. key recovery attack:想要找出AES 128 key的最快方法,目前已知與2^126次方的key space search相當,所以只比exhaustive search快了四倍,仍然是相當安全(key space超過90 bits就相當安全)。

2. related key attack: 如果給予2^99 CT/PT pairs,其中至少有4組related keys (npt totally independent / random),則AES 256能被找出key在2^99 key space search時間內,但仍然相當安全,不過search space降低的幅度相當驚人從2^256 => 2^99。


沒有留言:

張貼留言