I have a proprietary signal processing algorithm, $F(s)$, which I would like to demo to my customers. The demo starts with the customer uploading a binary signal $S_0$ to my website. I then generate a response signal $R = F(S_0)$ and return it to the customer. The customer then adds some amount of noise to the response $R^{'} = \Psi(R)$, and uploads the noisy signal $R^{'}$. Finally I generate a close approximation of the original signal $S_1 = F^{-1}(R^{'})$ and return it to the customer for comparison to the original $S_0$.

How can I do this so there is no doubt that I am being honest and using only $R^{'}$ as the input to $F^{-1}$ to generate $S_1$?

  • $\begingroup$ What about making a demo where $F$ (or $F^{-1}$, whichever requires the less computing power or is less confidential) sits inside a Smart Card usable only once, or a limited number of times, that you hand to the customer? Some now have 1MByte of Flash, 50kB of RAM, a 50 MHz 32-bit CPU, for few $ $\endgroup$
    – fgrieu
    Nov 6 '20 at 16:13
  • $\begingroup$ @fgrieu Nice idea. Do you have a link to such a Smart Card? $\endgroup$
    – gogators
    Nov 6 '20 at 16:35
  • $\begingroup$ In alphabetical order of what I have in mind, SLC37, ST33J. These are not easy to procure, though, and the "few $" is excluding NRE. If that's only for a few, your best bet might be some of these, but expect a hit on performance and memory size. $\endgroup$
    – fgrieu
    Nov 6 '20 at 17:01
  • $\begingroup$ I feel like there's some sort of zero-knowledge proof system that might be able to do this, but I'm not particularly familiar with that field (and it's a very active area of research, so probably not anything production ready). $\endgroup$ Nov 6 '20 at 17:43

Your Answer

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

Browse other questions tagged or ask your own question.