XOR Seed Splitting
A simple 2-of-3 seed splitting scheme for BIP39 seed phrases by Ruben Somsen.
Encrypt
- Split your 24 seed words into share_A and share_B of 12 words each.
- Pairwise XOR the words of the first share with the second share to derive the 12 words of share_C, the backup.
backup_1 = word_1 xor word_13
backup_2 = word_2 xor word_14
backup_3 = word_3 xor word_15
...
backup_12 = word_12 xor word_24
Decrypt
- If you have share_A and share_B just combine them.
- If you have the backup share_C and share_B then pairwise xor the words to derive the share_A.
word_1 = word_13 xor backup_1
word_2 = word_14 xor backup_2
word_3 = word_15 xor backup_3
...
word_12 = word_24 xor backup_12