
Ciphey v0.12.1
⚡ Déchiffrer automatiquement des cryptages sans connaître la clé ou le chiffrement, décoder des encodages et craquer des hachages ⚡
➡️
Discord |
Documentation
⬅️
Projet ciphey
ciphey est la prochaine génération d'outils de décodage, construite par les mêmes personnes qui vous ont apporté Ciphey.
Nous avons l'intention de remplacer Ciphey par ciphey.
✨ Vous pouvez en lire plus sur ciphey ici https://skerritt.blog/introducing-ciphey/ ✨
Comment utiliser
La façon la plus simple d'utiliser ciphey est de rejoindre le Serveur Discord, aller dans le canal #bots et utiliser ciphey avec $ciphey. Tapez $help pour obtenir des informations utiles !
La deuxième meilleure façon est d'utiliser cargo install ciphey et de l'appeler avec ciphey.
Vous pouvez aussi git clone ce dépôt et exécuter docker build . pour obtenir une image.
Fonctionnalités
Quelques fonctionnalités qui pourraient vous intéresser, et dont nous sommes fiers.
Rapide
ciphey est rapide. Très rapide. D'autres décodeurs comme Ciphey nécessitent une intelligence artificielle avancée pour déterminer quel chemin emprunter pour décoder (que ce soit essayer Caesar ensuite ou Base64, etc.).
ciphey est si rapide que nous n'avons pas besoin de nous en préoccuper pour l'instant. Pour chaque décodage que Ciphey peut effectuer, ciphey peut en faire ~7. C'est une augmentation de vitesse de 700%.
Bibliothèque en premier
Il y a 2 parties principales dans ciphey, la bibliothèque et le CLI. Le CLI utilise simplement la bibliothèque, ce qui signifie que vous pouvez construire au-dessus de ciphey. Quelques fonctionnalités que nous avons construites :
- Un Bot Discord
- De meilleurs tests de l'ensemble du programme 💖
- Ce CLI
Décodeurs
ciphey supporte actuellement 16 décodeurs et cela grandit rapidement. Ciphey en supporte environ ~50, et nous en ajoutons plus chaque jour.
Minuteur
L'un des gros problèmes avec Ciphey est qu'il pouvait tourner indéfiniment. S'il ne pouvait pas décoder votre texte, vous ne le sauriez jamais !
ciphey dispose d'un minuteur (intégré à la bibliothèque et au CLI) ce qui signifie qu'il expirera éventuellement. Le CLI par défaut à 5 secondes, le Bot Discord par défaut à 10 (pour tenir compte de l'envoi des messages réseau).
Meilleure documentation, meilleurs tests
ciphey a déjà ~120 tests, des tests de documentation (pour s'assurer que notre documentation est à jour) et nous imposons la documentation sur tous nos composants principaux. C'est magnifique.
LemmeKnow
LemmeKnow est la version Rust de PyWhat. Il est 33 fois plus rapide, ce qui signifie que nous pouvons maintenant décoder et déterminer si quelque chose est une adresse IP ou autre chose 3300% plus rapidement qu'en Python.
Multithreading
Ciphey ne supportait pas le multithreading, il était assez lent. ciphey le supporte nativement en utilisant Rayon, l'une des bibliothèques de multithreading les plus rapides.
Bien que nous ne voyions pas entièrement ses effets avec seulement 16 décodeurs (et qu'ils soient assez rapides), à mesure que nous ajoutons plus de décodeurs (et des plus lents), nous verrons que cela n'affectera pas autant la vitesse globale du programme.
Décodages multi-niveaux
Ciphey ne supportait pas les décryptages multi-niveaux comme un chemin Rot13 -> Base64 -> Rot13 parce qu'il était trop lent. ciphey est assez rapide pour supporter cela, même si nous prévoyons de le désactiver éventuellement.
Sensibilité configurable pour la détection de texte en clair
ciphey supporte désormais des niveaux de sensibilité configurables pour la détection de charabia, permettant une identification plus précise du texte en clair à travers différents types d'encodages. Les chiffrements classiques comme Caesar utilisent une sensibilité faible pour mieux gérer les résultats ressemblant à de l'anglais, tandis que la plupart des autres décodeurs utilisent par défaut une sensibilité moyenne.
Cette fonctionnalité aide à réduire les faux positifs et faux négatifs dans la détection de texte en clair, rendant ciphey plus fiable sur une plus large gamme de textes encodés.
Détection améliorée de texte en clair avec BERT
ciphey offre désormais une détection améliorée de texte en clair en utilisant un modèle basé sur BERT issu de la crate gibberish-or-not. Cette fonctionnalité :
- Augmente la précision de détection de texte en clair d'environ 40%
- Réduit les faux positifs et faux négatifs lors de l'identification du texte en clair
- Peut être activée lors de la configuration initiale ou ultérieurement avec
ciphey --enable-enhanced-detection - Nécessite un téléchargement unique d'un modèle IA de 500 Mo (nécessite un compte Hugging Face gratuit)
Nouvelles fonctionnalités
Meilleur algorithme de recherche
Nous utilisons désormais la recherche A*. C'est très rapide.
A* fonctionne en utilisant une heuristique pour estimer le coût pour atteindre l'objectif à partir de l'état actuel.
D'abord, nous ignorons l'heuristique pour les décodeurs très rapides comme Base64 et nous nous assurons de les exécuter en premier à chaque fois sur chaque nœud.
Ensuite, nous calculons l'heuristique pour les décodeurs restants en utilisant cipher_identifier qui peut déterminer la probabilité qu'une chaîne donnée soit un certain chiffrement.
Nous stockons les résultats précédents dans un cache pour éviter de recalculer le même chemin.
Nous élaguons l'arbre de recherche pour éviter des calculs inutiles et maintenir l'utilisation mémoire basse si elle devient trop élevée.
Nous suivons également les statistiques sur les décodeurs pour prioriser dynamiquement ceux qui fonctionnent mieux (exemple : Caesar est populaire, mais Beaufort ne l'est pas, donc Caesar sera dynamiquement priorisé sur Beaufort).
Enfin, nous suivons les paires populaires. Ainsi, base64 -> base64 est très populaire, donc nous priorisons ce chemin (parmi d'autres).
Thèmes personnalisés
Vous pouvez maintenant définir un thème personnalisé pour ciphey. Ceci est utile si vous voulez donner à ciphey un aspect différent.
Cela aide également en matière d'accessibilité.
Vigenère
Nous utilisons désormais peut-être le meilleur algorithme pour Vigenère.
Il est rapide, précis et gère les caractères non alphabétiques mieux que tout autre algorithme.
Meilleure vérification de l'anglais
Nous utilisons un vérificateur de qudgaram / trigramme / dictionnaire anglais pour calculer la probabilité de texte en clair.
Nous modifions les seuils en fonction du chiffrement. Par exemple, Caesar renvoie un texte qui "ressemble" à de l'anglais, alors que base64 non.
En plus de cela, nous avons une base de données d'expressions régulières populaires (environ 500) de clés API, adresses MAC, etc.
Nous avons également une fonction is_password pour déterminer si une chaîne est un mot de passe exact vu dans une fuite de données.
Plus de chiffrements
- Braille
- Atbash
- Vigenère
Base de données
Nous stockons maintenant les statistiques dans une base de données. Ceci est utile pour voir l'évolution de ciphey au fil du temps.
Utilisation de l'IA
Nous utilisons l'IA pour 2 choses :
- Le TUI est entièrement vibe codé.
- J'ai fait passer des heures à l'IA à rechercher chaque défi CTF existant. Elle a créé une liste de 15 071 CTF. Ensuite, elle a parcouru chaque CTF et cherché des writeups. Dans ces writeups, elle a cherché tout ce qui était lié à l'encodage / décodage. Elle a ensuite créé des tests à partir de cela. Cela nous a permis d'augmenter notre couverture de test et de nous assurer que tous les défis CTF d'encodage / décodage sont résolubles avec cet outil.