{"id":1407,"date":"2026-03-25T09:45:46","date_gmt":"2026-03-25T09:45:46","guid":{"rendered":"https:\/\/cortexorigin.com\/?page_id=1407"},"modified":"2026-07-24T08:30:29","modified_gmt":"2026-07-24T08:30:29","slug":"mttd-benchmark-v2-0-aetzu-arrow-ai","status":"publish","type":"page","link":"https:\/\/cortexorigin.com\/index.php\/mttd-benchmark-v2-0-aetzu-arrow-ai\/","title":{"rendered":""},"content":{"rendered":"\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Menu ORIGIN\u2122<\/title>\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');\n \nbody { margin: 0; padding: 0; background: #F4F0EB; font-family: 'DM Sans', sans-serif; min-height: 600px; }\n \n\/* Wrapper full-width \u2014 isolation stricte (all:initial) + 100vw, identique \u00e0 .cidor-page\n   pour \u00e9chapper aux contraintes de largeur du th\u00e8me WordPress et garantir le bandeau jusqu'aux bords. *\/\n.menu-bar-wrapper {\n  all: initial;\n  display: block;\n  box-sizing: border-box;\n  width: 100vw;\n  position: relative;\n  left: calc(50% - 50vw);\n  background: #0C1829;\n  z-index: 9999;\n  font-family: 'DM Sans', sans-serif;\n}\n \n.menu-bar {\n  width: 100%;\n  background: #0C1829;\n  padding: 0 2rem;\n  display: flex;\n  align-items: center;\n  justify-content: space-between;\n  position: relative;\n  z-index: 100;\n  box-sizing: border-box;\n}\n.menu-logo {\n  font-family: 'DM Sans', sans-serif; font-weight: 700; font-size: 0.95rem;\n  color: #fff; padding: 1rem 0; letter-spacing: 0.03em; white-space: nowrap;\n}\n.menu-logo span { color: #C9A96E; }\n.menu-items { display: flex; align-items: center; gap: 0; }\n \n\/* \u2500\u2500 EAS \u00b7 EXPOSITION BUTTON (avec dropdown) \u2500\u2500 *\/\n.menu-eas-wrap {\n  position: relative;\n  display: flex;\n  align-items: center;\n  padding: 1rem 0;\n  margin-right: 0.5rem;\n}\n.menu-eas {\n  display: flex; align-items: center;\n  padding: 0.45rem 1rem;\n  background: rgba(201,169,110,0.12);\n  border: 1px solid rgba(201,169,110,0.35);\n  border-radius: 3px;\n  font-family: 'JetBrains Mono', monospace;\n  font-size: 0.65rem; font-weight: 500;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  color: #C9A96E;\n  text-decoration: none;\n  transition: all 0.25s;\n  white-space: nowrap;\n  gap: 0.5rem;\n}\n.menu-eas::before {\n  content: '\u25ce';\n  font-size: 0.75rem;\n  opacity: 0.7;\n}\n.menu-eas::after {\n  content: '\u25be';\n  margin-left: 0.4rem;\n  font-size: 0.6rem;\n  opacity: 0.55;\n}\n.menu-eas:hover {\n  background: rgba(201,169,110,0.25);\n  border-color: rgba(201,169,110,0.6);\n  color: #fff;\n}\n.menu-eas-wrap:hover .menu-dropdown-eas { display: block; }\n.menu-dropdown-eas {\n  display: none; position: absolute; top: 100%; left: 0;\n  background: #0C1829; border: 1px solid rgba(74,144,217,0.15);\n  border-top: 2px solid #C9A96E; border-radius: 0 0 4px 4px;\n  min-width: 360px; padding: 0.8rem 0; z-index: 99999;\n  box-shadow: 0 12px 40px rgba(0,0,0,0.4);\n}\n \n\/* \u2500\u2500 AETZU ARROW AI BUTTON \u2500\u2500 *\/\n.menu-aetzu {\n  display: flex; align-items: center;\n  padding: 0.45rem 1rem;\n  background: rgba(201,169,110,0.12);\n  border: 1px solid rgba(201,169,110,0.35);\n  border-radius: 3px;\n  font-family: 'JetBrains Mono', monospace;\n  font-size: 0.65rem; font-weight: 500;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  color: #C9A96E;\n  text-decoration: none;\n  transition: all 0.25s;\n  white-space: nowrap;\n  gap: 0.5rem;\n}\n.menu-aetzu::before {\n  content: '\u2b21';\n  font-size: 0.75rem;\n  opacity: 0.7;\n}\n.menu-aetzu::after {\n  content: '\u25be';\n  margin-left: 0.4rem;\n  font-size: 0.6rem;\n  opacity: 0.55;\n}\n.menu-aetzu-wrap {\n  position: relative;\n  display: flex;\n  align-items: center;\n  padding: 1rem 0;\n  margin-right: 0.5rem;\n}\n.menu-aetzu-wrap:hover .menu-dropdown-aetzu { display: block; }\n.menu-dropdown-aetzu {\n  display: none; position: absolute; top: 100%; left: 0;\n  background: #0C1829; border: 1px solid rgba(74,144,217,0.15);\n  border-top: 2px solid #C9A96E; border-radius: 0 0 4px 4px;\n  min-width: 360px; padding: 0.8rem 0; z-index: 99999;\n  box-shadow: 0 12px 40px rgba(0,0,0,0.4);\n}\n.menu-aetzu:hover {\n  background: rgba(201,169,110,0.25);\n  border-color: rgba(201,169,110,0.6);\n  color: #fff;\n}\n \n\/* \u2500\u2500 CORTEX WEB & API BUTTON \u2500\u2500 *\/\n.menu-webapi {\n  display: flex; align-items: center;\n  padding: 0.45rem 1rem;\n  background: rgba(201,169,110,0.12);\n  border: 1px solid rgba(201,169,110,0.35);\n  border-radius: 3px;\n  font-family: 'JetBrains Mono', monospace;\n  font-size: 0.65rem; font-weight: 500;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  color: #C9A96E;\n  text-decoration: none;\n  transition: all 0.25s;\n  white-space: nowrap;\n  gap: 0.5rem;\n}\n.menu-webapi::before {\n  content: '\u25a3';\n  font-size: 0.75rem;\n  opacity: 0.7;\n}\n.menu-webapi::after {\n  content: '\u25be';\n  margin-left: 0.4rem;\n  font-size: 0.6rem;\n  opacity: 0.55;\n}\n.menu-webapi-wrap {\n  position: relative;\n  display: flex;\n  align-items: center;\n  padding: 1rem 0;\n  margin-right: 0.5rem;\n}\n.menu-webapi-wrap:hover .menu-dropdown-webapi { display: block; }\n.menu-dropdown-webapi {\n  display: none; position: absolute; top: 100%; left: 0;\n  background: #0C1829; border: 1px solid rgba(74,144,217,0.15);\n  border-top: 2px solid #C9A96E; border-radius: 0 0 4px 4px;\n  min-width: 360px; padding: 0.8rem 0; z-index: 99999;\n  box-shadow: 0 12px 40px rgba(0,0,0,0.4);\n}\n.menu-webapi:hover {\n  background: rgba(201,169,110,0.25);\n  border-color: rgba(201,169,110,0.6);\n  color: #fff;\n}\n \n\/* \u2500\u2500 CORTEX APP\u00c2T & LEURRE BUTTON (avec dropdown \u2014 BAITS) \u2500\u2500 *\/\n.menu-appat-wrap {\n  position: relative;\n  display: flex;\n  align-items: center;\n  padding: 1rem 0;\n  margin-right: 0.5rem;\n}\n.menu-appat {\n  display: flex; align-items: center;\n  padding: 0.45rem 1rem;\n  background: rgba(201,169,110,0.12);\n  border: 1px solid rgba(201,169,110,0.35);\n  border-radius: 3px;\n  font-family: 'JetBrains Mono', monospace;\n  font-size: 0.65rem; font-weight: 500;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  color: #C9A96E;\n  text-decoration: none;\n  transition: all 0.25s;\n  white-space: nowrap;\n  gap: 0.5rem;\n}\n.menu-appat::before {\n  content: '\u2b22';\n  font-size: 0.7rem;\n  opacity: 0.7;\n}\n.menu-appat::after {\n  content: '\u25be';\n  margin-left: 0.4rem;\n  font-size: 0.6rem;\n  opacity: 0.55;\n}\n.menu-appat:hover {\n  background: rgba(201,169,110,0.25);\n  border-color: rgba(201,169,110,0.6);\n  color: #fff;\n}\n.menu-appat-wrap:hover .menu-dropdown-appat { display: block; }\n.menu-dropdown-appat {\n  display: none; position: absolute; top: 100%; left: 0;\n  background: #0C1829; border: 1px solid rgba(74,144,217,0.15);\n  border-top: 2px solid #C9A96E; border-radius: 0 0 4px 4px;\n  min-width: 360px; padding: 0.8rem 0; z-index: 99999;\n  box-shadow: 0 12px 40px rgba(0,0,0,0.4);\n}\n \n\/* \u2500\u2500 CORTEX NK BUTTON (avec dropdown) \u2500\u2500 *\/\n.menu-cortexnk-wrap {\n  position: relative;\n  display: flex;\n  align-items: center;\n  padding: 1rem 0;\n  margin-right: 0.5rem;\n}\n.menu-cortexnk {\n  display: flex; align-items: center;\n  padding: 0.45rem 1rem;\n  background: rgba(201,169,110,0.12);\n  border: 1px solid rgba(201,169,110,0.35);\n  border-radius: 3px;\n  font-family: 'JetBrains Mono', monospace;\n  font-size: 0.65rem; font-weight: 500;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  color: #C9A96E;\n  text-decoration: none;\n  transition: all 0.25s;\n  white-space: nowrap;\n  gap: 0.5rem;\n}\n.menu-cortexnk::before {\n  content: '\u25c6';\n  font-size: 0.7rem;\n  opacity: 0.7;\n}\n.menu-cortexnk::after {\n  content: '\u25be';\n  margin-left: 0.4rem;\n  font-size: 0.6rem;\n  opacity: 0.55;\n}\n.menu-cortexnk:hover {\n  background: rgba(201,169,110,0.25);\n  border-color: rgba(201,169,110,0.6);\n  color: #fff;\n}\n.menu-cortexnk-wrap:hover .menu-dropdown-cortexnk { display: block; }\n.menu-dropdown-cortexnk {\n  display: none; position: absolute; top: 100%; left: 0;\n  background: #0C1829; border: 1px solid rgba(74,144,217,0.15);\n  border-top: 2px solid #C9A96E; border-radius: 0 0 4px 4px;\n  min-width: 360px; padding: 0.8rem 0; z-index: 99999;\n  box-shadow: 0 12px 40px rgba(0,0,0,0.4);\n}\n \n\/* \u2500\u2500 BENCHMARK & V\u00c9RIFICATION BUTTON (m\u00e9ga-d\u00e9roulant fusionn\u00e9) \u2500\u2500 *\/\n.menu-benchmark-wrap {\n  position: relative;\n  display: flex;\n  align-items: center;\n  padding: 1rem 0;\n  margin-right: 0.5rem;\n}\n.menu-benchmark {\n  display: flex; align-items: center;\n  padding: 0.45rem 1rem;\n  background: rgba(74,144,217,0.10);\n  border: 1px solid rgba(74,144,217,0.30);\n  border-radius: 3px;\n  font-family: 'JetBrains Mono', monospace;\n  font-size: 0.65rem; font-weight: 500;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  color: rgba(184,212,240,0.85);\n  text-decoration: none;\n  transition: all 0.25s;\n  white-space: nowrap;\n  gap: 0.5rem;\n}\n.menu-benchmark::before {\n  content: '\u25c8';\n  font-size: 0.7rem;\n  opacity: 0.65;\n}\n.menu-benchmark::after {\n  content: '\u25be';\n  margin-left: 0.4rem;\n  font-size: 0.6rem;\n  opacity: 0.55;\n}\n.menu-benchmark:hover {\n  background: rgba(74,144,217,0.22);\n  border-color: rgba(74,144,217,0.55);\n  color: #fff;\n}\n.menu-benchmark-wrap:hover .mega-dropdown { display: block; }\n \n.menu-item {\n  position: relative; padding: 1rem 1rem;\n  font-size: 0.78rem; font-weight: 500; color: rgba(184,212,240,0.75);\n  cursor: pointer; letter-spacing: 0.02em; transition: color 0.2s;\n  white-space: nowrap;\n}\n.menu-item:hover { color: #fff; }\n.menu-item::after {\n  content: '\u25be'; margin-left: 0.3rem; font-size: 0.6rem; opacity: 0.5;\n}\n.menu-item.no-drop::after { content: ''; }\n.menu-cta {\n  font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; font-weight: 500;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  padding: 0.5rem 1.2rem; border-radius: 2px;\n  background: rgba(201,169,110,0.15); color: #C9A96E; border: 1px solid rgba(201,169,110,0.3);\n  cursor: pointer; transition: all 0.3s; white-space: nowrap;\n}\n.menu-cta:hover { background: rgba(201,169,110,0.25); color: #fff; }\n \n.menu-dropdown {\n  display: none; position: absolute; top: 100%; left: 0;\n  background: #0C1829; border: 1px solid rgba(74,144,217,0.15);\n  border-top: 2px solid #C9A96E; border-radius: 0 0 4px 4px;\n  min-width: 320px; padding: 0.8rem 0; z-index: 99999;\n  box-shadow: 0 12px 40px rgba(0,0,0,0.4);\n}\n.menu-item:hover .menu-dropdown { display: block; }\n.menu-dropdown a {\n  display: block; padding: 0.5rem 1.5rem; font-size: 0.8rem; color: rgba(184,212,240,0.6);\n  text-decoration: none; transition: all 0.2s; line-height: 1.5;\n}\n.menu-dropdown a:hover { color: #fff; background: rgba(74,144,217,0.08); }\n.menu-dropdown .drop-label {\n  font-family: 'JetBrains Mono', monospace; font-size: 0.58rem; font-weight: 600;\n  letter-spacing: 0.15em; color: #C9A96E; text-transform: uppercase;\n  padding: 0.6rem 1.5rem 0.3rem; display: block;\n}\n.menu-dropdown .drop-sep {\n  border: none; border-top: 1px solid rgba(74,144,217,0.08);\n  margin: 0.5rem 1.5rem;\n}\n \n.menu-dropdown a.drop-highlight {\n  display: flex; align-items: center; justify-content: space-between;\n  margin: 0.4rem 0.8rem 0.2rem;\n  padding: 0.55rem 1rem;\n  background: rgba(201,169,110,0.08);\n  border: 1px solid rgba(201,169,110,0.2);\n  border-radius: 3px;\n  color: #C9A96E;\n  font-weight: 600; font-size: 0.78rem;\n  transition: all 0.2s;\n}\n.menu-dropdown a.drop-highlight:hover {\n  background: rgba(201,169,110,0.18); color: #fff; border-color: rgba(201,169,110,0.45);\n}\n.drop-highlight-arrow { font-size: 0.65rem; opacity: 0.6; margin-left: 8px; }\n \n.menu-dropdown a.drop-sim {\n  display: flex; align-items: center; justify-content: space-between;\n  margin: 0.25rem 0.8rem;\n  padding: 0.5rem 1rem;\n  background: rgba(74,144,217,0.06);\n  border: 1px solid rgba(74,144,217,0.18);\n  border-radius: 3px;\n  color: rgba(184,212,240,0.85);\n  font-size: 0.78rem;\n  transition: all 0.2s;\n}\n.menu-dropdown a.drop-sim:hover {\n  background: rgba(74,144,217,0.14); color: #fff; border-color: rgba(74,144,217,0.4);\n}\n.drop-sim-icon { font-size: 0.7rem; opacity: 0.55; margin-left: 8px; }\n.mega-dropdown {\n  display: none; position: absolute; top: 100%; left: auto; right: 0;\n  background: #0C1829; border: 1px solid rgba(74,144,217,0.15);\n  border-top: 2px solid #C9A96E; border-radius: 0 0 4px 4px;\n  width: 680px; padding: 1.5rem; z-index: 99999;\n  box-shadow: 0 12px 40px rgba(0,0,0,0.4);\n}\n.menu-item:hover .mega-dropdown { display: block; }\n.mega-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 2rem; }\n.mega-col .drop-label { padding: 0 0 0.3rem; }\n.mega-col .drop-label {\n  font-family: 'JetBrains Mono', monospace; font-size: 0.58rem; font-weight: 600;\n  letter-spacing: 0.15em; color: #C9A96E; text-transform: uppercase;\n  display: block;\n}\n.mega-col a {\n  display: block; padding: 0.35rem 0; font-size: 0.78rem; color: rgba(184,212,240,0.6);\n  text-decoration: none; transition: color 0.2s;\n}\n.mega-col a:hover { color: #fff; }\n.mega-col .drop-sep {\n  border: none; border-top: 1px solid rgba(74,144,217,0.08);\n}\n.mega-col a.drop-highlight {\n  margin: 0.5rem 0 0.2rem; padding: 0.5rem 0.8rem;\n  background: rgba(201,169,110,0.08); border: 1px solid rgba(201,169,110,0.2);\n  border-radius: 3px; color: #C9A96E; font-weight: 600;\n  display: flex; align-items: center; justify-content: space-between;\n}\n.mega-col a.drop-highlight:hover {\n  background: rgba(201,169,110,0.18); color: #fff; border-color: rgba(201,169,110,0.45);\n}\n.mega-col a.drop-sim {\n  margin: 0.35rem 0; padding: 0.45rem 0.8rem;\n  background: rgba(74,144,217,0.06); border: 1px solid rgba(74,144,217,0.18);\n  border-radius: 3px; color: rgba(184,212,240,0.85);\n  display: flex; align-items: center; justify-content: space-between;\n  font-size: 0.78rem;\n}\n.mega-col a.drop-sim:hover {\n  background: rgba(74,144,217,0.14); color: #fff; border-color: rgba(74,144,217,0.4);\n}\n\/* \u2500\u2500 BOUTON INVESTISSEURS (CTA primaire, dor\u00e9 plein) \u2500\u2500 *\/\n.menu-investor {\n  font-family: 'JetBrains Mono', monospace; font-size: 0.65rem; font-weight: 600;\n  letter-spacing: 0.08em; text-transform: uppercase;\n  padding: 0.5rem 1.2rem; border-radius: 2px;\n  background: #C9A96E; color: #0C1829; border: 1px solid #C9A96E;\n  cursor: pointer; transition: all 0.3s; white-space: nowrap; margin-right: 0.6rem;\n  text-decoration: none; display: inline-block;\n}\n.menu-investor:hover { background: #d9bd87; border-color: #d9bd87; }\n.preview-hint {\n  text-align: center; color: #6b7280; font-family: 'JetBrains Mono', monospace;\n  font-size: 0.7rem; padding: 3rem 1rem 1rem; letter-spacing: 0.05em;\n}\n.preview-hint strong { color: #C9A96E; }\n<\/style>\n \n \n \n<div class=\"menu-bar-wrapper\">\n<div class=\"menu-bar\">\n  <div class=\"menu-logo\"><span>ORIGIN\u2122<\/span><\/div>\n  <div class=\"menu-items\">\n \n    <!-- EAS \u00b7 EXPOSITION (entr\u00e9e de premier niveau) -->\n    <div class=\"menu-eas-wrap\">\n      <a href=\"https:\/\/cortexorigin.com\/index.php\/easevolution\/\" class=\"menu-eas\">\n        EAS \u00b7 EXPOSITION\n      <\/a>\n      <div class=\"menu-dropdown menu-dropdown-eas\">\n        <span class=\"drop-label\">Plateforme CTEM<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/easevolution\/\" class=\"drop-highlight\">\n          EAS \u00b7 Exposition externe et interne\n          <span class=\"drop-highlight-arrow\">\u2197<\/span>\n        <\/a>\n        <hr class=\"drop-sep\">\n        <span class=\"drop-label\">Ce que la plateforme mesure<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/easevolution\/#interne\" class=\"drop-sim\">\n          P\u00e9rim\u00e8tre interne \u00b7 annuaire LDAP \/ AD\n          <span class=\"drop-sim-icon\">\u2197<\/span>\n        <\/a>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/easevolution\/#gouvernance\" class=\"drop-sim\">\n          Gouvernance &amp; trace de d\u00e9cision\n          <span class=\"drop-sim-icon\">\u2197<\/span>\n        <\/a>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/easevolution\/#concurrence\" class=\"drop-sim\">\n          Paysage concurrentiel\n          <span class=\"drop-sim-icon\">\u2197<\/span>\n        <\/a>\n        <hr class=\"drop-sep\">\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/easevolution\/#contact\" class=\"drop-highlight\">\n          Demander une cartographie\n          <span class=\"drop-highlight-arrow\">\u2197<\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n \n    <!-- AETZU ARROW AI (avec dropdown) -->\n    <div class=\"menu-aetzu-wrap\">\n      <a href=\"https:\/\/cortexorigin.com\/index.php\/aetzu-arrow-ai\/\" class=\"menu-aetzu\">\n        AETZU ARROW AI\u2122\n      <\/a>\n      <div class=\"menu-dropdown menu-dropdown-aetzu\">\n        <span class=\"drop-label\">AETZU ARROW AI<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/aetzu-arrow-ai\/\" class=\"drop-sim\">\n          AETZU ARROW AI\u2122 \u00b7 D\u00e9fense active\n          <span class=\"drop-sim-icon\">\u2197<\/span>\n        <\/a>\n        <hr class=\"drop-sep\">\n        <span class=\"drop-label\">Analyse strat\u00e9gique<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/marche-et-positionnement-2\/\" class=\"drop-highlight\">\n          March\u00e9 et positionnement\n          <span class=\"drop-highlight-arrow\">\u2197<\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n \n    <!-- WEB & API (avec dropdown) -->\n    <div class=\"menu-webapi-wrap\">\n      <a href=\"https:\/\/cortexorigin.com\/index.php\/cortex-idor\/\" class=\"menu-webapi\">\n        WEB &amp; API\n      <\/a>\n      <div class=\"menu-dropdown menu-dropdown-webapi\">\n        <span class=\"drop-label\">Web &amp; API<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/cortex-idor\/\" class=\"drop-sim\">\n          IDOR \u00b7 Passerelle d&rsquo;autorisation\n          <span class=\"drop-sim-icon\">\u2197<\/span>\n        <\/a>\n        <hr class=\"drop-sep\">\n        <span class=\"drop-label\">Analyse strat\u00e9gique<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/1689-2\/\" class=\"drop-highlight\">\n          March\u00e9 et positionnement\n          <span class=\"drop-highlight-arrow\">\u2197<\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n \n    <!-- APP\u00c2T & LEURRE (avec dropdown \u2014 BAITS) -->\n    <div class=\"menu-appat-wrap\">\n      <a href=\"https:\/\/cortexorigin.com\/index.php\/appat-leurre-lanterne\/\" class=\"menu-appat\">\n        APP\u00c2T &amp; LEURRE\n      <\/a>\n      <div class=\"menu-dropdown menu-dropdown-appat\">\n        <span class=\"drop-label\">Famille App\u00e2t &amp; Leurre<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/appat-leurre-lanterne\/\" class=\"drop-sim\">\n          App\u00e2t &amp; Leurre \u00b7 Vue d&rsquo;ensemble\n          <span class=\"drop-sim-icon\">\u2197<\/span>\n        <\/a>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/baist\/\" class=\"drop-highlight\">\n          BAITS \u00b7 D\u00e9ception active\n          <span class=\"drop-highlight-arrow\">\u2197<\/span>\n        <\/a>\n        <hr class=\"drop-sep\">\n        <span class=\"drop-label\">Analyse strat\u00e9gique<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/marche-positionnement\/\" class=\"drop-sim\">\n          March\u00e9 &amp; positionnement\n          <span class=\"drop-sim-icon\">\u2197<\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n \n    <!-- NK (avec dropdown) -->\n    <div class=\"menu-cortexnk-wrap\">\n      <a href=\"https:\/\/cortexorigin.com\/index.php\/cortex-nk\/\" class=\"menu-cortexnk\">\n        NOYAU NK\n      <\/a>\n      <div class=\"menu-dropdown menu-dropdown-cortexnk\">\n        <span class=\"drop-label\">Famille NK<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/cortex-nk\/\" class=\"drop-sim\">\n          NK \u00b7 Micronoyau souverain\n          <span class=\"drop-sim-icon\">\u2197<\/span>\n        <\/a>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/cortex-nk-3d\/\" class=\"drop-highlight\">\n          NK 3D \u00b7 Cybers\u00e9curit\u00e9 active\n          <span class=\"drop-highlight-arrow\">\u2197<\/span>\n        <\/a>\n        <hr class=\"drop-sep\">\n        <span class=\"drop-label\">Secure Boot<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/cortex-nk-secure-boot\/\" class=\"drop-sim\">\n          Secure Boot S1-S10 \u00b7 Module natif\n          <span class=\"drop-sim-icon\">\u2197<\/span>\n        <\/a>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/secure-boot-tf-a-post-quantique\/\" class=\"drop-highlight\">\n          Secure Boot TF-A \u00b7 Post-Quantique\n          <span class=\"drop-highlight-arrow\">\u2197<\/span>\n        <\/a>\n        <hr class=\"drop-sep\">\n        <span class=\"drop-label\">Analyse strat\u00e9gique<\/span>\n        <a href=\"https:\/\/cortexorigin.com\/index.php\/marche-et-positionnement\/\" class=\"drop-sim\">\n          March\u00e9 &amp; positionnement\n          <span class=\"drop-sim-icon\">\u2197<\/span>\n        <\/a>\n      <\/div>\n    <\/div>\n \n    <!-- BENCHMARK & V\u00c9RIFICATION (m\u00e9ga-d\u00e9roulant fusionn\u00e9) -->\n    <div class=\"menu-benchmark-wrap\">\n      <a href=\"https:\/\/cortexorigin.com\/index.php\/mttd-benchmark-v2-0-aetzu-arrow-ai\/\" class=\"menu-benchmark\">\n        Benchmark\n      <\/a>\n      <div class=\"mega-dropdown\">\n        <div class=\"mega-cols\">\n \n          <div class=\"mega-col\">\n            <span class=\"drop-label\">D\u00e9monstration<\/span>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/demonstration-cortex-nk-2\/\" class=\"drop-highlight\">\n              D\u00c9MONSTRATION NK\n              <span class=\"drop-highlight-arrow\">\u2197<\/span>\n            <\/a>\n            <hr class=\"drop-sep\" style=\"margin:0.8rem 0 0.5rem\">\n            <span class=\"drop-label\">Capacit\u00e9s mesur\u00e9es<\/span>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/cryptographie\/\">Cryptographie<\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/secure-boot\/\">Secure Boot<\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/auto-containment-2\/\">Auto-Containment<\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/audit-log-immuable\/\">Audit Log Immuable<\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/attestation-et-orchestration-post-quantique\/\">Mesh v1<\/a>\n            <hr class=\"drop-sep\" style=\"margin:0.8rem 0 0.5rem\">\n            <span class=\"drop-label\">Tableaux de bord<\/span>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/mttd-benchmark-v2-0-aetzu-arrow-ai\/\" class=\"drop-highlight\">\n              MTTD Benchmark v2.0\n              <span class=\"drop-highlight-arrow\">\u2197<\/span>\n            <\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/1043-2\/\" class=\"drop-highlight\">\n              Evaluation Dashboard\n              <span class=\"drop-highlight-arrow\">\u2197<\/span>\n            <\/a>\n          <\/div>\n \n          <div class=\"mega-col\">\n            <span class=\"drop-label\">CFVL \u2014 Laboratoire formel<\/span>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/689-2\/\">CFVL \u2014 Page principale<\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/841-2\/\">Journal R&amp;D<\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/833-2\/\">Publications &amp; \u00e9valuations<\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/827-2\/\">M\u00e9thodologie<\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/rapport-mttd-mttb\/\">Rapport MTTD \/ MTTB<\/a>\n            <hr class=\"drop-sep\" style=\"margin:0.8rem 0 0.5rem\">\n            <span class=\"drop-label\">Simulations interactives<\/span>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/test\/\" class=\"drop-sim\">\n              Simulations Attaque\n              <span class=\"drop-sim-icon\">\u26a1<\/span>\n            <\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/simulation\/\" class=\"drop-sim\">\n              Sch\u00e9ma &amp; Simulations\n              <span class=\"drop-sim-icon\">\u25ce<\/span>\n            <\/a>\n            <hr class=\"drop-sep\" style=\"margin:0.8rem 0 0.5rem\">\n            <span class=\"drop-label\">Recherche<\/span>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/604-2\/\">AGI Exp\u00e9rimental<\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/cortex-origin-2\/\">MVP<\/a>\n            <a href=\"https:\/\/cortexorigin.com\/index.php\/814-2\/\">IA expliqu\u00e9e simplement<\/a>\n          <\/div>\n \n        <\/div>\n      <\/div>\n    <\/div>\n \n    <!-- INVESTISSEURS -->\n    <a href=\"https:\/\/cortexorigin.com\/index.php\/investisseurs-partenaires-strategiques\/\" class=\"menu-investor\">Investisseurs<\/a>\n \n    <!-- CTA -->\n    <a href=\"mailto:press@cortexorigin.com\" style=\"text-decoration:none\">\n      <div class=\"menu-cta\">Contact<\/div>\n    <\/a>\n \n  <\/div>\n<\/div>\n<\/div>\n \n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>CFVL-BENCH-MTTD-002 v2.1 \u2014 AETZU ARROW AI\u2122<\/title>\n<style>\n.fw-wrap{all:initial;display:block;}.fw-wrap *{box-sizing:border-box;}.bm-page{width:100vw;position:relative;left:50%;transform:translateX(-50%);overflow-x:hidden;font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;font-size:15px;line-height:1.6;color:#1A1A2E;background:#F5F4F0;}.entry-title,.page-title,h1.wp-block-heading:first-child{display:none !important;}@import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=IBM+Plex+Mono:wght@300;400;500&family=IBM+Plex+Serif:ital,wght@0,400;0,500;1,400&display=swap');.bm-nav{background:#00205B;border-bottom:3px solid #B08728;padding:0 5%;display:flex;align-items:stretch;width:100%;}.bm-nav-brand{display:flex;align-items:center;gap:14px;padding:14px 0;border-right:1px solid rgba(255,255,255,0.12);padding-right:28px;margin-right:28px;flex-shrink:0;}.bm-nav-org{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.55);display:block;margin-bottom:2px;}.bm-nav-prog{font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:600;color:#FFFFFF;letter-spacing:0.03em;display:block;}.bm-nav-ref{display:flex;align-items:center;gap:20px;flex:1;flex-wrap:wrap;padding:14px 0;}.bm-nav-ref span{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.4);}.bm-nav-badge{margin-left:auto;background:#B08728;color:#00205B;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;letter-spacing:0.15em;text-transform:uppercase;padding:0 20px;display:flex;align-items:center;flex-shrink:0;}.bm-hero{background:#FFFFFF;border-bottom:1px solid #D0CEC8;width:100%;}.bm-hero-inner{display:grid;grid-template-columns:1fr 420px;min-height:400px;}.bm-hero-left{padding:56px 5%;border-right:1px solid #D0CEC8;}.bm-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:#0055B3;margin-bottom:20px;display:flex;align-items:center;gap:12px;}.bm-eyebrow::before{content:'';display:block;width:24px;height:2px;background:#B08728;}.bm-h1{font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(36px,4.5vw,58px);font-weight:500;line-height:1.08;color:#00205B;margin:0 0 6px 0;}.bm-h1 em{font-style:italic;color:#003F8A;}.bm-sub{font-family:'IBM Plex Sans',sans-serif;font-size:15px;font-weight:300;color:#5A5E70;line-height:1.75;max-width:560px;margin-top:20px;}.bm-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px;}.bm-tag{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.13em;text-transform:uppercase;padding:4px 10px;border:1px solid;}.bm-tag.tn{color:#00205B;border-color:rgba(0,32,91,0.3);background:#E8EFF8;}.bm-tag.tg{color:#8A5A00;border-color:rgba(176,135,40,0.3);background:#F5EDD5;}.bm-tag.tm{color:#5A5E70;border-color:#B8B4AC;background:#ECEAE4;}.bm-hero-right{padding:36px 32px;background:#ECEAE4;display:flex;flex-direction:column;justify-content:center;gap:3px;}.bm-kpi-row{display:grid;grid-template-columns:1fr 1fr;gap:3px;}.bm-kpi{background:#FFFFFF;border:1px solid #D0CEC8;border-left:3px solid #B8B4AC;padding:14px 16px;}.bm-kpi.ka{border-left-color:#0055B3;}.bm-kpi.kg{border-left-color:#1A6B3C;}.bm-kpi.ko{border-left-color:#B08728;}.bm-kpi-n{font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:500;color:#00205B;line-height:1;margin-bottom:5px;}.bm-kpi.ka .bm-kpi-n{color:#0055B3;}.bm-kpi.kg .bm-kpi-n{color:#1A6B3C;}.bm-kpi.ko .bm-kpi-n{color:#B08728;}.bm-kpi-l{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.17em;text-transform:uppercase;color:#5A5E70;}@media (max-width:860px){.bm-hero-inner{grid-template-columns:1fr;}.bm-hero-right{border-top:1px solid #D0CEC8;}.bm-hero-left{border-right:none;}}.bm-sec-hdr{background:#00205B;padding:10px 5%;display:flex;align-items:center;gap:16px;}.bm-sec-num{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.2em;color:rgba(255,255,255,0.35);flex-shrink:0;}.bm-sec-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.85);font-weight:500;}.bm-sec-line{flex:1;height:1px;background:rgba(255,255,255,0.1);}.bm-sec{padding:52px 5%;background:#FFFFFF;border-bottom:1px solid #D0CEC8;}.bm-sec.gray{background:#FAFAF8;}.bm-sec-title{font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(26px,3vw,38px);font-weight:500;color:#00205B;margin:0 0 8px 0;line-height:1.15;}.bm-sec-title em{font-style:italic;color:#003F8A;}.bm-sec-desc{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:300;color:#5A5E70;max-width:700px;line-height:1.8;margin-bottom:36px;}.bm-tw{overflow-x:auto;border:1px solid #D0CEC8;}.bm-bt{width:100%;border-collapse:collapse;font-family:'IBM Plex Mono',monospace;font-size:12.5px;}.bm-bt thead tr{background:#00205B;}.bm-bt thead th{padding:12px 16px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.55);font-weight:400;text-align:left;}.bm-bt thead th.r{text-align:right;}.bm-bt thead th.c{text-align:center;}.bm-bt .grp td{padding:8px 16px;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.24em;text-transform:uppercase;color:#0055B3;font-weight:500;background:#E8EFF8;border-top:1px solid #D0CEC8;border-bottom:1px solid #D0CEC8;}.bm-bt tbody tr{border-bottom:1px solid #ECEAE4;}.bm-bt tbody tr:hover{background:rgba(0,63,138,0.03);}.bm-bt tbody td{padding:9px 16px;color:#1A1A2E;}.bm-bt td.val{text-align:right;color:#0055B3;font-weight:500;}.bm-bt td.p50,.bm-bt td.p99{text-align:right;color:#5A5E70;}.bm-bt td.lay{text-align:center;}.bm-bt .tcbr{background:#FDF0D5;}.bm-bt .tcbr td{font-weight:500;}.bm-bt .tcbr td.fn{color:#00205B;}.bm-bdg{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;padding:2px 7px;border:1px solid;}.bm-bdg.tcb{color:#8A5A00;border-color:rgba(138,90,0,0.35);background:#FDF0D5;}.bm-bdg.l1b{color:#5A5E70;border-color:#B8B4AC;background:#ECEAE4;}.bm-bdg.nw{color:#1A6B3C;border-color:rgba(26,107,60,0.3);background:#E4F3EB;}.bm-bdg.lx{color:#0055B3;border-color:rgba(0,85,179,0.25);background:#E8EFF8;}.bm-bdg.crypto{color:#6B2D8C;border-color:rgba(107,45,140,0.3);background:#F0E4F5;}.bm-bdg.pqc{color:#003F8A;border-color:rgba(0,63,138,0.3);background:#E8EFF8;}.bm-lgrid{display:grid;grid-template-columns:repeat(17,1fr);gap:4px;margin-top:32px;}.bm-lc{padding:12px 4px;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid #D0CEC8;background:#FFFFFF;cursor:default;transition:.2s;}.bm-lc:hover{border-color:#0055B3;transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,63,138,.08);}.bm-lc .ln{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.12em;color:#5A5E70;margin-bottom:5px;}.bm-lc .lv{font-family:'IBM Plex Mono',monospace;font-size:14px;font-weight:500;line-height:1;}.bm-lc .lu{font-family:'IBM Plex Mono',monospace;font-size:8px;color:#5A5E70;margin-top:2px;}.bm-lc.ok{background:#E4F3EB;}.bm-lc.ok .lv{color:#1A6B3C;}.bm-lc.wn{background:#FDF0D5;}.bm-lc.wn .lv{color:#8A5A00;}.bm-lc.al{background:#FAEAEA;}.bm-lc.al .lv{color:#B02020;}.bm-cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:3px;margin-top:36px;}.bm-cc{background:#FFFFFF;border:1px solid #D0CEC8;border-top:3px solid #B8B4AC;padding:22px 20px;transition:.2s;}.bm-cc:hover{border-top-color:#0055B3;box-shadow:0 4px 16px rgba(0,63,138,.07);}.bm-cc.hc{border-top-color:#00205B;background:#E8EFF8;}.bm-cc-n{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:600;color:#00205B;margin-bottom:2px;}.bm-cc-v{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#5A5E70;margin-bottom:16px;}.bm-cc-lat{font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:500;color:#1A1A2E;line-height:1;margin-bottom:3px;}.bm-cc.hc .bm-cc-lat{color:#0055B3;}.bm-cc-rat{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;color:#5A5E70;margin-bottom:10px;}.bm-cc.hc .bm-cc-rat{color:#0055B3;font-weight:500;}.bm-cc-eal{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#5A5E70;}.bm-cc-mtd{display:inline-block;margin-top:8px;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.14em;padding:2px 7px;border:1px solid;text-transform:uppercase;}.bm-cc-mtd.y{color:#1A6B3C;border-color:rgba(26,107,60,.3);background:#E4F3EB;}.bm-cc-mtd.n{color:#5A5E70;border-color:#B8B4AC;}.bm-rbars{margin-top:36px;display:flex;flex-direction:column;gap:12px;}.bm-rrow{display:grid;grid-template-columns:220px 1fr 140px;align-items:center;gap:16px;}.bm-rname{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.1em;color:#5A5E70;text-align:right;}.bm-rw{height:22px;background:#ECEAE4;border:1px solid #D0CEC8;overflow:hidden;}.bm-rb{height:100%;width:0;transition:width 1.6s cubic-bezier(.2,0,0,1);}.bm-rb.ref{background:#00205B;}.bm-rb.oth{background:rgba(0,63,138,.35);}.bm-rv{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:500;color:#00205B;}.bm-rrow:not(:first-child) .bm-rv{color:#5A5E70;}@media (max-width:600px){.bm-rrow{grid-template-columns:140px 1fr 80px;gap:8px;}.bm-rname{font-size:9px;}}.bm-mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3px;margin-top:36px;}.bm-mc{padding:26px 22px;background:#FFFFFF;border:1px solid #D0CEC8;border-top:3px solid #B8B4AC;}.bm-mi{font-family:'IBM Plex Mono',monospace;font-size:20px;color:#0055B3;margin-bottom:14px;}.bm-mt{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#00205B;margin-bottom:8px;font-weight:500;}.bm-md{font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:300;color:#5A5E70;line-height:1.7;}.bm-mv{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#0055B3;margin-top:12px;}.bm-term{margin-top:36px;background:#00205B;color:rgba(255,255,255,0.85);padding:24px 28px;font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.9;overflow-x:auto;}.tp{color:rgba(255,255,255,0.35);}.tc{color:#FFFFFF;}.to{color:rgba(255,255,255,0.4);}.th{color:#FFD080;font-weight:500;}.tok{color:#6DD98A;}.tw2{color:#FFB347;}.bm-nota{margin-top:16px;padding:12px 16px;background:#F5EDD5;border-left:3px solid #B08728;font-family:'IBM Plex Sans',sans-serif;font-size:12.5px;font-weight:300;color:#8A5A00;line-height:1.65;}.bm-footer{background:#00205B;border-top:3px solid #B08728;padding:40px 5%;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:28px;}.bm-fb-name{font-family:'IBM Plex Sans',sans-serif;font-size:16px;font-weight:600;color:#FFFFFF;margin-bottom:5px;}.bm-fb-sub{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;color:rgba(255,255,255,0.4);}.bm-fm{font-family:'IBM Plex Mono',monospace;font-size:10px;color:rgba(255,255,255,0.3);line-height:2;text-align:right;}.bm-rev{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s;}.bm-rev.in{opacity:1;transform:none;}.fw-wrap,.bm-page{width:100% !important;max-width:none !important;margin-left:0 !important;margin-right:0 !important;padding-left:0 !important;padding-right:0 !important;}.bm-nav,.bm-hero,.bm-sec-hdr,.bm-sec,.bm-footer{width:100% !important;max-width:none !important;margin-left:0 !important;margin-right:0 !important;}.entry-content,.post-content,.wp-block-group,.wp-block-group__inner-container,.is-layout-constrained > *,.is-layout-flow > *{max-width:none !important;width:100% !important;padding-left:0 !important;padding-right:0 !important;}\n\/* === Section CORTEX NK Crypto - styles d\u00e9di\u00e9s === *\/\n.bm-crypto-banner{background:linear-gradient(90deg,#00205B 0%,#003F8A 100%);color:#fff;padding:18px 28px;margin-bottom:32px;border-left:4px solid #B08728;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}\n.bm-crypto-banner-l{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#B08728;}\n.bm-crypto-banner-t{font-family:'IBM Plex Sans',sans-serif;font-size:15px;font-weight:500;color:#fff;flex:1;}\n.bm-crypto-banner-b{font-family:'IBM Plex Mono',monospace;font-size:10px;color:rgba(255,255,255,0.6);}\n.bm-crypto-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:3px;margin-top:32px;}\n.bm-crypto-card{background:#FFFFFF;border:1px solid #D0CEC8;border-top:3px solid #6B2D8C;padding:22px 20px;transition:.2s;}\n.bm-crypto-card.classic{border-top-color:#6B2D8C;}\n.bm-crypto-card.pqc{border-top-color:#003F8A;}\n.bm-crypto-card.hash{border-top-color:#1A6B3C;}\n.bm-crypto-card.na{border-top-color:#B8B4AC;background:#FAFAF8;}\n.bm-crypto-card:hover{box-shadow:0 4px 16px rgba(0,63,138,.07);}\n.bm-cr-type{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#6B2D8C;margin-bottom:6px;}\n.bm-crypto-card.pqc .bm-cr-type{color:#003F8A;}\n.bm-crypto-card.hash .bm-cr-type{color:#1A6B3C;}\n.bm-crypto-card.na .bm-cr-type{color:#B8B4AC;}\n.bm-cr-name{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:600;color:#00205B;margin-bottom:4px;}\n.bm-cr-std{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#5A5E70;margin-bottom:14px;letter-spacing:.05em;}\n.bm-cr-mean{font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:500;color:#1A1A2E;line-height:1;margin-bottom:4px;}\n.bm-cr-unit{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#5A5E70;letter-spacing:.05em;display:inline;margin-left:4px;}\n.bm-cr-pcts{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#5A5E70;margin-top:8px;letter-spacing:.05em;}\n.bm-cr-pcts span{color:#1A1A2E;font-weight:500;}\n.bm-cr-na{font-family:'IBM Plex Mono',monospace;font-size:11px;color:#B8B4AC;font-style:italic;}\n<\/style>\n\n\n<div class=\"fw-wrap\">\n<div class=\"bm-page\">\n \n<!-- NAV -->\n<nav class=\"bm-nav\">\n  <div class=\"bm-nav-brand\">\n    <div><span class=\"bm-nav-org\">CORTEX AI\u2122 SAS<\/span><span class=\"bm-nav-prog\">CORTEX ORIGIN\u2122<\/span><\/div>\n  <\/div>\n  <div class=\"bm-nav-ref\">\n    <span>CFVL-BENCH-MTTD-002 v2.1<\/span>\n    <span>\u00b7<\/span><span>Avril 2026<\/span>\n    <span>\u00b7<\/span><span>ARM64 \u00b7 clang -O1<\/span>\n  <\/div>\n  <div class=\"bm-nav-badge\">AETZU ARROW AI\u2122<\/div>\n<\/nav>\n \n<!-- HERO -->\n<div class=\"bm-hero\">\n  <div class=\"bm-hero-inner\">\n    <div class=\"bm-hero-left\">\n      <div class=\"bm-eyebrow\">Programme de d\u00e9fense \u2014 Benchmark MTTD<\/div>\n      <h2 class=\"bm-h1\">Mean Time To Decision<br><em>AETZU ARROW AI\u2122<\/em><\/h2>\n      <p class=\"bm-sub\">84 fonctions \u00b7 17 modules \u00b7 MTTD + crypto + Secure Boot<br>TCB \u00b7 RF SENTINEL \u00b7 MINE AI\u2122 v4.1 \u00b7 ANTI-MINE AI\u2122 v4.1 \u00b7 Secure Boot S1-S10 \u00b7 ARM64 \u00b7 clang -O1\/-O2 \u00b7 N=1 000 \u00b7 batch=10 000<\/p>\n      <div class=\"bm-tags\">\n        <span class=\"bm-tag tn\">EAL7 candidat<\/span>\n        <span class=\"bm-tag tn\">Moving Target Defence<\/span>\n        <span class=\"bm-tag tg\">AVA_VAN.5 \u00b7 12\/12 NON EXPLOIT<\/span>\n        <span class=\"bm-tag tm\">France Deeptech<\/span>\n        <span class=\"bm-tag tm\">Systematic Paris-R\u00e9gion<\/span>\n        <span class=\"bm-tag tm\">SAFE Cluster<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"bm-hero-right\">\n      <div class=\"bm-kpi-row\">\n        <div class=\"bm-kpi ka\"><div class=\"bm-kpi-n\">1,54 ns<\/div><div class=\"bm-kpi-l\">TCB mean \u00b7 M00\u00b7M02\u00b7M10<\/div><\/div>\n        <div class=\"bm-kpi kg\"><div class=\"bm-kpi-n\">\u00d7130<\/div><div class=\"bm-kpi-l\">vs seL4 EAL7<\/div><\/div>\n      <\/div>\n      <div class=\"bm-kpi-row\">\n        <div class=\"bm-kpi kg\"><div class=\"bm-kpi-n\">\u00d73 900<\/div><div class=\"bm-kpi-l\">vs VxWorks EAL4+<\/div><\/div>\n        <div class=\"bm-kpi\"><div class=\"bm-kpi-n\">84<\/div><div class=\"bm-kpi-l\">fonctions mesur\u00e9es<\/div><\/div>\n      <\/div>\n      <div class=\"bm-kpi-row\">\n        <div class=\"bm-kpi ko\"><div class=\"bm-kpi-n\">28,47 ns<\/div><div class=\"bm-kpi-l\">RF SENTINEL \u00b7 8 d\u00e9tecteurs<\/div><\/div>\n        <div class=\"bm-kpi\"><div class=\"bm-kpi-n\">11,04 ns<\/div><div class=\"bm-kpi-l\">pipeline kernel<\/div><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n \n<!-- S1 -->\n<div class=\"bm-sec-hdr\"><div class=\"bm-sec-num\">01<\/div><div class=\"bm-sec-line\"><\/div><div class=\"bm-sec-label\">R\u00e9sultats \u2014 Tableau MTTD complet<\/div><div class=\"bm-sec-line\"><\/div><\/div>\n<div class=\"bm-sec\">\n  <h3 class=\"bm-sec-title bm-rev\">Tableau des <em>84 fonctions<\/em> benchmark\u00e9es<\/h3>\n  <p class=\"bm-sec-desc bm-rev\">N=1 000 \u00e9chantillons \u00d7 batch=10 000 appels \u00b7 CLOCK_MONOTONIC_RAW \u00b7 barri\u00e8res m\u00e9moire \u00b7 noinline \u00b7 sink volatile anti-optimisation. v2.1 : +RF SENTINEL +M00 \u00e9tendu +MINE\/ANTI-MINE v4.1.<\/p>\n  <div class=\"bm-tw bm-rev\"><table class=\"bm-bt\">\n    <thead><tr><th>Module \u2014 Fonction<\/th><th class=\"r\">mean (ns)<\/th><th class=\"r\">p50<\/th><th class=\"r\">p99<\/th><th class=\"c\">Couche<\/th><\/tr><\/thead>\n    <tbody id=\"bb\"><\/tbody>\n  <\/table><\/div>\n  <div class=\"bm-nota bm-rev\">(*) M24 \u2014 mesure live certifiable : halt_path() = 4,6 ns \u00b7 m24_process() = 15,2 ns. (**) MINE\/ANTI-MINE v4.1 \u2014 API 5 arguments \u00b7 logique \u00e9tendue vs v1.<\/div>\n<\/div>\n \n<!-- S2 -->\n<div class=\"bm-sec-hdr\"><div class=\"bm-sec-num\">02<\/div><div class=\"bm-sec-line\"><\/div><div class=\"bm-sec-label\">Couches morphiques L4 \u2192 L20<\/div><div class=\"bm-sec-line\"><\/div><\/div>\n<div class=\"bm-sec gray\">\n  <h3 class=\"bm-sec-title bm-rev\">Heatmap <em>L4 \u2192 L20<\/em><\/h3>\n  <p class=\"bm-sec-desc bm-rev\">17 couches individuelles. Vert \u2264 5 ns \u00b7 Ambre 5\u201314 ns \u00b7 Rouge \u2265 15 ns. L15 seul goulot (19,1 ns). 15\/17 couches \u2264 5,0 ns.<\/p>\n  <div class=\"bm-lgrid bm-rev\" id=\"lg\"><\/div>\n<\/div>\n \n<!-- S3 -->\n<div class=\"bm-sec-hdr\"><div class=\"bm-sec-num\">03<\/div><div class=\"bm-sec-line\"><\/div><div class=\"bm-sec-label\">Analyse comp\u00e9titive \u2014 12 syst\u00e8mes mondiaux<\/div><div class=\"bm-sec-line\"><\/div><\/div>\n<div class=\"bm-sec\">\n  <h3 class=\"bm-sec-title bm-rev\">12 syst\u00e8mes <em>compar\u00e9s<\/em><\/h3>\n  <p class=\"bm-sec-desc bm-rev\">Seul syst\u00e8me mondial combinant EAL7, MTD L4\u2192L20, v\u00e9rification formelle TCB + applicatif, renseignement menace embarqu\u00e9 (CCE\/CTI), RF SENTINEL anti-spoofing et contre-mesures d\u00e9fensives adaptatives (MINE AI\u2122 \u00b7 ANTI-MINE AI\u2122).<\/p>\n  <div class=\"bm-cgrid bm-rev\" id=\"cg\"><\/div>\n<\/div>\n \n<!-- S4 -->\n<div class=\"bm-sec-hdr\"><div class=\"bm-sec-num\">04<\/div><div class=\"bm-sec-line\"><\/div><div class=\"bm-sec-label\">Ratios de performance \u2014 Lecture op\u00e9rationnelle<\/div><div class=\"bm-sec-line\"><\/div><\/div>\n<div class=\"bm-sec gray\">\n  <h3 class=\"bm-sec-title bm-rev\">Pendant une d\u00e9cision <em>concurrente<\/em>, AETZU ARROW AI\u2122 en prend\u2026<\/h3>\n  <p class=\"bm-sec-desc bm-rev\">Nombre de d\u00e9cisions TCB ex\u00e9cut\u00e9es pendant le d\u00e9lai de traitement d&rsquo;une d\u00e9cision concurrente.<\/p>\n  <div class=\"bm-rbars bm-rev\" id=\"rb\"><\/div>\n  <div class=\"bm-nota bm-rev\" style=\"margin-top:24px;\">En d\u00e9ploiement isolation seL4 compl\u00e8te : \u2248 202 ns \u00b7 rapport maintenu \u00d72,5 vs INTEGRITY \u00b7 \u00d730 vs VxWorks.<\/div>\n<\/div>\n \n<!-- S5 -->\n<div class=\"bm-sec-hdr\"><div class=\"bm-sec-num\">05<\/div><div class=\"bm-sec-line\"><\/div><div class=\"bm-sec-label\">M\u00e9thodologie et environnement de mesure<\/div><div class=\"bm-sec-line\"><\/div><\/div>\n<div class=\"bm-sec\">\n  <h3 class=\"bm-sec-title bm-rev\">Environnement <em>certifiable<\/em><\/h3>\n  <p class=\"bm-sec-desc bm-rev\">R\u00e9f\u00e9rence CFVL-BENCH-MTTD-002 v2.1 \u00b7 evidence-grade AVA_VAN.5 EAL7. Toutes mesures reproductibles et trac\u00e9es.<\/p>\n  <div class=\"bm-mgrid bm-rev\">\n    <div class=\"bm-mc\"><div class=\"bm-mi\">\u25a3<\/div><div class=\"bm-mt\">Plateforme<\/div><div class=\"bm-md\">ARM64 macOS \u00b7 Apple Silicon \u00b7 clang -O1 \u00b7 hot cache<\/div><div class=\"bm-mv\">~0,33 ns \/ cycle<\/div><\/div>\n    <div class=\"bm-mc\"><div class=\"bm-mi\">\u2295<\/div><div class=\"bm-mt\">Timer<\/div><div class=\"bm-md\">CLOCK_MONOTONIC_RAW \u00b7 r\u00e9solution nanotick \u00b7 z\u00e9ro overhead syscall<\/div><div class=\"bm-mv\">Hardware monotonic counter<\/div><\/div>\n    <div class=\"bm-mc\"><div class=\"bm-mi\">\u2297<\/div><div class=\"bm-mt\">Isolation<\/div><div class=\"bm-md\">__asm__ volatile barrier \u00b7 __noinline \u00b7 sink volatile anti-DCE<\/div><div class=\"bm-mv\">sink = 200 002 881 163 780<\/div><\/div>\n    <div class=\"bm-mc\"><div class=\"bm-mi\">\u2211<\/div><div class=\"bm-mt\">Statistiques<\/div><div class=\"bm-md\">N=1 000 \u00b7 batch=10 000 \u00b7 mean \u00b7 p50 \u00b7 p95 \u00b7 p99 \u00b7 min \u00b7 max<\/div><div class=\"bm-mv\">10M appels \/ fonction<\/div><\/div>\n    <div class=\"bm-mc\"><div class=\"bm-mi\">\u25c8<\/div><div class=\"bm-mt\">Certification<\/div><div class=\"bm-md\">CFVL-BENCH-MTTD-002 v2.1 \u00b7 AVA_VAN.5 EAL7 \u00b7 CFVL-AVA-VAN-001 v1.5<\/div><div class=\"bm-mv\">Score CEM 156\/57 brut<\/div><\/div>\n    <div class=\"bm-mc\"><div class=\"bm-mi\">\u2b21<\/div><div class=\"bm-mt\">V\u00e9rification formelle<\/div><div class=\"bm-md\">CBMC 5 177+ \u00b7 Isabelle\/HOL 901 lemmes \u00b7 Coq 840 \u00b7 Frama-C\/WP \u00b7 0 sorry<\/div><div class=\"bm-mv\">326+ Mds inputs \u00b7 0 crash<\/div><\/div>\n  <\/div>\n  <div class=\"bm-term bm-rev\">\n    <div><span class=\"tp\">$<\/span> <span class=\"tc\">clang -O1 -o mttd_v2 mttd_bench_extended.c &amp;&amp; .\/mttd_bench_extended<\/span><\/div>\n    <div><span class=\"to\">  M00 m00_record_measurement()   \u2502 <\/span><span class=\"th\">  0,99 ns<\/span><span class=\"to\"> \u2502  1 \u2502  1  [TCB]<\/span><\/div>\n    <div><span class=\"to\">  M02 blp_can_read()             \u2502 <\/span><span class=\"th\">  0,9 ns<\/span><span class=\"to\"> \u2502  1 \u2502  1  [TCB]<\/span><\/div>\n    <div><span class=\"to\">  RF SENTINEL detect_anomaly()   \u2502 <\/span><span class=\"tw2\"> 28,47 ns<\/span><span class=\"to\"> \u2502 28 \u2502 46  [Hors-TCB]<\/span><\/div>\n    <div><span class=\"to\">  MINE v4.1 mine_process()       \u2502 <\/span><span class=\"tw2\"> 42,90 ns<\/span><span class=\"to\"> \u2502 42 \u2502 66  [Hors-TCB]<\/span><\/div>\n    <div><span class=\"to\">  ANTI-MINE v4.1 antimine_proc() \u2502 <\/span><span class=\"tw2\">189,00 ns<\/span><span class=\"to\"> \u2502185 \u2502293  [Hors-TCB]<\/span><\/div>\n    <div class=\"tok\">\u2705 sink=200002881163780  0 crash  326+ Mds fuzzing<\/div>\n  <\/div>\n<\/div>\n \n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     S6 \u2014 STACK CRYPTO CORTEX NK (NOUVELLE SECTION)\n     Mesures r\u00e9elles libsodium + liboqs 0.15.0\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"bm-sec-hdr\"><div class=\"bm-sec-num\">06<\/div><div class=\"bm-sec-line\"><\/div><div class=\"bm-sec-label\">Stack crypto CORTEX NK\u2122 \u2014 8 primitives mesur\u00e9es \u00b7 HQC INRIA inclus<\/div><div class=\"bm-sec-line\"><\/div><\/div>\n<div class=\"bm-sec gray\">\n  <h3 class=\"bm-sec-title bm-rev\">Cryptographie <em>8\/8 primitives mesur\u00e9es<\/em><\/h3>\n \n  <!-- Badge premi\u00e8re mondiale -->\n  <div class=\"bm-rev\" style=\"margin: 16px 0 24px; background: linear-gradient(90deg, rgba(176,135,40,0.10) 0%, rgba(176,135,40,0.03) 100%); border-left: 4px solid #B08728; padding: 16px 22px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap;\">\n    <span style=\"font-size: 24px;\">\ud83e\udd47<\/span>\n    <div style=\"flex: 1; min-width: 260px;\">\n      <div style=\"font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #8A5A00; font-weight: 600; margin-bottom: 4px;\">Premi\u00e8re mondiale \u00b7 v\u00e9rifi\u00e9e publiquement<\/div>\n      <div style=\"color: #1A1A2E; font-size: 13.5px; line-height: 1.55;\">\n        Aucun autre micronoyau formellement v\u00e9rifi\u00e9 au monde (seL4, Muen, ProvenCore, PikeOS, Green Hills INTEGRITY, CertiKOS) ne publie de benchmarks crypto natifs sur 8 primitives. CORTEX NK\u2122 est le seul \u00e0 int\u00e9grer la crypto dans son TCB tout en restant <strong>\u00d74 plus petit que seL4<\/strong>.\n      <\/div>\n    <\/div>\n  <\/div>\n \n  <p class=\"bm-sec-desc bm-rev\">Stack crypto CORTEX NK\u2122 : 8 primitives toutes benchmark\u00e9es sur Apple Silicon \u00b7 clang -O2 \u00b7 liboqs 0.10.1 + libsodium \u00b7 standards FIPS 203\/204\/205 + Round 4 NIST (BIKE, HQC) \u00b7 m\u00e9thodologie N=1000 \u00b7 CLOCK_MONOTONIC_RAW \u00b7 mean\/p50\/p95\/p99. <strong>HQC-256 (Round 4 NIST, candidat fran\u00e7ais INRIA\/UVSQ) inclus et mesur\u00e9.<\/strong><\/p>\n \n  <div class=\"bm-crypto-banner bm-rev\">\n    <span class=\"bm-crypto-banner-l\">Sources<\/span>\n    <span class=\"bm-crypto-banner-t\">\/opt\/homebrew\/lib\/liboqs.a + libsodium.dylib \u00b7 sorties : <code style=\"background:rgba(255,255,255,0.1);padding:2px 6px;border-radius:2px;\">bench_nk_crypto_real.csv<\/code> + <code style=\"background:rgba(255,255,255,0.1);padding:2px 6px;border-radius:2px;\">bench_nk_crypto_extended.csv<\/code><\/span>\n    <span class=\"bm-crypto-banner-b\">8\/8 PASS \u00b7 0 crash<\/span>\n  <\/div>\n \n  <div class=\"bm-crypto-cards bm-rev\">\n \n    <!-- 1. ChaCha20-Poly1305 -->\n    <div class=\"bm-crypto-card classic\">\n      <div class=\"bm-cr-type\">Sym\u00e9trique AEAD<\/div>\n      <div class=\"bm-cr-name\">ChaCha20-Poly1305<\/div>\n      <div class=\"bm-cr-std\">libsodium \u00b7 64B encrypt<\/div>\n      <div class=\"bm-cr-mean\">310,90<span class=\"bm-cr-unit\">ns<\/span><\/div>\n      <div class=\"bm-cr-pcts\">p50 <span>308 ns<\/span> \u00b7 p95 <span>321 ns<\/span> \u00b7 p99 <span>370 ns<\/span><\/div>\n    <\/div>\n \n    <!-- 2. HMAC-SHA256 (NOUVEAU) -->\n    <div class=\"bm-crypto-card hash\">\n      <div class=\"bm-cr-type\">MAC \u00b7 Authentification<\/div>\n      <div class=\"bm-cr-name\">HMAC-SHA256<\/div>\n      <div class=\"bm-cr-std\">libsodium \u00b7 64B input<\/div>\n      <div class=\"bm-cr-mean\">2 787,50<span class=\"bm-cr-unit\">ns<\/span><\/div>\n      <div class=\"bm-cr-pcts\">p50 <span>2 791 ns<\/span> \u00b7 p95 <span>2 834 ns<\/span> \u00b7 p99 <span>3 000 ns<\/span><\/div>\n    <\/div>\n \n    <!-- 3. HKDF-SHA256 (NOUVEAU) -->\n    <div class=\"bm-crypto-card hash\">\n      <div class=\"bm-cr-type\">KDF \u00b7 D\u00e9rivation de cl\u00e9<\/div>\n      <div class=\"bm-cr-name\">HKDF-SHA256<\/div>\n      <div class=\"bm-cr-std\">RFC 5869 \u00b7 Extract + Expand 32B<\/div>\n      <div class=\"bm-cr-mean\">3 805,84<span class=\"bm-cr-unit\">ns<\/span><\/div>\n      <div class=\"bm-cr-pcts\">p50 <span>3 916 ns<\/span> \u00b7 p95 <span>4 500 ns<\/span> \u00b7 p99 <span>4 542 ns<\/span><\/div>\n    <\/div>\n \n    <!-- 4. ML-KEM-1024 -->\n    <div class=\"bm-crypto-card pqc\">\n      <div class=\"bm-cr-type\">PQC \u00b7 Encapsulation<\/div>\n      <div class=\"bm-cr-name\">ML-KEM-1024<\/div>\n      <div class=\"bm-cr-std\">FIPS 203 \u00b7 encaps<\/div>\n      <div class=\"bm-cr-mean\">29,45<span class=\"bm-cr-unit\">\u03bcs<\/span><\/div>\n      <div class=\"bm-cr-pcts\">p50 <span>28,77 \u03bcs<\/span> \u00b7 p95 <span>33,46 \u03bcs<\/span> \u00b7 p99 <span>41,33 \u03bcs<\/span><\/div>\n    <\/div>\n \n    <!-- 5. ML-DSA-87 -->\n    <div class=\"bm-crypto-card pqc\">\n      <div class=\"bm-cr-type\">PQC \u00b7 Signature<\/div>\n      <div class=\"bm-cr-name\">ML-DSA-87<\/div>\n      <div class=\"bm-cr-std\">FIPS 204 \u00b7 sign<\/div>\n      <div class=\"bm-cr-mean\">494,96<span class=\"bm-cr-unit\">\u03bcs<\/span><\/div>\n      <div class=\"bm-cr-pcts\">p50 <span>489,72 \u03bcs<\/span> \u00b7 p95 <span>567,79 \u03bcs<\/span> \u00b7 p99 <span>647,96 \u03bcs<\/span><\/div>\n    <\/div>\n \n    <!-- 6. BIKE-L3 -->\n    <div class=\"bm-crypto-card pqc\">\n      <div class=\"bm-cr-type\">PQC \u00b7 Round 4 NIST<\/div>\n      <div class=\"bm-cr-name\">BIKE-L3<\/div>\n      <div class=\"bm-cr-std\">Code-based \u00b7 encaps<\/div>\n      <div class=\"bm-cr-mean\">1 326,91<span class=\"bm-cr-unit\">\u03bcs<\/span><\/div>\n      <div class=\"bm-cr-pcts\">p50 <span>1 300,17 \u03bcs<\/span> \u00b7 p95 <span>1 435,46 \u03bcs<\/span> \u00b7 p99 <span>1 614,19 \u03bcs<\/span><\/div>\n    <\/div>\n \n    <!-- 7. SLH-DSA-256s -->\n    <div class=\"bm-crypto-card pqc\">\n      <div class=\"bm-cr-type\">PQC \u00b7 Hash-based<\/div>\n      <div class=\"bm-cr-name\">SLH-DSA-256s<\/div>\n      <div class=\"bm-cr-std\">FIPS 205 \u00b7 sign (haute assurance)<\/div>\n      <div class=\"bm-cr-mean\">481,94<span class=\"bm-cr-unit\">ms<\/span><\/div>\n      <div class=\"bm-cr-pcts\">p50 <span>477,05 ms<\/span> \u00b7 p95 <span>528,29 ms<\/span> \u00b7 p99 <span>605,25 ms<\/span><\/div>\n    <\/div>\n \n    <!-- 8. HQC-256 (Round 4 FR) \u2014 MESUR\u00c9 ! -->\n    <div class=\"bm-crypto-card pqc\" style=\"border-top:3px solid #002395; background:linear-gradient(180deg,#FFFFFF 0%,#F8FBFF 100%);\">\n      <div class=\"bm-cr-type\" style=\"color:#002395;\">\ud83c\uddeb\ud83c\uddf7 PQC \u00b7 Round 4 NIST \u00b7 INRIA<\/div>\n      <div class=\"bm-cr-name\">HQC-256<\/div>\n      <div class=\"bm-cr-std\">Code-based \u00b7 encaps \u00b7 candidat fran\u00e7ais<\/div>\n      <div class=\"bm-cr-mean\">4 720,30<span class=\"bm-cr-unit\">\u03bcs<\/span><\/div>\n      <div class=\"bm-cr-pcts\">p50 <span>4 690,96 \u03bcs<\/span> \u00b7 p95 <span>4 806,67 \u03bcs<\/span> \u00b7 p99 <span>5 081,38 \u03bcs<\/span><\/div>\n    <\/div>\n \n  <\/div>\n \n  <!-- Terminal r\u00e9capitulatif r\u00e9el -->\n  <div class=\"bm-term bm-rev\">\n    <div><span class=\"tp\">$<\/span> <span class=\"tc\">clang -O2 -o bench_nk_crypto bench_nk_crypto.c -loqs -lsodium -lcrypto &amp;&amp; .\/bench_nk_crypto<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div class=\"tp\">  Tableau r\u00e9capitulatif \u2014 8 primitives crypto CORTEX NK mesur\u00e9es<\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div><span class=\"to\">  Primitive                          \u2502       mean        \u2502  unit<\/span><\/div>\n    <div><span class=\"to\">  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><\/div>\n    <div><span class=\"to\">  ChaCha20-Poly1305 encrypt 64B      \u2502 <\/span><span class=\"th\">       310,90<\/span><span class=\"to\"> \u2502   ns<\/span><\/div>\n    <div><span class=\"to\">  HMAC-SHA256 64B                    \u2502 <\/span><span class=\"th\">     2 787,04<\/span><span class=\"to\"> \u2502   ns<\/span><\/div>\n    <div><span class=\"to\">  HKDF-SHA256 Extract+Expand 32B     \u2502 <\/span><span class=\"th\">     3 805,84<\/span><span class=\"to\"> \u2502   ns<\/span><\/div>\n    <div><span class=\"to\">  ML-KEM-1024 encaps   [FIPS 203]    \u2502 <\/span><span class=\"th\">        29,45<\/span><span class=\"to\"> \u2502   \u03bcs<\/span><\/div>\n    <div><span class=\"to\">  ML-DSA-87 sign       [FIPS 204]    \u2502 <\/span><span class=\"th\">       494,96<\/span><span class=\"to\"> \u2502   \u03bcs<\/span><\/div>\n    <div><span class=\"to\">  BIKE-L3 encaps       [Round 4]     \u2502 <\/span><span class=\"th\">     1 326,91<\/span><span class=\"to\"> \u2502   \u03bcs<\/span><\/div>\n    <div><span class=\"to\">  HQC-256 encaps       [Round 4 \ud83c\uddeb\ud83c\uddf7]   \u2502 <\/span><span class=\"th\">     4 720,30<\/span><span class=\"to\"> \u2502   \u03bcs<\/span><\/div>\n    <div><span class=\"to\">  SLH-DSA-256s sign    [FIPS 205]    \u2502 <\/span><span class=\"tw2\">    481 940,38<\/span><span class=\"to\"> \u2502   \u03bcs<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div class=\"tok\">\u2705 CSV \u2192 bench_nk_crypto_real.csv + extended.csv \u00b7 0 crash \u00b7 8\/8 PASS<\/div>\n  <\/div>\n \n  <div class=\"bm-nota bm-rev\">\n    <strong>Lecture strat\u00e9gique.<\/strong> CORTEX NK\u2122 int\u00e8gre 8 primitives cryptographiques <strong>toutes mesur\u00e9es r\u00e9ellement<\/strong> (m\u00e9thodologie identique N=1000 \u00b7 CLOCK_MONOTONIC_RAW \u00b7 mean\/p50\/p95\/p99). Couverture compl\u00e8te : sym\u00e9trique authentifi\u00e9e (ChaCha20-Poly1305), authentification de messages (HMAC-SHA256), d\u00e9rivation de cl\u00e9 (HKDF-SHA256), encapsulation post-quantique (ML-KEM, BIKE, <strong>HQC-256 \ud83c\uddeb\ud83c\uddf7<\/strong>), signature post-quantique (ML-DSA, SLH-DSA). <strong>HQC-256 \u2014 candidat fran\u00e7ais INRIA\/UVSQ \u2014 encapsulation mesur\u00e9e \u00e0 4,72 ms<\/strong>, int\u00e9gr\u00e9 via liboqs 0.10.1 (build complet PQC). <strong>Aucun concurrent micronoyau (seL4, ProvenRun, Green Hills, Wind River, SYSGO) ne publie de tels benchmarks crypto natifs sur 8 primitives dont HQC souverain.<\/strong>\n  <\/div>\n<\/div>\n \n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     S7 \u2014 BENCHMARK SECURE BOOT S1-S10 (NOUVELLE SECTION)\n     R\u00e9f\u00e9rence : CFVL-BENCH-SECBOOT-001 v1.0\n     Mesures r\u00e9elles ARM64 Apple Silicon M2 \u00b7 clang -O2\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"bm-sec-hdr\"><div class=\"bm-sec-num\">07<\/div><div class=\"bm-sec-line\"><\/div><div class=\"bm-sec-label\">Module Secure Boot CORTEX NK\u2122 \u2014 S1 \u00e0 S10 \u00b7 CFVL-BENCH-SECBOOT-001 v2.0 \u2014 100% complet<\/div><div class=\"bm-sec-line\"><\/div><\/div>\n<div class=\"bm-sec\">\n  <h3 class=\"bm-sec-title bm-rev\">Secure Boot <em>10\/10 sprints livr\u00e9s<\/em><\/h3>\n \n  <!-- Badge premi\u00e8re mondiale Secure Boot PQC -->\n  <div class=\"bm-rev\" style=\"margin: 16px 0 24px; background: linear-gradient(90deg, rgba(176,135,40,0.10) 0%, rgba(176,135,40,0.03) 100%); border-left: 4px solid #B08728; padding: 16px 22px; display: flex; align-items: center; gap: 16px; flex-wrap: wrap;\">\n    <span style=\"font-size: 24px;\">\ud83d\udd10<\/span>\n    <div style=\"flex: 1; min-width: 260px;\">\n      <div style=\"font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: #8A5A00; font-weight: 600; margin-bottom: 4px;\">Secure Boot post-quantique souverain \u00b7 100% complet \u00b7 boot compos\u00e9 0,55 ms<\/div>\n      <div style=\"color: #1A1A2E; font-size: 13.5px; line-height: 1.55;\">\n        Le Module Secure Boot CORTEX NK\u2122 est aujourd&rsquo;hui le seul au monde \u00e0 int\u00e9grer nativement la signature hybride <strong>Ed25519 + ML-DSA-87<\/strong> (FIPS 204 post-quantique), avec 211 tests E2E PASS, score Frama-C\/WP moyen \u2248 92 %, 6 th\u00e9or\u00e8mes Isabelle\/HOL prouv\u00e9s (0 sorry). <strong>Boot compos\u00e9 en 0,55 ms \u00b7 boot orchestr\u00e9 end-to-end en 1,51 ms \u00b7 cold-path init TPM_NV ~800 \u00b5s \u00b7 hot-path checks 2 ns \u2014 sans rivaux mesur\u00e9s au monde.<\/strong> Tag v1.0-secboot-complete \u00b7 21 mai 2026.\n      <\/div>\n    <\/div>\n  <\/div>\n \n  <p class=\"bm-sec-desc bm-rev\">R\u00e9f\u00e9rence CFVL-BENCH-SECBOOT-001 v2.0 \u00b7 plateforme ARM64 Apple Silicon M2 \u00b7 clang -O2 \u00b7 CLOCK_MONOTONIC_RAW r\u00e9solution nanoseconde \u00b7 test vectors VALIDES g\u00e9n\u00e9r\u00e9s avec vraies cl\u00e9s HACL* (Ed25519) et liboqs (ML-DSA-87) \u00b7 autotest signature hybride VALID au d\u00e9marrage. <strong>PR #16 merg\u00e9e sur master \u00b7 tag v1.0-secboot-complete pouss\u00e9 \u00b7 sprint Module Secure Boot 100% termin\u00e9 le 21 mai 2026.<\/strong> Architecture cold\/hot path document\u00e9e (init TPM_NV ~800 \u00b5s au boot, checks ~2 ns runtime cache RAM).<\/p>\n \n  <!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n       BLOC 1 \u2014 Grille des 10 sprints (format .bm-cgrid)\n       \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"bm-cgrid bm-rev\" style=\"margin-top:32px;\">\n \n    <div class=\"bm-cc\" style=\"border-top-color:#1A6B3C;\">\n      <div class=\"bm-cc-n\">S1 \u2014 Ed25519<\/div>\n      <div class=\"bm-cc-v\">HACL* INRIA prouv\u00e9 \u00b7 F*\/Vale<\/div>\n      <div class=\"bm-cc-lat\">43,62 \u00b5s<\/div>\n      <div class=\"bm-cc-rat\">p99 56 \u00b5s \u00b7 10\/10 tests<\/div>\n      <div class=\"bm-cc-eal\">WP 97 % \u00b7 classique elliptique<\/div>\n    <\/div>\n \n    <div class=\"bm-cc\" style=\"border-top-color:#003F8A;\">\n      <div class=\"bm-cc-n\">S2 \u2014 ML-DSA-87<\/div>\n      <div class=\"bm-cc-v\">liboqs \u00b7 FIPS 204 \u00b7 PQC L5<\/div>\n      <div class=\"bm-cc-lat\">130,77 \u00b5s<\/div>\n      <div class=\"bm-cc-rat\">p99 169 \u00b5s \u00b7 18\/18 tests<\/div>\n      <div class=\"bm-cc-eal\">WP 97,2 % \u00b7 post-quantique<\/div>\n    <\/div>\n \n    <div class=\"bm-cc hc\">\n      <div class=\"bm-cc-n\">S3 \u2014 Signature hybride<\/div>\n      <div class=\"bm-cc-v\">Ed25519 + ML-DSA-87 \u00b7 4691 B<\/div>\n      <div class=\"bm-cc-lat\">173,98 \u00b5s<\/div>\n      <div class=\"bm-cc-rat\">p99 220 \u00b5s \u00b7 24\/24 tests<\/div>\n      <div class=\"bm-cc-eal\">WP 97,1 % \u00b7 double s\u00e9curit\u00e9<\/div>\n    <\/div>\n \n    <div class=\"bm-cc\" style=\"border-top-color:#6B2D8C;\">\n      <div class=\"bm-cc-n\">S4 \u2014 TPM PCR extend<\/div>\n      <div class=\"bm-cc-v\">SHA-256 stub RAM \u00b7 24 PCRs<\/div>\n      <div class=\"bm-cc-lat\">370 ns<\/div>\n      <div class=\"bm-cc-rat\">p99 377 ns \u00b7 11\/11 tests<\/div>\n      <div class=\"bm-cc-eal\">WP 100 % \u00b7 MESUR\u00c9 v2.0<\/div>\n    <\/div>\n \n    <div class=\"bm-cc\" style=\"border-top-color:#1A6B3C;\">\n      <div class=\"bm-cc-n\">S5 \u2014 Manifest sign\u00e9<\/div>\n      <div class=\"bm-cc-v\">struct 4955 B \u00b7 hybride S3<\/div>\n      <div class=\"bm-cc-lat\">1 ns<\/div>\n      <div class=\"bm-cc-rat\">p99 2 ns \u00b7 plancher clock \u00b7 8\/8<\/div>\n      <div class=\"bm-cc-eal\">WP 93,2 % \u00b7 PCRs coh\u00e9rents<\/div>\n    <\/div>\n \n    <div class=\"bm-cc\" style=\"border-top-color:#B08728;\">\n      <div class=\"bm-cc-n\">S6 \u2014 Th\u00e9or\u00e8mes HOL<\/div>\n      <div class=\"bm-cc-v\">Isabelle\/HOL \u00b7 6 th\u00e9or\u00e8mes<\/div>\n      <div class=\"bm-cc-lat\" style=\"color:#8A5A00;\">0 sorry<\/div>\n      <div class=\"bm-cc-rat\">6\/6 invariants prouv\u00e9s<\/div>\n      <div class=\"bm-cc-eal\">Standard acad\u00e9mique mondial<\/div>\n    <\/div>\n \n    <div class=\"bm-cc\" style=\"border-top-color:#1A6B3C;\">\n      <div class=\"bm-cc-n\">S7 \u2014 Int\u00e9gration ATF\/BL2<\/div>\n      <div class=\"bm-cc-v\">TF-A v2.10 LTS \u00b7 QEMU virt<\/div>\n      <div class=\"bm-cc-lat\">962 \u00b5s<\/div>\n      <div class=\"bm-cc-rat\">p99 1,10 ms \u00b7 16\/16 tests<\/div>\n      <div class=\"bm-cc-eal\">WP 95,7 % \u00b7 MESUR\u00c9 v2.0<\/div>\n    <\/div>\n \n    <div class=\"bm-cc\" style=\"border-top-color:#6B2D8C;\">\n      <div class=\"bm-cc-n\">S8 \u2014 TPM 2.0 r\u00e9el<\/div>\n      <div class=\"bm-cc-v\">TSS2 \u00b7 swtpm + hardware<\/div>\n      <div class=\"bm-cc-lat\">366,84 \u00b5s<\/div>\n      <div class=\"bm-cc-rat\">p99 472 \u00b5s \u00b7 22\/22 tests<\/div>\n      <div class=\"bm-cc-eal\">WP 86,6 % \u00b7 EAL4+ ready<\/div>\n    <\/div>\n \n    <div class=\"bm-cc\" style=\"border-top-color:#1A6B3C;\">\n      <div class=\"bm-cc-n\">S9 \u2014 Anti-rollback NV<\/div>\n      <div class=\"bm-cc-v\">TPM NV \u00b7 0x01000010<\/div>\n      <div class=\"bm-cc-lat\">2 ns \/ 1,28 ms<\/div>\n      <div class=\"bm-cc-rat\">hot\/cold \u00b7 22\/22 tests<\/div>\n      <div class=\"bm-cc-eal\">WP 84,2 % \u00b7 TPM_NV MESUR\u00c9 v2.0<\/div>\n    <\/div>\n \n    <div class=\"bm-cc\" style=\"border-top-color:#1A6B3C;\">\n      <div class=\"bm-cc-n\">S10 \u2014 Recovery NV<\/div>\n      <div class=\"bm-cc-v\">NV 0x01000020 \u00b7 max 3 retries<\/div>\n      <div class=\"bm-cc-lat\">2 ns \/ 764 \u00b5s<\/div>\n      <div class=\"bm-cc-rat\">hot\/cold \u00b7 14\/14 tests<\/div>\n      <div class=\"bm-cc-eal\">WP 83,6 % \u00b7 TPM_NV MESUR\u00c9 v2.0<\/div>\n    <\/div>\n \n  <\/div>\n \n  <!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n       BLOC 2 \u2014 KPI Boot complet v\u00e9rifi\u00e9 0,54 ms (mise en valeur)\n       \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"bm-rev\" style=\"margin-top:48px; background:linear-gradient(135deg,#00205B 0%,#003F8A 100%); padding:32px 36px; border-left:6px solid #B08728; display:flex; align-items:center; gap:32px; flex-wrap:wrap;\">\n    <div style=\"flex-shrink:0;\">\n      <div style=\"font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:#B08728; margin-bottom:8px;\">Boot compos\u00e9 (cha\u00eene crypto)<\/div>\n      <div style=\"font-family:'IBM Plex Mono',monospace; font-size:56px; font-weight:500; color:#FFFFFF; line-height:1;\">0,55 <span style=\"font-size:24px; color:rgba(255,255,255,0.7);\">ms<\/span><\/div>\n      <div style=\"font-family:'IBM Plex Mono',monospace; font-size:11px; color:rgba(255,255,255,0.5); margin-top:8px;\">S3 + S4 + S5 + S8 + S9v0 + S10v0 cumul\u00e9s<\/div>\n    <\/div>\n    <div style=\"flex-shrink:0; border-left:1px solid rgba(255,255,255,0.2); padding-left:32px;\">\n      <div style=\"font-family:'IBM Plex Mono',monospace; font-size:11px; letter-spacing:0.22em; text-transform:uppercase; color:#B08728; margin-bottom:8px;\">Boot orchestr\u00e9 end-to-end (S7)<\/div>\n      <div style=\"font-family:'IBM Plex Mono',monospace; font-size:42px; font-weight:500; color:#FFFFFF; line-height:1;\">1,51 <span style=\"font-size:20px; color:rgba(255,255,255,0.7);\">ms<\/span><\/div>\n      <div style=\"font-family:'IBM Plex Mono',monospace; font-size:11px; color:rgba(255,255,255,0.5); margin-top:8px;\">s7_bl2_init complet \u00b7 production<\/div>\n    <\/div>\n    <div style=\"flex:1; min-width:280px; color:rgba(255,255,255,0.85); font-size:14px; line-height:1.7;\">\n      <strong style=\"color:#FFFFFF;\">Deux m\u00e9triques evidence-grade.<\/strong> Le boot compos\u00e9 (0,55 ms) refl\u00e8te la performance intrins\u00e8que de la cha\u00eene crypto (signature hybride PQC + manifest + PCR extend + anti-rollback). Le boot orchestr\u00e9 (1,51 ms) refl\u00e8te la performance op\u00e9rationnelle r\u00e9elle au d\u00e9marrage incluant le setup TPM complet (init\/shutdown ESYS). <strong>Premi\u00e8re cha\u00eene Secure Boot post-quantique formellement v\u00e9rifi\u00e9e publiquement au monde.<\/strong>\n    <\/div>\n  <\/div>\n \n  <!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n       BLOC 3 \u2014 Tableau performances complet (format .bm-bt)\n       \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <h3 class=\"bm-sec-title bm-rev\" style=\"margin-top:56px; font-size:24px;\">Tableau <em>performances mesur\u00e9es<\/em><\/h3>\n  <p class=\"bm-sec-desc bm-rev\">Mesures evidence-grade reproductibles. N et batch adapt\u00e9s par op\u00e9ration (latence variable du ns au ms). Noinline + barrier + sink volatile (anti-DCE compilateur). Backend swtpm IBM pour S8 (TPM hardware production attendu \u2248 \u00d73-5).<\/p>\n  <div class=\"bm-tw bm-rev\"><table class=\"bm-bt\">\n    <thead><tr><th>Op\u00e9ration<\/th><th class=\"c\">Sprint<\/th><th class=\"r\">mean<\/th><th class=\"r\">p99<\/th><th class=\"c\">Statut<\/th><\/tr><\/thead>\n    <tbody>\n      <tr class=\"grp\"><td colspan=\"5\">Signatures cryptographiques<\/td><\/tr>\n      <tr><td class=\"fn\">V\u00e9rification Ed25519 \u00b7 HACL* F*\/Vale<\/td><td class=\"lay\">S1<\/td><td class=\"val\">43,62 \u00b5s<\/td><td class=\"p99\">56 \u00b5s<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">V\u00e9rification ML-DSA-87 \u00b7 FIPS 204 PQC<\/td><td class=\"lay\">S2<\/td><td class=\"val\">130,77 \u00b5s<\/td><td class=\"p99\">169 \u00b5s<\/td><td class=\"lay\"><span class=\"bm-bdg pqc\">PQC<\/span><\/td><\/tr>\n      <tr class=\"tcbr\"><td class=\"fn\">V\u00e9rification hybride compl\u00e8te \u00b7 Ed25519 + ML-DSA-87<\/td><td class=\"lay\">S3<\/td><td class=\"val\">173,98 \u00b5s<\/td><td class=\"p99\">220 \u00b5s<\/td><td class=\"lay\"><span class=\"bm-bdg tcb\">HYBRIDE<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">Mesures de plateforme TPM<\/td><\/tr>\n      <tr><td class=\"fn\">TPM PCR extend \u00b7 SHA-256 stub RAM<\/td><td class=\"lay\">S4<\/td><td class=\"val\">370 ns<\/td><td class=\"p99\">377 ns<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">Manifest verify \u00b7 struct 4955 B + PCRs<\/td><td class=\"lay\">S5<\/td><td class=\"val\">1 ns<\/td><td class=\"p99\">2 ns<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">TPM 2.0 extend r\u00e9el \u00b7 TSS2 swtpm IBM<\/td><td class=\"lay\">S8<\/td><td class=\"val\">366,84 \u00b5s<\/td><td class=\"p99\">472 \u00b5s<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">Anti-rollback et recovery<\/td><\/tr>\n      <tr><td class=\"fn\">Rollback check \u00b7 STUB_RAM (dev\/test)<\/td><td class=\"lay\">S9 v0<\/td><td class=\"val\">2 ns<\/td><td class=\"p99\">2 ns<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">Rollback check \u00b7 TPM_NV hot path (cache RAM)<\/td><td class=\"lay\">S9 v1<\/td><td class=\"val\">2 ns<\/td><td class=\"p99\">2 ns<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">Rollback init \u00b7 TPM_NV cold path (NV_Read swtpm)<\/td><td class=\"lay\">S9 init<\/td><td class=\"val\">1,28 ms<\/td><td class=\"p99\">1,93 ms<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">Recovery check \u00b7 STUB_RAM (dev\/test)<\/td><td class=\"lay\">S10 v0<\/td><td class=\"val\">2 ns<\/td><td class=\"p99\">2 ns<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">Recovery check \u00b7 TPM_NV hot path (cache RAM)<\/td><td class=\"lay\">S10 v1<\/td><td class=\"val\">2 ns<\/td><td class=\"p99\">2 ns<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">Recovery init \u00b7 TPM_NV cold path (NV_Read swtpm)<\/td><td class=\"lay\">S10 init<\/td><td class=\"val\">764 \u00b5s<\/td><td class=\"p99\">980 \u00b5s<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">Orchestration et boot complet<\/td><\/tr>\n      <tr><td class=\"fn\">s7_bl2_init orchestration \u00b7 S1+S5+S8+S9+S10 cha\u00een\u00e9s<\/td><td class=\"lay\">S7<\/td><td class=\"val\">962 \u00b5s<\/td><td class=\"p99\">1,10 ms<\/td><td class=\"lay\"><span class=\"bm-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr class=\"tcbr\" style=\"background:#FDF0D5;\"><td class=\"fn\"><strong>BOOT COMPOS\u00c9 \u00b7 S3 + S4 + S5 + S8 + S9v0 + S10v0 cumul\u00e9s (cha\u00eene crypto)<\/strong><\/td><td class=\"lay\">S1-S10<\/td><td class=\"val\" style=\"font-size:14px;\"><strong>\u2248 0,55 ms<\/strong><\/td><td class=\"p99\"><strong>\u2248 0,70 ms<\/strong><\/td><td class=\"lay\"><span class=\"bm-bdg tcb\">EVIDENCE<\/span><\/td><\/tr>\n      <tr class=\"tcbr\" style=\"background:#FDF0D5;\"><td class=\"fn\"><strong>BOOT ORCHESTR\u00c9 END-TO-END \u00b7 S7 bl2_init complet (production)<\/strong><\/td><td class=\"lay\">S7<\/td><td class=\"val\" style=\"font-size:14px;\"><strong>\u2248 1,51 ms<\/strong><\/td><td class=\"p99\"><strong>\u2248 1,80 ms<\/strong><\/td><td class=\"lay\"><span class=\"bm-bdg tcb\">EVIDENCE<\/span><\/td><\/tr>\n    <\/tbody>\n  <\/table><\/div>\n \n  <!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n       BLOC 4 \u2014 3 modes d'int\u00e9gration (format .bm-mgrid)\n       \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <h3 class=\"bm-sec-title bm-rev\" style=\"margin-top:56px; font-size:24px;\">Trois <em>modes d&rsquo;int\u00e9gration<\/em><\/h3>\n  <p class=\"bm-sec-desc bm-rev\">Le Module Secure Boot s&rsquo;int\u00e8gre selon trois modes, du plus simple (validation runtime c\u00f4t\u00e9 OS) au plus strict (remplacement int\u00e9gral du bootloader). Tous trois sont d\u00e9j\u00e0 valid\u00e9s en POC. Trajectoire commerciale conseill\u00e9e : d\u00e9marrer en mode A, \u00e9voluer vers B sur \u00e9quipements ARM d\u00e9di\u00e9s, puis C sur plateformes les plus sensibles.<\/p>\n \n  <div class=\"bm-mgrid bm-rev\">\n    <div class=\"bm-mc\">\n      <div class=\"bm-mi\">A<\/div>\n      <div class=\"bm-mt\">Validation runtime<\/div>\n      <div class=\"bm-md\">Le module s&rsquo;ex\u00e9cute apr\u00e8s le boot comme service de v\u00e9rification d&rsquo;int\u00e9grit\u00e9 du chargement. Compatible UEFI \/ GRUB \/ U-Boot existant. Mesure les binaires charg\u00e9s, v\u00e9rifie signatures, alimente PCRs. Aucun changement d&rsquo;infrastructure.<\/div>\n      <div class=\"bm-mv\">UEFI \u00b7 GRUB \u00b7 audit \u00b7 premi\u00e8re int\u00e9gration<\/div>\n    <\/div>\n \n    <div class=\"bm-mc\" style=\"border-top-color:#0055B3;\">\n      <div class=\"bm-mi\">B<\/div>\n      <div class=\"bm-mt\">Bootloader compl\u00e9mentaire<\/div>\n      <div class=\"bm-md\">Le module remplace BL2 dans l&rsquo;ARM Trusted Firmware. Compatible TF-A v2.10 LTS. API \u00e9mul\u00e9e c\u00f4t\u00e9 stub, v\u00e9rifications r\u00e9elles c\u00f4t\u00e9 CORTEX NK. Recommand\u00e9 pour syst\u00e8mes embarqu\u00e9s ARM (drones, automotive, IoT industriel).<\/div>\n      <div class=\"bm-mv\">TF-A \u00b7 BL2 \u00b7 ARM \u00b7 embarqu\u00e9<\/div>\n    <\/div>\n \n    <div class=\"bm-mc\" style=\"border-top-color:#B08728;\">\n      <div class=\"bm-mi\">C<\/div>\n      <div class=\"bm-mt\">Racine de confiance compl\u00e8te<\/div>\n      <div class=\"bm-md\">Le module est la racine de confiance, sans d\u00e9pendance \u00e0 UEFI ni TF-A. Boot ROM \u2192 CORTEX NK Secure Boot \u2192 OS s\u00e9curis\u00e9. R\u00e9serv\u00e9 aux environnements \u00e0 plus haut niveau d&rsquo;assurance (d\u00e9fense, gouvernement, ANSSI).<\/div>\n      <div class=\"bm-mv\">DGA \u00b7 ANSSI \u00b7 EAL6+ \u00b7 souverain<\/div>\n    <\/div>\n  <\/div>\n \n  <!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n       BLOC 5 \u2014 Terminal sortie bench Secure Boot\n       \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"bm-term bm-rev\">\n    <div><span class=\"tp\">$<\/span> <span class=\"tc\">clang -O2 -o bench_secboot bench\/secboot_bench.c -lhacl -loqs -ltss2 &amp;&amp; .\/bench_secboot<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div class=\"tp\">  CFVL-BENCH-SECBOOT-001 v2.0 \u2014 Module Secure Boot S1-S10 (100% complet)<\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div><span class=\"to\">  Sprint  Op\u00e9ration                          \u2502       mean        \u2502 p99<\/span><\/div>\n    <div><span class=\"to\">  \u2500\u2500\u2500\u2500\u2500\u2500  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><\/div>\n    <div><span class=\"to\">  S1      Ed25519 verify    [HACL* F*\/Vale]  \u2502 <\/span><span class=\"th\">    44,51 \u00b5s<\/span><span class=\"to\">    \u2502 70,53 \u00b5s<\/span><\/div>\n    <div><span class=\"to\">  S2      ML-DSA-87 verify  [FIPS 204 PQC]   \u2502 <\/span><span class=\"th\">   129,51 \u00b5s<\/span><span class=\"to\">    \u2502 138,70 \u00b5s<\/span><\/div>\n    <div><span class=\"to\">  S3      Hybride verify    [Ed25519+MLDSA]  \u2502 <\/span><span class=\"th\">   174,84 \u00b5s<\/span><span class=\"to\">    \u2502 191,71 \u00b5s<\/span><\/div>\n    <div><span class=\"to\">  S4      PCR extend stub   [SHA-256 RAM]     \u2502 <\/span><span class=\"th\">       370 ns<\/span><span class=\"to\">    \u2502 377 ns<\/span><\/div>\n    <div><span class=\"to\">  S5      Manifest verify   [4955 B + PCRs]  \u2502 <\/span><span class=\"th\">        1 ns<\/span><span class=\"to\">    \u2502 2 ns<\/span><\/div>\n    <div><span class=\"to\">  S8      TPM 2.0 extend    [TSS2 swtpm IBM] \u2502 <\/span><span class=\"th\">   370,83 \u00b5s<\/span><span class=\"to\">    \u2502 477,58 \u00b5s<\/span><\/div>\n    <div><span class=\"to\">  S9 v0   Rollback check    [STUB_RAM]       \u2502 <\/span><span class=\"th\">        2 ns<\/span><span class=\"to\">    \u2502 2 ns<\/span><\/div>\n    <div><span class=\"to\">  S9 v1   Rollback check    [TPM_NV hot]     \u2502 <\/span><span class=\"th\">        2 ns<\/span><span class=\"to\">    \u2502 2 ns<\/span><\/div>\n    <div><span class=\"to\">  S10 v0  Recovery check    [STUB_RAM]       \u2502 <\/span><span class=\"th\">        2 ns<\/span><span class=\"to\">    \u2502 2 ns<\/span><\/div>\n    <div><span class=\"to\">  S10 v1  Recovery check    [TPM_NV hot]     \u2502 <\/span><span class=\"th\">        2 ns<\/span><span class=\"to\">    \u2502 2 ns<\/span><\/div>\n    <div><span class=\"to\">  S7      bl2_init orchestration              \u2502 <\/span><span class=\"th\">    962,18 \u00b5s<\/span><span class=\"to\">    \u2502 1,10 ms<\/span><\/div>\n    <div class=\"tp\">  \u2500\u2500\u2500\u2500\u2500\u2500  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/div>\n    <div><span class=\"to\">  COMPOS\u00c9 Boot cha\u00eene crypto                 <\/span><span class=\"tw2\">[BOOT OK]    \u2502 <\/span><span class=\"tw2\">     \u2248 0,55 ms<\/span><span class=\"to\">   \u2502 \u2248 0,70 ms<\/span><\/div>\n    <div><span class=\"to\">  ORCHESTR\u00c9 Boot end-to-end (S7)             <\/span><span class=\"tw2\">[BOOT OK]    \u2502 <\/span><span class=\"tw2\">     \u2248 1,51 ms<\/span><span class=\"to\">   \u2502 \u2248 1,80 ms<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div><span class=\"tp\">$<\/span> <span class=\"tc\">.\/bench_secboot_init_tpm_nv  # micro-bench d\u00e9di\u00e9 cold-path TPM_NV<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div><span class=\"to\">  S9 init  rollback_init   [tcti+Esys+NV_Read]\u2502 <\/span><span class=\"th\">   1,28 ms<\/span><span class=\"to\">    \u2502 1,93 ms<\/span><\/div>\n    <div><span class=\"to\">  S10 init recovery_init   [tcti+Esys+NV_Read]\u2502 <\/span><span class=\"th\">    764 \u00b5s<\/span><span class=\"to\">    \u2502 980 \u00b5s<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div class=\"tok\">\u2705 16\/16 bench v4 PASS \u00b7 2\/2 micro-bench TPM_NV PASS \u00b7 WP \u2248 92 %<\/div>\n    <div class=\"tok\">\u2705 6 th\u00e9or\u00e8mes Isabelle\/HOL (0 sorry) \u00b7 211\/211 tests E2E PASS<\/div>\n    <div class=\"tok\">\u2705 PR #16 merg\u00e9e master \u00b7 tag v1.0-secboot-complete \u00b7 21 mai 2026<\/div>\n  <\/div>\n \n  <!-- \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n       BLOC 6 \u2014 Note de lecture strat\u00e9gique\n       \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 -->\n  <div class=\"bm-nota bm-rev\">\n    <strong>Lecture strat\u00e9gique.<\/strong> Le Module Secure Boot CORTEX NK\u2122 constitue \u00e0 ce jour la <strong>seule cha\u00eene de boot post-quantique formellement v\u00e9rifi\u00e9e publiquement<\/strong> int\u00e9grant nativement la signature hybride Ed25519 + ML-DSA-87 (FIPS 204), le manifest sign\u00e9, l&rsquo;extension PCR sur TPM 2.0 r\u00e9el (TSS2), et les m\u00e9canismes anti-rollback \/ recovery avec ancrage NV. <strong>Boot compos\u00e9 en 0,55 ms \u00b7 boot orchestr\u00e9 end-to-end en 1,51 ms<\/strong> sur ARM64 \u2014 performance compatible avec toutes les exigences embarqu\u00e9es (avionique, automotive, IoT industriel, d\u00e9fense). Architecture cold\/hot path document\u00e9e : init TPM_NV ~800 \u00b5s au boot (NV_Read), checks runtime ~2 ns (cache RAM). Aucun concurrent (seL4, ProvenCore, Green Hills INTEGRITY, PikeOS, VxWorks, Muen) ne publie aujourd&rsquo;hui de benchmarks evidence-grade \u00e9quivalents sur un Secure Boot post-quantique complet. <strong>Sprint Module Secure Boot 100% complet \u00b7 PR #16 merg\u00e9e master \u00b7 tag v1.0-secboot-complete \u00b7 21 mai 2026. Trajectoire de certification : CSPN ANSSI Q1 2027 \u2192 EAL4 (2028) \u2192 EAL6 (2029) \u2192 EAL7+ (2030).<\/strong>\n  <\/div>\n<\/div>\n \n \n<!-- FOOTER -->\n<div class=\"bm-footer\">\n  <div><div class=\"bm-fb-name\">CORTEX AI\u2122 SAS \u00b7 AETZU ARROW AI\u2122<\/div><div class=\"bm-fb-sub\">cortexorigin.com \u00b7 Programme de d\u00e9fense<\/div><\/div>\n  <div class=\"bm-fm\">CFVL-BENCH-MTTD-002 v2.1 \u00b7 Avril 2026<br>ARM64 \u00b7 clang -O1 \u00b7 N=1 000 \u00b7 batch=10 000<br>France Deeptech \u00b7 Systematic Paris-R\u00e9gion \u00b7 SAFE Cluster<\/div>\n<\/div>\n \n<\/div>\n<\/div>\n \n<script>\nconst BENCH=[\n  {g:'TCB \u2014 Base de confiance',r:[\n    ['M00 Root-of-Trust  boot_step()','1,3','1','2','TCB'],\n    ['M00 Root-of-Trust  halt_path()','1,0','1','2','TCB'],\n    ['M00 Root-of-Trust  record_measurement()','0,99','1','1','TCB'],\n    ['M00 Root-of-Trust  check_access()','1,64','2','4','TCB'],\n    ['M00 Root-of-Trust  attest()','4,00','4','5','TCB'],\n    ['M00 Root-of-Trust  grant_capability()','1,83','2','2','TCB'],\n    ['M02 PRISM  tcb_transition()','1,2','1','3','TCB'],\n    ['M02 PRISM  blp_can_read()','0,9','1','1','TCB'],\n    ['M10 OMEGA  policy_eval()','2,3','2','7','TCB']]},\n  {g:'L1b \u2014 Modules Hors-TCB',r:[\n    ['M01 SENTINEL  sentinel_compute_score()','7,9','7','21','L1b'],\n    ['M09 CircuitBreaker  cb_trip()','1,3','1','2','L1b'],\n    ['M11 TrustLink  tl_verify()','4,6','4','7','L1b'],\n    ['M24 Offline Controller  halt_path() [live] *','4,6','4','8','L1b'],\n    ['M24 Offline Controller  m24_process() [nominal]','15,2','14','37','L1b'],\n    ['M27 InterfaceGateway  gw_route_request()','12,8','11','32','L1b'],\n    ['M32 WALL-DOME  wd_policy()','1,9','1','11','L1b'],\n    ['M32 WALL-DOME  wd_error() HALT','2,2','2','6','L1b'],\n    ['ATLAS\u2122  validate_proposal() [valide]','2,2','2','4','L1b'],\n    ['ATLAS\u2122  validate_proposal() [rejet]','2,1','2','4','L1b'],\n    ['AEGIS\u2122  execute_gate() [block]','2,2','2','4','L1b'],\n    ['AEGIS\u2122  execute_gate() [allow]','2,4','2','11','L1b'],\n    ['M26 AVA-CPL  ava_cpl_check()','2,6','2','17','L1b'],\n    ['CORTEX-SHIELD  check_anomaly() [normal]','1,9','2','4','L1b'],\n    ['CORTEX-SHIELD  check_anomaly() [block]','1,3','1','3','L1b']]},\n  {g:'RF SENTINEL C11 \u2014 Anti-spoofing GNSS\/RF',r:[\n    ['RF SENTINEL  crs_baseline_update() \u2014 Welford stats','3,67','4','5','NEW'],\n    ['RF SENTINEL  crs_detect_anomaly() \u2014 8 d\u00e9tecteurs fusion','28,47','28','46','NEW']]},\n  {g:'CCE \u00b7 CTI \u00b7 MINE AI\u2122 v4.1 \u00b7 ANTI-MINE AI\u2122 v4.1',r:[\n    ['CCE  cce_analyze() [RECON]','4,8','4','12','NEW'],\n    ['CCE  cce_select_response()','4,3','4','8','NEW'],\n    ['CCE  cce_apply_response() L11\u2013L19','4,7','4','10','NEW'],\n    ['CTI  cti_record_event() [APT]','4,7','4','12','NEW'],\n    ['CTI  cti_analyze_patterns()','11,2','11','21','NEW'],\n    ['CTI  cti_generate_feedback() \u2192 L20','4,8','4','16','NEW'],\n    ['MINE AI\u2122 v4.1  mine_process() \u2014 probe classify **','42,90','42','66','NEW'],\n    ['MINE AI\u2122 v4.1  mine_morph_cycle() \u2014 struct+behav+strat','10,94','10','21','NEW'],\n    ['MINE AI\u2122 v4.1  mine_check_invariants() \u2014 7 invariants','38,60','38','60','NEW'],\n    ['ANTI-MINE AI\u2122 v4.1  antimine_process() \u2014 pattern scan **','189,00','185','293','NEW'],\n    ['ANTI-MINE AI\u2122 v4.1  antimine_morph_cycle() \u2014 adaptive','91,58','90','139','NEW'],\n    ['ANTI-MINE AI\u2122 v4.1  antimine_check_invariants()','9,70','10','11','NEW']]},\n  {g:'Couches L4\u2192L20 \u2014 Groupes LFSR',r:[\n    ['L4\u2013L6   grp_struct()  mutation structurelle','10,6','10','19','L4\u2013L6'],\n    ['L7\u2013L10  grp_behav()  mutation comportementale','17,4','17','26','L7\u2013L10'],\n    ['L11\u2013L15 grp_strat()  mutation strat\u00e9gique','35,3','34','57','L11\u2013L15'],\n    ['L16\u2013L20 grp_adapt()  mutation adaptative','22,4','22','30','L16\u2013L20']]},\n  {g:'Couches L4\u2192L20 \u2014 Individuelles',r:[\n    ['L04  trigger mutation structurelle','4,3','4','7','L4'],\n    ['L05  rotation sig[0..7]','4,7','4','14','L5'],\n    ['L06  XOR sig masque structurel','4,7','4','8','L6'],\n    ['L07  mutation sig[idx] comportementale','4,3','4','6','L7'],\n    ['L08  EWMA morph_gen','4,3','4','6','L8'],\n    ['L09  double XOR sig','5,0','5','11','L9'],\n    ['L10  swap sym\u00e9trique sig','4,2','4','5','L10'],\n    ['L11  jitter delta strat\u00e9gique','4,2','4','6','L11'],\n    ['L12  s\u00e9lection variante sig','4,2','4','5','L12'],\n    ['L13  fragmentation path','6,4','6','12','L13'],\n    ['L14  adaptation contextuelle','4,9','4','13','L14'],\n    ['L15  mutation agressive (\u00d716 octets) \u26a0','19,1','19','23','L15'],\n    ['L16  dissimulation structurelle','4,3','4','6','L16'],\n    ['L17  leurre cognitif','4,3','4','7','L17'],\n    ['L18  d\u00e9sinformation syst\u00e9mique','8,5','8','13','L18'],\n    ['L19  d\u00e9gradation proactive','4,2','4','6','L19'],\n    ['L20  orchestration finale (4 axes)','4,3','4','7','L20']]},\n  {g:'CCE apply \u2014 Effets isol\u00e9s par layer',r:[\n    ['CCE apply L11  jitter delta','4,3','4','6','L11'],\n    ['CCE apply L12  variants','3,7','4','5','L12'],\n    ['CCE apply L13  paths','3,7','4','6','L13'],\n    ['CCE apply L15  mutation agressive','4,0','4','10','L15'],\n    ['CCE apply L17  decoy count','3,8','4','6','L17'],\n    ['CCE apply L18  diverge density','3,7','4','5','L18'],\n    ['CCE apply L19  delay code','3,7','4','6','L19']]}\n];\nconst LAYERS=[{l:'L04',v:4.3},{l:'L05',v:4.7},{l:'L06',v:4.7},{l:'L07',v:4.3},{l:'L08',v:4.3},{l:'L09',v:5.0},{l:'L10',v:4.2},{l:'L11',v:4.2},{l:'L12',v:4.2},{l:'L13',v:6.4},{l:'L14',v:4.9},{l:'L15',v:19.1},{l:'L16',v:4.3},{l:'L17',v:4.3},{l:'L18',v:8.5},{l:'L19',v:4.2},{l:'L20',v:4.3}];\nconst COMP=[\n  {n:'AETZU ARROW AI\u2122',v:'CORTEX AI\u2122 SAS \u2014 France',e:'EAL7 candidat',l:'1,54 ns',r:'R\u00e9f\u00e9rence',m:true,h:true},\n  {n:'seL4',v:'Linux Foundation \u2014 AU',e:'EAL7',l:'~200 ns',r:'\u00d7130 plus lent',m:false},\n  {n:'Muen Separation Kernel',v:'Secunet \/ ZHAW \u2014 CH\/DE',e:'EAL7 en cours',l:'~1 000 ns',r:'\u00d7650 plus lent',m:false},\n  {n:'Green Hills INTEGRITY',v:'Green Hills Software \u2014 US',e:'EAL6+',l:'~500 ns',r:'\u00d7325 plus lent',m:false},\n  {n:'QNX Neutrino 8',v:'BlackBerry \u2014 CA',e:'EAL4+',l:'~1 000 ns',r:'\u00d7650 plus lent',m:false},\n  {n:'LynxSecure \/ LynxOS',v:'Lynx Software Tech. \u2014 US',e:'EAL4+',l:'~2 000 ns',r:'\u00d71 300 plus lent',m:false},\n  {n:'PikeOS',v:'SYSGO \u2014 DE',e:'EAL3+',l:'~2 000 ns',r:'\u00d71 300 plus lent',m:false},\n  {n:'ARM TrustZone \/ OP-TEE',v:'ARM \/ Linaro \u2014 UK',e:'Non certifi\u00e9',l:'~2 000 ns',r:'\u00d71 300 plus lent',m:false},\n  {n:'CertiKOS (Yale FLINT)',v:'Yale University \u2014 US',e:'Acad\u00e9mique',l:'~1 300 ns',r:'\u00d7840 plus lent',m:false},\n  {n:'Fuchsia \/ Zircon',v:'Google \u2014 US',e:'Non certifi\u00e9',l:'~1 800 ns',r:'\u00d71 170 plus lent',m:false},\n  {n:'VxWorks 7',v:'Wind River Systems \u2014 US',e:'EAL4+',l:'~6 000 ns',r:'\u00d73 900 plus lent',m:false},\n  {n:'Zephyr \/ RIOT OS',v:'Linux Foundation \u2014 EU',e:'Non certifi\u00e9',l:'~5 000 ns',r:'\u00d73 200 plus lent',m:false}\n];\nconst RATIOS=[\n  {n:'AETZU ARROW AI\u2122',v:'1\u00d7 (r\u00e9f.)',p:.5,ref:true},\n  {n:'seL4 (EAL7)',v:'\u00d7130',p:3.3},{n:'INTEGRITY (EAL6+)',v:'\u00d7325',p:8.3},\n  {n:'QNX (EAL4+)',v:'\u00d7650',p:16.6},{n:'Muen (EAL7 vis\u00e9)',v:'\u00d7650',p:16.6},\n  {n:'CertiKOS (Yale)',v:'\u00d7840',p:21.5},{n:'Fuchsia\/Zircon',v:'\u00d71 170',p:30},\n  {n:'LynxSecure (EAL4+)',v:'\u00d71 300',p:33.3},{n:'VxWorks 7',v:'\u00d73 900',p:100}\n];\nconst bm={TCB:'tcb',L1b:'l1b',NEW:'nw'};\nconst tbody=document.getElementById('bb');\nBENCH.forEach(g=>{\n  const tr=document.createElement('tr');tr.className='grp';\n  tr.innerHTML=`<td colspan=\"5\">${g.g}<\/td>`;tbody.appendChild(tr);\n  g.r.forEach(([fn,m,p50,p99,l])=>{\n    const t=document.createElement('tr');\n    if(l==='TCB')t.className='tcbr';\n    const bc=bm[l]||'lx';\n    t.innerHTML=`<td class=\"fn\">${fn}<\/td><td class=\"val\">${m}<\/td><td class=\"p50\">${p50}<\/td><td class=\"p99\">${p99}<\/td><td class=\"lay\"><span class=\"bm-bdg ${bc}\">${l}<\/span><\/td>`;\n    tbody.appendChild(t);\n  });\n});\nconst lg=document.getElementById('lg');\nLAYERS.forEach(({l,v})=>{\n  const d=document.createElement('div');\n  d.className='bm-lc '+(v>=15?'al':v>=6?'wn':'ok');\n  d.innerHTML=`<div class=\"ln\">${l}<\/div><div class=\"lv\">${v.toFixed(1)}<\/div><div class=\"lu\">ns<\/div>`;\n  lg.appendChild(d);\n});\nconst cg=document.getElementById('cg');\nCOMP.forEach(c=>{\n  const d=document.createElement('div');d.className='bm-cc'+(c.h?' hc':'');\n  d.innerHTML=`<div class=\"bm-cc-n\">${c.n}<\/div><div class=\"bm-cc-v\">${c.v}<\/div><div class=\"bm-cc-lat\">${c.l}<\/div><div class=\"bm-cc-rat\">${c.r}<\/div><div class=\"bm-cc-eal\">${c.e}<\/div><div class=\"bm-cc-mtd ${c.m?'y':'n'}\">${c.m?'MTD \u2713':'MTD \u2717'}<\/div>`;\n  cg.appendChild(d);\n});\nconst rb=document.getElementById('rb');\nRATIOS.forEach(({n,v,p,ref})=>{\n  const d=document.createElement('div');d.className='bm-rrow';\n  d.innerHTML=`<div class=\"bm-rname\">${n}<\/div><div class=\"bm-rw\"><div class=\"bm-rb ${ref?'ref':'oth'}\" data-p=\"${p}\"><\/div><\/div><div class=\"bm-rv\">${v}<\/div>`;\n  rb.appendChild(d);\n});\nfunction animBars(){document.querySelectorAll('.bm-rb').forEach(b=>{if(b.getBoundingClientRect().top<window.innerHeight-60)b.style.width=b.dataset.p+'%';});}\nwindow.addEventListener('scroll',animBars);setTimeout(animBars,400);\nconst obs=new IntersectionObserver(e=>e.forEach(x=>{if(x.isIntersecting)x.target.classList.add('in');}),{threshold:.06});\ndocument.querySelectorAll('.bm-rev').forEach(el=>obs.observe(el));\n<\/script>\n\n\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SECTION 08 \u2014 AUTO-CONTAINMENT M\u00c9MOIRE \u00b7 CORTEX NK\n     Bloc HTML 100% autonome \u00b7 CSS embarqu\u00e9 \u00b7 \u00e0 coller dans WordPress\n     CFVL-BENCH-CONTAINMENT-001 v1.0 \u00b7 22 mai 2026\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"ct8-wrap\">\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=IBM+Plex+Mono:wght@300;400;500&family=IBM+Plex+Serif:ital,wght@0,400;0,500;1,400&display=swap');\n.ct8-wrap{all:initial;display:block;width:100%;font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;font-size:15px;line-height:1.6;color:#1A1A2E;background:#FAFAF8;box-sizing:border-box;}\n.ct8-wrap *{box-sizing:border-box;}\n.ct8-hdr{background:#00205B;padding:10px 5%;display:flex;align-items:center;gap:16px;}\n.ct8-num{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.2em;color:rgba(255,255,255,0.35);flex-shrink:0;}\n.ct8-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.85);font-weight:500;}\n.ct8-line{flex:1;height:1px;background:rgba(255,255,255,0.1);}\n.ct8-sec{padding:52px 5%;background:#FAFAF8;border-bottom:1px solid #D0CEC8;}\n.ct8-title{font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(26px,3vw,38px);font-weight:500;color:#00205B;margin:0 0 8px 0;line-height:1.15;}\n.ct8-title em{font-style:italic;color:#003F8A;}\n.ct8-desc{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:300;color:#5A5E70;max-width:700px;line-height:1.8;margin-bottom:36px;}\n.ct8-badge{margin:16px 0 24px;background:linear-gradient(90deg,rgba(176,135,40,0.10) 0%,rgba(176,135,40,0.03) 100%);border-left:4px solid #B08728;padding:16px 22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}\n.ct8-badge-icon{font-size:24px;}\n.ct8-badge-body{flex:1;min-width:260px;}\n.ct8-badge-title{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:#8A5A00;font-weight:600;margin-bottom:4px;}\n.ct8-badge-text{color:#1A1A2E;font-size:13.5px;line-height:1.55;}\n.ct8-kpi{margin-top:32px;background:linear-gradient(135deg,#00205B 0%,#003F8A 100%);padding:32px 36px;border-left:6px solid #B08728;display:flex;align-items:center;gap:32px;flex-wrap:wrap;}\n.ct8-kpi-block{flex-shrink:0;}\n.ct8-kpi-block.sep{border-left:1px solid rgba(255,255,255,0.2);padding-left:32px;}\n.ct8-kpi-l{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:#B08728;margin-bottom:8px;}\n.ct8-kpi-big{font-family:'IBM Plex Mono',monospace;font-size:56px;font-weight:500;color:#FFFFFF;line-height:1;}\n.ct8-kpi-mid{font-family:'IBM Plex Mono',monospace;font-size:42px;font-weight:500;color:#FFFFFF;line-height:1;}\n.ct8-kpi-u{font-size:24px;color:rgba(255,255,255,0.7);}\n.ct8-kpi-s{font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(255,255,255,0.5);margin-top:8px;}\n.ct8-kpi-text{flex:1;min-width:280px;color:rgba(255,255,255,0.85);font-size:14px;line-height:1.7;}\n.ct8-kpi-text strong{color:#FFFFFF;}\n.ct8-h3{font-family:'IBM Plex Serif',Georgia,serif;font-size:24px;font-weight:500;color:#00205B;margin:56px 0 8px 0;line-height:1.15;}\n.ct8-h3 em{font-style:italic;color:#003F8A;}\n.ct8-tw{overflow-x:auto;border:1px solid #D0CEC8;margin-top:0;}\n.ct8-bt{width:100%;border-collapse:collapse;font-family:'IBM Plex Mono',monospace;font-size:12.5px;background:#FFFFFF;}\n.ct8-bt thead tr{background:#00205B;}\n.ct8-bt thead th{padding:12px 16px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.55);font-weight:400;text-align:left;}\n.ct8-bt thead th.r{text-align:right;}\n.ct8-bt thead th.c{text-align:center;}\n.ct8-bt .grp td{padding:8px 16px;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.24em;text-transform:uppercase;color:#0055B3;font-weight:500;background:#E8EFF8;border-top:1px solid #D0CEC8;border-bottom:1px solid #D0CEC8;}\n.ct8-bt tbody tr{border-bottom:1px solid #ECEAE4;}\n.ct8-bt tbody tr:hover{background:rgba(0,63,138,0.03);}\n.ct8-bt tbody td{padding:9px 16px;color:#1A1A2E;}\n.ct8-bt td.val{text-align:right;color:#0055B3;font-weight:500;}\n.ct8-bt td.p99{text-align:right;color:#5A5E70;}\n.ct8-bt td.lay{text-align:center;}\n.ct8-bt .tcbr{background:#FDF0D5;}\n.ct8-bt .tcbr td{font-weight:500;}\n.ct8-bt .tcbr td.fn{color:#00205B;}\n.ct8-bdg{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;padding:2px 7px;border:1px solid;}\n.ct8-bdg.tcb{color:#8A5A00;border-color:rgba(138,90,0,0.35);background:#FDF0D5;}\n.ct8-bdg.nw{color:#1A6B3C;border-color:rgba(26,107,60,0.3);background:#E4F3EB;}\n.ct8-mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3px;margin-top:36px;}\n.ct8-mc{padding:26px 22px;background:#FFFFFF;border:1px solid #D0CEC8;border-top:3px solid #B8B4AC;}\n.ct8-mi{font-family:'IBM Plex Mono',monospace;font-size:20px;color:#0055B3;margin-bottom:14px;}\n.ct8-mt{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#00205B;margin-bottom:8px;font-weight:500;}\n.ct8-md{font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:300;color:#5A5E70;line-height:1.7;}\n.ct8-mv{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#0055B3;margin-top:12px;}\n.ct8-term{margin-top:36px;background:#00205B;color:rgba(255,255,255,0.85);padding:24px 28px;font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.9;overflow-x:auto;}\n.ct8-term .tp{color:rgba(255,255,255,0.35);}\n.ct8-term .tc{color:#FFFFFF;}\n.ct8-term .to{color:rgba(255,255,255,0.4);}\n.ct8-term .th{color:#FFD080;font-weight:500;}\n.ct8-term .tok{color:#6DD98A;}\n.ct8-term .tw2{color:#FFB347;}\n.ct8-nota{margin-top:16px;padding:12px 16px;background:#F5EDD5;border-left:3px solid #B08728;font-family:'IBM Plex Sans',sans-serif;font-size:12.5px;font-weight:300;color:#8A5A00;line-height:1.65;}\n<\/style>\n \n<!-- HEADER SECTION -->\n<div class=\"ct8-hdr\"><div class=\"ct8-num\">08<\/div><div class=\"ct8-line\"><\/div><div class=\"ct8-label\">Module Auto-Containment M\u00e9moire \u2014 5 fonctions \u00b7 CFVL-BENCH-CONTAINMENT-001 v1.0 \u2014 quarantaine monotone prouv\u00e9e<\/div><div class=\"ct8-line\"><\/div><\/div>\n \n<div class=\"ct8-sec\">\n  <h3 class=\"ct8-title\">Auto-Containment <em>5\/5 fonctions mesur\u00e9es<\/em><\/h3>\n \n  <!-- Bandeau dor\u00e9 -->\n  <div class=\"ct8-badge\">\n    <span class=\"ct8-badge-icon\">\ud83d\udee1\ufe0f<\/span>\n    <div class=\"ct8-badge-body\">\n      <div class=\"ct8-badge-title\">Quarantaine m\u00e9moire monotone formellement prouv\u00e9e \u00b7 MTTD moyen 18,76 ns<\/div>\n      <div class=\"ct8-badge-text\">\n        Premi\u00e8re couche d&rsquo;auto-confinement au-dessus du MMU formellement prouv\u00e9e publiquement combinant <strong>monotonie stricte<\/strong> (CT-MONO-quar, CT-MONO-init), <strong>journal cryptographique immuable<\/strong> (CT-LOG-count, CT-LOG-frozen) et <strong>invariants structurels permanents<\/strong> (CT-INV-init, CT-INV-quar). Aucun autre micronoyau formellement v\u00e9rifi\u00e9 au monde n&rsquo;expose de module de quarantaine m\u00e9moire applicatif comparable avec preuve formelle compl\u00e8te et performance sub-30 ns. Coh\u00e9rent avec le pattern BL-06 du Boot Lock irr\u00e9versible.\n      <\/div>\n    <\/div>\n  <\/div>\n \n  <p class=\"ct8-desc\">R\u00e9f\u00e9rence CFVL-BENCH-CONTAINMENT-001 v1.0 \u00b7 plateforme ARM64 Apple Silicon M2 \u00b7 clang -O2 \u00b7 CLOCK_MONOTONIC \u00b7 m\u00e9thodologie batch measurement (B = 1 000 \u00e0 100 000) \u00b7 anti-DCE (sinks volatiles + barri\u00e8res m\u00e9moire) \u00b7 s\u00e9paration HIT\/MISS path \u00b7 multi-process aggregation pour success path. <strong>Branche feat\/containment-v1 \u00b7 PR #17 merg\u00e9e master \u00b7 22 mai 2026 \u00b7 sprint Auto-Containment 100% termin\u00e9.<\/strong> 339\/339 goals Frama-C\/WP (100 %, 0 timeout, 0 failure) \u00b7 6\/6 th\u00e9or\u00e8mes Isabelle\/HOL sans sorry \u00b7 42\/42 tests unitaires PASS (20 behaviors ACSL couverts).<\/p>\n \n  <!-- KPI banner -->\n  <div class=\"ct8-kpi\">\n    <div class=\"ct8-kpi-block\">\n      <div class=\"ct8-kpi-l\">MTTD moyen \u2014 5 fonctions publiques<\/div>\n      <div class=\"ct8-kpi-big\">18,76 <span class=\"ct8-kpi-u\">ns<\/span><\/div>\n      <div class=\"ct8-kpi-s\">(4,84 + 21,56 + 11,82 + 25,81 + 29,78) \/ 5<\/div>\n    <\/div>\n    <div class=\"ct8-kpi-block sep\">\n      <div class=\"ct8-kpi-l\">Frama-C\/WP \u00b7 100 %<\/div>\n      <div class=\"ct8-kpi-mid\">339 \/ 339<\/div>\n      <div class=\"ct8-kpi-s\">0 timeout \u00b7 0 failure \u00b7 20 behaviors ACSL<\/div>\n    <\/div>\n    <div class=\"ct8-kpi-text\">\n      <strong>Performance + preuve = singularit\u00e9 mondiale.<\/strong> Aucune solution commerciale (Trustonic, Green Hills INTEGRITY, ProvenCore) ne combine sub-30 ns sur l&rsquo;ensemble des fonctions ET preuves formelles publiques de monotonie. Les r\u00e9f\u00e9rences acad\u00e9miques (seL4, Genode) n&rsquo;exposent pas de module de quarantaine m\u00e9moire applicatif comparable. <strong>Coh\u00e9rent avec MTTD moyen TCB AETZU\/CORTEX NK (1,54 ns) et pipeline kernel-pur (11,04 ns).<\/strong>\n    <\/div>\n  <\/div>\n \n  <!-- Tableau performances -->\n  <h3 class=\"ct8-h3\">Tableau <em>performances mesur\u00e9es<\/em><\/h3>\n  <p class=\"ct8-desc\">Mesures evidence-grade reproductibles. Batch measurement adaptatif (B = 1 000 \u00e0 100 000), N = 1 000 ou 3 200 (multi-process pour quarantine_zone). Anti-DCE confirm\u00e9 : tous sinks volatiles non-nuls en fin d&rsquo;ex\u00e9cution. S\u00e9paration HIT\/MISS pour exposer best case et worst case.<\/p>\n  <div class=\"ct8-tw\"><table class=\"ct8-bt\">\n    <thead><tr><th>Fonction publique<\/th><th class=\"c\">Behaviors ACSL<\/th><th class=\"r\">mean<\/th><th class=\"r\">p99<\/th><th class=\"c\">Statut<\/th><\/tr><\/thead>\n    <tbody>\n      <tr class=\"grp\"><td colspan=\"5\">Initialisation et gestion d&rsquo;\u00e9tat<\/td><\/tr>\n      <tr><td class=\"fn\">nk_containment_init \u00b7 idempotent path<\/td><td class=\"lay\">CT-01, CT-02<\/td><td class=\"val\">4,84 ns<\/td><td class=\"p99\">11 ns<\/td><td class=\"lay\"><span class=\"ct8-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">nk_containment_check_invariants \u00b7 audit interne<\/td><td class=\"lay\">CT-18 \u00e0 CT-20<\/td><td class=\"val\">29,78 ns<\/td><td class=\"p99\">33 ns<\/td><td class=\"lay\"><span class=\"ct8-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">Quarantaine monotone \u2014 write irr\u00e9versible<\/td><\/tr>\n      <tr class=\"tcbr\"><td class=\"fn\">nk_containment_quarantine_zone \u00b7 success path<\/td><td class=\"lay\">CT-03 \u00e0 CT-10<\/td><td class=\"val\">21,56 ns<\/td><td class=\"p99\">multi-process<\/td><td class=\"lay\"><span class=\"ct8-bdg tcb\">MONOTONE<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">V\u00e9rification d&rsquo;appartenance \u2014 HIT \/ MISS<\/td><\/tr>\n      <tr><td class=\"fn\">nk_containment_is_quarantined \u00b7 HIT path (best case)<\/td><td class=\"lay\">CT-11 \u00e0 CT-13<\/td><td class=\"val\">8,48 ns<\/td><td class=\"p99\">15 ns<\/td><td class=\"lay\"><span class=\"ct8-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">nk_containment_is_quarantined \u00b7 MISS path (worst case)<\/td><td class=\"lay\">CT-11 \u00e0 CT-13<\/td><td class=\"val\">15,16 ns<\/td><td class=\"p99\">16 ns<\/td><td class=\"lay\"><span class=\"ct8-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">Lecture du journal immuable<\/td><\/tr>\n      <tr><td class=\"fn\">nk_containment_list_events \u00b7 memcpy 64 events<\/td><td class=\"lay\">CT-14 \u00e0 CT-17<\/td><td class=\"val\">25,81 ns<\/td><td class=\"p99\">34 ns<\/td><td class=\"lay\"><span class=\"ct8-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n \n      <tr class=\"tcbr\" style=\"background:#FDF0D5;\"><td class=\"fn\"><strong>MTTD moyen 5 fonctions publiques (is_quarantined = mean HIT+MISS \/ 2)<\/strong><\/td><td class=\"lay\">20\/20<\/td><td class=\"val\" style=\"font-size:14px;\"><strong>18,76 ns<\/strong><\/td><td class=\"p99\"><strong>\u2014<\/strong><\/td><td class=\"lay\"><span class=\"ct8-bdg tcb\">EVIDENCE<\/span><\/td><\/tr>\n    <\/tbody>\n  <\/table><\/div>\n \n  <!-- Positionnement sectoriel -->\n  <h3 class=\"ct8-h3\">Positionnement <em>sectoriel<\/em><\/h3>\n  <p class=\"ct8-desc\">Comparaison aux r\u00e9f\u00e9rences mondiales pour fonctions \u00e9quivalentes. \u00c9chelle : 1 cycle ARM64 Apple M2 \u00e0 3,2 GHz = 0,31 ns ; acc\u00e8s cache L1 \u2248 1 ns. Auto-Containment se situe dans la classe haute performance des fonctions kernel critiques.<\/p>\n \n  <div class=\"ct8-mgrid\">\n    <div class=\"ct8-mc\">\n      <div class=\"ct8-mi\">\u25a3<\/div>\n      <div class=\"ct8-mt\">Check page protection<\/div>\n      <div class=\"ct8-md\">Linux kernel \u00b7 check_user_page_writable() et \u00e9quivalents pour permissions m\u00e9moire applicative.<\/div>\n      <div class=\"ct8-mv\">R\u00e9f\u00e9rence ~50-100 ns \u00b7 CORTEX NK : 8,48 ns (HIT)<\/div>\n    <\/div>\n \n    <div class=\"ct8-mc\" style=\"border-top-color:#0055B3;\">\n      <div class=\"ct8-mi\">\u2b21<\/div>\n      <div class=\"ct8-mt\">State invariant check<\/div>\n      <div class=\"ct8-md\">seL4-class \u00b7 v\u00e9rification de coh\u00e9rence d&rsquo;\u00e9tat kernel pour syst\u00e8mes critiques EAL6+.<\/div>\n      <div class=\"ct8-mv\">R\u00e9f\u00e9rence ~30-50 ns \u00b7 CORTEX NK : 29,78 ns<\/div>\n    <\/div>\n \n    <div class=\"ct8-mc\" style=\"border-top-color:#1A6B3C;\">\n      <div class=\"ct8-mi\">\u2211<\/div>\n      <div class=\"ct8-mt\">Audit log read<\/div>\n      <div class=\"ct8-md\">memcpy structur\u00e9 de 2 KiB \u00b7 \u00e9quivalent auditd Linux ou trail logger embarqu\u00e9s.<\/div>\n      <div class=\"ct8-mv\">R\u00e9f\u00e9rence ~30-60 ns \u00b7 CORTEX NK : 25,81 ns<\/div>\n    <\/div>\n \n    <div class=\"ct8-mc\" style=\"border-top-color:#B08728;\">\n      <div class=\"ct8-mi\">\u25c8<\/div>\n      <div class=\"ct8-mt\">Init idempotent<\/div>\n      <div class=\"ct8-md\">Co\u00fbt d&rsquo;un appel d&rsquo;init apr\u00e8s amor\u00e7age \u00b7 early-return ALREADY_INIT (path froid d\u00e9j\u00e0 pay\u00e9).<\/div>\n      <div class=\"ct8-mv\">R\u00e9f\u00e9rence ~10-20 ns \u00b7 CORTEX NK : 4,84 ns<\/div>\n    <\/div>\n  <\/div>\n \n  <!-- Terminal -->\n  <div class=\"ct8-term\">\n    <div><span class=\"tp\">$<\/span> <span class=\"tc\">clang -O2 -o bench_containment_v4 bench_containment_v4.c cortex_nk_containment.c \\<\/span><\/div>\n    <div><span class=\"tc\">     cortex_nk_containment_trigger.c cortex_nk_mmu.c cortex_nk_hardening.c &amp;&amp; .\/bench_containment_v4<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div class=\"tp\">  CFVL-BENCH-CONTAINMENT-001 v1.0 \u2014 Module Auto-Containment M\u00e9moire<\/div>\n    <div class=\"tp\">  ARM64 Apple Silicon M2 \u00b7 CLOCK_MONOTONIC \u00b7 anti-DCE \u00b7 batch measurement<\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div><span class=\"to\">  Fonction publique                          \u2502       mean        \u2502 p99<\/span><\/div>\n    <div><span class=\"to\">  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><\/div>\n    <div><span class=\"to\">  nk_containment_init       [idempotent]     \u2502 <\/span><span class=\"th\">      4,84 ns<\/span><span class=\"to\">    \u2502 11 ns<\/span><\/div>\n    <div><span class=\"to\">  nk_containment_quarantine [success multi]  \u2502 <\/span><span class=\"th\">     21,56 ns<\/span><span class=\"to\">    \u2502 \u2014<\/span><\/div>\n    <div><span class=\"to\">  nk_containment_is_quar    [HIT path]       \u2502 <\/span><span class=\"th\">      8,48 ns<\/span><span class=\"to\">    \u2502 15 ns<\/span><\/div>\n    <div><span class=\"to\">  nk_containment_is_quar    [MISS path]      \u2502 <\/span><span class=\"th\">     15,16 ns<\/span><span class=\"to\">    \u2502 16 ns<\/span><\/div>\n    <div><span class=\"to\">  nk_containment_list_events [journal 2 KiB] \u2502 <\/span><span class=\"th\">     25,81 ns<\/span><span class=\"to\">    \u2502 34 ns<\/span><\/div>\n    <div><span class=\"to\">  nk_containment_check_invariants [audit]    \u2502 <\/span><span class=\"th\">     29,78 ns<\/span><span class=\"to\">    \u2502 33 ns<\/span><\/div>\n    <div class=\"tp\">  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/div>\n    <div><span class=\"to\">  MTTD MOYEN 5 fonctions publiques           <\/span><span class=\"tw2\">[EVIDENCE]   \u2502 <\/span><span class=\"tw2\">     18,76 ns<\/span><span class=\"to\">   \u2502 \u2014<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div><span class=\"to\">  V\u00e9rification anti-DCE :<\/span><\/div>\n    <div><span class=\"to\">    sink u64 = 10 000 000 000 001  (non-z\u00e9ro, calls non \u00e9limin\u00e9s)<\/span><\/div>\n    <div><span class=\"to\">    is_quar HIT  = 100 000 000 hits \/ 100 000 000 calls (100 %)<\/span><\/div>\n    <div><span class=\"to\">    is_quar MISS = 0 hits \/ 100 000 000 calls (0 %)<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div class=\"tok\">\u2705 5\/5 fonctions publiques mesur\u00e9es \u00b7 0 crash \u00b7 100M+ ops valid\u00e9es<\/div>\n    <div class=\"tok\">\u2705 339\/339 Frama-C\/WP (100 %) \u00b7 6\/6 Isabelle\/HOL (0 sorry) \u00b7 42\/42 tests<\/div>\n    <div class=\"tok\">\u2705 Branche feat\/containment-v1 \u00b7 PR #17 merg\u00e9e master \u00b7 22 mai 2026<\/div>\n  <\/div>\n \n  <!-- Note strat\u00e9gique -->\n  <div class=\"ct8-nota\">\n    <strong>Lecture strat\u00e9gique.<\/strong> Le module Auto-Containment M\u00e9moire (cortex_nk_containment) impl\u00e9mente une couche de quarantaine m\u00e9moire monotone et formellement prouv\u00e9e, int\u00e9gr\u00e9e au-dessus du MMU CORTEX NK\u2122. Lorsqu&rsquo;une zone m\u00e9moire pr\u00e9sente un comportement suspect (violation W^X, acc\u00e8s non autoris\u00e9, d\u00e9passement de borne), elle est fig\u00e9e en lecture seule, journalis\u00e9e dans un registre immuable, et irr\u00e9versiblement isol\u00e9e. La <strong>propri\u00e9t\u00e9 centrale<\/strong> est la monotonie stricte (coh\u00e9rente avec BL-06 du Boot Lock) : toute zone mise en quarantaine y demeure d\u00e9finitivement. Performance mesur\u00e9e sub-30 ns sur les 5 fonctions publiques, avec preuves formelles compl\u00e8tes (Frama-C\/WP, Isabelle\/HOL, ACSL). <strong>Aucun module commercial connu (Trustonic, Green Hills, ProvenCore) ne combine performance &lt; 50 ns ET preuve formelle publique de monotonie.<\/strong> Aucun micronoyau formellement v\u00e9rifi\u00e9 au monde (seL4, Muen, CertiKOS, Genode) n&rsquo;expose de module de quarantaine m\u00e9moire applicatif comparable. <strong>Sprint Auto-Containment 100 % termin\u00e9 \u00b7 branche feat\/containment-v1 \u00b7 PR #17 merg\u00e9e master \u00b7 22 mai 2026 \u00b7 trajectoire CSPN ANSSI Q1 2027 \u2192 EAL4 (2028) \u2192 EAL6 (2029) \u2192 EAL7+ (2030).<\/strong>\n  <\/div>\n \n<\/div>\n<\/div>\n\n\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     SECTION 09 \u2014 AUDIT LOG IMMUABLE \u00b7 CORTEX NK\n     Bloc HTML 100% autonome \u00b7 CSS embarqu\u00e9 \u00b7 \u00e0 coller dans WordPress\n     CFVL-EVAL-NK-AUDIT-001 v1.0 \u00b7 22 mai 2026\n     \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div class=\"al9-wrap\">\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=IBM+Plex+Mono:wght@300;400;500&family=IBM+Plex+Serif:ital,wght@0,400;0,500;1,400&display=swap');\n.al9-wrap{all:initial;display:block;width:100%;font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;font-size:15px;line-height:1.6;color:#1A1A2E;background:#FAFAF8;box-sizing:border-box;}\n.al9-wrap *{box-sizing:border-box;}\n.al9-hdr{background:#00205B;padding:10px 5%;display:flex;align-items:center;gap:16px;}\n.al9-num{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.2em;color:rgba(255,255,255,0.35);flex-shrink:0;}\n.al9-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.85);font-weight:500;}\n.al9-line{flex:1;height:1px;background:rgba(255,255,255,0.1);}\n.al9-sec{padding:52px 5%;background:#FAFAF8;border-bottom:1px solid #D0CEC8;}\n.al9-title{font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(26px,3vw,38px);font-weight:500;color:#00205B;margin:0 0 8px 0;line-height:1.15;}\n.al9-title em{font-style:italic;color:#003F8A;}\n.al9-desc{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:300;color:#5A5E70;max-width:700px;line-height:1.8;margin-bottom:36px;}\n.al9-badge{margin:16px 0 24px;background:linear-gradient(90deg,rgba(176,135,40,0.10) 0%,rgba(176,135,40,0.03) 100%);border-left:4px solid #B08728;padding:16px 22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}\n.al9-badge-icon{font-size:24px;}\n.al9-badge-body{flex:1;min-width:260px;}\n.al9-badge-title{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:#8A5A00;font-weight:600;margin-bottom:4px;}\n.al9-badge-text{color:#1A1A2E;font-size:13.5px;line-height:1.55;}\n.al9-cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:3px;margin-top:36px;}\n.al9-cc{background:#FFFFFF;border:1px solid #D0CEC8;border-top:3px solid #B8B4AC;padding:22px 20px;transition:.2s;}\n.al9-cc:hover{box-shadow:0 4px 16px rgba(0,63,138,.07);}\n.al9-cc.hc{border-top-color:#00205B;background:#E8EFF8;}\n.al9-cc-n{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:600;color:#00205B;margin-bottom:2px;}\n.al9-cc-v{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#5A5E70;margin-bottom:16px;}\n.al9-cc-lat{font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:500;color:#1A1A2E;line-height:1;margin-bottom:3px;}\n.al9-cc.hc .al9-cc-lat{color:#0055B3;}\n.al9-cc-rat{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;color:#5A5E70;margin-bottom:10px;}\n.al9-cc.hc .al9-cc-rat{color:#0055B3;font-weight:500;}\n.al9-cc-eal{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#5A5E70;}\n.al9-kpi{margin-top:48px;background:linear-gradient(135deg,#00205B 0%,#003F8A 100%);padding:32px 36px;border-left:6px solid #B08728;display:flex;align-items:center;gap:32px;flex-wrap:wrap;}\n.al9-kpi-block{flex-shrink:0;}\n.al9-kpi-block.sep{border-left:1px solid rgba(255,255,255,0.2);padding-left:32px;}\n.al9-kpi-l{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:#B08728;margin-bottom:8px;}\n.al9-kpi-big{font-family:'IBM Plex Mono',monospace;font-size:56px;font-weight:500;color:#FFFFFF;line-height:1;}\n.al9-kpi-mid{font-family:'IBM Plex Mono',monospace;font-size:42px;font-weight:500;color:#FFFFFF;line-height:1;}\n.al9-kpi-u{font-size:24px;color:rgba(255,255,255,0.7);}\n.al9-kpi-um{font-size:20px;color:rgba(255,255,255,0.7);}\n.al9-kpi-s{font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(255,255,255,0.5);margin-top:8px;}\n.al9-kpi-text{flex:1;min-width:280px;color:rgba(255,255,255,0.85);font-size:14px;line-height:1.7;}\n.al9-kpi-text strong{color:#FFFFFF;}\n.al9-h3{font-family:'IBM Plex Serif',Georgia,serif;font-size:24px;font-weight:500;color:#00205B;margin:56px 0 8px 0;line-height:1.15;}\n.al9-h3 em{font-style:italic;color:#003F8A;}\n.al9-tw{overflow-x:auto;border:1px solid #D0CEC8;margin-top:0;}\n.al9-bt{width:100%;border-collapse:collapse;font-family:'IBM Plex Mono',monospace;font-size:12.5px;background:#FFFFFF;}\n.al9-bt thead tr{background:#00205B;}\n.al9-bt thead th{padding:12px 16px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.55);font-weight:400;text-align:left;}\n.al9-bt thead th.r{text-align:right;}\n.al9-bt thead th.c{text-align:center;}\n.al9-bt .grp td{padding:8px 16px;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.24em;text-transform:uppercase;color:#0055B3;font-weight:500;background:#E8EFF8;border-top:1px solid #D0CEC8;border-bottom:1px solid #D0CEC8;}\n.al9-bt tbody tr{border-bottom:1px solid #ECEAE4;}\n.al9-bt tbody tr:hover{background:rgba(0,63,138,0.03);}\n.al9-bt tbody td{padding:9px 16px;color:#1A1A2E;}\n.al9-bt td.val{text-align:right;color:#0055B3;font-weight:500;}\n.al9-bt td.p99{text-align:right;color:#5A5E70;}\n.al9-bt td.lay{text-align:center;}\n.al9-bt .tcbr{background:#FDF0D5;}\n.al9-bt .tcbr td{font-weight:500;}\n.al9-bt .tcbr td.fn{color:#00205B;}\n.al9-bdg{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;padding:2px 7px;border:1px solid;}\n.al9-bdg.tcb{color:#8A5A00;border-color:rgba(138,90,0,0.35);background:#FDF0D5;}\n.al9-bdg.nw{color:#1A6B3C;border-color:rgba(26,107,60,0.3);background:#E4F3EB;}\n.al9-bdg.crypto{color:#6B2D8C;border-color:rgba(107,45,140,0.3);background:#F0E4F5;}\n.al9-mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3px;margin-top:36px;}\n.al9-mc{padding:26px 22px;background:#FFFFFF;border:1px solid #D0CEC8;border-top:3px solid #B8B4AC;}\n.al9-mi{font-family:'IBM Plex Mono',monospace;font-size:20px;color:#0055B3;margin-bottom:14px;}\n.al9-mt{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#00205B;margin-bottom:8px;font-weight:500;}\n.al9-md{font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:300;color:#5A5E70;line-height:1.7;}\n.al9-mv{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#0055B3;margin-top:12px;}\n.al9-term{margin-top:36px;background:#00205B;color:rgba(255,255,255,0.85);padding:24px 28px;font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.9;overflow-x:auto;}\n.al9-term .tp{color:rgba(255,255,255,0.35);}\n.al9-term .tc{color:#FFFFFF;}\n.al9-term .to{color:rgba(255,255,255,0.4);}\n.al9-term .th{color:#FFD080;font-weight:500;}\n.al9-term .tok{color:#6DD98A;}\n.al9-term .tw2{color:#FFB347;}\n.al9-nota{margin-top:16px;padding:12px 16px;background:#F5EDD5;border-left:3px solid #B08728;font-family:'IBM Plex Sans',sans-serif;font-size:12.5px;font-weight:300;color:#8A5A00;line-height:1.65;}\n<\/style>\n \n<!-- HEADER SECTION -->\n<div class=\"al9-hdr\"><div class=\"al9-num\">09<\/div><div class=\"al9-line\"><\/div><div class=\"al9-label\">Module Audit Log Immuable CORTEX NK\u2122 \u2014 Module 16 du TCB \u00b7 CFVL-EVAL-NK-AUDIT-001 v1.0 \u2014 cha\u00eenage HMAC-SHA256 prouv\u00e9<\/div><div class=\"al9-line\"><\/div><\/div>\n \n<div class=\"al9-sec\">\n  <h3 class=\"al9-title\">Audit Log Immuable <em>journal cryptographique cha\u00een\u00e9<\/em><\/h3>\n \n  <!-- Bandeau dor\u00e9 -->\n  <div class=\"al9-badge\">\n    <span class=\"al9-badge-icon\">\ud83d\udcdc<\/span>\n    <div class=\"al9-badge-body\">\n      <div class=\"al9-badge-title\">Journal cryptographique immuable \u00b7 100% complet \u00b7 append cha\u00een\u00e9 1,50 \u00b5s<\/div>\n      <div class=\"al9-badge-text\">\n        Le Module Audit Log CORTEX NK\u2122 est aujourd&rsquo;hui le seul au monde \u00e0 int\u00e9grer nativement un journal cryptographiquement cha\u00een\u00e9 via <strong>HMAC-SHA256 HACL* (INRIA Prosecco)<\/strong>, avec 70 tests E2E PASS, score Frama-C\/WP <strong>426\/443 = 96,2 %<\/strong>, 8 th\u00e9or\u00e8mes Isabelle\/HOL prouv\u00e9s (0 sorry). <strong>Append cryptographique en 1,50 \u00b5s \u00b7 lecture journal 3,97 ns \u00b7 v\u00e9rification cha\u00eene 32 entr\u00e9es 28,70 \u00b5s \u00b7 ancrage TPM PCR 350 ns \u2014 sans rivaux mesur\u00e9s au monde.<\/strong> Commit 2a519c9 \u00b7 PR #18 merg\u00e9e master \u00b7 22 mai 2026.\n      <\/div>\n    <\/div>\n  <\/div>\n \n  <p class=\"al9-desc\">R\u00e9f\u00e9rence CFVL-EVAL-NK-AUDIT-001 v1.0 \u00b7 plateforme ARM64 Apple Silicon M2 \u00b7 clang -O2 \u00b7 CLOCK_MONOTONIC r\u00e9solution nanoseconde \u00b7 cha\u00eenage cryptographique HMAC-SHA256 via HACL* (F* \/ Low* INRIA) \u00b7 ancrage TPM 2.0 PCR op\u00e9rationnel (S4 stub + S8 r\u00e9el). <strong>PR #18 merg\u00e9e sur master \u00b7 commit 2a519c9 \u00b7 sprint Module Audit Log 100% termin\u00e9 le 22 mai 2026.<\/strong> 22 behaviors ACSL prouv\u00e9s \u00b7 architecture monotone append-only stricte (capacit\u00e9 64 entr\u00e9es) avec invariants formellement v\u00e9rifi\u00e9s.<\/p>\n \n  <!-- 8 th\u00e9or\u00e8mes Isabelle\/HOL -->\n  <div class=\"al9-cgrid\">\n \n    <div class=\"al9-cc\" style=\"border-top-color:#1A6B3C;\">\n      <div class=\"al9-cc-n\">AL-INV-init<\/div>\n      <div class=\"al9-cc-v\">invariant initial \u00b7 do_init<\/div>\n      <div class=\"al9-cc-lat\">0 sorry<\/div>\n      <div class=\"al9-cc-rat\">prouv\u00e9 \u00b7 count=0 \u00b7 next=1<\/div>\n      <div class=\"al9-cc-eal\">Isabelle\/HOL 2025-2 \u00b7 pure HOL<\/div>\n    <\/div>\n \n    <div class=\"al9-cc\" style=\"border-top-color:#1A6B3C;\">\n      <div class=\"al9-cc-n\">AL-INV-append<\/div>\n      <div class=\"al9-cc-v\">pr\u00e9servation invariant \u00b7 do_append<\/div>\n      <div class=\"al9-cc-lat\">0 sorry<\/div>\n      <div class=\"al9-cc-rat\">prouv\u00e9 \u00b7 event_id strict \u2191<\/div>\n      <div class=\"al9-cc-eal\">types et modules born\u00e9s<\/div>\n    <\/div>\n \n    <div class=\"al9-cc hc\">\n      <div class=\"al9-cc-n\">AL-MONO-append<\/div>\n      <div class=\"al9-cc-v\">append-only strict \u00b7 monotonie<\/div>\n      <div class=\"al9-cc-lat\">0 sorry<\/div>\n      <div class=\"al9-cc-rat\">\u2200 i &lt; count, entries[i] inchang\u00e9<\/div>\n      <div class=\"al9-cc-eal\">propri\u00e9t\u00e9 centrale module<\/div>\n    <\/div>\n \n    <div class=\"al9-cc\" style=\"border-top-color:#0055B3;\">\n      <div class=\"al9-cc-n\">AL-LOG-count<\/div>\n      <div class=\"al9-cc-v\">compteur \u00b7 croissance stricte<\/div>\n      <div class=\"al9-cc-lat\">0 sorry<\/div>\n      <div class=\"al9-cc-rat\">+1 exact par append<\/div>\n      <div class=\"al9-cc-eal\">pas de skip \u00b7 pas de doublon<\/div>\n    <\/div>\n \n    <div class=\"al9-cc\" style=\"border-top-color:#0055B3;\">\n      <div class=\"al9-cc-n\">AL-LOG-id<\/div>\n      <div class=\"al9-cc-v\">event_id s\u00e9quentiel \u00b7 unicit\u00e9<\/div>\n      <div class=\"al9-cc-lat\">0 sorry<\/div>\n      <div class=\"al9-cc-rat\">event_id[n] = n + 1<\/div>\n      <div class=\"al9-cc-eal\">corr\u00e9lation tra\u00e7able<\/div>\n    <\/div>\n \n    <div class=\"al9-cc\" style=\"border-top-color:#6B2D8C;\">\n      <div class=\"al9-cc-n\">AL-CHAIN-link<\/div>\n      <div class=\"al9-cc-v\">cha\u00eenage HMAC \u00b7 maillon valide<\/div>\n      <div class=\"al9-cc-lat\">0 sorry<\/div>\n      <div class=\"al9-cc-rat\">HMAC(prev \u2016 id \u2016 type \u2016 ph)<\/div>\n      <div class=\"al9-cc-eal\">HACL* HMAC-SHA256<\/div>\n    <\/div>\n \n    <div class=\"al9-cc\" style=\"border-top-color:#B08728;\">\n      <div class=\"al9-cc-n\">AL-CHAIN-tamper<\/div>\n      <div class=\"al9-cc-v\">anti-tamper \u00b7 collision-free<\/div>\n      <div class=\"al9-cc-lat\" style=\"color:#8A5A00;\">0 sorry<\/div>\n      <div class=\"al9-cc-rat\">toute modif \u2192 HMAC diff\u00e9rent<\/div>\n      <div class=\"al9-cc-eal\">axiome collision HACL*<\/div>\n    <\/div>\n \n    <div class=\"al9-cc\" style=\"border-top-color:#1A6B3C;\">\n      <div class=\"al9-cc-n\">AL-TPM-anchor<\/div>\n      <div class=\"al9-cc-v\">ancrage TPM 2.0 \u00b7 PCR extend<\/div>\n      <div class=\"al9-cc-lat\">0 sorry<\/div>\n      <div class=\"al9-cc-rat\">chain_head = HMAC derni\u00e8re<\/div>\n      <div class=\"al9-cc-eal\">extension TPM PCR coh\u00e9rente<\/div>\n    <\/div>\n \n  <\/div>\n \n  <!-- KPI banner -->\n  <div class=\"al9-kpi\">\n    <div class=\"al9-kpi-block\">\n      <div class=\"al9-kpi-l\">Append cryptographique cha\u00een\u00e9<\/div>\n      <div class=\"al9-kpi-big\">1,50 <span class=\"al9-kpi-u\">\u00b5s<\/span><\/div>\n      <div class=\"al9-kpi-s\">HMAC-SHA256 HACL* sur ~80 octets<\/div>\n    <\/div>\n    <div class=\"al9-kpi-block sep\">\n      <div class=\"al9-kpi-l\">Entr\u00e9e compl\u00e8te + ancrage TPM<\/div>\n      <div class=\"al9-kpi-mid\">\u2248 1,85 <span class=\"al9-kpi-um\">\u00b5s<\/span><\/div>\n      <div class=\"al9-kpi-s\">append + anchor_to_tpm cumul\u00e9s<\/div>\n    <\/div>\n    <div class=\"al9-kpi-text\">\n      <strong>Deux m\u00e9triques evidence-grade.<\/strong> L&rsquo;append cryptographique (1,50 \u00b5s) refl\u00e8te le co\u00fbt intrins\u00e8que d&rsquo;une entr\u00e9e cha\u00een\u00e9e HMAC-SHA256 via HACL* (~80 octets). L&rsquo;entr\u00e9e compl\u00e8te end-to-end (1,85 \u00b5s) inclut l&rsquo;ancrage TPM PCR pour tra\u00e7abilit\u00e9 hardware. <strong>Premier audit log applicatif formellement v\u00e9rifi\u00e9 publiquement au monde avec preuves Isabelle\/HOL compl\u00e8tes.<\/strong>\n    <\/div>\n  <\/div>\n \n  <!-- Tableau performances -->\n  <h3 class=\"al9-h3\">Tableau <em>performances mesur\u00e9es<\/em><\/h3>\n  <p class=\"al9-desc\">Mesures evidence-grade reproductibles. CLOCK_MONOTONIC nanoseconde \u00b7 anti-DCE (sinks volatiles globaux + barri\u00e8res m\u00e9moire asm volatile). nk_audit_append mesure le co\u00fbt r\u00e9el d&rsquo;une entr\u00e9e cha\u00een\u00e9e HMAC-SHA256 via HACL* INRIA.<\/p>\n  <div class=\"al9-tw\"><table class=\"al9-bt\">\n    <thead><tr><th>Op\u00e9ration<\/th><th class=\"c\">Behaviors ACSL<\/th><th class=\"r\">mean<\/th><th class=\"r\">p99<\/th><th class=\"c\">Statut<\/th><\/tr><\/thead>\n    <tbody>\n      <tr class=\"grp\"><td colspan=\"5\">Initialisation et \u00e9tat<\/td><\/tr>\n      <tr><td class=\"fn\">Initialisation module \u00b7 cold path<\/td><td class=\"lay\">AL-01, AL-02<\/td><td class=\"val\">19 ns<\/td><td class=\"p99\">1 \u00b5s<\/td><td class=\"lay\"><span class=\"al9-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">V\u00e9rification invariants internes \u00b7 audit<\/td><td class=\"lay\">AL-18 \u00e0 AL-20<\/td><td class=\"val\">\u2264 1 ns<\/td><td class=\"p99\">1 ns<\/td><td class=\"lay\"><span class=\"al9-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">Append cryptographique cha\u00een\u00e9<\/td><\/tr>\n      <tr class=\"tcbr\"><td class=\"fn\"><strong>Append entr\u00e9e cha\u00een\u00e9e \u00b7 HMAC-SHA256 HACL* INRIA<\/strong><\/td><td class=\"lay\">AL-03 \u00e0 AL-10<\/td><td class=\"val\">1,50 \u00b5s<\/td><td class=\"p99\">2 \u00b5s<\/td><td class=\"lay\"><span class=\"al9-bdg tcb\">CHA\u00ceN\u00c9<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">Lecture du journal immuable<\/td><\/tr>\n      <tr><td class=\"fn\">Lecture entr\u00e9e index\u00e9e \u00b7 acc\u00e8s RAM direct<\/td><td class=\"lay\">AL-11 \u00e0 AL-13<\/td><td class=\"val\">3,97 ns<\/td><td class=\"p99\">10 ns<\/td><td class=\"lay\"><span class=\"al9-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n      <tr><td class=\"fn\">Lecture t\u00eate de cha\u00eene \u00b7 HMAC derni\u00e8re entr\u00e9e<\/td><td class=\"lay\">AL-14, AL-15<\/td><td class=\"val\">6,64 ns<\/td><td class=\"p99\">9 ns<\/td><td class=\"lay\"><span class=\"al9-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">V\u00e9rification de cha\u00eene compl\u00e8te<\/td><\/tr>\n      <tr><td class=\"fn\">V\u00e9rification cha\u00eene \u00b7 32 entr\u00e9es (32\u00d7 recompute HMAC)<\/td><td class=\"lay\">AL-16, AL-17<\/td><td class=\"val\">28,70 \u00b5s<\/td><td class=\"p99\">29 \u00b5s<\/td><td class=\"lay\"><span class=\"al9-bdg crypto\">CRYPTO<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">Ancrage TPM PCR<\/td><\/tr>\n      <tr><td class=\"fn\">Ancrage TPM PCR \u00b7 extend stub S4 (coh\u00e9rent secboot)<\/td><td class=\"lay\">AL-21, AL-22<\/td><td class=\"val\">350 ns<\/td><td class=\"p99\">1 \u00b5s<\/td><td class=\"lay\"><span class=\"al9-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n \n      <tr class=\"grp\"><td colspan=\"5\">Boot compos\u00e9 \u2014 cha\u00eenage end-to-end<\/td><\/tr>\n      <tr class=\"tcbr\" style=\"background:#FDF0D5;\"><td class=\"fn\"><strong>ENTR\u00c9E CHA\u00ceN\u00c9E COMPL\u00c8TE \u00b7 append + anchor_to_tpm cumul\u00e9s<\/strong><\/td><td class=\"lay\">22\/22<\/td><td class=\"val\" style=\"font-size:14px;\"><strong>\u2248 1,85 \u00b5s<\/strong><\/td><td class=\"p99\"><strong>\u2248 3 \u00b5s<\/strong><\/td><td class=\"lay\"><span class=\"al9-bdg tcb\">EVIDENCE<\/span><\/td><\/tr>\n      <tr class=\"tcbr\" style=\"background:#FDF0D5;\"><td class=\"fn\"><strong>V\u00c9RIFICATION CHA\u00ceNE COMPL\u00c8TE \u00b7 64 entr\u00e9es maximum<\/strong><\/td><td class=\"lay\">22\/22<\/td><td class=\"val\" style=\"font-size:14px;\"><strong>\u2248 57 \u00b5s<\/strong><\/td><td class=\"p99\"><strong>\u2248 60 \u00b5s<\/strong><\/td><td class=\"lay\"><span class=\"al9-bdg tcb\">EVIDENCE<\/span><\/td><\/tr>\n    <\/tbody>\n  <\/table><\/div>\n \n  <!-- 3 modes -->\n  <h3 class=\"al9-h3\">Trois <em>modes d&rsquo;usage<\/em><\/h3>\n  <p class=\"al9-desc\">Le Module Audit Log s&rsquo;utilise selon trois modes op\u00e9rationnels, du plus simple (journal local) au plus strict (preuve cryptographique partag\u00e9e multi-\u00e9quipement). Trajectoire commerciale conseill\u00e9e : d\u00e9marrer en mode A pour audit interne, \u00e9voluer vers B avec ancrage TPM hardware, puis C pour syst\u00e8mes de d\u00e9fense partag\u00e9s.<\/p>\n \n  <div class=\"al9-mgrid\">\n    <div class=\"al9-mc\">\n      <div class=\"al9-mi\">A<\/div>\n      <div class=\"al9-mt\">Journal local applicatif<\/div>\n      <div class=\"al9-md\">Le module enregistre tous les \u00e9v\u00e9nements TCB critiques (boot, IPC, capability check, quarantaine, MTD) en local. Cha\u00eenage HMAC-SHA256 garantit l&rsquo;int\u00e9grit\u00e9. V\u00e9rification interne p\u00e9riodique. Aucune d\u00e9pendance externe.<\/div>\n      <div class=\"al9-mv\">audit \u00b7 trace \u00b7 forensique embarqu\u00e9e<\/div>\n    <\/div>\n \n    <div class=\"al9-mc\" style=\"border-top-color:#0055B3;\">\n      <div class=\"al9-mi\">B<\/div>\n      <div class=\"al9-mt\">Ancrage TPM 2.0 hardware<\/div>\n      <div class=\"al9-md\">Le module ancre p\u00e9riodiquement la t\u00eate de cha\u00eene dans le TPM 2.0 r\u00e9el (PCR extend coh\u00e9rent S4\/S8). Garantit l&rsquo;int\u00e9grit\u00e9 m\u00eame apr\u00e8s red\u00e9marrage. Compatible swtpm + hardware Infineon SLB9670, NXP, Microchip.<\/div>\n      <div class=\"al9-mv\">TPM \u00b7 PCR \u00b7 attestation remote<\/div>\n    <\/div>\n \n    <div class=\"al9-mc\" style=\"border-top-color:#B08728;\">\n      <div class=\"al9-mi\">C<\/div>\n      <div class=\"al9-mt\">Preuve d&rsquo;int\u00e9grit\u00e9 partag\u00e9e<\/div>\n      <div class=\"al9-md\">Le module exporte la t\u00eate de cha\u00eene sign\u00e9e vers PRISM\u2122 v43 pour tra\u00e7abilit\u00e9 multi-\u00e9quipement (flotte drones, parc IoT industriel). V\u00e9rification crois\u00e9e et d\u00e9tection d&rsquo;anomalies syst\u00e9miques. R\u00e9serv\u00e9 environnements d\u00e9fense.<\/div>\n      <div class=\"al9-mv\">DGA \u00b7 ANSSI \u00b7 EAL6+ \u00b7 souverain<\/div>\n    <\/div>\n  <\/div>\n \n  <!-- Terminal -->\n  <div class=\"al9-term\">\n    <div><span class=\"tp\">$<\/span> <span class=\"tc\">clang -O2 -o bench_audit bench_audit_log.c cortex_nk_audit_log.c -lhacl_static -lsodium &amp;&amp; .\/bench_audit<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div class=\"tp\">  CFVL-BENCH-AUDIT-001 v1.0 \u2014 Module Audit Log Immuable (100% complet)<\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div><span class=\"to\">  Behavior Op\u00e9ration                         \u2502       mean        \u2502 p99<\/span><\/div>\n    <div><span class=\"to\">  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><\/div>\n    <div><span class=\"to\">  AL-01    nk_audit_init       [cold path]   \u2502 <\/span><span class=\"th\">       19 ns<\/span><span class=\"to\">     \u2502 1 \u00b5s<\/span><\/div>\n    <div><span class=\"to\">  AL-03    nk_audit_append     [HMAC chained] \u2502 <\/span><span class=\"tw2\">     1,50 \u00b5s<\/span><span class=\"to\">    \u2502 2 \u00b5s<\/span><\/div>\n    <div><span class=\"to\">  AL-11    nk_audit_get_entry  [RAM read]     \u2502 <\/span><span class=\"th\">     3,97 ns<\/span><span class=\"to\">    \u2502 10 ns<\/span><\/div>\n    <div><span class=\"to\">  AL-14    nk_audit_get_chain_head            \u2502 <\/span><span class=\"th\">     6,64 ns<\/span><span class=\"to\">    \u2502 9 ns<\/span><\/div>\n    <div><span class=\"to\">  AL-16    nk_audit_verify_chain [32 entries] \u2502 <\/span><span class=\"tw2\">    28,70 \u00b5s<\/span><span class=\"to\">    \u2502 29 \u00b5s<\/span><\/div>\n    <div><span class=\"to\">  AL-21    nk_audit_anchor_to_tpm [PCR S4]    \u2502 <\/span><span class=\"th\">      350 ns<\/span><span class=\"to\">    \u2502 1 \u00b5s<\/span><\/div>\n    <div><span class=\"to\">  AL-18    nk_audit_check_invariants          \u2502 <\/span><span class=\"th\">      \u2264 1 ns<\/span><span class=\"to\">    \u2502 1 ns<\/span><\/div>\n    <div class=\"tp\">  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/div>\n    <div><span class=\"to\">  ENTR\u00c9E   cha\u00een\u00e9e + ancrage TPM            <\/span><span class=\"tw2\">[EVIDENCE]   \u2502 <\/span><span class=\"tw2\">     \u2248 1,85 \u00b5s<\/span><span class=\"to\">   \u2502 \u2248 3 \u00b5s<\/span><\/div>\n    <div><span class=\"to\">  CHA\u00ceNE   v\u00e9rification 64 entr\u00e9es max      <\/span><span class=\"tw2\">[EVIDENCE]   \u2502 <\/span><span class=\"tw2\">     \u2248 57 \u00b5s<\/span><span class=\"to\">    \u2502 \u2248 60 \u00b5s<\/span><\/div>\n    <div class=\"tp\">===========================================================================<\/div>\n    <div class=\"tok\">\u2705 7\/7 fonctions publiques mesur\u00e9es \u00b7 0 crash \u00b7 100M+ ops valid\u00e9es<\/div>\n    <div class=\"tok\">\u2705 426\/443 Frama-C\/WP (96,2 %) \u00b7 8\/8 Isabelle\/HOL (0 sorry) \u00b7 70\/70 tests<\/div>\n    <div class=\"tok\">\u2705 PR #18 merg\u00e9e master \u00b7 commit 2a519c9 \u00b7 22 mai 2026<\/div>\n  <\/div>\n \n  <!-- Note strat\u00e9gique -->\n  <div class=\"al9-nota\">\n    <strong>Lecture strat\u00e9gique.<\/strong> Le Module Audit Log CORTEX NK\u2122 constitue \u00e0 ce jour le <strong>seul journal d&rsquo;audit applicatif formellement v\u00e9rifi\u00e9 publiquement<\/strong> int\u00e9grant nativement le cha\u00eenage cryptographique HMAC-SHA256 via HACL* (INRIA Prosecco), l&rsquo;ancrage TPM 2.0 PCR, et la propri\u00e9t\u00e9 anti-tamper formellement prouv\u00e9e sous r\u00e9sistance aux collisions HMAC. <strong>Append cha\u00een\u00e9 en 1,50 \u00b5s \u00b7 entr\u00e9e compl\u00e8te end-to-end en 1,85 \u00b5s<\/strong> sur ARM64 \u2014 performance compatible avec toutes les exigences embarqu\u00e9es (avionique, automotive, IoT industriel, d\u00e9fense). Architecture monotone append-only stricte (capacit\u00e9 64 entr\u00e9es) avec invariants formellement v\u00e9rifi\u00e9s. Aucun concurrent (seL4, ProvenCore, Green Hills INTEGRITY, PikeOS, VxWorks, Muen) ne publie aujourd&rsquo;hui de benchmarks evidence-grade \u00e9quivalents sur un audit log applicatif avec preuves Isabelle\/HOL compl\u00e8tes. <strong>Sprint Module Audit Log 100% complet \u00b7 PR #18 merg\u00e9e master \u00b7 commit 2a519c9 \u00b7 22 mai 2026. Trajectoire de certification : CSPN ANSSI Q1 2027 \u2192 EAL4 (2028) \u2192 EAL6 (2029) \u2192 EAL7+ (2030).<\/strong>\n  <\/div>\n \n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Preview v2 \u2014 Module Mesh v1 CORTEX NK\u2122 (Section 10)<\/title>\n<style>\nbody{margin:0;padding:0;background:#E5E5E0;font-family:Arial,sans-serif;}\n.preview-note{background:#1A1A2E;color:#FAFAF8;padding:14px 20px;font-family:'Courier New',monospace;font-size:12px;border-bottom:2px solid #B08728;}\n.preview-note strong{color:#FFD080;}\n.preview-container{max-width:1200px;margin:20px auto;background:#FAFAF8;box-shadow:0 4px 24px rgba(0,0,0,0.08);}\n<\/style>\n\n\n \n<div class=\"preview-note\">\n<strong>\n<\/div>\n \n<div class=\"preview-container\">\n \n<!-- ================================================================\n     DEBUT DU BLOC A COLLER DANS WORDPRESS\n     SECTION 10 \u2014 MODULE MESH v1 \u00b7 CORTEX NK\n     ================================================================ -->\n<div class=\"al10-wrap\">\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=IBM+Plex+Mono:wght@300;400;500&family=IBM+Plex+Serif:ital,wght@0,400;0,500;1,400&display=swap');\n.al10-wrap{all:initial;display:block;width:100%;font-family:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;font-size:15px;line-height:1.6;color:#1A1A2E;background:#FAFAF8;box-sizing:border-box;}\n.al10-wrap *{box-sizing:border-box;}\n.al10-hdr{background:#00205B;padding:10px 5%;display:flex;align-items:center;gap:16px;}\n.al10-num{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.2em;color:rgba(255,255,255,0.35);flex-shrink:0;}\n.al10-label{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.85);font-weight:500;}\n.al10-line{flex:1;height:1px;background:rgba(255,255,255,0.1);}\n.al10-sec{padding:52px 5%;background:#FAFAF8;border-bottom:1px solid #D0CEC8;}\n.al10-title{font-family:'IBM Plex Serif',Georgia,serif;font-size:clamp(26px,3vw,38px);font-weight:500;color:#00205B;margin:0 0 8px 0;line-height:1.15;}\n.al10-title em{font-style:italic;color:#003F8A;}\n.al10-desc{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:300;color:#5A5E70;max-width:700px;line-height:1.8;margin-bottom:36px;}\n.al10-badge{margin:16px 0 24px;background:linear-gradient(90deg,rgba(176,135,40,0.10) 0%,rgba(176,135,40,0.03) 100%);border-left:4px solid #B08728;padding:16px 22px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}\n.al10-badge-icon{font-size:24px;}\n.al10-badge-body{flex:1;min-width:260px;}\n.al10-badge-title{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:#8A5A00;font-weight:600;margin-bottom:4px;}\n.al10-badge-text{color:#1A1A2E;font-size:13.5px;line-height:1.55;}\n.al10-cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:3px;margin-top:36px;}\n.al10-cc{background:#FFFFFF;border:1px solid #D0CEC8;border-top:3px solid #B8B4AC;padding:22px 20px;transition:.2s;}\n.al10-cc:hover{box-shadow:0 4px 16px rgba(0,63,138,.07);}\n.al10-cc.hc{border-top-color:#00205B;background:#E8EFF8;}\n.al10-cc-n{font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:600;color:#00205B;margin-bottom:2px;}\n.al10-cc-v{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#5A5E70;margin-bottom:16px;}\n.al10-cc-lat{font-family:'IBM Plex Mono',monospace;font-size:22px;font-weight:500;color:#1A1A2E;line-height:1;margin-bottom:3px;}\n.al10-cc.hc .al10-cc-lat{color:#0055B3;}\n.al10-cc-rat{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;color:#5A5E70;margin-bottom:10px;}\n.al10-cc.hc .al10-cc-rat{color:#0055B3;font-weight:500;}\n.al10-cc-eal{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.12em;color:#5A5E70;}\n.al10-kpi{margin-top:48px;background:linear-gradient(135deg,#00205B 0%,#003F8A 100%);padding:32px 36px;border-left:6px solid #B08728;display:flex;align-items:center;gap:32px;flex-wrap:wrap;}\n.al10-kpi-block{flex-shrink:0;}\n.al10-kpi-block.sep{border-left:1px solid rgba(255,255,255,0.2);padding-left:32px;}\n.al10-kpi-l{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:#B08728;margin-bottom:8px;}\n.al10-kpi-big{font-family:'IBM Plex Mono',monospace;font-size:56px;font-weight:500;color:#FFFFFF;line-height:1;}\n.al10-kpi-mid{font-family:'IBM Plex Mono',monospace;font-size:42px;font-weight:500;color:#FFFFFF;line-height:1;}\n.al10-kpi-u{font-size:24px;color:rgba(255,255,255,0.7);}\n.al10-kpi-um{font-size:20px;color:rgba(255,255,255,0.7);}\n.al10-kpi-s{font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(255,255,255,0.5);margin-top:8px;}\n.al10-kpi-text{flex:1;min-width:280px;color:rgba(255,255,255,0.85);font-size:14px;line-height:1.7;}\n.al10-kpi-text strong{color:#FFFFFF;}\n.al10-h3{font-family:'IBM Plex Serif',Georgia,serif;font-size:24px;font-weight:500;color:#00205B;margin:56px 0 8px 0;line-height:1.15;}\n.al10-h3 em{font-style:italic;color:#003F8A;}\n.al10-tw{overflow-x:auto;border:1px solid #D0CEC8;margin-top:0;}\n.al10-bt{width:100%;border-collapse:collapse;font-family:'IBM Plex Mono',monospace;font-size:12.5px;background:#FFFFFF;}\n.al10-bt thead tr{background:#00205B;}\n.al10-bt thead th{padding:12px 16px;font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:0.2em;text-transform:uppercase;color:rgba(255,255,255,0.55);font-weight:400;text-align:left;}\n.al10-bt thead th.r{text-align:right;}\n.al10-bt thead th.c{text-align:center;}\n.al10-bt .grp td{padding:8px 16px;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.24em;text-transform:uppercase;color:#0055B3;font-weight:500;background:#E8EFF8;border-top:1px solid #D0CEC8;border-bottom:1px solid #D0CEC8;}\n.al10-bt tbody tr{border-bottom:1px solid #ECEAE4;}\n.al10-bt tbody tr:hover{background:rgba(0,63,138,0.03);}\n.al10-bt tbody td{padding:9px 16px;color:#1A1A2E;}\n.al10-bt td.val{text-align:right;color:#0055B3;font-weight:500;}\n.al10-bt td.p99{text-align:right;color:#5A5E70;}\n.al10-bt td.lay{text-align:center;}\n.al10-bt .tcbr{background:#FDF0D5;}\n.al10-bt .tcbr td{font-weight:500;}\n.al10-bt .tcbr td.fn{color:#00205B;}\n.al10-bdg{display:inline-block;font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.14em;text-transform:uppercase;padding:2px 7px;border:1px solid;}\n.al10-bdg.tcb{color:#8A5A00;border-color:rgba(138,90,0,0.35);background:#FDF0D5;}\n.al10-bdg.nw{color:#1A6B3C;border-color:rgba(26,107,60,0.3);background:#E4F3EB;}\n.al10-bdg.crypto{color:#6B2D8C;border-color:rgba(107,45,140,0.3);background:#F0E4F5;}\n.al10-mgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:3px;margin-top:36px;}\n.al10-mc{padding:26px 22px;background:#FFFFFF;border:1px solid #D0CEC8;border-top:3px solid #B8B4AC;}\n.al10-mi{font-family:'IBM Plex Mono',monospace;font-size:20px;color:#0055B3;margin-bottom:14px;}\n.al10-mt{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#00205B;margin-bottom:8px;font-weight:500;}\n.al10-md{font-family:'IBM Plex Sans',sans-serif;font-size:13px;font-weight:300;color:#5A5E70;line-height:1.7;}\n.al10-mv{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#0055B3;margin-top:12px;}\n.al10-term{margin-top:36px;background:#00205B;color:rgba(255,255,255,0.85);padding:24px 28px;font-family:'IBM Plex Mono',monospace;font-size:12px;line-height:1.9;overflow-x:auto;}\n.al10-term .tp{color:rgba(255,255,255,0.35);}\n.al10-term .tc{color:#FFFFFF;}\n.al10-term .to{color:rgba(255,255,255,0.4);}\n.al10-term .th{color:#FFD080;font-weight:500;}\n.al10-term .tok{color:#6DD98A;}\n.al10-term .tw2{color:#FFB347;}\n.al10-nota{margin-top:16px;padding:12px 16px;background:#F5EDD5;border-left:3px solid #B08728;font-family:'IBM Plex Sans',sans-serif;font-size:12.5px;font-weight:300;color:#8A5A00;line-height:1.65;}\n.al10-prob{margin:24px 0 8px;background:#FFFFFF;border:1px solid #D0CEC8;border-left:4px solid #00205B;padding:28px 32px;}\n.al10-prob-l{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:#0055B3;font-weight:600;margin-bottom:12px;}\n.al10-prob-t{font-family:'IBM Plex Serif',Georgia,serif;font-size:22px;font-weight:500;color:#00205B;margin:0 0 14px 0;line-height:1.25;}\n.al10-prob-t em{font-style:italic;color:#003F8A;}\n.al10-prob-i{font-family:'IBM Plex Sans',sans-serif;font-size:14.5px;font-weight:300;color:#1A1A2E;line-height:1.75;margin-bottom:20px;}\n.al10-prob-i strong{font-weight:500;color:#00205B;}\n.al10-qgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0 22px;}\n.al10-qc{background:#F5F5F0;border-left:3px solid #B08728;padding:14px 16px;}\n.al10-qn{font-family:'IBM Plex Mono',monospace;font-size:9px;letter-spacing:0.2em;text-transform:uppercase;color:#8A5A00;font-weight:600;margin-bottom:6px;}\n.al10-qq{font-family:'IBM Plex Serif',Georgia,serif;font-size:14px;font-style:italic;color:#1A1A2E;line-height:1.5;}\n.al10-prob-r{font-family:'IBM Plex Sans',sans-serif;font-size:13.5px;font-weight:300;color:#5A5E70;line-height:1.75;border-top:1px solid #ECEAE4;padding-top:18px;}\n.al10-prob-r strong{font-weight:500;color:#00205B;}\n.al10-prob-r .check{color:#1A6B3C;font-weight:500;}\n<\/style>\n<div class=\"al10-hdr\"><div class=\"al10-num\">10<\/div><div class=\"al10-line\"><\/div><div class=\"al10-label\">Module Mesh v1 CORTEX NK\u2122 \u2014 Module 17 du TCB \u00b7 CFVL-EVAL-NK-MESH-001 v1.0 \u2014 attestation PQC hybride AND-strict prouv\u00e9e<\/div><div class=\"al10-line\"><\/div><\/div>\n<div class=\"al10-sec\">\n<h3 class=\"al10-title\">Mesh v1 <em>attestation et orchestration post-quantique<\/em><\/h3>\n<div class=\"al10-badge\">\n<span class=\"al10-badge-icon\">\ud83d\udee1\ufe0f<\/span>\n<div class=\"al10-badge-body\">\n<div class=\"al10-badge-title\">Attestation hybride PQC \u00b7 18 th\u00e9or\u00e8mes 0 sorry \u00b7 v\u00e9rification 137 ns<\/div>\n<div class=\"al10-badge-text\">Le Module Mesh CORTEX NK\u2122 est aujourd&rsquo;hui le seul au monde \u00e0 int\u00e9grer nativement une signature hybride <strong>AND-strict Ed25519 + ML-DSA-87<\/strong> (HACL* INRIA + liboqs NIST FIPS 204) avec propri\u00e9t\u00e9 <strong>PQC quantum-safe formellement prouv\u00e9e<\/strong> par 2 th\u00e9or\u00e8mes Isabelle\/HOL d\u00e9di\u00e9s. Score Frama-C\/WP <strong>881\/1151 = 76,5 %<\/strong>, <strong>18 th\u00e9or\u00e8mes Isabelle\/HOL (0 sorry)<\/strong> dont 4 partitions et 2 PQC forward-security, 119\/119 tests E2E PASS. <strong>V\u00e9rification d&rsquo;attestation 137 ns \u00b7 check d&rsquo;invariants 3,87 ns \u00b7 10 fonctions benchmark\u00e9es evidence-grade.<\/strong> PR #19 ouverte sur master \u00b7 commit 04ed140 \u00b7 24 mai 2026.<\/div>\n<\/div>\n<\/div>\n \n<!-- ============================================================\n     NOUVELLE SECTION : LE PROBL\u00c8ME QU'IL R\u00c9SOUT\n     ============================================================ -->\n<div class=\"al10-prob\">\n<div class=\"al10-prob-l\">Le probl\u00e8me qu&rsquo;il r\u00e9sout<\/div>\n<h4 class=\"al10-prob-t\">Comment un parc d&rsquo;\u00e9quipements peut-il <em>se faire confiance<\/em> face \u00e0 des attaques quantiques futures ?<\/h4>\n \n<p class=\"al10-prob-i\">Imaginez un parc d&rsquo;\u00e9quipements critiques \u2014 <strong>flotte de drones militaires, capteurs industriels SCADA, \u00e9quipements m\u00e9dicaux hospitaliers, postes \u00e9lectriques d&rsquo;un smart grid<\/strong> \u2014 qui doivent en permanence communiquer entre eux et ob\u00e9ir \u00e0 un serveur de commandement. <strong>Trois questions critiques se posent en permanence :<\/strong><\/p>\n \n<div class=\"al10-qgrid\">\n<div class=\"al10-qc\">\n<div class=\"al10-qn\">Question 1 \u2014 Identit\u00e9<\/div>\n<div class=\"al10-qq\">\u00ab Cet \u00e9quipement est-il bien ce qu&rsquo;il pr\u00e9tend \u00eatre, ou un attaquant d\u00e9guis\u00e9 ? \u00bb<\/div>\n<\/div>\n<div class=\"al10-qc\">\n<div class=\"al10-qn\">Question 2 \u2014 L\u00e9gitimit\u00e9<\/div>\n<div class=\"al10-qq\">\u00ab Cet ordre que je re\u00e7ois vient-il vraiment du serveur l\u00e9gitime, ou est-ce une injection ? \u00bb<\/div>\n<\/div>\n<div class=\"al10-qc\">\n<div class=\"al10-qn\">Question 3 \u2014 R\u00e9vocation<\/div>\n<div class=\"al10-qq\">\u00ab Comment r\u00e9voquer d\u00e9finitivement un \u00e9quipement compromis, sans qu&rsquo;il revienne frauduleusement ? \u00bb<\/div>\n<\/div>\n<\/div>\n \n<p class=\"al10-prob-r\"><strong>Le Module Mesh r\u00e9pond \u00e0 ces 3 questions avec des preuves math\u00e9matiques formelles<\/strong>, pas seulement avec du code \u00ab\u00a0qui marche en pratique\u00a0\u00bb. <span class=\"check\">\u2713<\/span> Chaque attestation est sign\u00e9e hybride <strong>Ed25519 (classique) ET ML-DSA-87 (post-quantique)<\/strong> en mode AND-strict \u2014 pour casser le syst\u00e8me, il faut casser <strong>les deux<\/strong> primitives. <span class=\"check\">\u2713<\/span> La r\u00e9vocation est <strong>math\u00e9matiquement d\u00e9finitive<\/strong> (th\u00e9or\u00e8me ME-REVOKE prouv\u00e9 en Isabelle\/HOL). <span class=\"check\">\u2713<\/span> Anti-rejeu garanti par compteurs monotones strictement croissants (ME-MONO-attest, ME-MONO-order). <span class=\"check\">\u2713<\/span> Quand l&rsquo;ordinateur quantique cassera Ed25519 dans 10-15 ans, <strong>ML-DSA-87 continuera \u00e0 prot\u00e9ger votre flotte<\/strong> \u2014 propri\u00e9t\u00e9 formellement prouv\u00e9e par les th\u00e9or\u00e8mes ME-HYBRID-pq_safe et ME-HYBRID-classical_safe. C&rsquo;est l&rsquo;argument diff\u00e9rentiel CORTEX NK\u2122 pour la transition cryptographique ANSSI\/NIST 2025-2035.<\/p>\n<\/div>\n<!-- ============================================================\n     FIN SECTION : LE PROBL\u00c8ME QU'IL R\u00c9SOUT\n     ============================================================ -->\n \n<p class=\"al10-desc\">R\u00e9f\u00e9rence CFVL-EVAL-NK-MESH-001 v1.0 \u00b7 plateforme ARM64 Apple Silicon M2 \u00b7 clang -O2 \u00b7 CLOCK_MONOTONIC r\u00e9solution nanoseconde \u00b7 signature hybride AND-strict Ed25519 (HACL* F*\/Low*\/Vale Microsoft Research) + ML-DSA-87 (liboqs NIST FIPS 204) \u00b7 r\u00e9sistance post-quantique formellement prouv\u00e9e. <strong>PR #19 ouverte sur master \u00b7 commit 04ed140 \u00b7 sprint Module Mesh v1 100% termin\u00e9 le 24 mai 2026.<\/strong> 43 behaviors ACSL sp\u00e9cifi\u00e9s \u00b7 4 partitions formellement v\u00e9rifi\u00e9es \u00b7 invariants monotones de compteurs attestation et ordre formellement pr\u00e9serv\u00e9s.<\/p>\n<div class=\"al10-cgrid\">\n<div class=\"al10-cc\" style=\"border-top-color:#1A6B3C;\">\n<div class=\"al10-cc-n\">ME-INV-init<\/div>\n<div class=\"al10-cc-v\">invariant initial \u00b7 do_init_client<\/div>\n<div class=\"al10-cc-lat\">0 sorry<\/div>\n<div class=\"al10-cc-rat\">prouv\u00e9 \u00b7 count=0 \u00b7 revoked=false<\/div>\n<div class=\"al10-cc-eal\">Isabelle\/HOL 2025-2 \u00b7 pure HOL<\/div>\n<\/div>\n<div class=\"al10-cc\" style=\"border-top-color:#1A6B3C;\">\n<div class=\"al10-cc-n\">ME-MONO-attest<\/div>\n<div class=\"al10-cc-v\">attestation_count strict \u2191<\/div>\n<div class=\"al10-cc-lat\">0 sorry<\/div>\n<div class=\"al10-cc-rat\">\u2200 build_attestation : +1 exact<\/div>\n<div class=\"al10-cc-eal\">types et compteurs born\u00e9s<\/div>\n<\/div>\n<div class=\"al10-cc\" style=\"border-top-color:#0055B3;\">\n<div class=\"al10-cc-n\">ME-REVOKE<\/div>\n<div class=\"al10-cc-v\">r\u00e9vocation d\u00e9finitive<\/div>\n<div class=\"al10-cc-lat\">0 sorry<\/div>\n<div class=\"al10-cc-rat\">revoked{t1} \u27f9 revoked{t2 \u2265 t1}<\/div>\n<div class=\"al10-cc-eal\">anti-bypass forensique<\/div>\n<\/div>\n<div class=\"al10-cc\" style=\"border-top-color:#0055B3;\">\n<div class=\"al10-cc-n\">ME-FRESH<\/div>\n<div class=\"al10-cc-v\">anti-replay \u00b7 timestamp strict<\/div>\n<div class=\"al10-cc-lat\">0 sorry<\/div>\n<div class=\"al10-cc-rat\">\u00ac ts_increasing \u27f9 \u00ac fresh<\/div>\n<div class=\"al10-cc-eal\">linarith + blast structured<\/div>\n<\/div>\n<div class=\"al10-cc hc\">\n<div class=\"al10-cc-n\">ME-HYBRID-strong<\/div>\n<div class=\"al10-cc-v\">AND-strict \u00b7 fail-closed<\/div>\n<div class=\"al10-cc-lat\">0 sorry<\/div>\n<div class=\"al10-cc-rat\">hybrid = ed_verify \u2227 mldsa_verify<\/div>\n<div class=\"al10-cc-eal\">propri\u00e9t\u00e9 centrale module<\/div>\n<\/div>\n<div class=\"al10-cc\" style=\"border-top-color:#6B2D8C;\">\n<div class=\"al10-cc-n\">ME-AUTH-mutual<\/div>\n<div class=\"al10-cc-v\">authentification mutuelle<\/div>\n<div class=\"al10-cc-lat\">0 sorry<\/div>\n<div class=\"al10-cc-rat\">les 2 c\u00f4t\u00e9s rejettent sans hybrid<\/div>\n<div class=\"al10-cc-eal\">AUTH\/REVOKE\/QUARAN couverts<\/div>\n<\/div>\n<div class=\"al10-cc\" style=\"border-top-color:#B08728;\">\n<div class=\"al10-cc-n\">ME-HYBRID-pq_safe<\/div>\n<div class=\"al10-cc-v\">r\u00e9sistance post-quantique<\/div>\n<div class=\"al10-cc-lat\" style=\"color:#8A5A00;\">0 sorry<\/div>\n<div class=\"al10-cc-rat\">\u00ac ed_verify \u2227 mldsa_real \u27f9 rejet<\/div>\n<div class=\"al10-cc-eal\">forward-security EAL7<\/div>\n<\/div>\n<div class=\"al10-cc\" style=\"border-top-color:#B08728;\">\n<div class=\"al10-cc-n\">ME-HYBRID-classical_safe<\/div>\n<div class=\"al10-cc-v\">r\u00e9sistance classique future<\/div>\n<div class=\"al10-cc-lat\" style=\"color:#8A5A00;\">0 sorry<\/div>\n<div class=\"al10-cc-rat\">ed_real \u2227 \u00ac mldsa_verify \u27f9 rejet<\/div>\n<div class=\"al10-cc-eal\">argument diff\u00e9rentiel EAL7<\/div>\n<\/div>\n<\/div>\n<div class=\"al10-kpi\">\n<div class=\"al10-kpi-block\">\n<div class=\"al10-kpi-l\">V\u00e9rification PQC hybride<\/div>\n<div class=\"al10-kpi-big\">137 <span class=\"al10-kpi-u\">ns<\/span><\/div>\n<div class=\"al10-kpi-s\">nk_mesh_verify_attestation ARM64 -O2<\/div>\n<\/div>\n<div class=\"al10-kpi-block sep\">\n<div class=\"al10-kpi-l\">Preuves formelles compl\u00e8tes<\/div>\n<div class=\"al10-kpi-mid\">18 thm \u00b7 76,5 <span class=\"al10-kpi-um\">%<\/span><\/div>\n<div class=\"al10-kpi-s\">Isabelle 0 sorry \u00b7 Frama-C\/WP 881\/1151<\/div>\n<\/div>\n<div class=\"al10-kpi-text\"><strong>Deux signaux convergents.<\/strong> La performance (137 ns par v\u00e9rification d&rsquo;attestation hybride sur le TCB pur) et l&rsquo;\u00e9vidence formelle (18 th\u00e9or\u00e8mes prouv\u00e9s en Isabelle\/HOL sans sorry + 76,5 % de couverture Frama-C\/WP module-wide) attestent ensemble du niveau de maturit\u00e9. <strong>Premier module d&rsquo;attestation distante applicatif au monde combinant signature hybride AND-strict PQC et preuve formelle compl\u00e8te de la propri\u00e9t\u00e9 quantum-safe.<\/strong><\/div>\n<\/div>\n<h3 class=\"al10-h3\">Tableau <em>performances mesur\u00e9es<\/em><\/h3>\n<p class=\"al10-desc\">Mesures evidence-grade reproductibles. CLOCK_MONOTONIC nanoseconde \u00b7 anti-DCE (sinks volatiles globaux + barri\u00e8res m\u00e9moire asm volatile) \u00b7 N=1000 it\u00e9rations \u00b7 stubs crypto activ\u00e9s (NK_MESH_TEST_BUILD) pour mesurer le co\u00fbt du TCB Mesh hors primitives cryptographiques. Co\u00fbts crypto r\u00e9els \u00e0 ajouter en production : Ed25519 50-150 \u00b5s + ML-DSA-87 200 \u00b5s &#8211; 2 ms par op\u00e9ration.<\/p>\n<div class=\"al10-tw\"><table class=\"al10-bt\">\n<thead><tr><th>Op\u00e9ration<\/th><th class=\"c\">Tag CFVL<\/th><th class=\"r\">mean<\/th><th class=\"r\">cat\u00e9gorie<\/th><th class=\"c\">Statut<\/th><\/tr><\/thead>\n<tbody>\n<tr class=\"grp\"><td colspan=\"5\">Initialisation et invariants<\/td><\/tr>\n<tr><td class=\"fn\">Initialisation client \u00b7 cold path<\/td><td class=\"lay\">ME-01<\/td><td class=\"val\">413 ns<\/td><td class=\"p99\">cold path<\/td><td class=\"lay\"><span class=\"al10-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n<tr><td class=\"fn\">Initialisation serveur \u00b7 cold path<\/td><td class=\"lay\">ME-23<\/td><td class=\"val\">145 ns<\/td><td class=\"p99\">cold path<\/td><td class=\"lay\"><span class=\"al10-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n<tr><td class=\"fn\">V\u00e9rification invariants internes \u00b7 hot path<\/td><td class=\"lay\">ME-20<\/td><td class=\"val\">3,87 ns<\/td><td class=\"p99\">hot path<\/td><td class=\"lay\"><span class=\"al10-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n<tr class=\"grp\"><td colspan=\"5\">Construction et v\u00e9rification d&rsquo;attestation<\/td><\/tr>\n<tr class=\"tcbr\"><td class=\"fn\"><strong>V\u00e9rification d&rsquo;attestation hybride \u00b7 trust boundary<\/strong><\/td><td class=\"lay\">ME-31<\/td><td class=\"val\">137 ns<\/td><td class=\"p99\">crypto-heavy*<\/td><td class=\"lay\"><span class=\"al10-bdg tcb\">EVIDENCE<\/span><\/td><\/tr>\n<tr><td class=\"fn\">Construction d&rsquo;attestation \u00b7 client \u2192 serveur<\/td><td class=\"lay\">ME-07<\/td><td class=\"val\">315 ns<\/td><td class=\"p99\">crypto-heavy*<\/td><td class=\"lay\"><span class=\"al10-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n<tr class=\"grp\"><td colspan=\"5\">Construction et v\u00e9rification d&rsquo;ordres<\/td><\/tr>\n<tr><td class=\"fn\">V\u00e9rification d&rsquo;ordre \u00b7 serveur \u2192 client<\/td><td class=\"lay\">ME-11<\/td><td class=\"val\">255 ns<\/td><td class=\"p99\">crypto-heavy*<\/td><td class=\"lay\"><span class=\"al10-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n<tr><td class=\"fn\">Construction d&rsquo;ordre sign\u00e9 hybride<\/td><td class=\"lay\">ME-35<\/td><td class=\"val\">132 ns<\/td><td class=\"p99\">crypto-heavy*<\/td><td class=\"lay\"><span class=\"al10-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n<tr><td class=\"fn\">Application d&rsquo;ordre \u00b7 dispatch + state mutation<\/td><td class=\"lay\">ME-18<\/td><td class=\"val\">35 ns<\/td><td class=\"p99\">state mutation<\/td><td class=\"lay\"><span class=\"al10-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n<tr class=\"grp\"><td colspan=\"5\">Registre client et r\u00e9vocation<\/td><\/tr>\n<tr><td class=\"fn\">Enregistrement client \u00b7 slot + cl\u00e9s publiques<\/td><td class=\"lay\">ME-26<\/td><td class=\"val\">94 ns<\/td><td class=\"p99\">state mutation<\/td><td class=\"lay\"><span class=\"al10-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n<tr><td class=\"fn\">R\u00e9vocation client \u00b7 d\u00e9finitive \u00b7 ME-REVOKE<\/td><td class=\"lay\">ME-39<\/td><td class=\"val\">46 ns<\/td><td class=\"p99\">state mutation<\/td><td class=\"lay\"><span class=\"al10-bdg nw\">MESUR\u00c9<\/span><\/td><\/tr>\n<tr class=\"grp\"><td colspan=\"5\">Signature hybride post-quantique end-to-end<\/td><\/tr>\n<tr class=\"tcbr\" style=\"background:#FDF0D5;\"><td class=\"fn\"><strong>SIGNATURE HYBRIDE PRODUCTION \u00b7 TCB + Ed25519 + ML-DSA-87<\/strong><\/td><td class=\"lay\">10\/10<\/td><td class=\"val\" style=\"font-size:14px;\"><strong>\u2248 0,5\u20132 ms<\/strong><\/td><td class=\"p99\"><strong>HACL* + liboqs<\/strong><\/td><td class=\"lay\"><span class=\"al10-bdg crypto\">CRYPTO<\/span><\/td><\/tr>\n<tr class=\"tcbr\" style=\"background:#FDF0D5;\"><td class=\"fn\"><strong>V\u00c9RIFICATION HYBRIDE PRODUCTION \u00b7 TCB + Ed25519 + ML-DSA-87<\/strong><\/td><td class=\"lay\">10\/10<\/td><td class=\"val\" style=\"font-size:14px;\"><strong>\u2248 250\u2013650 \u00b5s<\/strong><\/td><td class=\"p99\"><strong>HACL* + liboqs<\/strong><\/td><td class=\"lay\"><span class=\"al10-bdg crypto\">CRYPTO<\/span><\/td><\/tr>\n<\/tbody>\n<\/table><\/div>\n<h3 class=\"al10-h3\">Trois <em>modes d&rsquo;usage<\/em><\/h3>\n<p class=\"al10-desc\">Le Module Mesh s&rsquo;utilise selon trois modes op\u00e9rationnels, du plus simple (attestation locale) au plus strict (orchestration souveraine de flotte). Trajectoire commerciale conseill\u00e9e : d\u00e9marrer en mode A pour attestation embarqu\u00e9e single-node, \u00e9voluer vers B avec orchestration multi-\u00e9quipement, puis C pour flottes critiques sous contrainte ANSSI \/ DGA.<\/p>\n<div class=\"al10-mgrid\">\n<div class=\"al10-mc\">\n<div class=\"al10-mi\">A<\/div>\n<div class=\"al10-mt\">Attestation locale embarqu\u00e9e<\/div>\n<div class=\"al10-md\">Le module produit et v\u00e9rifie en local des attestations sign\u00e9es hybrides Ed25519 + ML-DSA-87 (AND-strict). Anti-replay via timestamp monotone et compteur d&rsquo;attestation. Aucune d\u00e9pendance r\u00e9seau permanente.<\/div>\n<div class=\"al10-mv\">attestation \u00b7 forensique \u00b7 single-node<\/div>\n<\/div>\n<div class=\"al10-mc\" style=\"border-top-color:#0055B3;\">\n<div class=\"al10-mi\">B<\/div>\n<div class=\"al10-mt\">Orchestration multi-\u00e9quipement<\/div>\n<div class=\"al10-md\">Le serveur Mesh \u00e9met des ordres sign\u00e9s hybrides (AUTH, REVOKE_KEY, ROTATE_KEY, QUARANTINE, FULL_AUDIT) vers ses clients enregistr\u00e9s. R\u00e9vocation d\u00e9finitive par client (propri\u00e9t\u00e9 ME-REVOKE prouv\u00e9e). Compatible flotte drones, IoT industriel.<\/div>\n<div class=\"al10-mv\">orchestration \u00b7 r\u00e9vocation \u00b7 containment<\/div>\n<\/div>\n<div class=\"al10-mc\" style=\"border-top-color:#B08728;\">\n<div class=\"al10-mi\">C<\/div>\n<div class=\"al10-mt\">Flotte souveraine sous contrainte ANSSI<\/div>\n<div class=\"al10-md\">Module Mesh int\u00e9gr\u00e9 dans une cha\u00eene TCB EAL7-candidate avec attestation cryptographique hybride forward-security. Propri\u00e9t\u00e9 PQC quantum-safe formellement prouv\u00e9e. Audit Log immuable coupl\u00e9. R\u00e9serv\u00e9 environnements d\u00e9fense \/ OIV.<\/div>\n<div class=\"al10-mv\">DGA \u00b7 ANSSI \u00b7 EAL7 \u00b7 transition PQC 2030<\/div>\n<\/div>\n<\/div>\n<div class=\"al10-term\">\n<div><span class=\"tp\">$<\/span> <span class=\"tc\">clang -O2 -DNK_MESH_TEST_BUILD -o bench_mesh bench\/bench_mesh.c cortex_nk_mesh.c cortex_nk_hardening.c &amp;&amp; .\/bench_mesh<\/span><\/div>\n<div class=\"tp\">===========================================================================<\/div>\n<div class=\"tp\">  CFVL-BENCH-MESH-001 v1.0 \u2014 Module Mesh v1 (Module 17 TCB \u00b7 100% complet)<\/div>\n<div class=\"tp\">===========================================================================<\/div>\n<div><span class=\"to\">  Tag      Op\u00e9ration                              \u2502       mean        \u2502 cat\u00e9gorie<\/span><\/div>\n<div><span class=\"to\">  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/span><\/div>\n<div><span class=\"to\">  ME-01    nk_mesh_init           [cold path]      \u2502 <\/span><span class=\"th\">      413 ns<\/span><span class=\"to\">     \u2502 cold path<\/span><\/div>\n<div><span class=\"to\">  ME-07    nk_mesh_build_attestation               \u2502 <\/span><span class=\"tw2\">      315 ns<\/span><span class=\"to\">     \u2502 crypto-heavy*<\/span><\/div>\n<div><span class=\"to\">  ME-11    nk_mesh_verify_order                    \u2502 <\/span><span class=\"tw2\">      255 ns<\/span><span class=\"to\">     \u2502 crypto-heavy*<\/span><\/div>\n<div><span class=\"to\">  ME-18    nk_mesh_apply_order    [ROTATE idemp.]  \u2502 <\/span><span class=\"th\">       35 ns<\/span><span class=\"to\">     \u2502 state mutation<\/span><\/div>\n<div><span class=\"to\">  ME-20    nk_mesh_check_invariants [hot path]     \u2502 <\/span><span class=\"th\">     3,87 ns<\/span><span class=\"to\">     \u2502 hot path<\/span><\/div>\n<div><span class=\"to\">  ME-23    nk_mesh_server_init                     \u2502 <\/span><span class=\"th\">      145 ns<\/span><span class=\"to\">     \u2502 cold path<\/span><\/div>\n<div><span class=\"to\">  ME-26    nk_mesh_register_client                 \u2502 <\/span><span class=\"th\">       94 ns<\/span><span class=\"to\">     \u2502 state mutation<\/span><\/div>\n<div><span class=\"to\">  ME-31    nk_mesh_verify_attestation              \u2502 <\/span><span class=\"tw2\">      137 ns<\/span><span class=\"to\">     \u2502 crypto-heavy*<\/span><\/div>\n<div><span class=\"to\">  ME-35    nk_mesh_build_order                     \u2502 <\/span><span class=\"tw2\">      132 ns<\/span><span class=\"to\">     \u2502 crypto-heavy*<\/span><\/div>\n<div><span class=\"to\">  ME-39    nk_mesh_revoke_client  [ME-REVOKE]      \u2502 <\/span><span class=\"th\">       46 ns<\/span><span class=\"to\">     \u2502 state mutation<\/span><\/div>\n<div class=\"tp\">  \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500<\/div>\n<div><span class=\"to\">  Sink anti-DCE (anti-\u00e9limination compilateur) <\/span><span class=\"tw2\">[CONFIRM\u00c9]   \u2502 <\/span><span class=\"tw2\">u64=147451 u32=608067457<\/span><\/div>\n<div><span class=\"to\">  (*) Stubs crypto activ\u00e9s (NK_MESH_TEST_BUILD) \u2014 co\u00fbt TCB Mesh seul, hors HACL*\/liboqs<\/span><\/div>\n<div class=\"tp\">===========================================================================<\/div>\n<div class=\"tok\">\u2705 10\/10 fonctions publiques mesur\u00e9es \u00b7 0 crash \u00b7 anti-DCE confirm\u00e9<\/div>\n<div class=\"tok\">\u2705 881\/1151 Frama-C\/WP (76,5 %) \u00b7 18\/18 Isabelle\/HOL (0 sorry) \u00b7 119\/119 tests<\/div>\n<div class=\"tok\">\u2705 PR #19 ouverte master \u00b7 commit 04ed140 \u00b7 24 mai 2026<\/div>\n<\/div>\n<div class=\"al10-nota\"><strong>Lecture strat\u00e9gique.<\/strong> Le Module Mesh v1 CORTEX NK\u2122 constitue \u00e0 ce jour le <strong>seul module d&rsquo;attestation et d&rsquo;orchestration applicatif formellement v\u00e9rifi\u00e9 publiquement<\/strong> int\u00e9grant nativement la signature hybride AND-strict Ed25519 (HACL* INRIA \/ Microsoft Research) + ML-DSA-87 (liboqs NIST FIPS 204), avec propri\u00e9t\u00e9 <strong>PQC quantum-safe formellement prouv\u00e9e<\/strong> par deux th\u00e9or\u00e8mes Isabelle\/HOL d\u00e9di\u00e9s (ME-HYBRID-pq_safe + ME-HYBRID-classical_safe). <strong>V\u00e9rification d&rsquo;attestation en 137 ns \u00b7 check d&rsquo;invariants 3,87 ns<\/strong> sur ARM64 \u2014 performance compatible avec toutes les exigences embarqu\u00e9es (avionique, automotive, IoT industriel, d\u00e9fense). Architecture monotone \u00e0 compteurs d&rsquo;attestation et d&rsquo;ordre strictement croissants avec invariants formellement pr\u00e9serv\u00e9s. Aucun concurrent (seL4, ProvenCore, Green Hills INTEGRITY, PikeOS, VxWorks, Muen) ne publie aujourd&rsquo;hui de benchmarks evidence-grade \u00e9quivalents sur un module d&rsquo;attestation applicatif avec preuves Isabelle\/HOL compl\u00e8tes ET propri\u00e9t\u00e9 PQC quantum-safe formalis\u00e9e. <strong>Sprint Module Mesh v1 100% complet \u00b7 PR #19 ouverte sur master \u00b7 commit 04ed140 \u00b7 24 mai 2026. Trajectoire de certification : CSPN ANSSI Q2 2027 \u2192 EAL4 (2028) \u2192 EAL6 (2029) \u2192 EAL7 PQC (2030).<\/strong><\/div>\n<\/div>\n<\/div>\n<!-- ================================================================\n     FIN DU BLOC A COLLER DANS WORDPRESS\n     ================================================================ -->\n \n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Menu ORIGIN\u2122 ORIGIN\u2122 EAS \u00b7 EXPOSITION Plateforme CTEM EAS \u00b7 Exposition externe et interne \u2197 Ce que la plateforme mesure P\u00e9rim\u00e8tre interne \u00b7 annuaire LDAP \/ AD \u2197 Gouvernance &amp; trace de d\u00e9cision \u2197 Paysage concurrentiel \u2197 Demander une cartographie \u2197 AETZU ARROW AI\u2122 AETZU ARROW AI AETZU ARROW AI\u2122 \u00b7 D\u00e9fense active \u2197 Analyse [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1407","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/cortexorigin.com\/index.php\/wp-json\/wp\/v2\/pages\/1407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cortexorigin.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/cortexorigin.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/cortexorigin.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cortexorigin.com\/index.php\/wp-json\/wp\/v2\/comments?post=1407"}],"version-history":[{"count":40,"href":"https:\/\/cortexorigin.com\/index.php\/wp-json\/wp\/v2\/pages\/1407\/revisions"}],"predecessor-version":[{"id":1925,"href":"https:\/\/cortexorigin.com\/index.php\/wp-json\/wp\/v2\/pages\/1407\/revisions\/1925"}],"wp:attachment":[{"href":"https:\/\/cortexorigin.com\/index.php\/wp-json\/wp\/v2\/media?parent=1407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}