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。
沒有留言:
張貼留言