Need to write python script to distribute a Shamir key share to others
Project detail
Would need help with a Python script that uses gpg and gfshare and gfsplit to make a master key, split 5 ways with a threshold of two. Then a way to distribute the shared keys safely to key holders as part of the initial ceremony.
The python script ideally will not only generate the key, split it (with a threshold of 2), distribute it (it would go into 1password but I don’t think they have an API so this may not be possible to add to the script), but also recombine the key from at least two shares being presented.
https://www2.informatik.uni-hamburg.de/fachschaft/wiki/images/c/c9/Kbs_lightning_ws2013_gnupg_handout.pdf
http://manpages.ubuntu.com/manpages/bionic/man1/gfsplit.1.html
http://manpages.ubuntu.com/manpages/bionic/man7/gfshare.7.html
Deliverables.
A python script with a clear README (with examples) on usage to do the following:
Generate a new key to encrypt something with (like a file) using gpg
Method to split the key into 5 parts with a threshold of 2 (the minimum amount needed to reassemble the safe to decrypt an object)
Method to grab the separate shares and store them for each user (the assumption is the person running the script will fetch the split key parts from a vault and have them in front of them)
Method to use the new key to encrypt an object (like a file)
Method to recombine the shares and instructions on how to use the recombined shares (with a threshold of 2) to decrypt an object