En principio cualquier algoritmo de encriptación/desencriptación puede programarse en los 2 lenguajes.
La única limitación que tienes es que JavaScript es muy malo para realizar cálculos por lo que el algoritmo de encriptado tiene que ser rápido y liviano.
Yo te recomendaría usar el algoritmo RSA.
Wikipedia lo explica detalladamente:
http://es.wikipedia.org/wiki/RSA