Voglio generare token di dati sicuri che possono essere condivisi con il client per utilizzi come la reimpostazione della password, ecc. che comporta un sovraccarico di storage ridotto all'estremità del server. Idealmente, sono interessato solo alla gestione della chiave segreta.
Da quanto ho capito, AES-GCM ha bisogno di una chiave e di un nonce insieme ai dati (e facoltativamente dati aggiuntivi). Genera un testo Tag e Cipher dopo la crittografia.
Per decrittografare, sono necessari lo stesso Nonce, Key e Tag insieme a Cipher Text.
Naturalmente, la chiave deve essere tenuta segreta, ma voglio evitare il sovraccarico di memorizzazione di Nonce e Tag che a mio avviso sarebbe univoco per ciascun token di questo tipo.
È sicuro condividere il Nonce e Tag insieme a CipherText con il client?
Il client è solo per restituire il token e non leggerlo / temperarlo. Si tratta di app Web e puoi presumere che tutte le comunicazioni avvengano su TLS.