Herramienta de firma DSA
Algoritmo de firma digital (FIPS 186)
Aviso de obsolescencia FIPS 186-5
DSA ha sido declarado obsoleto para la generación de firmas en FIPS 186-5 (febrero 2023). Solo se aprueba la verificación de firmas. Considere ECDSA o Ed25519 para nuevas aplicaciones.
Importar claves DSA
Pegue sus claves DSA (formato PEM). Debido a limitaciones del navegador, esta herramienta no admite la generación de claves DSA. Puede generar claves con OpenSSL e importarlas aquí.
Generar claves con OpenSSL
# Generar parámetros DSA openssl dsaparam -out dsaparam.pem 2048
# Generar clave privada openssl gendsa -out private.pem dsaparam.pem
# Exportar clave pública openssl dsa -in private.pem -pubout -out public.pem
Clave validada correctamente
Documentación
DSA (Digital Signature Algorithm) es un estándar federal de procesamiento de información para firmas digitales especificado en FIPS 186. Publicado por primera vez en 1994, DSA ha sido ampliamente utilizado para aplicaciones de firma digital en sistemas gubernamentales y comerciales. Aunque todavía es seguro cuando se implementa correctamente, NIST declaró DSA obsoleto para la generación de firmas en FIPS 186-5 (2023), favoreciendo algoritmos de curva elíptica más eficientes.
Estado de FIPS 186-5
Desde febrero de 2023, NIST FIPS 186-5 ya no aprueba DSA para la generación de firmas digitales. Solo la verificación de firmas DSA está aprobada para verificar firmas creadas antes de la transición. Para nuevas aplicaciones que requieran firmas digitales, NIST recomienda ECDSA (P-256, P-384, P-521) o EdDSA (Ed25519, Ed448).
Características principales
- Compatible con FIPS: Implementa el estándar de firma digital NIST FIPS 186-4
- Múltiples parámetros: Soporta combinaciones (L, N) de (2048, 256), (3072, 256) y tamaños legacy
- Familia SHA-2: Compatible con funciones hash SHA-1 (legado), SHA-224, SHA-256
- Codificación DER: Produce firmas en formato estándar ASN.1 DER
- Basado en navegador: Todas las operaciones se ejecutan localmente en su navegador usando la biblioteca jsrsasign
Parámetros soportados
- (2048, 256): Conjunto de parámetros recomendado. Módulo primo L=2048 bits, factor primo N=256 bits. Proporciona nivel de seguridad de 112 bits.
- (3072, 256): Conjunto de parámetros de alta seguridad. Módulo primo L=3072 bits para nivel de seguridad de 128 bits. Más lento pero más duradero.
- (1024, 160): Conjunto de parámetros legacy. Solo para compatibilidad con sistemas existentes. No recomendado para nuevas aplicaciones.
- (2048, 224): Conjunto de parámetros alternativo con factor N=224 bits. Menos común pero aún seguro.
Algoritmos hash
- SHA-256: Función hash recomendada para DSA. Proporciona resistencia a colisiones de 128 bits, adecuada para parámetros (2048, 256).
- SHA-224: Función hash alternativa con 112 bits de resistencia a colisiones. Adecuada para requisitos de seguridad estándar.
- Nota: SHA-384 y SHA-512 no son compatibles en esta implementación debido a limitaciones de la biblioteca jsrsasign.
- SHA-1: Función hash legacy con debilidades conocidas. Use solo para verificar firmas antiguas, nunca para nuevas firmas.
Consideraciones de seguridad
- Migración recomendada: NIST recomienda migrar de DSA a ECDSA o EdDSA para nuevas aplicaciones de firma.
- Calidad aleatoria: La seguridad de DSA depende críticamente de la aleatoriedad de alta calidad durante la firma. La mala calidad aleatoria puede causar fuga de clave privada.
- Protección de clave privada: Nunca exponga ni comparta su clave privada. Considere usar Módulos de Seguridad de Hardware (HSM) para aplicaciones sensibles.
- Validación de parámetros: Siempre valide los parámetros DSA (p, q, g) antes de usar para prevenir ataques usando parámetros maliciosamente diseñados.
- Procesamiento local: Esta herramienta funciona completamente en su navegador. Sus claves nunca abandonan su dispositivo.
DSA vs Esquemas de firma modernos
| Característica | DSA (2048, 256) | ECDSA (P-256) | Ed25519 |
|---|---|---|---|
| Tamaño clave privada | ~256 bits | 256 bits | 256 bits |
| Tamaño clave pública | ~2048 bits | 512 bits | 256 bits |
| Tamaño de firma | ~512 bits | 512 bits | 512 bits |
| Nivel de seguridad | 112 bits | 128 bits | 128 bits |
| Estado FIPS 186-5 | Obsoleto | Aprobado | Aprobado |
Herramientas Relacionadas
Herramienta de Firma ECDSA
Generar pares de claves ECDSA, firmar mensajes y verificar firmas con las curvas secp256k1, P-256, P-384, P-521
Herramienta de Firma Ed25519
Generar pares de claves Ed25519, firmar mensajes y verificar firmas con el Algoritmo de Firma Digital de Curva Edwards
Cifrado/Descifrado RSA
Usar cifrado asimétrico RSA para cifrado con clave pública, descifrado con clave privada, firma digital y verificación
Generador de hash SHA
Herramienta en línea de generación de hash SHA que soporta SHA-1, SHA-256, SHA-384, SHA-512