Files
2026-06-04 23:44:39 +02:00

1.7 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
sign_ed25519 function go cybersecurity 1.0.0 pure func SignEd25519(priv, msg []byte) []byte Firma un mensaje con una clave privada Ed25519 y devuelve la firma de 64 bytes. Determinista: mismas entradas producen siempre la misma firma. Sin efectos secundarios ni I/O.
messaging
e2e-crypto
crypto
ed25519
signing
pure
e2e-messaging
false
crypto/ed25519
name desc
priv Clave privada Ed25519 de 64 bytes. Viene del campo SignPriv de Identity.
name desc
msg Bytes a firmar. Puede ser cualquier dato: ciphertext, evento, room key distribuida, etc.
Firma Ed25519 de exactamente 64 bytes. Siempre determinista para la misma (priv, msg). true
firma y verificacion exitosa
firma es determinista (misma entrada, misma firma)
falla con mensaje modificado
falla con clave publica incorrecta
falla con firma corrupta
functions/cybersecurity/e2e_messaging_crypto_test.go functions/cybersecurity/sign_ed25519.go

Ejemplo

// Firmar el ciphertext de un mensaje antes de transmitirlo
sig := cybersecurity.SignEd25519(id.SignPriv, ciphertext)
// Transmitir ciphertext + sig; el receptor verifica con VerifyEd25519

Cuando usarla

Después de cifrar un mensaje con SealAEAD: firma el ciphertext (no el plaintext) con tu SignPriv para que el receptor pueda verificar la autoría con VerifyEd25519. También útil para firmar eventos de control del bus (rotación de clave, join/leave de sala).