Hi now i have the failure in my patch. i excuse for the spamming and foolness. happy coding Frederik Removed the temporary variable t which is not needed working copy of p. Operator ? removed out of loop by false case. Signed-off-by: Frederik Sdun <fs_1600@xxxxxx> --- linux-2.6/crypto/aes.c.orig 2007-07-15 11:43:21.000000000 +0200 +++ linux-2.6/crypto/aes.c 2007-07-18 23:40:49.000000000 +0200 @@ -135,7 +135,7 @@ f_mult (u8 a, u8 b) static void __init gen_tabs (void) { - u32 i, t; + u32 i; u8 p, q; /* log and power tables for GF(2**8) finite field with @@ -157,8 +157,11 @@ gen_tabs (void) p = (p << 1) ^ (p & 0x80 ? 0x01b : 0); } - for (i = 0; i < 256; ++i) { - p = (i ? pow_tab[255 - log_tab[i]] : 0); + sbx_tab[0] = 0x63; + isb_tab[0x63] = 0; + + for (i = 1; i < 256; ++i) { + p = pow_tab[255 - log_tab[i]]; q = ((p >> 7) | (p << 1)) ^ ((p >> 6) | (p << 2)); p ^= 0x63 ^ q ^ ((q >> 6) | (q << 2)); sbx_tab[i] = p; @@ -168,38 +171,36 @@ gen_tabs (void) for (i = 0; i < 256; ++i) { p = sbx_tab[i]; - t = p; - fl_tab[0][i] = t; - fl_tab[1][i] = rol32(t, 8); - fl_tab[2][i] = rol32(t, 16); - fl_tab[3][i] = rol32(t, 24); + fl_tab[0][i] = p; + fl_tab[1][i] = rol32(p, 8); + fl_tab[2][i] = rol32(p, 16); + fl_tab[3][i] = rol32(p, 24); - t = ((u32) ff_mult (2, p)) | + p = ((u32) ff_mult (2, p)) | ((u32) p << 8) | ((u32) p << 16) | ((u32) ff_mult (3, p) << 24); - ft_tab[0][i] = t; - ft_tab[1][i] = rol32(t, 8); - ft_tab[2][i] = rol32(t, 16); - ft_tab[3][i] = rol32(t, 24); + ft_tab[0][i] = p; + ft_tab[1][i] = rol32(p, 8); + ft_tab[2][i] = rol32(p, 16); + ft_tab[3][i] = rol32(p, 24); p = isb_tab[i]; - t = p; - il_tab[0][i] = t; - il_tab[1][i] = rol32(t, 8); - il_tab[2][i] = rol32(t, 16); - il_tab[3][i] = rol32(t, 24); + il_tab[0][i] = p; + il_tab[1][i] = rol32(p, 8); + il_tab[2][i] = rol32(p, 16); + il_tab[3][i] = rol32(p, 24); - t = ((u32) ff_mult (14, p)) | + p = ((u32) ff_mult (14, p)) | ((u32) ff_mult (9, p) << 8) | ((u32) ff_mult (13, p) << 16) | ((u32) ff_mult (11, p) << 24); - it_tab[0][i] = t; - it_tab[1][i] = rol32(t, 8); - it_tab[2][i] = rol32(t, 16); - it_tab[3][i] = rol32(t, 24); + it_tab[0][i] = p; + it_tab[1][i] = rol32(p, 8); + it_tab[2][i] = rol32(p, 16); + it_tab[3][i] = rol32(p, 24); } } - To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html