How do I separate an encryption key into parts?

aes, encryption, key, key-management, xor

Solution

Pick two other 128 bit values at random (random_1 and random_2), then work out the equations to see how it works:

`key ^ random_1 = xor_1`

Now split xor_1 the same way:

`xor_1 ^ random_2 = xor_2`

Flipping that equation around, we get:

`xor_1 = xor_2 ^ random_2`

Now substitute back into the first equation:

`key = random_1 ^ xor_2 ^ random_2`

So your code will just do `xor = key ^ random_1 ^ random_2` and you distribute everything but the key.

Problem

I have a 128 bit encryption key that I would like to break up into three parts that when XOR'ed together reproduce the key. How do I do this?

Original source