IDEA reasons for multiplication mod 2^16 + 1
Posted on 2004-09-27
Hi.. i m not even sure if this is the correct place for this question or not...
i was looking at the International Data Encryption Algorithm, and it has three vital parts to it are:
bit-by-bit exclusive-OR of two 16-bit sub-blocks
addition of integers modulo 2^16 where the 16-bit sub-block is treated as an unsigned integer
multiplication of integers modulo (2^16) + 1 where the 16-bit sub-block is treated as an unsigned integer except that the all-zero sub-block is treated as representing 2^16
why is it that in IDEA the addition is modulo 2^16 as opposed to say, (2^16) + 1 and why is multiplication (2^16)+1 as opposed to say 2^16?