MultiSchnorrTPM

This is a small project that explores several ideas for construction of Schnorr multi-signatures for TPMs.

Setup

Required dependencies: TPM2-TSS, TPM2-PyTSS, SWTPM, and SageMath.

On Fedora, all dependencies are available from the package manager, see the setup in the CI workflow file.

Test

Start the TPM emulator using the provided script run-swtpm.sh:

sh run-swtpm.sh

In a separate window, run the tests in playground.sage:

sage playground.sage

Warning: When a test fails, it may not clean up after itself properly. Subsequent tests are likely to raise an "out of memory for object contexts" exception. In that case, restart the emulator by terminating the scipt and launching it again.

Useful Links

Relevant Literature