0
$\begingroup$

I have distinct sets of pairs of values $(a_1, b_1), ..., (a_i, b_i)$. This set of pairs is ordered, and each $a_i$ and $b_i$ are related. I want to share the $a_i$ values publicly. I do not want to share the $b_i$ with anyone.

I want the $b_i$ values to correspond to a single Shamir secret $S$ (Perhaps concatenate them, and encrypt with AES).

Is there any way to use Shamir's secret to make $a_i$ be the shared points D($i$, f($x_i$)=$a_i$) that corresponds to the Shamir secret , such that the $a_i$ are the shared points?

In other words, have the $a_i$ be the solution to the (k-1) degree polynomials?

My end goal is to "transmit" all $a_i$, but be able to use compute the $b_i$ after I know ALL of the $a_i$. I thought polynomial interpretation might be useful for this scenario.

If not Shamir's, is there any other method that may work?

$\endgroup$
1
$\begingroup$

Based on your question, it is not entirely clear exactly how the $x_i$ and $y_i$ values are coupled.

As I understand it, you want to make a situation where when someone has all $x_i$, they can recover all $y_i$. A simple way to do this would be to encrypt all the $y_i$ with a strong symmetric algorithm, e.g. AES-256-GCM, using a key $k$ and make the encrypted blob public. Then use Shamir's with the $x_i$ to protect the key $k$. Then, when all $x_i$ are assembled, the key $k$ can be recovered and the encrypted blob decrypted, rendering the $y_i$ values.

This may or may not be what you actually want, depending on your use case.

$\endgroup$
  • $\begingroup$ Sorry, I have realized I may have phrase my question incorrectly. Let me re-write it. $\endgroup$ – Derek Sep 22 '17 at 21:04
  • $\begingroup$ I have changed my notation so as to not confuse my (a,b) pairs with the shared point pairs used in Shamir. Please let me know if I have made it more clear. $\endgroup$ – Derek Sep 22 '17 at 21:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.