
⚡ Descifra automáticamente cifrados sin conocer la clave o el cifrado, decodifica codificaciones y descifra hashes ⚡
➡️
Discord |
Documentación
⬅️
ciphey es la próxima generación de herramientas de descodificación, creada por las mismas personas que te trajeron Ciphey.
Tenemos la intención total de reemplazar Ciphey con ciphey.
✨ Puedes leer más sobre ciphey aquí https://skerritt.blog/introducing-ciphey/ ✨
La forma más sencilla de usar ciphey es unirse al Servidor de Discord, ir al canal #bots y usar ciphey con $ciphey. Escribe $help para obtener información útil.
La segunda mejor forma es usar cargo install ciphey y llamarlo con ciphey.
También puedes git clone este repositorio y ejecutar docker build . para obtener una imagen.
Algunas características que pueden interesarte, y de las que estamos orgullosos.
ciphey es rápido. Muy rápido. Otros decodificadores como Ciphey requieren inteligencia artificial avanzada para determinar qué camino tomar para decodificar (si probar César a continuación o Base64, etc.).
ciphey es tan rápido que actualmente no necesitamos preocuparnos por esto. Por cada 1 descodificación que Ciphey puede hacer, ciphey puede hacer ~7. Eso es un aumento del 700% en velocidad.
Hay 2 partes principales en ciphey: la biblioteca y la CLI. La CLI simplemente usa la biblioteca, lo que significa que puedes construir sobre ciphey. Algunas características que hemos construido son:
ciphey actualmente soporta 16 decodificadores y está creciendo rápidamente. Ciphey soporta alrededor de ~50, y estamos añadiendo más cada día.
Uno de los grandes problemas de Ciphey es que podía ejecutarse para siempre. ¡Si no podía decodificar tu texto, nunca lo sabrías!
ciphey tiene un temporizador (integrado en la biblioteca y la CLI) lo que significa que eventualmente expirará. La CLI tiene un valor predeterminado de 5 segundos, el Bot de Discord de 10 (para tener en cuenta los mensajes de red que se envían).
ciphey ya tiene ~120 pruebas, pruebas de documentación (para asegurar que nuestros documentos se mantengan actualizados) y exigimos documentación en todos nuestros componentes principales. Esto es hermoso.
LemmeKnow es la versión en Rust de PyWhat. Es 33 veces más rápido, lo que significa que ahora podemos decodificar y determinar si algo es una dirección IP o lo que sea un 3300% más rápido que en Python.
Ciphey no soportaba multihilo, era bastante lento. ciphey lo soporta de forma nativa usando Rayon, una de las librerías de multihilo más rápidas que existen.
Si bien no vemos completamente los efectos con solo 16 decodificadores (y siendo bastante rápidos), a medida que agreguemos más decodificadores (y más lentos) veremos que no afectará tanto la velocidad general del programa.
Ciphey no soportaba descifrados de múltiples niveles como una ruta de Rot13 -> Base64 -> Rot13 porque era muy lento. ciphey es lo suficientemente rápido para soportar esto, aunque planeamos desactivarlo eventualmente.
ciphey ahora soporta niveles de sensibilidad configurables para la detección de galimatías, permitiendo una identificación más precisa de texto plano en diferentes tipos de codificaciones. Los cifrados clásicos como César usan sensibilidad Baja para manejar mejor resultados similares al inglés, mientras que la mayoría de los otros decodificadores usan sensibilidad Media por defecto.
Esta característica ayuda a reducir falsos positivos y negativos en la detección de texto plano, haciendo a ciphey más confiable en un rango más amplio de textos codificados.
ciphey ahora ofrece detección de texto plano mejorada usando un modelo basado en BERT de la crate gibberish-or-not. Esta característica:
ciphey --enable-enhanced-detectionAhora usamos búsqueda A*. Esto es muy rápido.
A* funciona usando una heurística para estimar el costo de alcanzar el objetivo desde el estado actual.
Primero, ignoramos la heurística para decodificadores muy rápidos como Base64 y nos aseguramos de ejecutarlos primero cada vez en cada nodo.
Luego, calculamos la heurística para los decodificadores restantes usando cipher_identifier, que puede determinar la probabilidad de que una cadena dada sea un cifrado determinado.
Almacenamos resultados anteriores en un caché para evitar recalcular el mismo camino.
Podamos el árbol de búsqueda para evitar cálculos innecesarios y mantener bajo el uso de memoria si empeora demasiado.
También mantenemos un registro de estadísticas sobre los decodificadores para priorizar dinámicamente aquellos que funcionan mejor (ejemplo: César es popular, pero Beaufort no, por lo que César será priorizado dinámicamente sobre Beaufort)
Finalmente, rastreamos pares populares. Así que base64 -> base64 es muy popular, por lo que priorizamos ese camino (entre otros).
Ahora puedes establecer un tema personalizado para ciphey. Esto es útil si quieres que ciphey se vea diferente.
Esto también ayuda con la accesibilidad.
Ahora usamos quizás el mejor algoritmo para Vigenere.
Es rápido, preciso y maneja caracteres no alfabéticos mejor que cualquier otro algoritmo.
Usamos un verificador de qudgaram / trigram / diccionario de inglés para calcular la probabilidad de texto plano.
Cambiamos los umbrales dependiendo del cifrado. Ejemplo: César devuelve texto que "parece" inglés, mientras que base64 no.
Además, tenemos una base de datos de expresiones regulares populares (alrededor de 500) de claves API, direcciones MAC, etc.
También tenemos una función is_password para determinar si una cadena es una contraseña exacta vista en un volcado de datos.
Ahora almacenamos estadísticas en una base de datos. Esto es útil para ver cómo le está yendo a ciphey a lo largo del tiempo.
Usamos IA para 2 cosas: