← Derniers articles
💻 computer science

CrypFormBench: Benchmarking Formal Analysis Capability of Large Language Models for Cryptographic Schemes

Cet article introduit CrypFormBench, un benchmark complet comprenant 700 instances réparties sur 677 schémas cryptographiques et 7 langages de vérification formelle, afin d'évaluer et de révéler les limites actuelles des grands modèles de langage dans la génération et la correction de preuves de sécurité formelles tout en proposant des stratégies pratiques pour améliorer leurs performances.

Auteurs originaux : Zhaoxuan Li, Qionglu Zhang, Hengyuan Liu, Xiaoyan Gu, Xianhui Lu, Hongbo Liu, Bingzheng Wang, Haihui Fan, Ziming Zhao, Rui Zhang, Li Zhou

Publié 2026-06-25
📖 7 min de lecture🧠 Analyse approfondie

Auteurs originaux : Zhaoxuan Li, Qionglu Zhang, Hengyuan Liu, Xiaoyan Gu, Xianhui Lu, Hongbo Liu, Bingzheng Wang, Haihui Fan, Ziming Zhao, Rui Zhang, Li Zhou

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

La vue d'ensemble : Le problème du « Traducteur »

Imaginez que vous êtes un maître architecte qui conçoit des coffres-forts incroyablement sécurisés (des schémas cryptographiques). Vous rédigez vos plans en anglais courant pour que tout le monde puisse comprendre le plan. Cependant, pour construire et tester réellement ces coffres-forts afin d'en déceler les faiblesses, vous devez traduire ces plans en anglais vers un langage très strict, ancien et complexe que seuls des robots de sécurité spécifiques et de haute technologie (des outils de vérification formelle comme Scyther ou Tamarin) peuvent comprendre.

Cette traduction est difficile. Elle nécessite un expert humain qui connaît à la fois la conception du coffre-fort et le langage strict du robot. Si vous oubliez une seule petite virgule ou utilisez le mauvais mot, le robot rejette le plan, ou pire, il construit un coffre qui semble sûr mais qui possède une porte dérobée cachée.

La Question : Les modèles de langage étendus (LLM) — les chatbots IA que nous utilisons aujourd'hui — peuvent-ils agir comme ces experts traducteurs ? Peuvent-ils prendre une description en anglais clair d'un protocole de sécurité et écrire instantanément le code parfait et sans erreur pour les robots de sécurité ?

La Réponse (selon cet article) : Pas tout à fait encore. Ils s'améliorent pour lire et corriger, mais ils ont encore du mal à écrire à partir de zéro.


La Solution : CrypFormBench (La « Salle de sport » pour l'IA)

Pour découvrir exactement à quel point ces traducteurs IA sont performants, les chercheurs ont construit un terrain d'essai massif appelé CrypFormBench (ou C.F.B.).

Considérez cela comme une salle de sport avec 700 stations d'entraînement différentes.

  • L'Équipement : Ils ont rassemblé 700 protocoles de sécurité du monde réel (comme ceux utilisés dans votre téléphone, votre banque ou Internet).
  • Les Langages : Ils ont traduit ces protocoles en 7 « langages de robots » différents (des langages formels comme SPDL, HLPSL, EasyCrypt, etc.).
  • Les Tests : Ils n'ont pas seulement demandé à l'IA d'écrire du code. Ils ont testé cinq compétences spécifiques :
    1. Interprétation : « Voici un code de robot ; expliquez-le-moi en anglais. » (Lecture)
    2. Génération : « Voici une description en anglais ; écrivez le code du robot. » (Écriture de zéro)
    3. Complétion : « Voici un code de robot avec des trous dedans ; remplissez les blancs. » (Correction de travail partiel)
    4. Transformation : « Voici le code dans le Langage A ; réécrivez-le dans le Langage B. » (Traduction entre robots)
    5. Correction : « Ce code de robot contient une erreur ; corrigez-la. » (Débogage)

Les Résultats : Le Bulletin de Notes de l'IA

Les chercheurs ont testé 9 des modèles d'IA les plus intelligents disponibles (incluant GPT-4o, Claude-3.5 et DeepSeek). Voici ce qu'ils ont trouvé :

1. La compétence « Bonne en lecture » (Interprétation et Complétion)

  • Analogie : Imaginez un étudiant qui est excellent pour lire un manuel et qui peut remplir les mots manquants dans une phrase parce que le contexte est déjà là.
  • Résultat : Les IA étaient étonnamment bonnes pour cela. Lorsqu'on leur donnait un extrait de code avec quelques parties manquantes, ou qu'on leur demandait d'expliquer ce qu'une partie de code fait, elles performaient très bien. Elles comprenaient la « grammaire » des langages de sécurité.

2. La compétence « Mauvaise en écriture » (Génération et Transformation)

  • Analogie : Maintenant, imaginez demander à ce même étudiant d'écrire un manuel entier de zéro, ou de traduire un livre du français au japonais sans dictionnaire. Il commence à halluciner, à inventer des règles ou à oublier la grammaire stricte.
  • Résultat : C'est là que les IA ont échoué.
    • Génération : Lorsqu'on demandait d'écrire un protocole de sécurité complet à partir d'une description en anglais clair, la plupart des IA produisaient du code que les robots ne pouvaient même pas exécuter. C'était comme écrire une phrase avec une syntaxe brisée.
    • Transformation : Lorsqu'on demandait de traduire du code d'un langage de robot à un autre, les IA se confondaient souvent. Elles mélangeaient les règles des deux langages, créant un code « Frankenstein » qui ne fonctionnait dans aucun des deux.
    • Le Score : Même la meilleure IA (Claude-3.5) n'a obtenu que 48,7 sur 100. Cela signifie que moins de la moitié de leurs tentatives étaient réellement utilisables par les outils de sécurité.

3. La compétence « Correction » (Correction)

  • Analogie : Si vous donnez à l'étudiant une phrase avec une faute de frappe évidente (ex: « recieve » au lieu de « receive »), il peut la corriger facilement. Mais si la phrase est grammaticalement correcte mais logiquement fausse (ex : « Le coffre est ouvert à tout le monde, mais il est sécurisé »), il a du mal à trouver l'erreur de logique.
  • Résultat : Les IA étaient bonnes pour corriger les erreurs de syntaxe simples (fautes de frak). Cependant, elles avaient du mal avec les erreurs « sémantiques » — corriger la logique même du protocole de sécurité.

Pourquoi est-ce si difficile ?

L'article explique que ces « langages de robots » ne sont pas comme Python ou Java. Ils sont extrêmement stricts.

  • La règle de « l'erreur unique » : Dans le codage normal, si vous oubliez un point-virgule, l'ordinateur peut simplement se plaindre. Dans ces langages de sécurité, un seul mot manquant peut changer tout le sens de la preuve de sécurité, faisant paraître un coffre sécurisé comme non sécurisé, ou inversement.
  • Le problème du « Contexte » : Ces protocoles dépendent souvent de longues chaînes d'événements (ex : « Si Alice envoie un message à l'étape 1, Bob doit répondre à l'étape 2, mais seulement s'il n'a pas vu de message de l'étape 0 »). Les IA perdent souvent le fil de ces longues chaînes.

Que pouvons-nous faire ? (Les « Roues Stabilisatrices »)

L'article suggère que, bien que nous ne puissions pas encore compter sur les IA pour faire tout le travail seules, nous pouvons les utiliser comme assistants si nous leur donnons l'aide appropriée :

  • Few-Shot Prompting : Au lieu de simplement dire « Écris ceci », montrez d'abord à l'IA trois exemples de la façon de l'écrire. Cela agit comme une fiche de triche.
  • Pass@K : Demandez à l'IA d'essayer d'écrire le code 5 fois, puis choisissez la meilleure version. Cela augmente les chances d'obtenir une version fonctionnelle.
  • Human-in-the-Loop (L'humain dans la boucle) : Utilisez l'IA pour rédiger le code, mais faites vérifier le tout par un expert humain avant que le robot de sécurité ne l'exécute.

L'essentiel à retenir

L'article conclut que les modèles de langage étendus sont actuellement d'excellents assistants de recherche pour comprendre et corriger le code de sécurité, mais qu'ils ne sont pas encore des architectes fiables pour construire de nouveaux protocoles de sécurité à partir de zéro.

Ils peuvent vous aider à lire le manuel et à corriger vos fautes de frappe, mais vous avez toujours besoin d'un expert humain pour garantir que le coffre est réellement sécurisé avant de remettre les clés. Le benchmark (CrypFormBench) est désormais disponible pour que d'autres chercheurs puissent tester de nouveaux modèles d'IA par rapport à ces mêmes normes strictes.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →