
El Proyecto Wycheproof prueba bibliotecas criptográficas contra ataques conocidos.
El Proyecto Wycheproof es un repositorio gestionado por la comunidad de vectores de prueba que los desarrolladores de bibliotecas criptográficas pueden utilizar para probar contra ataques conocidos, inconsistencias de especificaciones y otros diversos errores de implementación.
Los vectores de prueba se mantienen como datos JSON, con archivos de esquema JSON adjuntos que documentan la estructura de los datos de los vectores de prueba.
Puede resultarte útil examinar cómo otros proyectos como pyca/cryptography han integrado los vectores de prueba de Wycheproof.
El Proyecto Wycheproof tiene vectores de prueba para los algoritmos criptográficos más populares, incluyendo
Los vectores de prueba detectan si una biblioteca es vulnerable a muchos ataques, incluyendo
Agradecemos la contribución de nuevos datos de vectores de prueba y algoritmos.
Si quieres contribuir, lee CONTRIBUTING y envíanos pull requests. También puedes reportar errores o solicitar nuevas pruebas como GitHub issues.
Estamos en proceso de revitalizar el desarrollo y mantenimiento del Proyecto Wycheproof como un proyecto C2SP con un enfoque renovado en los datos de vectores de prueba. Nuestras prioridades inmediatas son:
El Proyecto Wycheproof lleva el nombre del Monte Wycheproof, la montaña más pequeña del mundo. La principal motivación del proyecto en el momento de su creación era tener un objetivo alcanzable. Cuanto más pequeña es la montaña, más probable es poder escalarla.
Los vectores de prueba de Wycheproof se utilizan de alguna forma en varios proyectos y bibliotecas criptográficas importantes. Sin ningún orden en particular, estos incluyen:
Si tu proyecto usa vectores de prueba de Wycheproof, no dudes en abrir un PR para añadirlo a la lista anterior.
Consulta doc/bugs.md para ver algunos errores históricos notables encontrados mediante los harnesses de prueba de Wycheproof o los datos de vectores de prueba.
testvectors/?Recientemente combinamos los directorios testvectors/ y testvectors_v1/ en
un único directorio unificado con un enfoque coherente para los esquemas.
Los usuarios que necesiten los datos originales ("v0") de vectores de prueba pueden clonar este repositorio desde
la etiqueta wycheproof-v0-vectors, pero se les anima a considerar actualizar para
usar testvectors_v1/ y beneficiarse de futuras actualizaciones. Si faltan características/cobertura
de pruebas de testvectors/ en testvectors_v1/, o hay otro
problema que bloquee tu actualización, abre un issue describiendo tus necesidades.
Al momento de escribir esto, los siguientes archivos de testvectors_v1 no tienen esquemas:
testvectors_v1/aes_ff1_base*_test.jsontestvectors_v1/aes_ff1_radix*_test.jsontestvectors_v1/ecdsa_secp256k1_sha256_bitcoin_test.jsontestvectors_v1/pbes2_hmacsha*_aes_*_test.jsontestvectors_v1/pbkdf2_hmacsha*_test.jsontestvectors_v1/rsa_pss_*_sha*_mgf*_params_test.jsontestvectors_v1/rsa_pss_misc_params_test.jsonSe agradecería enormemente la contribución de esquemas para los vectores anteriores.
Hay disponible documentación heredada sobre archivos, formatos y tipos, pero no necesariamente está sincronizada con el estado actual de los vectores de prueba.