Algorithms are relationships, let algorithm f, receive data d, it will have output o. 
Like so:

```
f(d) = o

```

We have encryption algorithms, such that, with data `d` and a publicKey as input we receive `d'` as output. Also, with d' and a privateKey we can recover the original `d`. 
Like so:

```
encrypt(d, publicKey) = d'
decrypt(d', privateKey) = d

```

Algorithms themselves are a kind of data. So here's the question:

Is it possible to create an algorithm J that takes as input algorithm `f` and produces a `f'` such that:

```
J(f) = f'
f'(d') = o'

```

That is to say, does the current mathematics theory rule out the creation of algorithms that work on encrypted data an produce encrypted output that the algorithm itself cannot decrypt?