<?xml version="1.0" encoding="utf-8"?>
<TEI xmlns="http://www.tei-c.org/ns/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hal="http://hal.archives-ouvertes.fr/" xmlns:gml="http://www.opengis.net/gml/3.3/" xmlns:gmlce="http://www.opengis.net/gml/3.3/ce" version="1.1" xsi:schemaLocation="http://www.tei-c.org/ns/1.0 http://api.archives-ouvertes.fr/documents/aofr-sword.xsd">
  <teiHeader>
    <fileDesc>
      <titleStmt>
        <title>HAL TEI export of hal-04663857v2</title>
      </titleStmt>
      <publicationStmt>
        <distributor>CCSD</distributor>
        <availability status="restricted">
          <licence target="https://creativecommons.org/publicdomain/zero/1.0/">CC0 1.0 - Universal</licence>
        </availability>
        <date when="2026-04-26T08:19:38+02:00"/>
      </publicationStmt>
      <sourceDesc>
        <p part="N">HAL API Platform</p>
      </sourceDesc>
    </fileDesc>
  </teiHeader>
  <text>
    <body>
      <listBibl>
        <biblFull>
          <titleStmt>
            <title xml:lang="en">Preservation of Speculative Constant-time by Compilation</title>
            <author role="aut">
              <persName>
                <forename type="first">Santiago</forename>
                <surname>Arranz Olmos</surname>
              </persName>
              <email type="md5">6eac7d1f83327d9118456f15b2171a75</email>
              <email type="domain">mpi-sp.org</email>
              <idno type="idhal" notation="numeric">1387672</idno>
              <idno type="halauthorid" notation="string">3205452-1387672</idno>
              <affiliation ref="#struct-576324"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Gilles</forename>
                <surname>Barthe</surname>
              </persName>
              <email type="md5">3f4c16b215e80707f07fb2257c94de7f</email>
              <email type="domain">mpi-sp.org</email>
              <idno type="idhal" notation="numeric">1211821</idno>
              <idno type="halauthorid" notation="string">117487-1211821</idno>
              <idno type="ORCID">https://orcid.org/0000-0002-3853-1777</idno>
              <affiliation ref="#struct-576324"/>
              <affiliation ref="#struct-81272"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Lionel</forename>
                <surname>Blatter</surname>
              </persName>
              <email type="md5">a8dd5c2c8a8da277a650be6dcb41a530</email>
              <email type="domain">mpi-sp.org</email>
              <idno type="idhal" notation="numeric">1405244</idno>
              <idno type="halauthorid" notation="string">1396019-1405244</idno>
              <idno type="ORCID">https://orcid.org/0000-0001-9058-2005</idno>
              <affiliation ref="#struct-576324"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Benjamin</forename>
                <surname>Grégoire</surname>
              </persName>
              <email type="md5">af1754b2f00130c38090482da4c1da5e</email>
              <email type="domain">inria.fr</email>
              <idno type="idhal" notation="string">benjamin-gregoire</idno>
              <idno type="idhal" notation="numeric">1695</idno>
              <idno type="halauthorid" notation="string">11069-1695</idno>
              <idno type="IDREF">https://www.idref.fr/089057058</idno>
              <idno type="ORCID">https://orcid.org/0000-0001-6650-9924</idno>
              <affiliation ref="#struct-1171444"/>
            </author>
            <author role="aut">
              <persName>
                <forename type="first">Vincent</forename>
                <surname>Laporte</surname>
              </persName>
              <email type="md5">33e4fbd64fa18c3fc30952bdf41b25cf</email>
              <email type="domain">inria.fr</email>
              <idno type="idhal" notation="string">vincent-laporte</idno>
              <idno type="idhal" notation="numeric">738000</idno>
              <idno type="halauthorid" notation="string">51466-738000</idno>
              <idno type="IDREF">https://www.idref.fr/191832324</idno>
              <affiliation ref="#struct-445522"/>
            </author>
            <editor role="depositor">
              <persName>
                <forename>Vincent</forename>
                <surname>Laporte</surname>
              </persName>
              <email type="md5">33e4fbd64fa18c3fc30952bdf41b25cf</email>
              <email type="domain">inria.fr</email>
            </editor>
            <funder ref="#projanr-69633"/>
            <funder>Deutsche Forschungsgemeinschaft (DFG, German research Foundation) as part of the Excellence Strategy of the German Federal and State Governments – EXC 2092 CASA - 390781972</funder>
          </titleStmt>
          <editionStmt>
            <edition n="v1">
              <date type="whenSubmitted">2024-07-29 14:04:01</date>
            </edition>
            <edition n="v2" type="current">
              <date type="whenSubmitted">2025-01-13 09:11:54</date>
              <date type="whenModified">2025-11-04 11:57:33</date>
              <date type="whenReleased">2025-01-13 14:24:00</date>
              <date type="whenProduced">2025-01-09</date>
              <date type="whenEndEmbargoed">2025-01-13</date>
              <ref type="file" target="https://hal.univ-lorraine.fr/hal-04663857v2/document">
                <date notBefore="2025-01-13"/>
              </ref>
              <ref type="file" subtype="author" n="1" target="https://hal.univ-lorraine.fr/hal-04663857v2/file/3704880.pdf" id="file-4881977-4244796">
                <date notBefore="2025-01-13"/>
              </ref>
            </edition>
            <respStmt>
              <resp>contributor</resp>
              <name key="944155">
                <persName>
                  <forename>Vincent</forename>
                  <surname>Laporte</surname>
                </persName>
                <email type="md5">33e4fbd64fa18c3fc30952bdf41b25cf</email>
                <email type="domain">inria.fr</email>
              </name>
            </respStmt>
          </editionStmt>
          <publicationStmt>
            <distributor>CCSD</distributor>
            <idno type="halId">hal-04663857</idno>
            <idno type="halUri">https://hal.univ-lorraine.fr/hal-04663857</idno>
            <idno type="halBibtex">arranzolmos:hal-04663857</idno>
            <idno type="halRefHtml">&lt;i&gt;Proceedings of the ACM on Programming Languages&lt;/i&gt;, 2025, 9 (POPL), pp.1293 - 1325. &lt;a target="_blank" href="https://dx.doi.org/10.1145/3704880"&gt;&amp;#x27E8;10.1145/3704880&amp;#x27E9;&lt;/a&gt;</idno>
            <idno type="halRef">Proceedings of the ACM on Programming Languages, 2025, 9 (POPL), pp.1293 - 1325. &amp;#x27E8;10.1145/3704880&amp;#x27E9;</idno>
            <availability status="restricted">
              <licence target="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0 - Attribution<ref corresp="#file-4881977-4244796"/></licence>
            </availability>
          </publicationStmt>
          <seriesStmt>
            <idno type="stamp" n="CNRS">CNRS - Centre national de la recherche scientifique</idno>
            <idno type="stamp" n="INRIA">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="INRIA-SOPHIA">INRIA Sophia Antipolis - Méditerranée</idno>
            <idno type="stamp" n="INRIASO">INRIA-SOPHIA</idno>
            <idno type="stamp" n="INRIA_TEST">INRIA - Institut National de Recherche en Informatique et en Automatique</idno>
            <idno type="stamp" n="LORIA2">Publications du LORIA</idno>
            <idno type="stamp" n="INRIA-NANCY-GRAND-EST">INRIA Nancy - Grand Est</idno>
            <idno type="stamp" n="TESTALAIN1">TESTALAIN1</idno>
            <idno type="stamp" n="CENTRALESUPELEC">Ecole CentraleSupélec</idno>
            <idno type="stamp" n="UNIV-LORRAINE">Université de Lorraine</idno>
            <idno type="stamp" n="INRIA2">INRIA 2</idno>
            <idno type="stamp" n="LORIA">Laboratoire Lorrain de Recherche en Informatique et ses Applications</idno>
            <idno type="stamp" n="LORIA-FM" corresp="LORIA">Department of Formal methods</idno>
            <idno type="stamp" n="UNIV-COTEDAZUR">Université Côte d'Azur</idno>
            <idno type="stamp" n="ANR">ANR</idno>
            <idno type="stamp" n="INRIA-ALLEMAGNE">INRIA-ALLEMAGNE</idno>
            <idno type="stamp" n="CYBERSCURITE">PEPR Cybersécurité</idno>
            <idno type="stamp" n="SVP">SVP</idno>
            <idno type="stamp" n="AM2I-UL">Pôle scientifique Automatique, Mathématiques, Informatique et leurs Intéractions de l'Université de Lorraine</idno>
          </seriesStmt>
          <notesStmt>
            <note type="audience" n="2">International</note>
            <note type="popular" n="0">No</note>
            <note type="peer" n="1">Yes</note>
          </notesStmt>
          <sourceDesc>
            <biblStruct>
              <analytic>
                <title xml:lang="en">Preservation of Speculative Constant-time by Compilation</title>
                <author role="aut">
                  <persName>
                    <forename type="first">Santiago</forename>
                    <surname>Arranz Olmos</surname>
                  </persName>
                  <email type="md5">6eac7d1f83327d9118456f15b2171a75</email>
                  <email type="domain">mpi-sp.org</email>
                  <idno type="idhal" notation="numeric">1387672</idno>
                  <idno type="halauthorid" notation="string">3205452-1387672</idno>
                  <affiliation ref="#struct-576324"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Gilles</forename>
                    <surname>Barthe</surname>
                  </persName>
                  <email type="md5">3f4c16b215e80707f07fb2257c94de7f</email>
                  <email type="domain">mpi-sp.org</email>
                  <idno type="idhal" notation="numeric">1211821</idno>
                  <idno type="halauthorid" notation="string">117487-1211821</idno>
                  <idno type="ORCID">https://orcid.org/0000-0002-3853-1777</idno>
                  <affiliation ref="#struct-576324"/>
                  <affiliation ref="#struct-81272"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Lionel</forename>
                    <surname>Blatter</surname>
                  </persName>
                  <email type="md5">a8dd5c2c8a8da277a650be6dcb41a530</email>
                  <email type="domain">mpi-sp.org</email>
                  <idno type="idhal" notation="numeric">1405244</idno>
                  <idno type="halauthorid" notation="string">1396019-1405244</idno>
                  <idno type="ORCID">https://orcid.org/0000-0001-9058-2005</idno>
                  <affiliation ref="#struct-576324"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Benjamin</forename>
                    <surname>Grégoire</surname>
                  </persName>
                  <email type="md5">af1754b2f00130c38090482da4c1da5e</email>
                  <email type="domain">inria.fr</email>
                  <idno type="idhal" notation="string">benjamin-gregoire</idno>
                  <idno type="idhal" notation="numeric">1695</idno>
                  <idno type="halauthorid" notation="string">11069-1695</idno>
                  <idno type="IDREF">https://www.idref.fr/089057058</idno>
                  <idno type="ORCID">https://orcid.org/0000-0001-6650-9924</idno>
                  <affiliation ref="#struct-1171444"/>
                </author>
                <author role="aut">
                  <persName>
                    <forename type="first">Vincent</forename>
                    <surname>Laporte</surname>
                  </persName>
                  <email type="md5">33e4fbd64fa18c3fc30952bdf41b25cf</email>
                  <email type="domain">inria.fr</email>
                  <idno type="idhal" notation="string">vincent-laporte</idno>
                  <idno type="idhal" notation="numeric">738000</idno>
                  <idno type="halauthorid" notation="string">51466-738000</idno>
                  <idno type="IDREF">https://www.idref.fr/191832324</idno>
                  <affiliation ref="#struct-445522"/>
                </author>
              </analytic>
              <monogr>
                <idno type="halJournalId" status="VALID">120491</idno>
                <idno type="issn">2475-1421</idno>
                <title level="j">Proceedings of the ACM on Programming Languages</title>
                <imprint>
                  <publisher>ACM</publisher>
                  <biblScope unit="volume">9</biblScope>
                  <biblScope unit="issue">POPL</biblScope>
                  <biblScope unit="pp">1293 - 1325</biblScope>
                  <date type="datePub">2025-01-09</date>
                </imprint>
              </monogr>
              <idno type="doi">10.1145/3704880</idno>
            </biblStruct>
          </sourceDesc>
          <profileDesc>
            <langUsage>
              <language ident="en">English</language>
            </langUsage>
            <textClass>
              <keywords scheme="author">
                <term xml:lang="en">Preservation of security</term>
                <term xml:lang="en">Speculative execution</term>
                <term xml:lang="en">Spectre</term>
              </keywords>
              <classCode scheme="halDomain" n="info.info-pl">Computer Science [cs]/Programming Languages [cs.PL]</classCode>
              <classCode scheme="halTypology" n="ART">Journal articles</classCode>
              <classCode scheme="halOldTypology" n="ART">Journal articles</classCode>
              <classCode scheme="halTreeTypology" n="ART">Journal articles</classCode>
            </textClass>
            <abstract xml:lang="en">
              <p>Compilers often weaken or even discard software-based countermeasures commonly used to protect programs against side-channel attacks; worse, they may also introduce vulnerabilities that attackers can exploit. The solution to this problem is to develop compilers that preserve such countermeasures. Prior work establishes that (a mildly modified version of) the CompCert and Jasmin formally verified compilers preserve constant-time, an information flow policy that ensures that programs are protected against timing side-channel attacks. However, nothing is known about preservation of speculative constant-time, a strengthening of the constant-time policy that ensures that programs are protected against Spectre-v1 attacks. We first show that preservation of speculative constant-time fails in practice by providing examples of secure programs whose compilation is not speculative constant-time using GCC (GCC -O0 and GCC -O1) and Jasmin. Then, we define a proof-of-concept compiler that distills some of the critical passes of the Jasmin compiler and use the Coq proof assistant to prove that it preserves speculative constant-time. Finally, we patch the Jasmin speculative constant-time type checker and demonstrate that all cryptographic implementations written in Jasmin can be fixed with minimal impact.</p>
            </abstract>
          </profileDesc>
        </biblFull>
      </listBibl>
    </body>
    <back>
      <listOrg type="structures">
        <org type="institution" xml:id="struct-576324" status="VALID">
          <orgName>Max Planck Institute for Security and Privacy [Bochum]</orgName>
          <orgName type="acronym">MPI SP</orgName>
          <desc>
            <address>
              <country key="DE"/>
            </address>
          </desc>
        </org>
        <org type="institution" xml:id="struct-81272" status="VALID">
          <idno type="ROR">https://ror.org/04xvfkh51</idno>
          <orgName>Institute IMDEA Software [Madrid]</orgName>
          <desc>
            <address>
              <addrLine>Campus de Montegancedo 28223 Pozuelo de Alarcón Madrid</addrLine>
              <country key="ES"/>
            </address>
            <ref type="url">http://software.imdea.org/</ref>
          </desc>
        </org>
        <org type="researchteam" xml:id="struct-1171444" status="VALID">
          <idno type="RNSR">202324427F</idno>
          <idno type="ROR">https://ror.org/024wx0b20</idno>
          <orgName>Languages de Programmation Sécures et Outils pour la Sécurité</orgName>
          <orgName type="acronym">SPLITS</orgName>
          <date type="start">2023-07-01</date>
          <date type="end">2027-06-30</date>
          <desc>
            <address>
              <addrLine>2004 routes des Lucioles06902 Sophia Antipolis</addrLine>
              <country key="FR"/>
            </address>
          </desc>
          <listRelation>
            <relation active="#struct-34586" type="direct"/>
            <relation active="#struct-300009" type="indirect"/>
          </listRelation>
        </org>
        <org type="researchteam" xml:id="struct-445522" status="VALID">
          <idno type="RNSR">201622052E</idno>
          <idno type="ROR">https://ror.org/019yhsq25</idno>
          <orgName>Proof techniques for security protocols</orgName>
          <orgName type="acronym">PESTO</orgName>
          <date type="start">2016-01-01</date>
          <date type="end">2028-10-31</date>
          <desc>
            <address>
              <addrLine>615 Rue du Jardin-Botanique, 54600 Villers-lès-Nancy</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/equipes/pesto</ref>
          </desc>
          <listRelation>
            <relation active="#struct-129671" type="direct"/>
            <relation active="#struct-300009" type="indirect"/>
            <relation active="#struct-423084" type="direct"/>
            <relation active="#struct-206040" type="indirect"/>
            <relation active="#struct-411575" type="indirect"/>
            <relation active="#struct-413289" type="indirect"/>
            <relation name="UMR7503" active="#struct-441569" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-34586" status="VALID">
          <idno type="RNSR">198318250R</idno>
          <idno type="ROR">https://ror.org/01nzkaw91</idno>
          <orgName>Centre Inria d'Université Côte d'Azur</orgName>
          <desc>
            <address>
              <addrLine>2004 route des Lucioles BP 93 06902 Sophia Antipolis</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/centre/sophia/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-300009" status="VALID">
          <idno type="ROR">https://ror.org/02kvxyf05</idno>
          <orgName>Institut National de Recherche en Informatique et en Automatique</orgName>
          <orgName type="acronym">Inria</orgName>
          <desc>
            <address>
              <addrLine>Domaine de VoluceauRocquencourt - BP 10578153 Le Chesnay Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/en/</ref>
          </desc>
        </org>
        <org type="laboratory" xml:id="struct-129671" status="VALID">
          <idno type="RNSR">198618246Y</idno>
          <idno type="ROR">https://ror.org/03fcjvn64</idno>
          <orgName>Centre Inria de l'Université de Lorraine</orgName>
          <desc>
            <address>
              <addrLine>615 rue du Jardin Botanique 54600 Villers-lès-Nancy</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.inria.fr/nancy</ref>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
          </listRelation>
        </org>
        <org type="department" xml:id="struct-423084" status="VALID">
          <orgName>Department of Formal Methods</orgName>
          <orgName type="acronym">LORIA - FM</orgName>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.loria.fr/en/research/departments/formal-methods/</ref>
          </desc>
          <listRelation>
            <relation active="#struct-206040" type="direct"/>
            <relation active="#struct-300009" type="indirect"/>
            <relation active="#struct-411575" type="indirect"/>
            <relation active="#struct-413289" type="indirect"/>
            <relation name="UMR7503" active="#struct-441569" type="indirect"/>
          </listRelation>
        </org>
        <org type="laboratory" xml:id="struct-206040" status="VALID">
          <idno type="IdRef">067077927</idno>
          <idno type="ISNI">0000000121795429</idno>
          <idno type="RNSR">198912571S</idno>
          <idno type="IdUnivLorraine">[UL]RSI--</idno>
          <idno type="ROR">https://ror.org/02vnf0c38</idno>
          <orgName>Laboratoire Lorrain de Recherche en Informatique et ses Applications</orgName>
          <orgName type="acronym">LORIA</orgName>
          <date type="start">2012-01-01</date>
          <desc>
            <address>
              <addrLine>Campus Scientifique BP 239 54506 Vandoeuvre-lès-Nancy Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.loria.fr</ref>
          </desc>
          <listRelation>
            <relation active="#struct-300009" type="direct"/>
            <relation active="#struct-411575" type="direct"/>
            <relation active="#struct-413289" type="direct"/>
            <relation name="UMR7503" active="#struct-441569" type="direct"/>
          </listRelation>
        </org>
        <org type="institution" xml:id="struct-411575" status="VALID">
          <idno type="IdRef">184443237</idno>
          <idno type="ROR">https://ror.org/019tcpt25</idno>
          <orgName>CentraleSupélec</orgName>
          <desc>
            <address>
              <addrLine>3, rue Joliot Curie,Plateau de Moulon,91192 GIF-SUR-YVETTE Cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.centralesupelec.fr</ref>
          </desc>
        </org>
        <org type="institution" xml:id="struct-413289" status="VALID">
          <idno type="IdRef">157040569</idno>
          <idno type="IdUnivLorraine">[UL]100--</idno>
          <idno type="ROR">https://ror.org/04vfs2w97</idno>
          <orgName>Université de Lorraine</orgName>
          <orgName type="acronym">UL</orgName>
          <date type="start">2012-01-01</date>
          <desc>
            <address>
              <addrLine>34 cours Léopold - CS 25233 - 54052 Nancy cedex</addrLine>
              <country key="FR"/>
            </address>
            <ref type="url">http://www.univ-lorraine.fr/</ref>
          </desc>
        </org>
        <org type="regroupinstitution" xml:id="struct-441569" status="VALID">
          <idno type="IdRef">02636817X</idno>
          <idno type="ISNI">0000000122597504</idno>
          <idno type="ROR">https://ror.org/02feahw73</idno>
          <orgName>Centre National de la Recherche Scientifique</orgName>
          <orgName type="acronym">CNRS</orgName>
          <date type="start">1939-10-19</date>
          <desc>
            <address>
              <country key="FR"/>
            </address>
            <ref type="url">https://www.cnrs.fr/</ref>
          </desc>
        </org>
      </listOrg>
      <listOrg type="projects">
        <org type="anrProject" xml:id="projanr-69633" status="VALID">
          <idno type="anr">ANR-22-PECY-0006</idno>
          <orgName>SVP</orgName>
          <desc>Verification of Security Protocols</desc>
          <date type="start">2022</date>
        </org>
      </listOrg>
    </back>
  </text>
</TEI>