В течении прошлой недели покопался с AES’ом. Раньше для меня это был совсем уж черный ящик — данные и ключ на вход, зашифрованные данные на выходе. Решил, что пора заглянуть под крышку капота.
Если кому интересно. Отличное объяснение того, как оно работает находится тут (в виде комиксов).
Ну, что могу сказать. Результаты следующие
а) Я могу написать сейчас AES по памяти. Алгоритм оказался удивительно простой.
б) Хотя я понял всю математику которой он пользуется, понимания почему он был так задизайнен увеличилось очень слабо.
в) По ходу, у меня пришла идея как потенциально его можно было бы взломать. Повозился с этим (ясен пень ничего от этого не ожидал и ничего не вышло), но оказывается, что то что я придумал — это вполне стандартная идея описанная в линейном криптоанализе. (Увы, ничего нового не придумано, но все равно приятно самому было дойти до этой идеи).
г) Пришлось вспомнить алгоритм Эвклида (для вычисления наибольшего общего кратного). Так сказать не прошло и 20 лет (где-то с 3-4 класса), как мне понадобились знания, которые почему-то в школе никто не объяснил куда нужно применять.
В общем, приятно покопался и размял мозг математикой.