Quiero generar tokens de datos seguros que se pueden compartir con el cliente para usos como restablecimiento de contraseñas, etc., lo que implica una baja sobrecarga de almacenamiento al final del servidor. Idealmente, solo me interesa administrar la clave secreta.
Por lo que entiendo, AES-GCM necesita una clave y un Nonce junto con los datos (y opcionalmente los datos adicionales). Genera una etiqueta y texto de cifrado después del cifrado.
Para descifrar, se necesitan el mismo Nonce, la clave y la etiqueta junto con el texto cifrado.
Por supuesto, la clave debe mantenerse en secreto, pero quiero evitar la sobrecarga de almacenar el Nonce y la etiqueta que, según tengo entendido, serían exclusivos de cada token.
¿Es seguro compartir el Nonce y la etiqueta junto con CipherText con el cliente?
Se supone que el cliente devuelve el token y no lo lee / modera. Es para aplicaciones web y puede asumir que toda la comunicación se realiza a través de TLS.