Suppose a1a2a3a4 are the 4 bytes in a 32-bit word. Each ai
can be viewed as an integer
in the range 0 to 255, represented in binary. In a big-endian architecture, this word
represents the integer
a1224 + a2216 + a328 + a4
In a little-endian architecture, this word represents the integer
a4224 + a3216 + a228 + a1
a. Some hash functions, such as MD5, assume a little-endian architecture. It is important that the message digest be independent of the underlying architecture. Therefore, to perform the modulo 2 addition operation of MD5 or RIPEMD-160 on
a big-endian architecture, an adjustment must be made. Suppose X = x1 x2 x3 x4
and Y = y1 y2 y3 y4. Show how the MD5 addition operation (X + Y) would be
carried out on a big-endian machine.
b. SHA assumes a big-endian architecture. Show how the operation (X + Y) for
SHA would be carried out on a little-endian machine.