I'm partly unclear as to how the use of round constants in an iterated cipher makes it immune to slide attacks. I mean, I can see how it does from one perspective, but if the solution to slide attacks is by "making each round different", then shouldn't distinct round keys accomplish this, too?
1 Answer
Yes the different round keys help, but without the different round constants in key-schedule, all the rounds of key-schedule algorithm will be same. Thus these identical rounds may generate sliding round keys. For example
AES-128 uses 11 round keys, without the round constants, all the rounds of the AES key-schedule will be same. Thus there is chance that there exist two master keys $Ka$ and $Kb$, such that there corresponding round keys differ at only one place.
Suppose 11 Round keys for $Ka$ are: $ka,k1,k2,k3,k4.......k9,k10$ and 11 Round keys for $Kb$ are: $kb,k1,k2,k3,k4.......k9,k10$
if you set $Kb=k1$, then 11 Rounds for kb will be: $k1,k2,k3,k4,k5....k10,k11$
Now you see Both keys have same round keys with an offset of one except that last round key of kb and 1st round key of ka. These identical keys with offset of 1 place help in making slid pair, which is required for Slide Attack.
If each round will have different fixed round constant, generation of such identical round keys will not be possible, thus preventing Slide Attack.