# Create digital signature with input from multiple users?

Suppose that users A,B and C want to create a digital signature together. The users do not trust each other so, they need to create a signature that receives input from all of them.

The best way I though of was with RSA where each user performs a step of the key calculation:

• User A selects prime p
• User B selects prime q
• User C selects the e (By calculating N=(p*q) and so on...)

So now you have a set of keys where all users had an input.

My question: Is there a better way ? (preferably with more users)

Any type of signature will work, just needs input from many users.

• What problem are you trying to solve with this? Seems like XY question. – axapaxa May 17 '17 at 16:55
• So what you are looking for is a multi-party computation protocol that requires all parties to agree to a signature (which will then by consens create it) and where nobody can cheat? – SEJPM May 17 '17 at 18:12
• Here is the problem: A,B and C need to verify the integrity of a message they will receive from X who remains ANONYMOUS (so, no public key). A,B and C need to create a signature (on behalf of X) and send it to X who will use it to sign the h() of the message. For reasons I can not explain, if the signature were to be computed by just 1user, then he would had been able to impersonate X. – Gent May 17 '17 at 19:31
• It sounds like what you want is a threshold signature scheme: from Wikipedia, "it is possible to define (t,n)-threshold signature scheme, where at least t parties are required for creating a signature". Does that sound like it meets your needs? – mikeazo May 17 '17 at 19:57
• Correct me if i'm wrong but in threshold signatures you need ONE trusted party to generate the key which is broken down into smaller parts and given to all the users who need to work together in order to use it. What i need is for the key to be generated with the cooperation of MANY users with no trusted party. – Gent May 17 '17 at 20:32