Desea que su servidor pueda descifrar los datos, y nadie más. Por lo tanto, su servidor debe "saber" algo que otras personas no saben, y ese "algo" es lo que los criptógrafos llaman una clave.
Sin embargo, no es necesario que esa clave sea específica para el usuario. Puede ser una clave de todo el servidor. Con cifrado simétrico , la clave para cifrar y la clave para descifrar son las mismas; esto funcionará para usted si su servidor también es el sistema que realiza el cifrado (dado que el servidor establece los valores de las cookies, supongo que esta es su situación).
Algunas notas:
-
También quieres integridad. En su sistema, el usuario es un potencial atacante. La galleta está en su máquina, así que podría intentar alterarla. El cifrado le impedirá conocer el contenido, pero aún puede hacer algunas "conjeturas" y alterarlo. El cifrado no garantiza la integridad por sí mismo.
-
La combinación de cifrado e integridad no es tan fácil como parece. Consulte esta pregunta para conocer la teoría y los consejos sobre el tema.
-
La clave de todo el servidor es información confidencial; manejarlo con sensatez En particular, no desea enviarlo a todas sus copias de seguridad (porque las cintas o discos de copia perdidos / robados son un mecanismo clásico de fugas), pero tampoco quiere perderlos.