| split: -o DIR writes each share to its own file | 3 | +48 | -2 |
| split: drop --secret, read from a file or stdin only | 3 | +9 | -9 |
| tests: one share on its own looks like noise | 1 | +10 | -0 |
| readme: groups of four, not five | 1 | +1 | -1 |
| shamir: lagrange weights once per join, not once per byte | 1 | +13 | -11 |
| join: skip blank lines and # comments on stdin | 3 | +17 | -2 |
| tests: the cli, end to end through a subprocess | 1 | +70 | -0 |
| readme: a worked example | 1 | +16 | -2 |
| join: check shares past the first k against them | 3 | +30 | -5 |
| 1.0 | 2 | +4 | -1 |
| cli: plain errors instead of tracebacks | 1 | +5 | -1 |
| move the join checks out of the cli | 3 | +98 | -18 |
| tests: every k-subset rebuilds, for more k, n and lengths | 1 | +37 | -8 |
| codec: reject padding bits that aren't zero | 2 | +22 | -0 |
| join: say so when the same share is given twice | 1 | +5 | -0 |
| join: write the secret as raw bytes | 1 | +1 | -1 |
| readme | 1 | +43 | -0 |
| cli: tally split and tally join | 3 | +64 | -1 |
| codec: read o as 0, and i or l as 1 | 2 | +11 | -0 |
| codec: crc32 on the end, so a typo gets caught | 2 | +21 | -4 |
| codec: a share as one line of base32 | 2 | +123 | -0 |
| pyproject | 1 | +12 | -0 |
| tests for split and combine | 1 | +38 | -0 |
| shamir: split and combine, one byte at a time | 1 | +42 | -0 |
| gf256: add, mul, div via log tables | 5 | +104 | -0 |