<?xml version="1.0" encoding="UTF-8"?>

<modsCollection xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.loc.gov/mods/v3" xsi:schemaLocation="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-3.xsd">
<mods version="3.3">

<genre>article</genre>

<titleInfo><title>Let’s DOIT: Using Intel’s Extended HW/SW Contract for Secure Compilation of Crypto Code</title></titleInfo>


<note type="publicationStatus">published</note>



<name type="personal">
  <namePart type="given">Santiago</namePart>
  <namePart type="family">Arranz-Olmos</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Gilles</namePart>
  <namePart type="family">Barthe</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Benjamin</namePart>
  <namePart type="family">Grégoire</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Jan</namePart>
  <namePart type="family">Jancar</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Vincent</namePart>
  <namePart type="family">Laporte</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Tiago</namePart>
  <namePart type="family">Oliveira</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>
<name type="personal">
  <namePart type="given">Peter</namePart>
  <namePart type="family">Schwabe</namePart>
  <role><roleTerm type="text">author</roleTerm> </role></name>














<abstract lang="eng">&lt;jats:p&gt;It is a widely accepted standard practice to implement cryptographic software so that secret inputs do not influence the cycle count. Software following this paradigm is often referred to as “constant-time” software and typically involves following three rules: 1) never branch on a secret-dependent condition, 2) never access memory at a secret-dependent location, and 3) avoid variable-time arithmetic operations on secret data. The third rule requires knowledge about such variable-time arithmetic instructions, or vice versa, which operations are safe to use on secret inputs. For a long time, this knowledge was based on either documentation or microbenchmarks, but critically, there were never any guarantees for future microarchitectures. This changed with the introduction of the data-operand-independent-timing (DOIT) mode on Intel CPUs and, to some extent, the data-independent-timing (DIT) mode on Arm CPUs. Both Intel and Arm document a subset of their respective instruction sets that are intended to leak no information about their inputs through timing, even on future microarchitectures if the CPU is set to run in a dedicated DOIT (or DIT) mode.In this paper, we present a principled solution that leverages DOIT to enable cryptographic software that is future-proof constant-time, in the sense that it ensures that only instructions from the DOIT subset are used to operate on secret data, even during speculative execution after a mispredicted branch or function return location. For this solution, we build on top of existing security type systems in the Jasmin framework for high-assurance cryptography.We then use our solution to evaluate the extent to which existing cryptographic software built to be “constant-time” is already secure in this stricter paradigm implied by DOIT and what the performance impact is to move from constant-time to future-proof constant-time.&lt;/jats:p&gt;</abstract>

<originInfo><publisher>Universitatsbibliothek der Ruhr-Universitat Bochum</publisher><dateIssued encoding="w3cdtf">2025</dateIssued>
</originInfo>



<relatedItem type="host"><titleInfo><title>IACR Transactions on Cryptographic Hardware and Embedded Systems</title></titleInfo>
  <identifier type="issn">2569-2925</identifier><identifier type="doi">10.46586/tches.v2025.i3.644-667</identifier>
<part><detail type="volume"><number>2025</number></detail><detail type="issue"><number>3</number></detail><extent unit="pages">644-667</extent>
</part>
</relatedItem>


<extension>
<bibliographicCitation>
<ieee>S. Arranz-Olmos &lt;i&gt;et al.&lt;/i&gt;, “Let’s DOIT: Using Intel’s Extended HW/SW Contract for Secure Compilation of Crypto Code,” &lt;i&gt;IACR Transactions on Cryptographic Hardware and Embedded Systems&lt;/i&gt;, vol. 2025, no. 3, pp. 644–667, 2025, doi: &lt;a href=&quot;https://doi.org/10.46586/tches.v2025.i3.644-667&quot;&gt;10.46586/tches.v2025.i3.644-667&lt;/a&gt;.</ieee>
<chicago>Arranz-Olmos, Santiago, Gilles Barthe, Benjamin Grégoire, Jan Jancar, Vincent Laporte, Tiago Oliveira, and Peter Schwabe. “Let’s DOIT: Using Intel’s Extended HW/SW Contract for Secure Compilation of Crypto Code.” &lt;i&gt;IACR Transactions on Cryptographic Hardware and Embedded Systems&lt;/i&gt; 2025, no. 3 (2025): 644–67. &lt;a href=&quot;https://doi.org/10.46586/tches.v2025.i3.644-667&quot;&gt;https://doi.org/10.46586/tches.v2025.i3.644-667&lt;/a&gt;.</chicago>
<ama>Arranz-Olmos S, Barthe G, Grégoire B, et al. Let’s DOIT: Using Intel’s Extended HW/SW Contract for Secure Compilation of Crypto Code. &lt;i&gt;IACR Transactions on Cryptographic Hardware and Embedded Systems&lt;/i&gt;. 2025;2025(3):644-667. doi:&lt;a href=&quot;https://doi.org/10.46586/tches.v2025.i3.644-667&quot;&gt;10.46586/tches.v2025.i3.644-667&lt;/a&gt;</ama>
<bibtex>@article{Arranz-Olmos_Barthe_Grégoire_Jancar_Laporte_Oliveira_Schwabe_2025, title={Let’s DOIT: Using Intel’s Extended HW/SW Contract for Secure Compilation of Crypto Code}, volume={2025}, DOI={&lt;a href=&quot;https://doi.org/10.46586/tches.v2025.i3.644-667&quot;&gt;10.46586/tches.v2025.i3.644-667&lt;/a&gt;}, number={3}, journal={IACR Transactions on Cryptographic Hardware and Embedded Systems}, publisher={Universitatsbibliothek der Ruhr-Universitat Bochum}, author={Arranz-Olmos, Santiago and Barthe, Gilles and Grégoire, Benjamin and Jancar, Jan and Laporte, Vincent and Oliveira, Tiago and Schwabe, Peter}, year={2025}, pages={644–667} }</bibtex>
<short>S. Arranz-Olmos, G. Barthe, B. Grégoire, J. Jancar, V. Laporte, T. Oliveira, P. Schwabe, IACR Transactions on Cryptographic Hardware and Embedded Systems 2025 (2025) 644–667.</short>
<mla>Arranz-Olmos, Santiago, et al. “Let’s DOIT: Using Intel’s Extended HW/SW Contract for Secure Compilation of Crypto Code.” &lt;i&gt;IACR Transactions on Cryptographic Hardware and Embedded Systems&lt;/i&gt;, vol. 2025, no. 3, Universitatsbibliothek der Ruhr-Universitat Bochum, 2025, pp. 644–67, doi:&lt;a href=&quot;https://doi.org/10.46586/tches.v2025.i3.644-667&quot;&gt;10.46586/tches.v2025.i3.644-667&lt;/a&gt;.</mla>
<apa>Arranz-Olmos, S., Barthe, G., Grégoire, B., Jancar, J., Laporte, V., Oliveira, T., &amp;#38; Schwabe, P. (2025). Let’s DOIT: Using Intel’s Extended HW/SW Contract for Secure Compilation of Crypto Code. &lt;i&gt;IACR Transactions on Cryptographic Hardware and Embedded Systems&lt;/i&gt;, &lt;i&gt;2025&lt;/i&gt;(3), 644–667. &lt;a href=&quot;https://doi.org/10.46586/tches.v2025.i3.644-667&quot;&gt;https://doi.org/10.46586/tches.v2025.i3.644-667&lt;/a&gt;</apa>
</bibliographicCitation>
</extension>
<recordInfo><recordIdentifier>65537</recordIdentifier><recordCreationDate encoding="w3cdtf">2026-04-30T09:31:53Z</recordCreationDate><recordChangeDate encoding="w3cdtf">2026-04-30T09:32:27Z</recordChangeDate>
</recordInfo>
</mods>
</modsCollection>
