Wednesday, April 23, 2014

[opealote] Cryptographic horcruxes

It is (I think) fairly straightforward to take a secret key and divide it among several "pieces" so that the original key is the xor of all the pieces, and that having any less than all the pieces is completely useless.

I'm slightly bothered by the asymmetry of this method:

horcrux i = if i == n
then xor key (fold xor 0 $ map horcrux [1..(n-1)])
else random

It is also easy to recursively create many more pieces from just one, though that piece needs to then be destroyed.

Fancier schemes in which a large enough subset suffices also exist.

No comments :