| seal_aead |
function |
go |
cybersecurity |
1.0.0 |
impure |
func SealAEAD(key, plaintext, aad []byte) (nonce, ciphertext []byte, err error) |
Cifra plaintext con ChaCha20-Poly1305 usando una clave simétrica de 32 bytes. Genera un nonce aleatorio por llamada. Admite datos autenticados adicionales (AAD) para vincular contexto al cifrado sin cifrarlo. |
| messaging |
| e2e-crypto |
| crypto |
| aead |
| chacha20poly1305 |
| symmetric |
| e2e-messaging |
|
|
|
|
false |
error_go_core |
| crypto/rand |
| golang.org/x/crypto/chacha20poly1305 |
|
| name |
desc |
| key |
Clave simétrica de exactamente 32 bytes (256 bits). Típicamente la room key distribuida con SealKeyBox. |
|
| name |
desc |
| plaintext |
Bytes a cifrar. Puede ser vacío. |
|
| name |
desc |
| aad |
Datos autenticados adicionales (AAD): se autentican pero no se cifran. Útil para room ID, número de secuencia, etc. Puede ser nil. |
|
|
nonce (12 bytes aleatorios), ciphertext (plaintext cifrado + 16 bytes de tag Poly1305), o error si la clave tiene longitud incorrecta o falla el RNG. |
true |
| round-trip con aad |
| round-trip sin aad (nil) |
| error con clave de longitud incorrecta |
| error de autenticacion con ciphertext modificado |
| error de autenticacion con aad distinto |
| nonces distintos en llamadas sucesivas |
|
functions/cybersecurity/e2e_messaging_crypto_test.go |
functions/cybersecurity/seal_aead.go |