After first look, in ~3 minutes, I see following weaknesses:
1. Weak keys:
If all key values are x*32, then in the all iterations,
rotation shift values (mod1, mod2) always will be 0.
Hence, rotation block will be not work for these weak keys.
2. Obvious:
If key is "all 0-s", and plaintext also "all 0-s", cyphertext also will
be "all 0-s".
3. In the cipher, you make 128 rounds, and in the each round you make
addition/subtraction.
Do you know, code:
for(i = 0; i <= 127; i++)
x += y;
absolutely equals to:
x += y << 8;
Make attention, lowest byte of x is unchanged after this operation.
This is serious weakness, and I assume, linear cryptanalysis will be
effective against this cipher.
Thank you,
Oleg H.
Oleg Khovayko <"[my_last_name]"@gmail.com> wrote:
> Do you know, code:
>
> for(i = 0; i <= 127; i++)
> x += y;
>
> absolutely equals to:
> x += y << 8;
x += y << 7;
> Make attention, lowest byte of x is unchanged after this operation.
Almost. Its highest bit could be changed.
Greets,
Ertugrul.
--
nightmare = unsafePerformIO (getWrongWife >>= sex)