摘要 |
Systems, methods, and computer-readable storage devices storing instructions for homomorphic encryption via finite ring isomorphisms are provided. An example method includes selecting a polynomial f(x) of exact degree n with small coefficients in a ring Fq[x] and selecting a polynomial h(y) of exact degree n in a ring Fq[y]. The method includes constructing an isomorphism from the ring Fq[x] / (f(x)) to the ring Fq[y] / (h(y)) and constructing an inverse isomorphism from the ring Fq[y] / (h(y)) to the ring Fq[x] / (f(x)). The method includes encrypting a message using said isomorphism from the ring Fq[x] / (f(x)) to the ring Fq[y] / (h(y)) and transmitting the encrypted message to a remote computer. The method also includes receiving one or more encrypted response messages from the remote computer based at least in part on the transmitted message and decrypting the one or more encrypted response messages. |