You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Shamir secret sharing is an algorithm for splitting data into multiple shares, a subset of which can then be combined to reconstruct the original secret. This library aims to provide javascript bindings for dsprenkles/sss implementation of this algorithm using Web Assembly.
Background
Currently there are bindings for sss in node.js. However this code will not run in the browser since it uses node binaries. By using Web Assembly it is possible to create a javascript library that works both in the browser as well as node.js.
Usage
// Import the sss libraryimport*assssfrom'sss-wasm'// Create a buffer for the data that will be shared (must be 64 bytes long)constdata=newUint8Array(64);data.fill(0x42);constamount=5;constthreshold=4;// Creating 5 shares (need 3 to restore)constshares=awaitsss.createShares(data,amount,threshold);// For demonstrational purpose, lose one of the sharesconstnewShares=[shares[3],shares[2],shares[4],shares[0]]// Restore the original secretconstrestored=awaitsss.combineShares(newShares);// Dump the original secret back to the screenconsole.log(restored)
Build
We need Emscripten toolchain installed to build wasm. More info