Normally when one speaks of encryption, it refers to encrypting data. Recently, a client requested a proprietary algorithm be executed on the client-side, in public web browsers. The input data would also contain other users' privacy information. Is it possible (and maybe practical) to encrypt (not just obfuscate) the data, source code, and execution of an algorithm, out in the open?

While one may perform clever operations on (simply) encrypted data, I would imagine it not possible to encrypt the execution itself, or else there would be no software cracks. But perhaps there are recent research breakthroughs?

My knowledge in cryptography is slightly above layman-level.

  • $\begingroup$ What kind of operation do you want to perform on the encrypted data? $\endgroup$ – kelalaka Nov 27 '19 at 22:44
  • $\begingroup$ I think it is an optimization problem where you make square matrix multiplications until the values converge. $\endgroup$ – Moobie Nov 27 '19 at 22:50
  • $\begingroup$ @Yamar69 It is JavaScript running on the browser, of course it is visible to the user. $\endgroup$ – Moobie Nov 28 '19 at 11:02
  • $\begingroup$ Putting my business hat on: Is your real world client looking for 'research' level crypto stuff? Really? £££. The common solution is obfuscation with stuff like jscrambler. And your coders can pre-obfuscate as well. $\endgroup$ – Paul Uszak Nov 28 '19 at 19:05
  • $\begingroup$ If a client had that kind of description I would run away, say no thank you and try and get a client with a moral sense. I'm not sure why he thinks you're the right person for this if you have to ask yourself. $\endgroup$ – Maarten Bodewes Nov 29 '19 at 6:21

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.