Thursday, December 11, 2008

Chinese remainder theorem

The Chinese Remainder Theorem provides an elegant way to uniquely "break down" a large integer into smaller integers by giving it modulo the first few primes. Here's everybody's favorite internet meme integer: 0 1 0 5 9 3 7 0 19 19 21 30 30 30 15 25 11 42 3 70 56 46 39 8 9 15

It's interesting that the product of the first 26 primes nearly equals 2128. There are 26 letters in the alphabet, suggesting steganographic and mnemonic possibilities for a 128-bit key.

Using a denser set of 24 moduli, allowing prime powers:

matsolvemod(matrix(24,1,x,y,1), concat([2^6,3^4,5^2,7^2]~, vector(20,x,primes(24)[x+4])~), [0, 40, 15, 33, 9, 3, 7, 0, 19, 19, 21, 30, 30, 30, 15, 25, 11, 42, 3, 70, 56, 46, 39, 8]~)

No comments :