To me it is interesting that you can have a set of N vectors, a basis, and compose any target vector of N dimensions using some subset of the basis.
It's like the basis holds within it the essential ingredients for any other vector.
Think about N=64, a quad word, and think of its bits as coefficients. Only 64 values are required to construct, via addition (xor), any of the 2^64 == 18,446,744,073,709,551,616 possible values.
It is surprisingly easy to generate a basis. You can simply generate the vectors at random, and apply Gauss-Jordan reduction to determine linear independence. When linear DEPENDENCE is discovered (by a vector going to zero during the reduction process), the original vector can be toggled and the process repeated.
See it implemented in generate_basis_gf2.cpp in filedump.
Usually [0..2] adjustments/repeats are needed. Once in a long while (about 20 runs) you'll have a pivot position in which no equation has its coefficient set. Simply re-run the prog :)
Here is one generated basis:
0x36ECDF01878AD175, 0xB6BA1594C6395658, 0x7A65F212F6442565, 0x804459B685D7497B,
0xBD20B9A87076F189, 0xF3314C16CEABA85E, 0x91204C6C87EB44A9, 0x54CD26E01D809779,
0x0046219A01D3F545, 0xC7A88B5B44F9772D, 0x39CE8CFD783A4455, 0x617D27249FC26846,
0xCA200643740AD6AD, 0x9CB8931DD2DEE83E, 0x66A8B2460D96649D, 0x3166F92B1750F745,
0xE1FFFC799B243671, 0x28017690FA8E1419, 0xC4E4123E68EB4571, 0x3CFFBCEF1D052B76,
0x039B58CCEE8D369D, 0x6C9A2DC670D0CB0A, 0x0F02298D9F4045AD, 0x484A65A08327D421,
0x9CF562B59F70161D, 0x594B2800F2531439, 0xA461CFB5E6ED250D, 0x5B5142A403710B22,
0x7617C60F68DC37E1, 0x0172F309FA01EA36, 0x5A2FD746933507F3, 0xAFC81B6708239591,
0xFD519DBE0517772C, 0x14E2B6CF64257505, 0xD9DB716A5498063F, 0xAB78DD2B82AE6A86,
0x883C3BD4522257D4, 0x70696ECAEE77AA46, 0xB1FD89D129FD26D7, 0xF67184BC1AFCB5A5,
0x221A0365A78A7618, 0xE3704904EE205571, 0x3E93AFA05A47460B, 0xC6AA01F03CDE6BB6,
0xE9DCA51BD67776F4, 0x9FC5104164A28B62, 0x84D4141AAFEAC7E7, 0x933B5A16B68994C9,
0x43B05DA2B9FC560C, 0xCB5CD74FF8F89061, 0x473030EBCA33E76F, 0x3782BF133ED98FCA,
0x94C67F904D113D80, 0xCE468A9EF2DD6F56, 0xEC5EEAD1B49FC793, 0x6C92A4D92C5F53F9,
0x3E21E069382D3D6C, 0xBEF70AD8308FB345, 0x02184E6C41F4C6DF, 0x5809E09CA20CACFE,
0x756F805A4F841D3C, 0xA36E5554B9D96C26, 0x19F6741E3049A62F, 0x0DB0311A2A3673CD