feat(cybersecurity): auto-commit con 48 cambios
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
---
|
||||
name: verify_ed25519
|
||||
kind: function
|
||||
lang: go
|
||||
domain: cybersecurity
|
||||
version: "1.0.0"
|
||||
purity: pure
|
||||
signature: "func VerifyEd25519(pub, msg, sig []byte) bool"
|
||||
description: "Verifica una firma Ed25519 sobre un mensaje usando la clave pública del firmante. Devuelve true solo si la firma es auténtica. Sin efectos secundarios ni I/O."
|
||||
tags: [messaging, e2e-crypto, crypto, ed25519, signing, pure, e2e-messaging]
|
||||
uses_functions: []
|
||||
uses_types: []
|
||||
returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports:
|
||||
- crypto/ed25519
|
||||
params:
|
||||
- name: pub
|
||||
desc: "Clave pública Ed25519 de 32 bytes del firmante. Viene del campo SignPub de su Identity."
|
||||
- name: msg
|
||||
desc: "Mensaje original que fue firmado. Debe ser idéntico al pasado a SignEd25519."
|
||||
- name: sig
|
||||
desc: "Firma de 64 bytes producida por SignEd25519."
|
||||
output: "true si la firma es válida para (pub, msg). false en cualquier otro caso: firma incorrecta, pub equivocada, msg alterado, o sig corrupta."
|
||||
tested: true
|
||||
tests:
|
||||
- "firma y verificacion exitosa"
|
||||
- "firma es determinista (misma entrada, misma firma)"
|
||||
- "falla con mensaje modificado"
|
||||
- "falla con clave publica incorrecta"
|
||||
- "falla con firma corrupta"
|
||||
test_file_path: "functions/cybersecurity/e2e_messaging_crypto_test.go"
|
||||
file_path: "functions/cybersecurity/verify_ed25519.go"
|
||||
---
|
||||
|
||||
## Ejemplo
|
||||
|
||||
```go
|
||||
// Receptor verifica autoría antes de descifrar
|
||||
if !cybersecurity.VerifyEd25519(sender.SignPub, ciphertext, sig) {
|
||||
log.Println("firma inválida: mensaje descartado")
|
||||
return
|
||||
}
|
||||
// Solo si la firma es válida, descifrar con OpenAEAD
|
||||
plaintext, err := cybersecurity.OpenAEAD(roomKey, nonce, ciphertext, aad)
|
||||
```
|
||||
|
||||
## Cuando usarla
|
||||
|
||||
Al recibir un mensaje del bus: verifica la firma del remitente sobre el ciphertext antes de intentar descifrar. Devuelve false para cualquier fallo de autenticación — nunca procesar un mensaje con firma inválida.
|
||||
Reference in New Issue
Block a user