Comment désosser un algorithme de chiffrement?
J'ai écrit une application qui permet de crypter le texte de cette façon:
- Obtenir l'entrée de texte
- Renverser le texte
- Convertir au format hexadécimal
- XOR avec une clé
- Base64 encode
Maintenant, je n'ai pas beaucoup de chiffrement/encodage moi-même, donc ma question peut paraître stupide, mais, dis-je obtenir un fichier qui a un contenu à partir de l'algorithme ci-dessus et je ne savais pas à propos de cet algorithme. Comment pourrait-on commencer à "casser" le texte, existe-il des lignes directrices, des directeurs, des règles à suivre?
Ma question n'est pas liée à ces 5 étapes, qui a été un pur exemple.
Comme un autre exemple, prenons le texte: A751CD9E1F99. Comment puis-je commencer à enquêter sur ce que cela pourrait signifier?
Titre du poste doit se référer à la cryptographie ou de chiffrement.
Ça annoyes moi quand les gens marquer une question en tant que favori et pourtant, ils ne pas voter. Il y a peu de situations où je pourrais image qui fait sens. (En fait, je viens de réaliser, il est possible que beaucoup de gens bas ont voté pour même)
Résolu 🙂 .
Les deux voix étaient les miens, pour les moments de réalisation.
"Coup de coeur" est un abus de langage car il ne veut pas nécessairement dire que vous aimez la question. J'ai souvent l'utiliser comme un moyen de mettre en signet les questions que je veux garder un oeil sur.
Ça annoyes moi quand les gens marquer une question en tant que favori et pourtant, ils ne pas voter. Il y a peu de situations où je pourrais image qui fait sens. (En fait, je viens de réaliser, il est possible que beaucoup de gens bas ont voté pour même)
Résolu 🙂 .
Les deux voix étaient les miens, pour les moments de réalisation.
"Coup de coeur" est un abus de langage car il ne veut pas nécessairement dire que vous aimez la question. J'ai souvent l'utiliser comme un moyen de mettre en signet les questions que je veux garder un oeil sur.
OriginalL'auteur Alexandru Luchian | 2009-06-12
Vous devez vous connecter pour publier un commentaire.
Afin de casser un algorithme de chiffrement, cryptanalysts utiliser toutes les informations qu'ils peuvent recueillir. Les attaques de tomber dans un certain nombre de catégories, en fonction de ce qui est connu. Certaines des principales attaques, de plus difficile à la plus simple, sont
De nos jours, probablement les moyens de briser un code par le biais de failles dans le système. Par exemple, une mauvaise gestion des clés peut être utilisé, permettant à la clé pour être volés ou deviné. Dans d'autres cas, un "canal latéral" attaque peut être utilisé. Par exemple, en prenant soigneusement en mesurant le temps qu'il faut pour certaines opérations cryptographiques, une attaque peut être en mesure de deviner que certains bits ou d'octets de la clé sont zéro, à l'origine d'un accès rapide grâce à un algorithme.
Près de la "tinfoil hat" extrémité du spectre se trouvent les méthodes de intercepter les émissions radio de matériel informatique. Cela permet à un agent distant pour "voir" ce qui est affiché sur un moniteur. Il y a même spécialement conçu polices d'essayer et de perturber ce genre d'écoute.
OriginalL'auteur
Fondamentalement, ce type de chiffrement serait raisonnable facile à déchiffrer. Le codage base64 serait raisonnable facile à reconnaître. (Vous devez être en utilisant seulement 64 caractères, ce qui est typique pour Base64.)
La prochaine serait la première étape pour trouver l'original XOR clé. c'est un peu plus difficile, mais il existe plusieurs algorithmes qui permettent de détecter ces touches, si il y a assez de données chiffrées disponibles. Votre texte simple ne serait pas assez, mais si ils savent qu'il devrait devenir une chaîne hexadécimale, les choses deviennent beaucoup plus faciles.
Ils doivent ensuite faire l'inverse à d'autres étapes. Ils sont tous de façon trop facile.
Si possible, il devrait être en mesure de pirater si le pirate connaît la valeur d'origine avant le chiffrement. Dans de tels cas, une chaîne courte, comme celui fourni pourrait être suffisante pour au moins découvrir le cryptage complet de votre routine, bien que la clé que vous avez utilisé pour XOR la chaîne peut ne pas être complètement connu.
Bien, nous allons essayer de déchiffrer A751CD9E1F99... 12 caractères. Vous ne semblez utiliser un peu de caractères de sorte qu'il semble être juste une chaîne hexadécimale. L'original doit avoir été de 6 caractères. De valeurs dans la plage de 0 x 51 à 0xCD qui est trop grand pour l'utiliser pour le codage base64. Aussi, puisque la plupart des valeurs sont au-dessus de 0x7F, qui suggèrent que vous avez fait un peu de codage sur elle. Une attaque par dictionnaire pourrait déjà donner un aperçu dans le XOR de la clé utilisée, où vous XOR 6 valeurs hexadécimales avec beaucoup de mots de 6 caractères, juste pour voir qui un retour d'un autre mot dans votre dictionnaire. Celles qui semblent de retour valide mots clés que vous avez utilisés pour XOR l'original. Avec une deuxième chaîne cryptée, ceux découverts clés pourrait être utilisé à nouveau, le filtrage de l'ensemble des clés possibles pour un même ensemble plus restreint. Sur un système moderne, par exemple une attaque par dictionnaire pourrait renvoyer un résultat à l'intérieur d'un jour.
Il y a 50 ans, ce schéma de chiffrement serait très puissant. De nos jours, attendez-vous à être cassé à l'intérieur d'un jour, par n'importe qui qui est intéressé à essayer de le déchiffrer.
Je ne suis pas un expert à la fissuration de cryptage, mais j'en sais assez pour savoir quelles méthodes de cryptage sont tout simplement trop faible pour l'utiliser. Environ 10 ans, j'ai travaillé sur un projet de mot de passe stocké dans un fichier crypté à l'aide d'un complexe exclusif (XOR), mécanisme comme la vôtre. Un client, puis a décidé de vérifier la sécurité et a eu un spécialiste de l'étudier seulement les mots de passe des fichiers. Il savait seulement un nom d'utilisateur et le mot de passe et que le compte d'utilisateur n'avait pas de droits d'administration. Mais il a suffisamment d'informations pour lui à craquer que la sécurité à l'intérieur d'une heure, lisez les informations sur les comptes d'administrateur et ensuite utiliser cette information pour faire tout ce qu'il aimait. Mon entreprise lui a donné de la bière gratuite pour une semaine... 🙂
Ainsi, il y a 10 ans, spécialiste du besoin que d'une heure. De nos jours, ils sont morts de rire même des algorithmes plus complexes avec une relative aisance, tout simplement parce que les ordinateurs sont plus puissants. Si vous devez utiliser ce genre de cryptage, alors vous pouvez tout aussi bien utiliser pas de cryptage. Il n'a pas vraiment d'importance pour un pirate.
OriginalL'auteur
Vous seriez en mesure d'essayer de deviner l'algorithme si vous savez comment le décrypter. Je peux créer de nombreux algorithmes qui seraient le résultat d' "A751CD9E1F99" pour une entrée.
Maintenant, si vous avez beaucoup d'entrées /sorties disponibles, vous pouvez essayer de changer un peu de votre avis pour voir ce qui se passe à la sortie, par exemple. Bon algorithmes de chiffrement généralement dans les grands changements de sortie pour les mineurs les changements d'entrée.
OriginalL'auteur
Je pense que vous devriez commencer par la lecture de Le Code Du Livre. Ce que vous demandez est comment cracker les méthodes de chiffrement et qui vous donnera un début comme à la façon dont ils travaillent.
OriginalL'auteur
Vous auriez besoin d'un plus grand texte de base que cela et comprendre que la crypte est à venir à partir d'un langage particulier/domaine. Puis, en fonction de la fréquence des mots dans cette langue/domaine, on pourrait potentiellement déchiffrer certains des attributs de forme le texte.
Bien sûr, de bons algorithmes de travail autour de cela. Seulement il est mal implémenté les algorithmes peut être rompu facilement avec cette méthode.
OriginalL'auteur
Caoutchouc tuyau de la cryptanalyse peut être très efficace.
OriginalL'auteur
Texte chiffré indécidabilité est une bonne page pour commencer à comprendre ce que les algorithmes de chiffrement sont conçus pour empêcher/défendre contre. Le type d'attaques (par exemple, IND-CPA) mentionnés peuvent également vous donner une idée de ce que vous pouvez commencer avec.
OriginalL'auteur
Si vous avez accès à une boîte noire qui ne le cryptage, vous pouvez obtenir beaucoup d'informations en le nourrissant notamment des valeurs d'entrée.
Comme un exemple simple, si la boîte noire n' "one time pad" style de chiffrement, si vous le nourrir tous les zéros, vous obtenez le pad. (En fait, de la nourrir tout valeur d'entrée vous permettra d'obtenir un temps de tampon avec un supplément de xor.)
Noter que bon cryptosystèmes sont résistants à de telles attaques, même si le cryptosystème est déjà connu (mais la clé n'est pas).
l'on se réfère au nombre de fois que vous pouvez l'utiliser en toute sécurité, et non pas le nombre de fois qu'il est effectivement utilisé! 🙂
OriginalL'auteur
Un attaquant serait probablement (en général) de faire les choses suivantes:
Identifier et vaincre tout 'visible pour l'œil de l'encodage" ou trivial crypto, comme l'inversion de texte, de l'encodage Base64, ROT13, ect.
À un point qu'ils trouvent un haut niveau d'entropie de l'état, ils essaient d'acquérir plus de morceaux de données codées, et XOR ensemble. Il en résulte un XOR-ing de l'original deux de texte brut avec la clé annulé dans le cas où le codage est en effet en fonction XOR (comme RC4) et la clé a été constante. Si l'attaquant peut mettre la main sur des en texte clair des données codées en combinaison, toutes les autres données codées est decode-mesure.
Au final désespoir de cause, ils peuvent essayer de tester l'encontre de la plupart des pratiques courantes, comme l'endroit où ils l'utilisation de RC4 ou d'autres de simples algos avec une clé dynamique, et de mettre la clé sur la fin ou au début du fichier/données.
Si ils n'ont accès qu'à du texte codé, c'est à peu près la fin de la route. Dans le cas où ils ont un accès à la.. comme une API, où ils peuvent produire la version codée d'une plaine fourni de texte, puis ils vont trivialement identifier si c'est un peu en fonction (comme XOR), ou de bloquer monogramme, ou feed forward bloc cypther codage, mais l'obtention de la clé et le réel de l'algo est toujours un problème.
Si elles ont accès au programme de décodage de la clé symétrique de codage (XOR), ou le codage du programme de clé asymétrique de codage, le codage est plus probable instantanément vaincu par l'inversion de cette tendance.
OriginalL'auteur
C'est impossible, tu avais l'échec à l'XOR déchiffrement si vous n'avez pas de connaissances sur ce que la clé a été utilisé.
Dans un cas général, il est plus impossible encore (si c'est possible :)) pour évaluer ce qu'est une chaîne cryptée.
Ce n'est pas le genre de l'impossible, il EST impossible (en supposant que la clé a été utilisée uniquement pour un seul message). De vérifier wikipedia pour "one time pad"
Rechercher des méthodes de cryptanalyse en ligne. Il y a la force brute et les méthodes d'approximation qui peut vous aider. Comme pour l'algorithme blowfish, si quelqu'un savait si un texte a été chiffré avec elle, il n'y a pas de point à l'aide de plus est-il?
Que suppose également que vous n'avez pas de connaissances sur le texte brut (dire qu'il a chiffré un jpeg au lieu de texte, vous pouvez rechercher les informations d'en-tête) et suppose que la clé est la même longueur que le texte en clair (si la clé de 8 bits (en supposant que texte ascii), alors ce serait vraiment ne se retrouvent comme la substitution d'un monogramme).
L'idée d'un algorithme de chiffrement, c'est qu'il n'a pas d'importance si quelqu'un connaît l'algorithme, aussi longtemps qu'ils ne connaissent pas la clé.
OriginalL'auteur
Euh... je dirais:
Je pars du principe que puisque c'est un simple algorithme de chiffrement, il devrait être facile à inverser cette façon, si vous savez l'entrée et la sortie, mais pas la clé.
J'ai été en utilisant les informations que m'a fournies à la question, qui a obligeamment inclus une copie de l'algorithme. J'ai été en supposant que la question était à l'ingénierie inverse sur le posté algorithme?
OriginalL'auteur