Fast multiplication modulo 2^16 + 1
问题 The IDEA cipher uses multiplication modulo 2^16 + 1 . Is there an algorithm to perform this operation without general modulo operator (only modulo 2^16 (truncation))? In the context of IDEA, zero is interpreted as 2^16 (it means zero isn't an argument of our multiplication and it cannot be the result, so we can save one bit and store value 2^16 as bit pattern 0000000000000000 ). I am wondering how to implement it efficiently (or whether it is possible at all) without using the standard modulo