Comment est-ce que je pourrais utiliser des clés équivalentes de l'algorithme TEA pour obtenir deux clés 32 bits d'un chiffrement TEA à double encodage en utilisant un meet dans l'attaque du milieu, en C?Comment est-ce que je pourrais employer la clef équivalente de faiblesse pour casser le chiffrage de TEA?
J'ai 4 pièces de texte clair connu et le texte de chiffrement correspondant, j'ai besoin de récupérer les 2 clés.
Il est encodée comme ceci:
encode(plaintext,k1);
encode(plaintext,k2); // plaintext being the result from encode number 1
Je peux aussi aller dans l'autre avec le décodage, ce qui permet la rencontre dans l'attaque du milieu que je connais un texte chiffré.
Il a une taille de bloc de 32 bits et une clé de 32 bits, la clé est fournie sous forme de deux nombres de 16 bits. Par exemple, j'ai pu constater que ces deux clés produisaient exactement le même texte chiffré; J'ai eu de la chance et suis tombé sur un paper qui m'a montré les chiffres comme une clé de 128 bits (800000000,00000000,00000000,00000000) et une clé (00000000,00000000,800000000,00000000). Je les ai changés en 32 bits (plus d'une supposition mais cela a fonctionné).
Je pense que vous devrez nous en dire un peu plus sur la façon dont le chiffrement avec lequel vous travaillez diffère de "vrai" TEA. Ont-ils changé la fonction ronde, l'horaire clé, ou les deux? Ma conjecture immédiate serait seulement l'horaire clé, mais vous ne savez jamais ... –
simple édition ajoutée – molleman
duplication possible de [comment casser un chiffon de thé affaibli?] (Http://stackoverflow.com/questions/4158664/how -to-crack-a-weak-thé-bloc-chiffré) –