<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);"><span style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;">Assume that I control a private key
</span><b style="font-size: 12pt; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit;">A</b><b style="font-size: 12pt; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit;"><sub>pr</sub> </b><span style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;">that
 can generate the signed message </span><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;"><b style="font-size: 12pt;">M</b><sub style="font-size: 12pt; font-weight: bold;">A</sub><b style="font-size: 12pt;"> </b><span style="font-size: 12pt;">and
 give it to local shelter and they</span><span style="font-size: 12pt;"> can exchange for goods from a nearby grocery store. Later grocery store owner can show 
<b style="background-color:rgb(255, 255, 255);font-size:12pt">M</b><sub style="background-color:rgb(255, 255, 255);font-size:12pt;font-weight:bold">A
</sub><span style="background-color: rgb(255, 255, 255); font-size: 12pt;">to me and I would pay him how much the goods costed. I use that method because I want to make sure that store owner can verify that I am indeed going to be paying the stuff people buy
 with my signature. </span>When I am away, I would want at least <b>n</b> of my <b>
m</b> children to come together and generate new signed message </span><span style="font-size: 12pt;"><b>M</b><sub style="font-weight: bold;">A</sub><b>'
</b>so that they can give it to the other shelter and the other shelter can also buy some food from the store. </span></span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;"><span style="font-size: 12pt;"><br>
</span></span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;"><span style="font-size: 12pt;">Cryptographically I can use Shamir's secret sharing scheme, however
 once my children reveals the shares they have, one child can memorize the others' secret and later recombine them to get <b style="background-color:rgb(255, 255, 255);font-size:12pt">A</b><span style="background-color:rgb(255, 255, 255);font-size:12pt"><sub style=""><b>pr</b> </sub>and
 start buying things from the store which I or my other children didn't approve. </span></span></span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;"><span style="font-size: 12pt;"><span style="background-color:rgb(255, 255, 255);font-size:12pt"><br>
</span></span></span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;"><span style="font-size: 12pt;"><span style="background-color:rgb(255, 255, 255);font-size:12pt">The
 way Bitcoin handles this is that every children signs the message and generates their own
<b>M</b><sub style="font-weight: bold;">1 </sub><b>M</b><sub style="font-weight: bold;">2
</sub><b>M</b><sub style="font-weight: bold;">3 </sub>... etc. so in my scenario I would have to let the store owner know "either see
<b>M<sub>A</sub> </b>from me or get at least <b>n</b> signed messages from <b>m</b> of my children". And I also would have to provide my children's public keys to the store owner upfront so they could know which signatures will be accepted. This solution might
 seem feasible but as the amount children I have (<b>m</b>) and signatures required (<b>n</b>) increases, it becomes a tough problem for the store owner to save each children's data and later validate each signature. </span></span></span><br>
</div>
<div style="font-family: Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;"><span style="font-size: 12pt;"><span style="background-color:rgb(255, 255, 255);font-size:12pt"><br>
</span></span></span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);"><span style="font-size: 12pt;">Is there a cryptographically
 secure way in threshold cryptography where at least </span><b style="font-size: 12pt;">n</b><span style="font-size: 12pt;"> of my children can get together and create the signed message
</span><span style="font-size: 12pt;"><b>M</b><sub style="font-weight: bold;">A </sub>
without directly accessing the private key <b style="background-color:rgb(255, 255, 255);font-size:12pt">A</b><b style="background-color:rgb(255, 255, 255);font-size:12pt"><sub>pr</sub> </b><span style="background-color:rgb(255, 255, 255);font-size:12pt">?</span></span></span></span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);"><span style="font-size: 12pt;"><span style="background-color:rgb(255, 255, 255);font-size:12pt"><br>
</span></span></span></span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);"><span style="font-size: 12pt;"><span style="background-color:rgb(255, 255, 255);font-size:12pt">I
 have thought about encapsulation like in the TOR protocol. Assuming that the youngest one of
<b>n</b> children who are going to be signing starts first with the raw data, signs it to create
<b>M<sub>youngest</sub> </b>and later the second youngest signs the  <b>M<sub>youngest</sub> </b>with their private key to generate new signed message and this keeps going on until the eldest one signs it. And they hand that final signed message + the order
 they signed to the store to get what they want. Now the store owner only receives one signed message but can verify that at least
<b>n </b>out of <b>m</b> children signed the message. The downside of this method is that the message can't be synchroniously signed. However, <span style="background-color:rgb(255, 255, 255);display:inline !important"> it reduces the amount of data transferred
 to the store. The store owner would still have to have all public keys for all of my children, but this time receives only one signed message instead of
<b>n</b> signed messages. <br>
<br>
</span></span></span></span></span></div>
<div style="font-family: Calibri, Helvetica, sans-serif; color: rgb(0, 0, 0);"><span style="color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif;"><span style="background-color: rgb(255, 255, 255);"><span style="font-size: 12pt;"><span style="background-color:rgb(255, 255, 255);font-size:12pt"><span style="background-color:rgb(255, 255, 255);display:inline !important">What
 are your thoughts on this? Would it be efficient? Or it would be more efficient to deliver
<b>n</b> messages separately instead of encapsulating? Both methods require the storage of
<b>m</b> public keys and verifying individual signatures for <b>n</b> times. </span></span></span></span></span></div>
</body>
</html>