A-13 Chinese Remainder Theorem

- Reference 1: Brilliant – Chinese Remainder Theorem [4]

- Reference 2: YouTube – Extended Euclidean Algorithm Tutorial

Theorem A-13.1 Chinese Remainder Theorem

Suppose we have positive coprime integers n0,n1,n2,,nk. Let N = n0n1nk. We sample k + 1 random integers a0,a1,a2,,ak from each modulus n0,n1,n2,,nk (i.e., a0 n0, a1 n1, , ak nk). Then, there exists one and only one solution x mod N such that x ai(𝑚𝑜𝑑ni) for each 0 i k. That is:

x a0 mod n0

x a1 mod n1

x a2 mod n2

x ak mod nk

To compute x, we first compute each yi and zi (for 0 i k) as follows:

yi = N ni, zi = yi1 mod ni

Note that each yi’s inverse (i.e., yi1) can be computed by using the Extended Euclidean algorithm (watch the YouTube tutorial). Then, the unique solution x can be computed as follows:

x = i=0kaiyizi Alternatively, we can compute x = i=0k|aizi|niyi (where |aizi|ni = aizi mod ni)

Since such x is unique in mod  N, there are isomorphic mappings between x mod N and (a0,a1,a2,,ak).

Also, yizi (yizi)2 mod N for all 0 i k

Proof.

1.
Given x = i=0kaiyizi, let’s compute x mod ni for each i where 0 i k:

x mod ni = j=0kajyjzj mod ni

= a0y0z0 + a1y1z1 + a2y2z2 + + akykzk mod ni

= aiyizi mod ni because yj 0 mod ni for all ji, as they are a multiple of ni

= ai because yizi yiyi1 1 mod ni

Thus, the value of x in each modulo n0,n1,n2,,nk is congruent with a0,a1,a2,,ak.

Alternatively, note that the following is also true:

x mod ni = j=0k|ajzj|njyi (modni)

= |a0z0|n0y0 + |a1z1|n1y1 + |a2z2|n2y2 + + |akzk|nkyk mod ni

= |aizi|niyi mod ni

= ai

2.
Now, we prove that x is a unique solution modulo N. Suppose there were two solutions: x and x such that:

x x a0 mod n0

x x a1 mod n1

x x a2 mod n2

x x ak mod nk

Then, by definition of modulo congruence, n0(x x),n1(x x), n2(x x),  , nk(x x).

Also, since n0,n1,n2,,nk are coprime, it must be the case that n0n1n2n3nk(x x), or N(x x). This means that x xmod N. Therefore, x is a unique solution in modulo N.

3.
Now, we will prove that yizi (yizi)2 mod N for all 0 i k.

In the case of modulo ni, yizi 1 mod ni, since zi is an inverse of yi modulo ni. In the case of all other modulo nj where ij, yizi 0 mod nj, because yi = N ni and thus nj divides yi.

By squaring both sides of (yizi) 1 mod ni, we get (yizi)2 1 mod ni. Similarly, by squaring both sides of (yizi) 0 mod nj, we get (yizi)2 0 mod nj.

Therefore, yizi (yizi)2 0 mod ni, and yizi (yizi)2 0 mod nj. In other words, yizi (yizi)2 0 mod nj for all 0 j k.

Then, we do the similar reasoning as step 2: since every co-prime nj divides yizi (yizi)2, n0n1nk = N divides yizi (yizi)2. Thus, yizi (yizi)2 0 mod N, which is yizi (yizi)2 mod N. This is true for all 0 i k.


A-13.1 Application: Residue Number System (RNS)