 Merci pour l'introduction et merci pour l'entrée ce matin. Donc mon parler est sur un outil que nous avons fait pour chercher des attacks sur la salle de la nature d'une classe large de blogs. Donc je vais commencer mon parler avec une petite introduction sur les attacks sur la salle de la nature d'une nature d'une nature d'une nature d'une nature d'une nature d'une nature d'une nature d'une nature d'un outil. Cette technique lead à les résultats les meilleurs contre les 3 versions de l'AES, qui sont un SPN orienté de la bête. Elle aussi lead à les résultats les meilleurs contre M-Cryptons et Princes, qui sont SPN avec des lignées de laite bête. Il est also against TWINE, qui est une FES STELL networge, and also against Camille Diat, who gives good results. So what is a D'M instructions are your attacks? So the idea is to follow the encryption of a collection of messages through many rounds. Here is an example with four AES rounds. Donc, pour une collection de textes comme ce que l'une bête est active et que les autres sont constants, la séquence des valeurs de la bête du cercle dépend de seulement 25 bêtes. Et donc, il n'y a que les 200 possibles séquences. Donc, nous pouvons utiliser cette propriété pour, par exemple, un attaque sur le montant contre les 7 ronds. C'est fait par le premier de la compétition de toutes les possibles séquences de la précédente propriété et les installées dans le tableau. Et puis, dans une phase en ligne, nous devons d'abord identifier la collection de textes en plein, par proposer des différences sur le texte en plein. Et puis, nous devons partialement décrypter la collection, la collection correspondante de textes en cypher et compter la séquence, et vérifier si cela perturbe à la tableau. Donc, c'est l'idée de Dimersi Selcik, l'attaque. Il y a déjà deux outils pour aider à trouver ces attaques. Le premier a été créé par Pierre Alain et Aïe et a été présenté à FSC 13. Donc, il est dédicé à AIS et la forme de tous les possibles attaques est encodée. Donc, nous avons utilisé le tool pour compter la complexité de tous les attaques afin de trouver le meilleur. Il y a environ 16 attaques et c'est pourquoi nous avons utilisé l'approche. Le même année, Linet Al a proposé un autre tool pour aider dans la recherche de Dimersi Selcik. Donc, ce tool est dédicé à un bloc d'orientation, donc c'est beaucoup plus générique, mais il s'agit seulement de la partie distinguée et ne fait pas attirer les relations qu'il y a dans le bloc. Donc, les clippenallistes ont encore beaucoup de travail à faire. Donc, ce que nous voulions faire avec Pierre Alain c'était de construire un tool pour trouver le meilleur d'immersi Selcik attaques sur presque aucun bloc d'orientation. Donc, le tool s'adresse à l'input d'un système d'équations qui décrivent le bloc d'orientation avec une catégorisation de variables qui s'involuent dans le système d'équations. Nous imposons que les équations de ce type, où les clippenallistes sont voulues comme les clippenallistes, d'exemple pour les opérations binaires et d'autres que nous l'abandonnons un peu différemment. Nous avons aussi imposé des conditions naturelles sur le système d'équations. Cela signifie que, de la clé des textes et des clés, de l'ackonnement des textes et des clés, nous pouvons compter toutes les variables intermédiaires et les textes de l'exemple. Et, bien sûr, les mêmes textes de l'exemple et les clés de l'exemple. Et tous les variables de l'exemple peuvent être compétuites par un master key. Donc, la condition naturelle pour un bloc de l'exemple. Donc, notre premier... Donc, nous nous l'avons remarqué que l'attaque de Dimersi-Celsuc est toujours construite par des différences de troncs propagées dans les deux moyens avec la probabilité 1. Donc, oui. Et une base entre les attaques du milieu. Ensuite, la correspondance de Dimersi-Celsuc à l'attaque est ici. Donc, la partie distinguelle, la variable active de la partie distinguelle est exactement la intersection entre les variables rèdes et les variables grilles. Alors, la phase en ligne de l'attaque est... Dans la phase en ligne de l'attaque, nous devons trouver la variable bleue et les variables grilles. OK. Donc, pour exercer tous les attaques de Dimersi-Celsuc nous devons juste exercer toutes les caractéristiques tronquées et toutes les bases entre les attaques du milieu. Donc, nous avons défendu pour chaque variable non-key 4 attaques Fp, Fc, Tp et Tc contenant, respectivement, les variables de state nécessitent de proposer des différences du texte plané de Y du texte cypher de Y de Y du texte plané et de Y du texte cypher Pour compter ces attaques nous devons juste faire des légers algebras de l'équation selon les règles. Donc, ici, un exemple sur le toit cypher donc, la nettoie fêstelle donc, sur le côté gauche vous pouvez voir un exemple de Tp donc, qu'est-ce que ça veut dire ? Si vous savez les variables qui passent par les blocs S-box vous pouvez proposer les différences des variables de state avec un star au texte plané ok ? c'est... ok et sur le côté gauche vous avez un exemple de la nettoie fêstelle donc, si vous savez les variables de state qui passent par les blocs S-box vous pouvez proposer les différences du texte plané pour les variables avec un star ok ? donc, vous... vous pouvez remarquer que ces sets sont distincts en fait, c'est toujours le cas pour la nettoie fêstelle mais pour la plupart par exemple, sur AES tous ces sets sont les mêmes T-C et F-C donc, pour chercher toutes les caractéristiques de trinquettes et toutes les variables basées nous avons utilisé une stratégie déterminée sur les... sur les variables de state donc vous pouvez remarquer que les algorithmes boss donc, les règles updates pour les stratégies déterminées sont très similaires et en fait si vous utilisez ces règles updates et vous changez les T&P, vous obtenez ces règles updates donc, pour exemple, pour AES chercher les caractéristiques trinquettes sont similaires à chercher entre les attaques c'est exactement le même donc, je vais vous montrer un exemple sur comment nous performons les règles donc, premièrement nous... il y a une initialisation où toutes les variables de state peuvent prendre toutes les variables de state puis nous avons choisi un variable et par exemple on dirait que c'est un T&P donc, ça signifie qu'il sera un variable active et la différence sera propagée avec la probabilité qu'il soit en plein texte donc, nous appliquons les règles updates et nous diminuons beaucoup de variables qui seront aussi dans le set T&P et puis plutôt que de la sélection de la prochaine variable on dirait pour laquelle on dirait que c'est un T&P nous premièrement regardons une équation minimale involveant la première variable qu'on dirait et variables qui peuvent être constants ou sont constants donc, si toutes ces variables sont constants puis la première variable qu'on dirait serait aussi constant donc, au moins une de ces variables devrait être non-constant et nous savons que notre première variable sera une de ces variables donc, nous respectons les 3 qu'on doit exister et pour la sélection basée c'est exactement le même mais plutôt que de regarder les équations minimales involveant les variables constants nous regardons les équations minimales involveant les variables non utilisées donc, les variables qui seront involveées dans le set T&P ok il y a la dernière component dans notre algorithme parce que nous voulons faire un état nous devons pouvoir compter la complexité des attaques afin de trouver le meilleur et, en faisant ça il faut compter combien de variables on peut s'assurer pour faire ça nous utilisons la même approche que nous utilisons pour notre tool prévu basiquement, nous avons un algorithme que nous prenons un système d'équations dans les variables X et un subset Y et nous voulons pour savoir combien de variables on peut s'assurer les variables Y et l'algorithme apporte un subset Z contenant Y et comme ça, il y a un nombre de solutions de possibles valeurs selon que l'E est minimale donc, nous utilisons l'algorithme sur le quai-schedule et c'est très rapide pour l'E donc, pour exemple, pour le quai-schedule de AES, c'est très rapide et pour le quai-schedule linear c'est très très rapide et sous des techniques sophistiquées comme le quai-bridge le quai-bridge est un quai-bridge est une relation entre les quai-schedules de la première phase et les quai-schedules de la dernière phase ok donc, c'est tous les algorithmes dans notre outil donc, maintenant, nous allons voir des applications donc, nous avons maintenant appliqué le bloc cipher M-crypton donc, M-crypton est un SPN avec 4 4 bits S-boxes et le layer est bit orienté ok donc, nous avons choisi ce bloc cipher parce que plusieurs recherches ont publié les résultats sur le sucre-attaque contre M-crypton et, comme résultat notre outil était capable de trouver de bons attaques sur deux versions de ce bloc cipher donc, nous avons augmenté par un le nombre de rounds attaques ok, et il y a 12 rounds pour M-crypton et les résultats d'AO et AL sont D-Mercy-Celsuc attaques donc, par exemple, sur les versions 128 bits nous sommes capables d'attaquer un plus de rounds avec approximately la même complexité ok, donc cela montre que l'approche automatique est très utile donc la prochaine application le bloc cipher Zoro donc Zoro est un bloc cipher basé sur AES mais la boxe s'applique seulement sur les premières rounds ok donc Zoro est déjà broken mais nous voulons étudier la résistance de ce bloc contre D-Mercy-Celsuc attaques parce que les résultats de base sont contre AES donc, il serait intéressant de voir comment ils travaillent sur un bloc comme Zoro donc, nous étudions 11 variants de Zoro nous étudions nous étudions différentes positions pour le bloc sur lequel nous appliquons les S-boxes mais nous imposons que l'un des S-boxes est appliquée par columne et par diagonale parce que les chiffres et les opérations mixes donc c'est les 11 variants que nous étudions avec notre outil et les résultats nous avons trouvé que les résistances de D-Mercy-Celsuc attaques seulement dépendent du nombre de S-boxes 3 rows et si il n'y a que 1 S-boxes 3 rows alors 20 rounds sont nécessaires pour être fully sécurisés contre ces attaques 2 ou 3 S-boxes 3 rows puis 25 rounds sont nécessaires pour être fully sécurisés donc Zoro est ici donc il y a 3 S-boxes 3 rows et la version originale de Zoro a seulement 24 rounds donc nous avons un attaque contre le Full Zoro et c'est le meilleur attaque de Zoro donc c'est une autre application qui choisit comment être useful notre outil pour le design quand vous designz un nouveau block cipher pour sélectionner entre 2 designs l'un des compagnons de notre algorithme c'est la sélection basée pour utiliser cette sélection en soi-même et pour exemple nous l'appliquons au block cipher ID qui est un block cipher 64 bit qui utilise XOR, modular addition et multiplications sur un fil final nous avons automatiquement découvert la sélection entre les attaques en milieu et en particulier nous avons également la simulation qui est une équation involveant des textes intermédiaires et des variables cipher qui est le meilleur attaque et qui a été découvert seulement 15 ans après l'ID a été introduit donc, encore une fois il montre comment être useful notre outil peut être nous pouvons aussi réutiliser la sélection de caractéristiques pour construire un outil pour les attaques donc basiquement ces types d'attaques sont composés de deux différences propagées dans les deux manches avec la probabilité 1 comme la transition de la première à la seconde n'est pas possible donc, nous avons utilisé notre sélection de caractéristiques et combiné les deux et vérifier si il y a une contradiction donc, nous avons appliqué cet outil pour la sélection de caractéristiques qui est une sélection de caractéristiques donc, vous pouvez voir une rotation et une addition moduelle ok nous n'avions pas pu chercher pour les attaques pour les différences mais nous pouvons chercher pour les différences de caractéristiques et pour les résultats nous avons automatiquement retrievé le plus long sur 16 minutes ok nous avons aussi appliqué pour le block cipher Simon donc, nous avons trouvé des attaques pour les 3 versions de Simon donc, nous n'avons pas un plus long pour les transitions mais nous avons trouvé quelle option d'utiliser pour prendre l'advantage d'une sélection de caractéristiques en particulier, nous avons trouvé une technique de sélection d'une relation d'un 1er outil et les 4 dernières ok donc, nous avons des limitations donc un complexe qui est schedulable et aussi quand vous fully décrivez la modulation pour assurer les types d'équations que nous espérons il y a beaucoup de variables et la sélection prend beaucoup de temps et plus il y a aussi un problème avec la façon qu'on compute la complexité d'une sélection de caractéristiques donc, nos outils ont des outils tous les paramètres nécessaires par la formule de Burait Al mais parfois, cette formule est trop optimiste et la complexité de l'attaque peut être un peu plus élevé que la formule ok donc, dans ce paper, nous présenterons une collection d'automatiques outils qui font des attaques donc j'insiste sur les attaques vous n'avez rien à faire ok, les outils vont trouver les attaques, vous avez juste à comprendre les attaques et à écrire un papier il regarde 10.600 attaques basé dans le milieu de l'attaque et possible de différents attaques et la source code publique est disponible merci pour votre attention