tinysmpc in php, source: https://github.com/kennysong/tinysmpc
<?php require(__DIR__ . '/utils.php'); require(__DIR__ . '/PrivateScalar.php'); require(__DIR__ . '/Share.php'); require(__DIR__ . '/SharedScalar.php'); require(__DIR__ . '/VirtualMachine.php'); $vm_a = new VirtualMachine("alice"); $vm_b = new VirtualMachine("bob"); $vm_c = new VirtualMachine("charlie"); $a = new PrivateScalar("25", $vm_a); $b = new PrivateScalar("50", $vm_b); $c = new PrivateScalar("10", $vm_c); $shared_a = $a->share([$vm_a, $vm_b, $vm_c]); $shared_b = $b->share([$vm_a, $vm_b, $vm_c]); $shared_c = $c->share([$vm_a, $vm_b, $vm_c]); $output = $shared_a->add($shared_b)->sub($shared_c); var_dump($shared_a->reconstruct($vm_a)->value, $shared_b->reconstruct($vm_b)->value, $shared_c->reconstruct($vm_c)->value); var_dump($output->reconstruct($vm_a)->value, $output->reconstruct($vm_b)->value, $output->reconstruct($vm_c)->value); - prime size Q
- multiplication
- comparason
- divide
- orhers...