diff --git a/src/shamira.py b/src/shamira.py new file mode 100644 --- /dev/null +++ b/src/shamira.py @@ -0,0 +1,18 @@ +import os + +import gf256 + + +def shareByte(secretB,k,n): + assert n<255 + coefs=[int(secretB)]+[int(b) for b in os.urandom(k-1)] + points=[gf256.evaluate(coefs,i) for i in range(1,n+1)] + return points + + +def generate(secret,k,n): + shares=[shareByte(b,k,n) for b in secret] + return [(i+1, [s[i] for s in shares]) for i in range(n)] + + +print(generate(b"key",2,3))