PHP Shamir's Secret Sharing implementation. Inspired by hashicorp vault shamir. Compatible with Simple Shamir's Secret Sharing (s4).
- PHP 7.4 or higher.
The package could be installed with composer:
composer require unitpay/shamir --prefer-distSplit secret to parts with threshold
$secret = 'Some super secret';
$parts = 5;
$threshold = 3;
$shares = Shamir::split($secret, $parts, $threshold);Reconstruct shares
$recoveredSecret = Shamir::reconstruct([$parts[1], $parts[0], $parts[3]]);The package is tested with PHPUnit. To run tests:
./vendor/bin/phpunitThe package tests are checked with Infection mutation framework with Infection Static Analysis Plugin. To run it:
./vendor/bin/roave-infection-static-analysis-pluginThe code is statically analyzed with Psalm. To run static analysis:
./vendor/bin/psalmIt is released under the terms of the MIT License.
Please see LICENSE for more information.


