Jump to content

Encrypted function

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by 161.74.11.24 (talk) at 18:07, 15 January 2005. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Encrypted Functions is an attempt to provide mobile code privacy without providing any tamper proof hardware. It is a method where in mobile code can carry out cryptographic primitives even though the code

     a) is executed in untrusted environments 
     b) should run autonomously. 

Polynomial and Rational Functions are encrypted such that their transformation can again be implemented as programs consisting of clear text instructions that a processor or interpreter understands. The processor would, of course not understand the “program’s function”. This field of study is gaining popularity as ‘Mobile Cryptography’.

Here is an example to illustrate the technique.

Scenario: Host ‘A’, has an algorithm which computes function f. ‘A’ wants to send its Agent across to ‘B’ which has input ‘x’, to compute f(x). But ‘A’ naturally doesn’t want ‘B’ to learn anything about function f.

Scheme: ‘f’ is encrypted in a way that it results in E(f). Host ‘A’, then creates another program P(E(f)), which implements E(f),and sends it to ‘B’ through its agent. ‘B’ then runs the agent, which computes P(E(f(x)) and returns the result to A. ‘A’ then decrypts it to get f(x)!! Drawbacks: Finding appropriate encryption schemes that can transform arbitrary functions is a challenge. This scheme doesn’t prevent denial of service, replay, experimental extraction etc.