{"id":23246,"date":"2024-09-04T21:00:39","date_gmt":"2024-09-04T17:00:39","guid":{"rendered":"https:\/\/me-en.kaspersky.com\/blog\/postquantum-cryptography-2024-implementation-issues\/23246\/"},"modified":"2024-09-04T21:00:39","modified_gmt":"2024-09-04T17:00:39","slug":"postquantum-cryptography-2024-implementation-issues","status":"publish","type":"post","link":"https:\/\/me-en.kaspersky.com\/blog\/postquantum-cryptography-2024-implementation-issues\/23246\/","title":{"rendered":"Where and how post-quantum cryptography is being used in 2024"},"content":{"rendered":"<p>We regularly hear <a href=\"https:\/\/www.scmp.com\/news\/china\/science\/article\/3262459\/china-breakthrough-could-make-fault-tolerant-quantum-computing-reality\" target=\"_blank\" rel=\"nofollow noopener\">news<\/a> about <a href=\"https:\/\/www.earth.com\/news\/quantum-computing-giant-leap-forward-breakthrough-ultra-pure-silicon-discovery\/\" target=\"_blank\" rel=\"nofollow noopener\">breakthroughs<\/a> leading to the advent of working quantum computers. For now, such a computer doesn\u2019t exist, so nobody can use one to <a href=\"https:\/\/www.kaspersky.com\/blog\/quantum-computing-vs-data-encryption\/36301\/\" target=\"_blank\" rel=\"nofollow noopener\">crack encryption<\/a>. But when it does arrive, it\u2019ll already be too late to address the problem. That\u2019s why new encryption algorithms that are resistant to both classical hacking methods and quantum-computer attacks are being standardized today. These algorithms are known as post-quantum or quantum-resistant. Support for these algorithms is gradually appearing in everyday devices and applications \u2014 they were recently integrated into Google Chrome. This, by the way, immediately exposed compatibility issues within standard organizational IT infrastructures. So, where have post-quantum algorithms already been implemented, and what should IT teams prepare for?<\/p>\n<h2>Which services already support post-quantum algorithms?<\/h2>\n<p><strong>Amazon. <\/strong>The cloud giant introduced a <a href=\"https:\/\/docs.aws.amazon.com\/kms\/latest\/developerguide\/pqtls.html\" target=\"_blank\" rel=\"nofollow noopener\">\u201cpost-quantum\u201d variant of TLS 1.3<\/a> for its AWS Key Management Service (KMS) back in 2020. Since then, the solution has been updated, adapting its configuration settings in line with NIST recommendations.<\/p>\n<p><strong>Apple iOS\/iPadOS\/macOS. <\/strong>In February 2024, Apple announced an <a href=\"https:\/\/security.apple.com\/blog\/imessage-pq3\/\" target=\"_blank\" rel=\"nofollow noopener\">update to the iMessage protocol<\/a>, which will use the PQ3 quantum-resistant protocol for key exchange. It\u2019s based on the NIST-recommended Kyber algorithm, but also utilizes classical <a href=\"https:\/\/en.wikipedia.org\/wiki\/Elliptic-curve_cryptography\" target=\"_blank\" rel=\"nofollow noopener\">elliptic-curve cryptography<\/a>, providing dual-layer encryption.<\/p>\n<p><strong>Cloudflare.<\/strong> Since September 2023, Cloudflare has supported <a href=\"https:\/\/blog.cloudflare.com\/post-quantum-to-origins\" target=\"_blank\" rel=\"nofollow noopener\">post-quantum key agreement algorithms<\/a> for establishing connections to origin servers (client websites), and is gradually rolling out support for post-quantum cryptography for client connections. The technology is used when establishing a TLS connection with compatible servers\/clients, applying a dual key agreement algorithm: classical X25519 for one part of the key, and post-quantum Kyber for the other. This popular combination is known as X25519Kyber768.<\/p>\n<p><strong>Google Chrome.<\/strong> Test support for post-quantum cryptography for establishing TLS connections appeared in August 2023, and as of version 124 in April 2024, it\u2019s enabled by default. The algorithm used is X25519Kyber768.<\/p>\n<p><strong>Mozilla Firefox.<\/strong> Support for X25519Kyber768 for TLS and QUIC appeared at the beginning of 2024, but it\u2019s still not enabled by default and must be activated manually.<\/p>\n<p><strong>Mullvad.<\/strong> This popular VPN service <a href=\"https:\/\/mullvad.net\/en\/blog\/stable-quantum-resistant-tunnels-in-the-app\" target=\"_blank\" rel=\"nofollow noopener\">uses<\/a> the following PQC method: first, a traditional encrypted connection is established, after which a new key agreement is conducted using the Classic McEliece and Kyber algorithms. The connection is then re-established with these keys.<\/p>\n<p><strong>Signal. <\/strong>The messenger <a href=\"https:\/\/signal.org\/blog\/pqxdh\/\" target=\"_blank\" rel=\"nofollow noopener\">implemented the PQDXH protocol<\/a> in September 2023, using the same X25519Kyber768 mechanism.<\/p>\n<p><strong>Tuta(nota).<\/strong> The popular secure email service allows users to send <a href=\"https:\/\/tuta.com\/blog\/post-quantum-cryptography\" target=\"_blank\" rel=\"nofollow noopener\">post-quantum encrypted emails<\/a> using the X25519Kyber768 algorithm. However, the obvious drawback is that this only works when communicating with other Tuta users.<\/p>\n<p>Although not yet a commercial product, it\u2019s also worth mentioning <a href=\"https:\/\/security.googleblog.com\/2023\/08\/toward-quantum-resilient-security-keys.html\" target=\"_blank\" rel=\"nofollow noopener\">Google\u2019s implementation of FIDO2 hardware security keys<\/a>, which use a combination of classical ECDSA and post-quantum Dilithium.<\/p>\n<p>In addition to these, PQC is supported by numerous libraries that serve as the foundation for other products, from email and web servers to operating systems. Notable libraries include <a href=\"https:\/\/github.com\/open-quantum-safe\/openssl\" target=\"_blank\" rel=\"nofollow noopener\">OpenSSL<\/a> and <a href=\"https:\/\/github.com\/open-quantum-safe\/boringssl\" target=\"_blank\" rel=\"nofollow noopener\">BoringSSL<\/a>, as well as the <a href=\"https:\/\/sources.debian.org\/src\/liboqs\/0.8.0-1\/src\/kem\/kyber\/\" target=\"_blank\" rel=\"nofollow noopener\">experimental<\/a> branch of Debian. Many of these implementations have been made possible thanks to the <a href=\"https:\/\/openquantumsafe.org\/\" target=\"_blank\" rel=\"nofollow noopener\">Open Quantum Safe<\/a> initiative, which supports post-quantum forks of popular cryptographic utilities and libraries, available for a variety of popular programming languages.<\/p>\n<h2>The main drawbacks of quantum-resistant cryptography<\/h2>\n<ol>\n<li>The algorithms haven\u2019t been sufficiently analyzed. Although the broader scientific community has been conducting cryptanalysis for several years, the mathematical principles behind post-quantum cryptography are more complex. Moreover, experience with classical cryptography shows that serious flaws or new attack methods can sometimes be discovered decades later. It\u2019s almost certain that vulnerabilities will be found in modern PQC algorithms \u2014 not just <a href=\"http:\/\/kyberslash.cr.yp.to\/index.html\" target=\"_blank\" rel=\"nofollow noopener\">implementation vulnerabilities<\/a>, but <a href=\"https:\/\/arstechnica.com\/information-technology\/2022\/08\/sike-once-a-post-quantum-encryption-contender-is-koed-in-nist-smackdown\/\" target=\"_blank\" rel=\"nofollow noopener\">fundamental algorithmic defects<\/a>.<\/li>\n<li>Key sizes are significantly larger than in RSA and ECC. For example, the Kyber768 post-quantum algorithm has a public key size of 2400 bytes. This leads to a significant increase in data transmission volumes if key renegotiation occurs frequently. In tightly designed or low-power systems, there might not be enough memory for such large keys.<\/li>\n<li>The computational load of PQC is also higher than classical, which slows down operations and increases energy consumption by 2\u20133 times. However, this issue may be resolved in the future with optimized hardware.<\/li>\n<li>Compatibility issues. All updates to encryption standards and protocols \u2014 even classical ones \u2014 create complications when some systems have been updated and other related ones haven\u2019t.<\/li>\n<\/ol>\n<h2>Post-quantum compatibility problems<\/h2>\n<p>Practical issues will primarily affect services using the TLS protocol for connections. TLS is implemented in numerous ways across thousands of products \u2014 sometimes with errors. As soon as Google enabled Kyber support by default in Chromium 124, administrators <a href=\"https:\/\/www.reddit.com\/r\/sysadmin\/comments\/1carvpd\/chrome_124_breaks_tls_handshake\/\" target=\"_blank\" rel=\"nofollow noopener\">started reporting<\/a> that Chrome and Edge couldn\u2019t establish connections with web servers, as they would immediately disconnect with an error after the ClientHello TLS handshake. This issue was caused by problem number two: the large key size. As a result, the ClientHello TLS message, which always fitted into a single TCP packet, expanded into multiple packets, and so servers, proxies, and firewalls not prepared for this larger ClientHello message would immediately terminate the connection. Appropriate behavior would involve reading the following packets and agreeing on an older, classical encryption algorithm with the client. A list of incompatible web servers and firewalls affected by this issue is being tracked on a <a href=\"https:\/\/tldr.fail\/\" target=\"_blank\" rel=\"nofollow noopener\">dedicated site<\/a>, with Cisco notably listed.<\/p>\n<p>If an organization suddenly can\u2019t open any websites, the problem is likely with the proxy or firewall, which needs an update. Until the developers of incompatible applications and devices release patches, a temporary solution is to disable PQC:<\/p>\n<ul>\n<li>using <a href=\"https:\/\/learn.microsoft.com\/en-us\/deployedge\/microsoft-edge-policies#enable-post-quantum-key-agreement-for-tls\" target=\"_blank\" rel=\"nofollow noopener\">MS Edge<\/a> and <a href=\"https:\/\/chromeenterprise.google\/policies\/#PostQuantumKeyAgreementEnabled\" target=\"_blank\" rel=\"nofollow noopener\">Chrome<\/a> group policies<\/li>\n<li>in Chrome\u2019s advanced settings:\u00a0<a href=\"\/\/flags\/#enable-tls13-kyber\" target=\"_blank\" rel=\"nofollow noopener\">chrome:\/\/flags\/#enable-tls13-kyber<\/a><\/li>\n<li>in Firefox\u2019s settings: about:config -&gt; security.tls.enable_kyber<\/li>\n<\/ul>\n<p>Administrators are advised to check their websites and web applications by enabling Kyber support in Firefox or Chrome and attempting to access the site. If an SSL\/TLS error occurs, the web server needs to be updated.<\/p>\n<h2>Quantum-resistant cryptography standards<\/h2>\n<p>Standardization is key to preventing a \u201cprotocol mess\u201d and compatibility issues. For PQC, this process is ongoing but far from complete.<\/p>\n<p>NIST recently <a href=\"https:\/\/www.kaspersky.com\/blog\/post-quantum-cryptography-standards\/52066\/\" target=\"_blank\" rel=\"nofollow noopener\">introduced the first full-fledged standards<\/a> for post-quantum cryptography \u2014 FIPS 203, FIPS 204, and FIPS 205. Essentially, these are CRYSTALS-Kyber for key exchange, along with CRYSTALS-Dilithium and SPHINCS+ for various digital-signature scenarios.<\/p>\n<p>European organizations \u00a0from \u2014 ENISA and ETSI to BSI and ANSSI \u2014 <a href=\"https:\/\/www.enisa.europa.eu\/publications\/post-quantum-cryptography-integration-study?trk=article-ssr-frontend-pulse_little-text-block\" target=\"_blank\" rel=\"nofollow noopener\">intend to adopt NIST\u2019s standards<\/a> but are open to considering additional algorithms if they prove to be better. They all emphasize the necessity of <strong>double encryption<\/strong> for critical data \u2014 using both post-quantum and classical algorithms simultaneously. Given the novelty of post-quantum algorithms, innovative methods of breaking them may emerge, which is why the second layer of encryption is recommended.<\/p>\n<p>China plans to standardize post-quantum algorithms in <a href=\"https:\/\/tech.sina.com.cn\/d\/i\/2018-11-07\/doc-ihmutuea7719862.shtml\" target=\"_blank\" rel=\"nofollow noopener\">2025<\/a>. The Chinese Association for Cryptologic Research (CACR) <a href=\"https:\/\/www.cacrnet.org.cn\/site\/content\/854.html\" target=\"_blank\" rel=\"nofollow noopener\">announced<\/a> the finalists in 2020: Aigis-sig and Aigis-enc (modified relatives of CRYSTALS-Kyber and CRYSTALS-Dilithium) and LAC.PKE.<\/p>\n<p>Meanwhile, the IETF working group responsible for internet protocols will likely <a href=\"https:\/\/wiki.ietf.org\/group\/sec\/PQCAgility\" target=\"_blank\" rel=\"nofollow noopener\">endorse the use<\/a> of cryptography standards proposed by NIST in these protocols.<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"kaspersky-next\">\n","protected":false},"excerpt":{"rendered":"<p>Where and why quantum-resistant cryptography has already been implemented, and what compatibility issues it caused.<\/p>\n","protected":false},"author":2722,"featured_media":23247,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1318,1916,1917],"tags":[16,566,261,21,2784,448,521],"class_list":{"0":"post-23246","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"category-enterprise","9":"category-smb","10":"tag-chrome","11":"tag-cryptography","12":"tag-encryption","13":"tag-firefox","14":"tag-post-quantum-cryptography","15":"tag-quantum-computers","16":"tag-threats"},"hreflang":[{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/postquantum-cryptography-2024-implementation-issues\/23246\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/postquantum-cryptography-2024-implementation-issues\/27952\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/postquantum-cryptography-2024-implementation-issues\/28127\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/postquantum-cryptography-2024-implementation-issues\/38195\/"},{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/postquantum-cryptography-2024-implementation-issues\/52095\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/postquantum-cryptography-2024-implementation-issues\/28261\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/postquantum-cryptography-2024-implementation-issues\/34061\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/postquantum-cryptography-2024-implementation-issues\/33722\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/me-en.kaspersky.com\/blog\/tag\/cryptography\/","name":"cryptography"},"_links":{"self":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/23246","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/users\/2722"}],"replies":[{"embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/comments?post=23246"}],"version-history":[{"count":0,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/23246\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/media\/23247"}],"wp:attachment":[{"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/media?parent=23246"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/categories?post=23246"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/me-en.kaspersky.com\/blog\/wp-json\/wp\/v2\/tags?post=23246"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}