I have a task that needs M people to approve out of a group of N.
I can obviously implement it in software using a basic ECC signature mechanism. The code on the "server" can send request for N approvals and then send the "approval" after it receives M signatures. I need to worry about replay attacks, tie in the approval identifier properly to the data flows and ensure the counting and verifying are bug free.
I was wondering if there is a better way by using any multi-party computation or split key techniques to do this. I know HSMs use this exact functionality where they need a subset of a large group to approve by inserting their key cards to perform a sensitive operation. I am unable to find out how they implement it.
Any help or insights is appreciated. Thanks!