CINXE.COM
Dilithium | Open Quantum Safe
<!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=Edge"> <link rel="stylesheet" href="/assets/css/just-the-docs-default.css"> <link rel="stylesheet" href="/assets/css/just-the-docs-head-nav.css" id="jtd-head-nav-stylesheet"> <style id="jtd-nav-activation"> .site-nav > ul.nav-list:first-child > li > a, .site-nav > ul.nav-list:first-child > li > ul > li > a, .site-nav > ul.nav-list:first-child > li > ul > li > ul > li:not(:nth-child(3)) > a, .site-nav > ul.nav-list:first-child > li > ul > li > ul > li > ul > li a { background-image: none; } .site-nav > ul.nav-list:not(:first-child) a, .site-nav li.external a { background-image: none; } .site-nav > ul.nav-list:first-child > li:nth-child(5) > ul > li:nth-child(2) > ul > li:nth-child(3) > a { font-weight: 600; text-decoration: none; }.site-nav > ul.nav-list:first-child > li:nth-child(5) > button svg, .site-nav > ul.nav-list:first-child > li:nth-child(5) > ul > li:nth-child(2) > button svg, .site-nav > ul.nav-list:first-child > li:nth-child(5) > ul > li:nth-child(2) > ul > li:nth-child(3) > button svg { transform: rotate(-90deg); }.site-nav > ul.nav-list:first-child > li.nav-list-item:nth-child(5) > ul.nav-list, .site-nav > ul.nav-list:first-child > li.nav-list-item:nth-child(5) > ul.nav-list > li.nav-list-item:nth-child(2) > ul.nav-list, .site-nav > ul.nav-list:first-child > li.nav-list-item:nth-child(5) > ul.nav-list > li.nav-list-item:nth-child(2) > ul.nav-list > li.nav-list-item:nth-child(3) > ul.nav-list { display: block; } </style> <script src="/assets/js/vendor/lunr.min.js"></script> <script src="/assets/js/just-the-docs.js"></script> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Begin Jekyll SEO tag v2.8.0 --> <title>Dilithium | Open Quantum Safe</title> <meta name="generator" content="Jekyll v4.3.4" /> <meta property="og:title" content="Dilithium" /> <meta property="og:locale" content="en_US" /> <meta name="description" content="Open-source software for prototyping quantum-resistant cryptography" /> <meta property="og:description" content="Open-source software for prototyping quantum-resistant cryptography" /> <link rel="canonical" href="https://openquantumsafe.org/liboqs/algorithms/sig/dilithium.html" /> <meta property="og:url" content="https://openquantumsafe.org/liboqs/algorithms/sig/dilithium.html" /> <meta property="og:site_name" content="Open Quantum Safe" /> <meta property="og:type" content="website" /> <meta name="twitter:card" content="summary" /> <meta property="twitter:title" content="Dilithium" /> <script type="application/ld+json"> {"@context":"https://schema.org","@type":"WebPage","description":"Open-source software for prototyping quantum-resistant cryptography","headline":"Dilithium","url":"https://openquantumsafe.org/liboqs/algorithms/sig/dilithium.html"}</script> <!-- End Jekyll SEO tag --> <link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css"> <link href='https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic,700italic' rel='stylesheet' type='text/css'> <link rel="icon" type="image/png" href="https://openquantumsafe.org/img/logos/oqs-square-32.png" sizes="32x32" /> <link rel="icon" type="image/png" href="https://openquantumsafe.org/img/logos/oqs-square-152.png" sizes="152x152" /> <link rel="icon" type="image/png" href="https://openquantumsafe.org/img/logos/oqs-square-152.png" sizes="160x160" /> <link rel="icon" type="image/png" href="https://openquantumsafe.org/img/logos/oqs-square-192.png" sizes="192x192" /> <link rel="icon" type="image/jpeg" href="https://openquantumsafe.org/img/logos/oqs-square-768.jpg" sizes="768x768" /> <link rel="apple-touch-icon" href="https://openquantumsafe.org/img/logos/oqs-square-152.png" /> <meta property="og:image" content="https://openquantumsafe.org/img/logos/oqs-square-768.jpg" /> <meta property="og:image:type" content="image/jpeg" /> <meta property="og:image:width" content="768" /> <meta property="og:image:height" content="768" /> <style> * { font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; } </style> </head> <body> <a class="skip-to-main" href="#main-content">Skip to main content</a> <svg xmlns="http://www.w3.org/2000/svg" class="d-none"> <symbol id="svg-link" viewBox="0 0 24 24"> <title>Link</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-link"> <path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"></path><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"></path> </svg> </symbol> <symbol id="svg-menu" viewBox="0 0 24 24"> <title>Menu</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-menu"> <line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="18" x2="21" y2="18"></line> </svg> </symbol> <symbol id="svg-arrow-right" viewBox="0 0 24 24"> <title>Expand</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-right"> <polyline points="9 18 15 12 9 6"></polyline> </svg> </symbol> <!-- Feather. MIT License: https://github.com/feathericons/feather/blob/master/LICENSE --> <symbol id="svg-external-link" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-external-link"> <title id="svg-external-link-title">(external link)</title> <path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line> </symbol> <symbol id="svg-doc" viewBox="0 0 24 24"> <title>Document</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file"> <path d="M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"></path><polyline points="13 2 13 9 20 9"></polyline> </svg> </symbol> <symbol id="svg-search" viewBox="0 0 24 24"> <title>Search</title> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-search"> <circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line> </svg> </symbol> <!-- Bootstrap Icons. MIT License: https://github.com/twbs/icons/blob/main/LICENSE.md --> <symbol id="svg-copy" viewBox="0 0 16 16"> <title>Copy</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16"> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/> <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/> </svg> </symbol> <symbol id="svg-copied" viewBox="0 0 16 16"> <title>Copied</title> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard-check-fill" viewBox="0 0 16 16"> <path d="M6.5 0A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3Zm3 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3Z"/> <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1A2.5 2.5 0 0 1 9.5 5h-3A2.5 2.5 0 0 1 4 2.5v-1Zm6.854 7.354-3 3a.5.5 0 0 1-.708 0l-1.5-1.5a.5.5 0 0 1 .708-.708L7.5 10.793l2.646-2.647a.5.5 0 0 1 .708.708Z"/> </svg> </symbol> </svg> <div class="side-bar"> <div class="site-header" role="banner"> <a href="/" class="site-title lh-tight"><span style="font-family: 'Montserrat'; text-transform: uppercase; font-weight: 700; font-size: 75%; text-align: center;">Open Quantum Safe</span> </a> <button id="menu-button" class="site-button btn-reset" aria-label="Toggle menu" aria-pressed="false"> <svg viewBox="0 0 24 24" class="icon" aria-hidden="true"><use xlink:href="#svg-menu"></use></svg> </button> </div> <nav aria-label="Main" id="site-nav" class="site-nav"> <ul class="nav-list"><li class="nav-list-item"><a href="/" class="nav-list-link">Home</a></li><li class="nav-list-item"><a href="/post-quantum-crypto.html" class="nav-list-link">Post-quantum cryptography</a></li><li class="nav-list-item"><a href="/faq.html" class="nav-list-link">FAQ</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in About our project category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/about/" class="nav-list-link">About our project</a><ul class="nav-list"><li class="nav-list-item"><a href="/news/" class="nav-list-link">News</a></li><li class="nav-list-item"><a href="/about/sponsors.html" class="nav-list-link">Sponsors</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in liboqs category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/liboqs/" class="nav-list-link">liboqs</a><ul class="nav-list"><li class="nav-list-item"><a href="/liboqs/getting-started.html" class="nav-list-link">Getting started</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Algorithms category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/liboqs/algorithms/" class="nav-list-link">Algorithms</a><ul class="nav-list"><li class="nav-list-item"><a href="/liboqs/algorithms/kem/bike.html" class="nav-list-link">BIKE</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/kem/classic_mceliece.html" class="nav-list-link">Classic McEliece</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/sig/dilithium.html" class="nav-list-link">Dilithium</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/sig/falcon.html" class="nav-list-link">Falcon</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/kem/frodokem.html" class="nav-list-link">FrodoKEM</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/kem/hqc.html" class="nav-list-link">HQC</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/kem/kyber.html" class="nav-list-link">Kyber</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/sig_stfl/lms.html" class="nav-list-link">LMS</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/sig/mayo.html" class="nav-list-link">MAYO</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/sig/ml-dsa.html" class="nav-list-link">ML-DSA</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/kem/ml-kem.html" class="nav-list-link">ML-KEM</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/kem/ntruprime.html" class="nav-list-link">NTRU-Prime</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/sig/sphincs.html" class="nav-list-link">SPHINCS+</a></li><li class="nav-list-item"><a href="/liboqs/algorithms/sig_stfl/xmss.html" class="nav-list-link">XMSS</a></li></ul></li><li class="nav-list-item"><a href="/liboqs/security.html" class="nav-list-link">Security policy</a></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in C example code category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/liboqs/examples/" class="nav-list-link">C example code</a><ul class="nav-list"><li class="nav-list-item"><a href="/liboqs/examples/kem.html" class="nav-list-link">Encapsulation and decapsulation</a></li><li class="nav-list-item"><a href="/liboqs/examples/sig.html" class="nav-list-link">Signing and verification</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in C API documentation category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/liboqs/api/" class="nav-list-link">C API documentation</a><ul class="nav-list"></ul></li><li class="nav-list-item"><a href="/liboqs/wrappers.html" class="nav-list-link">Language wrappers</a></li><li class="nav-list-item"><a href="/liboqs/license.html" class="nav-list-link">License</a></li></ul></li><li class="nav-list-item"><button class="nav-list-expander btn-reset" aria-label="toggle items in Applications and protocols category" aria-pressed="false"> <svg viewBox="0 0 24 24" aria-hidden="true"><use xlink:href="#svg-arrow-right"></use></svg> </button><a href="/applications/" class="nav-list-link">Applications and protocols</a><ul class="nav-list"><li class="nav-list-item"><a href="/applications/tls.html" class="nav-list-link">TLS</a></li><li class="nav-list-item"><a href="/applications/ssh.html" class="nav-list-link">SSH</a></li><li class="nav-list-item"><a href="/applications/x509.html" class="nav-list-link">X.509</a></li><li class="nav-list-item"><a href="/applications/smime.html" class="nav-list-link">CMS and S/MIME</a></li><li class="nav-list-item"><a href="/applications/external.html" class="nav-list-link">External users of OQS</a></li></ul></li><li class="nav-list-item"><a href="/research/" class="nav-list-link">Research</a></li><li class="nav-list-item"><a href="/benchmarking/" class="nav-list-link">Benchmarking</a></li><li class="nav-list-item"><a href="/team/" class="nav-list-link">Team</a></li></ul> </nav> <footer class="site-footer"> </footer> </div> <div class="main" id="top"> <div id="main-header" class="main-header"> <div class="search" role="search"> <div class="search-input-wrap"> <input type="text" id="search-input" class="search-input" tabindex="0" placeholder="Search Open Quantum Safe" aria-label="Search Open Quantum Safe" autocomplete="off"> <label for="search-input" class="search-label"><svg viewBox="0 0 24 24" class="search-icon"><use xlink:href="#svg-search"></use></svg></label> </div> <div id="search-results" class="search-results"></div> </div> </div> <div class="main-content-wrap"> <nav aria-label="Breadcrumb" class="breadcrumb-nav"> <ol class="breadcrumb-nav-list"> <li class="breadcrumb-nav-list-item"><a href="/liboqs/">liboqs</a></li> <li class="breadcrumb-nav-list-item"><a href="/liboqs/algorithms/">Algorithms</a></li> <li class="breadcrumb-nav-list-item"><span>Dilithium</span></li> </ol> </nav> <div id="main-content" class="main-content"> <main> <h1 id="crystals-dilithium"> <a href="#crystals-dilithium" class="anchor-heading" aria-labelledby="crystals-dilithium"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> CRYSTALS-Dilithium </h1> <ul> <li><strong>Algorithm type</strong>: Digital signature scheme.</li> <li><strong>Main cryptographic assumption</strong>: hardness of lattice problems over module lattices.</li> <li><strong>Principal submitters</strong>: Vadim Lyubashevsky.</li> <li><strong>Auxiliary submitters</strong>: Shi Bai, Léo Ducas, Eike Kiltz, Tancrède Lepoint, Peter Schwabe, Gregor Seiler, Damien Stehlé.</li> <li><strong>Authors’ website</strong>: https://pq-crystals.org/dilithium/</li> <li><strong>Specification version</strong>: 3.1.</li> <li><strong>Primary Source</strong><a name="primary-source"></a>: <ul> <li><strong>Source</strong>: https://github.com/pq-crystals/dilithium/commit/3e9b9f1412f6c7435dbeb4e10692ea58f181ee51 with copy_from_upstream patches</li> <li><strong>Implementation license (SPDX-Identifier)</strong>: CC0-1.0 or Apache-2.0</li> </ul> </li> <li><strong>Optimized Implementation sources</strong>: https://github.com/pq-crystals/dilithium/commit/3e9b9f1412f6c7435dbeb4e10692ea58f181ee51 with copy_from_upstream patches <ul> <li><strong>oldpqclean-aarch64</strong>:<a name="oldpqclean-aarch64"></a> <ul> <li><strong>Source</strong>: https://github.com/PQClean/PQClean/commit/8e220a87308154d48fdfac40abbb191ac7fce06a with copy_from_upstream patches</li> <li><strong>Implementation license (SPDX-Identifier)</strong>: CC0-1.0 and (CC0-1.0 or Apache-2.0) and (CC0-1.0 or MIT) and MIT</li> </ul> </li> </ul> </li> </ul> <h2 id="parameter-set-summary"> <a href="#parameter-set-summary" class="anchor-heading" aria-labelledby="parameter-set-summary"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Parameter set summary </h2> <div class="table-wrapper"><table> <thead> <tr> <th style="text-align: center">Parameter set</th> <th style="text-align: left">Parameter set alias</th> <th style="text-align: left">Security model</th> <th style="text-align: right">Claimed NIST Level</th> <th style="text-align: right">Public key size (bytes)</th> <th style="text-align: right">Secret key size (bytes)</th> <th style="text-align: right">Signature size (bytes)</th> </tr> </thead> <tbody> <tr> <td style="text-align: center">Dilithium2</td> <td style="text-align: left">NA</td> <td style="text-align: left">EUF-CMA</td> <td style="text-align: right">2</td> <td style="text-align: right">1312</td> <td style="text-align: right">2528</td> <td style="text-align: right">2420</td> </tr> <tr> <td style="text-align: center">Dilithium3</td> <td style="text-align: left">NA</td> <td style="text-align: left">EUF-CMA</td> <td style="text-align: right">3</td> <td style="text-align: right">1952</td> <td style="text-align: right">4000</td> <td style="text-align: right">3293</td> </tr> <tr> <td style="text-align: center">Dilithium5</td> <td style="text-align: left">NA</td> <td style="text-align: left">EUF-CMA</td> <td style="text-align: right">5</td> <td style="text-align: right">2592</td> <td style="text-align: right">4864</td> <td style="text-align: right">4595</td> </tr> </tbody> </table></div> <h2 id="dilithium2-implementation-characteristics"> <a href="#dilithium2-implementation-characteristics" class="anchor-heading" aria-labelledby="dilithium2-implementation-characteristics"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Dilithium2 implementation characteristics </h2> <div class="table-wrapper"><table> <thead> <tr> <th style="text-align: center">Implementation source</th> <th style="text-align: left">Identifier in upstream</th> <th style="text-align: left">Supported architecture(s)</th> <th style="text-align: left">Supported operating system(s)</th> <th style="text-align: left">CPU extension(s) used</th> <th style="text-align: left">No branching-on-secrets claimed?</th> <th style="text-align: left">No branching-on-secrets checked by valgrind?</th> <th style="text-align: left">Large stack usage?‡</th> </tr> </thead> <tbody> <tr> <td style="text-align: center"><a href="#primary-source">Primary Source</a></td> <td style="text-align: left">ref</td> <td style="text-align: left">All</td> <td style="text-align: left">All</td> <td style="text-align: left">None</td> <td style="text-align: left">True</td> <td style="text-align: left">True</td> <td style="text-align: left">False</td> </tr> <tr> <td style="text-align: center"><a href="#primary-source">Primary Source</a></td> <td style="text-align: left">avx2</td> <td style="text-align: left">x86_64</td> <td style="text-align: left">Darwin,Linux</td> <td style="text-align: left">AVX2,POPCNT</td> <td style="text-align: left">True</td> <td style="text-align: left">True</td> <td style="text-align: left">False</td> </tr> <tr> <td style="text-align: center"><a href="#oldpqclean-aarch64">oldpqclean-aarch64</a></td> <td style="text-align: left">aarch64</td> <td style="text-align: left">ARM64_V8</td> <td style="text-align: left">Linux,Darwin</td> <td style="text-align: left">None</td> <td style="text-align: left">True</td> <td style="text-align: left">False</td> <td style="text-align: left">False</td> </tr> </tbody> </table></div> <p>Are implementations chosen based on runtime CPU feature detection? <strong>Yes</strong>.</p> <p>‡For an explanation of what this denotes, consult the <a href="#explanation-of-terms">Explanation of Terms</a> section at the end of this file.</p> <h2 id="dilithium3-implementation-characteristics"> <a href="#dilithium3-implementation-characteristics" class="anchor-heading" aria-labelledby="dilithium3-implementation-characteristics"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Dilithium3 implementation characteristics </h2> <div class="table-wrapper"><table> <thead> <tr> <th style="text-align: center">Implementation source</th> <th style="text-align: left">Identifier in upstream</th> <th style="text-align: left">Supported architecture(s)</th> <th style="text-align: left">Supported operating system(s)</th> <th style="text-align: left">CPU extension(s) used</th> <th style="text-align: left">No branching-on-secrets claimed?</th> <th style="text-align: left">No branching-on-secrets checked by valgrind?</th> <th style="text-align: left">Large stack usage?</th> </tr> </thead> <tbody> <tr> <td style="text-align: center"><a href="#primary-source">Primary Source</a></td> <td style="text-align: left">ref</td> <td style="text-align: left">All</td> <td style="text-align: left">All</td> <td style="text-align: left">None</td> <td style="text-align: left">True</td> <td style="text-align: left">True</td> <td style="text-align: left">False</td> </tr> <tr> <td style="text-align: center"><a href="#primary-source">Primary Source</a></td> <td style="text-align: left">avx2</td> <td style="text-align: left">x86_64</td> <td style="text-align: left">Darwin,Linux</td> <td style="text-align: left">AVX2,POPCNT</td> <td style="text-align: left">True</td> <td style="text-align: left">True</td> <td style="text-align: left">False</td> </tr> <tr> <td style="text-align: center"><a href="#oldpqclean-aarch64">oldpqclean-aarch64</a></td> <td style="text-align: left">aarch64</td> <td style="text-align: left">ARM64_V8</td> <td style="text-align: left">Linux,Darwin</td> <td style="text-align: left">None</td> <td style="text-align: left">True</td> <td style="text-align: left">False</td> <td style="text-align: left">False</td> </tr> </tbody> </table></div> <p>Are implementations chosen based on runtime CPU feature detection? <strong>Yes</strong>.</p> <h2 id="dilithium5-implementation-characteristics"> <a href="#dilithium5-implementation-characteristics" class="anchor-heading" aria-labelledby="dilithium5-implementation-characteristics"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Dilithium5 implementation characteristics </h2> <div class="table-wrapper"><table> <thead> <tr> <th style="text-align: center">Implementation source</th> <th style="text-align: left">Identifier in upstream</th> <th style="text-align: left">Supported architecture(s)</th> <th style="text-align: left">Supported operating system(s)</th> <th style="text-align: left">CPU extension(s) used</th> <th style="text-align: left">No branching-on-secrets claimed?</th> <th style="text-align: left">No branching-on-secrets checked by valgrind?</th> <th style="text-align: left">Large stack usage?</th> </tr> </thead> <tbody> <tr> <td style="text-align: center"><a href="#primary-source">Primary Source</a></td> <td style="text-align: left">ref</td> <td style="text-align: left">All</td> <td style="text-align: left">All</td> <td style="text-align: left">None</td> <td style="text-align: left">True</td> <td style="text-align: left">True</td> <td style="text-align: left">False</td> </tr> <tr> <td style="text-align: center"><a href="#primary-source">Primary Source</a></td> <td style="text-align: left">avx2</td> <td style="text-align: left">x86_64</td> <td style="text-align: left">Darwin,Linux</td> <td style="text-align: left">AVX2,POPCNT</td> <td style="text-align: left">True</td> <td style="text-align: left">True</td> <td style="text-align: left">False</td> </tr> <tr> <td style="text-align: center"><a href="#oldpqclean-aarch64">oldpqclean-aarch64</a></td> <td style="text-align: left">aarch64</td> <td style="text-align: left">ARM64_V8</td> <td style="text-align: left">Linux,Darwin</td> <td style="text-align: left">None</td> <td style="text-align: left">True</td> <td style="text-align: left">False</td> <td style="text-align: left">False</td> </tr> </tbody> </table></div> <p>Are implementations chosen based on runtime CPU feature detection? <strong>Yes</strong>.</p> <h2 id="explanation-of-terms"> <a href="#explanation-of-terms" class="anchor-heading" aria-labelledby="explanation-of-terms"><svg viewBox="0 0 16 16" aria-hidden="true"><use xlink:href="#svg-link"></use></svg></a> Explanation of Terms </h2> <ul> <li><strong>Large Stack Usage</strong>: Implementations identified as having such may cause failures when running in threads or in constrained environments.</li> </ul> </main> <hr> <footer> <p class="text-small text-grey-dk-100 mb-0">Copyright © Open Quantum Safe a Series of LF Projects, LLC.<br>For website terms of use, trademark policy, and other project policies, please see <a href='https://lfprojects.org'>https://lfprojects.org</a>.<br /> This site uses <a href='https://pmarsceill.github.io/just-the-docs/' target='_blank'>Just the Docs</a>, a documentation theme for Jekyll. Background image by <a href='https://commons.wikimedia.org/wiki/File:05_camera_painting_motion_blur_experimental_digital_photography_by_Rick_Doble.jpg'>Rick Doble</a>.</p> </footer> </div> </div> <div class="search-overlay"></div> </div> </body> </html>