---
name: identity
lang: go
domain: cybersecurity
version: "1.0.0"
algebraic: product
definition: |
  type Identity struct {
      SignPub  []byte
      SignPriv []byte
      KexPub  []byte
      KexPriv []byte
  }
description: "Identidad criptográfica dual de un participante en el bus de mensajería. Contiene un par Ed25519 para firma (SignPub/SignPriv) y un par X25519 para intercambio de claves (KexPub/KexPriv)."
tags: [messaging, e2e-crypto, crypto, identity, ed25519, x25519, e2e-messaging]
uses_types: []
file_path: "functions/cybersecurity/generate_identity.go"
---

## Notas

- `SignPub` (32 bytes) y `SignPriv` (64 bytes): par Ed25519. SignPriv concatena seed (32) + pubkey (32).
- `KexPub` (32 bytes) y `KexPriv` (32 bytes): par Curve25519 para sealed box anónimo.
- Generado exclusivamente con `GenerateIdentity()`. No construir manualmente.
- Publicar solo `SignPub` + `KexPub` en el directorio de participantes; nunca las claves privadas.
