Ces deux méthodes de cryptanalyse différentielle sont-elles différentes?

Sep 18 2020

J'essaie de comprendre comment fonctionne l'analyse différentielle. Je lis ceci et ces tutoriels, mais il semble qu'ils font des choses différentes. Dans le premier article, l'auteur nous dit de brutaliser le dernier tour en utilisant tous les keybits possibles pour les sboxes actives et les traces différentielles jusqu'à r-1 round. Dans le deuxième travail, le différentiel va à la fin et bruteforce ne fonctionne que pour un certain nombre de clés et l'auteur trouve k0 et k1 en même temps. Quelle est la méthode de base pour trouver des clés rondes?

Réponses

1 kodlu Sep 18 2020 at 04:01

L'approche dans le tutoriel Heys où l'auteur utilise l'approche

bruteforce dernière ronde en utilisant tous les keybit possibles [à la sortie de] sboxes actives et trace les différentiels jusqu'à [la sortie de] $r-1$ Les manches

est plus fondamentale parce qu'elle est plus générale. Il faut se rencontrer au milieu à la sortie d'un tour et vérifier quelle valeur pour les keybits devinés entraîne le différentiel de probabilité le plus élevé pour l'ensemble des paires de texte en clair / texte chiffré avec une différence d'entrée fixe.

Il est plus pratique et naturel d'utiliser se rencontrer au milieu à l'entrée du dernier tour et de laisser les bits de clé devinés être les bits du dernier tour.

En fait, l'autre référence (incroyable roi) utilise essentiellement la même approche (que l'auteur de la page Web le réalise) puisqu'il s'agit d'un chiffre à un tour avec $r=1,$ donc $r-1=0,$ et le $r-1$ différentiel est la différence d'entrée (texte en clair).