<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>cryptography on The Trail of Bits Blog</title><link>https://miscreants.github.io/blog.trailofbits.com/categories/cryptography/</link><description>Recent content in cryptography on The Trail of Bits Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 02 Dec 2025 00:00:00 -0500</lastBuildDate><atom:link href="https://miscreants.github.io/blog.trailofbits.com/categories/cryptography/index.xml" rel="self" type="application/rss+xml"/><item><title>Introducing constant-time support for LLVM to protect cryptographic code</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/12/02/introducing-constant-time-support-for-llvm-to-protect-cryptographic-code/</link><pubDate>Tue, 02 Dec 2025 07:00:00 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/12/02/introducing-constant-time-support-for-llvm-to-protect-cryptographic-code/</guid><description>Trail of Bits developed constant-time coding support for LLVM that prevents compilers from breaking cryptographic implementations vulnerable to timing attacks, introducing the __builtin_ct_select family of intrinsics that preserve constant-time properties throughout compilation.</description></item><item><title>We found cryptography bugs in the elliptic library using Wycheproof</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/11/18/we-found-cryptography-bugs-in-the-elliptic-library-using-wycheproof/</link><pubDate>Tue, 18 Nov 2025 07:00:00 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/11/18/we-found-cryptography-bugs-in-the-elliptic-library-using-wycheproof/</guid><description>Trail of Bits discovered and disclosed two vulnerabilities in the widely used elliptic JavaScript library that could allow signature forgery or prevent valid signature verification, with one vulnerability still unfixed after the 90-day disclosure window.</description></item><item><title>How we avoided side-channels in our new post-quantum Go cryptography libraries</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/11/14/how-we-avoided-side-channels-in-our-new-post-quantum-go-cryptography-libraries/</link><pubDate>Fri, 14 Nov 2025 07:00:00 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/11/14/how-we-avoided-side-channels-in-our-new-post-quantum-go-cryptography-libraries/</guid><description>We&amp;rsquo;ve released open-source Go implementations of ML-DSA and SLH-DSA.</description></item><item><title>The cryptography behind electronic passports</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/10/31/the-cryptography-behind-electronic-passports/</link><pubDate>Fri, 31 Oct 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/10/31/the-cryptography-behind-electronic-passports/</guid><description>This blog post describes how electronic passports work, the threats within their threat model, and how they protect against those threats using cryptography. It also discusses the implications of using electronic passports for novel applications, such as zero-knowledge identity proofs.</description></item><item><title>Vulnerabilities in LUKS2 disk encryption for confidential VMs</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/10/30/vulnerabilities-in-luks2-disk-encryption-for-confidential-vms/</link><pubDate>Thu, 30 Oct 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/10/30/vulnerabilities-in-luks2-disk-encryption-for-confidential-vms/</guid><description>Trail of Bits is disclosing vulnerabilities in confidential computing systems that use LUKS2 for disk encryption. These vulnerabilities allow attackers with access to storage disks to extract confidential data and modify contents.</description></item><item><title>Building secure messaging is hard: A nuanced take on the Bitchat security debate</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/07/18/building-secure-messaging-is-hard-a-nuanced-take-on-the-bitchat-security-debate/</link><pubDate>Fri, 18 Jul 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/07/18/building-secure-messaging-is-hard-a-nuanced-take-on-the-bitchat-security-debate/</guid><description>The release of Bitchat last week was met with a mixture of glowing praise and sharp criticism. Both extremes bear some truth, but they also miss the mark and reveal gaps in how we discuss security in emerging products.</description></item><item><title>What we learned reviewing one of the first DKLs23 libraries from Silence Laboratories</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/06/10/what-we-learned-reviewing-one-of-the-first-dkls23-libraries-from-silence-laboratories/</link><pubDate>Tue, 10 Jun 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/06/10/what-we-learned-reviewing-one-of-the-first-dkls23-libraries-from-silence-laboratories/</guid><description>In October 2023, we audited Silence Laboratories’ DKLs23 threshold signature scheme (TSS) library—one of the first production implementations of this then-novel protocol that uses oblivious transfer (OT) instead of traditional Paillier cryptography. Our review uncovered serious flaws that could enable key destruction attacks, which Silence Laboratories promptly fixed.</description></item><item><title>A deep dive into Axiom’s Halo2 circuits</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/05/30/a-deep-dive-into-axioms-halo2-circuits/</link><pubDate>Fri, 30 May 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/05/30/a-deep-dive-into-axioms-halo2-circuits/</guid><description>Over two audits in 2023, we reviewed a blockchain system developed by Axiom that allows computing over the entire history of Ethereum, all verified by zero-knowledge proofs (ZKPs) on-chain using ZK-verified elliptic curve and SNARK recursion operations. This system is built using the Halo2 framework—a complex, emerging technology that presents many challenges when building a secure application, including potential under-constrained issues resulting from its low-level API.</description></item><item><title>The cryptography behind passkeys</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/05/14/the-cryptography-behind-passkeys/</link><pubDate>Wed, 14 May 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/05/14/the-cryptography-behind-passkeys/</guid><description>This post will examine the cryptography behind passkeys, the guarantees they do or do not give, and interesting cryptographic things you can do with them, such as generating cryptographic keys and storing certificates.</description></item><item><title>Sneak peek: A new ASN.1 API for Python</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/04/18/sneak-peek-a-new-asn.1-api-for-python/</link><pubDate>Fri, 18 Apr 2025 09:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/04/18/sneak-peek-a-new-asn.1-api-for-python/</guid><description>We&amp;rsquo;re working on integrating an ASN.1 API into PyCA Cryptography,&lt;br&gt;
built on top of the same Rust ASN.1 implementation already used by&lt;br&gt;
Cryptography&amp;rsquo;s X.509 APIs.</description></item><item><title>Best practices for key derivation</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/01/28/best-practices-for-key-derivation/</link><pubDate>Tue, 28 Jan 2025 09:00:18 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/01/28/best-practices-for-key-derivation/</guid><description>Key derivation is essential in many cryptographic applications, including key exchange, key management, secure communications, and building robust cryptographic primitives. But it’s also easy to get wrong: although standard tools exist for different key derivation needs, our audits often uncover improper uses of these tools that could compromise key security. Flickr’s API […]</description></item><item><title>Celebrating our 2024 open-source contributions</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/01/23/celebrating-our-2024-open-source-contributions/</link><pubDate>Thu, 23 Jan 2025 09:00:30 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/01/23/celebrating-our-2024-open-source-contributions/</guid><description>While Trail of Bits is known for developing security tools like Slither, Medusa, and Fickling, our engineering efforts extend far beyond our own projects. Throughout 2024, our team has been deeply engaged with the broader security ecosystem, tackling challenges in open-source tools and infrastructure that security engineers rely on every day. This year, our engineers […]</description></item><item><title>Friends don’t let friends reuse IVs</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/09/13/friends-dont-let-friends-reuse-nonces/</link><pubDate>Fri, 13 Sep 2024 09:00:54 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/09/13/friends-dont-let-friends-reuse-nonces/</guid><description>If you’ve encountered cryptography software, you’ve probably heard the advice to never use an IV twice—in fact, that’s exactly where the other common name, nonce (number used once), comes from. Depending on the cryptography involved, a reused nonce can reveal encrypted messages, or even leak your secret key! But common knowledge may not cover every […]</description></item><item><title>“YOLO” is not a valid hash construction</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/08/21/yolo-is-not-a-valid-hash-construction/</link><pubDate>Wed, 21 Aug 2024 09:00:51 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/08/21/yolo-is-not-a-valid-hash-construction/</guid><description>Among the cryptographic missteps we see at Trail of Bits, “let’s build our own tool out of a hash function” is one of the most common. Clients have a problem along the lines of “we need to hash a bunch of different values together” or “we need a MAC” or “we need […]</description></item><item><title>We wrote the code, and the code won</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/08/15/we-wrote-the-code-and-the-code-won/</link><pubDate>Thu, 15 Aug 2024 07:50:31 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/08/15/we-wrote-the-code-and-the-code-won/</guid><description>Earlier this week, NIST officially announced three standards specifying FIPS-approved algorithms for post-quantum cryptography. The Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) is one of these standardized algorithms. The Trail of Bits cryptography team has been anticipating this announcement, and we are excited to share an announcement of our own: we built an open-source pure-Rust implementation of SLH-DSA, which has been merged into RustCrypto.</description></item><item><title>Cloud cryptography demystified: Google Cloud Platform</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/08/05/cloud-cryptography-demystified-google-cloud-platform/</link><pubDate>Mon, 05 Aug 2024 09:00:03 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/08/05/cloud-cryptography-demystified-google-cloud-platform/</guid><description>This post, the second in our series on cryptography in the cloud, provides an overview of the cloud cryptography services offered within Google Cloud Platform (GCP): when to use them, when not to use them, and important usage considerations. Stay tuned for future posts covering other cloud services. At Trail of Bits, […]</description></item><item><title>Our crypto experts answer 10 key questions</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/07/25/our-crypto-experts-answer-10-key-questions/</link><pubDate>Thu, 25 Jul 2024 09:00:36 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/07/25/our-crypto-experts-answer-10-key-questions/</guid><description>Cryptography is a fundamental part of electronics and the internet that helps secure credit cards, cell phones, web browsing (fingers crossed you’re using TLS!), and even top-secret military data. Cryptography is just as essential in the blockchain space, with blockchains like Ethereum depending on hashes, Merkle trees, and ECDSA signatures, among other […]</description></item><item><title>Announcing AES-GEM (AES with Galois Extended Mode)</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/07/12/announcing-aes-gem-aes-with-galois-extended-mode/</link><pubDate>Fri, 12 Jul 2024 09:00:35 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/07/12/announcing-aes-gem-aes-with-galois-extended-mode/</guid><description>Today, AES-GCM is one of two cipher modes used by TLS 1.3 (the other being ChaCha20-Poly1305) and the preferred method for encrypting data in FIPS-validated modules. But despite its overwhelming success, AES-GCM has been the root cause of some catastrophic failures: for example, Hanno Böck and Sean Devlin exploited nonce misuse to […]</description></item><item><title>Quantum is unimportant to post-quantum</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/07/01/quantum-is-unimportant-to-post-quantum/</link><pubDate>Mon, 01 Jul 2024 09:00:01 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/07/01/quantum-is-unimportant-to-post-quantum/</guid><description>You might be hearing a lot about post-quantum (PQ) cryptography lately, and it’s easy to wonder why it’s such a big deal when nobody has actually seen a quantum computer. But even if a quantum computer is never built, new PQ standards are safer, more resilient, and more flexible than their classical […]</description></item><item><title>Disarming Fiat-Shamir footguns</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/06/24/disarming-fiat-shamir-footguns/</link><pubDate>Mon, 24 Jun 2024 09:00:38 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/06/24/disarming-fiat-shamir-footguns/</guid><description>The Fiat-Shamir transform is an important building block in zero-knowledge proofs (ZKPs) and multi-party computation (MPC). It allows zero-knowledge proofs based on interactive protocols to be made non-interactive. Essentially, it turns conversations into documents. This ability is at the core of powerful technologies like SNARKs and STARKs. Useful stuff! But the Fiat-Shamir […]</description></item><item><title>Themes from Real World Crypto 2024</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/06/18/themes-from-real-world-crypto-2024/</link><pubDate>Tue, 18 Jun 2024 09:00:27 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/06/18/themes-from-real-world-crypto-2024/</guid><description>In March, Trail of Bits engineers traveled to the vibrant (and only slightly chilly) city of Toronto to attend Real World Crypto 2024, a three-day event that hosted hundreds of brilliant minds in the field of cryptography. We also attended three associated events: the Real World Post-Quantum Cryptography (RWPQC) workshop, the Fully Homomorphic Encryption (FHE) […]</description></item><item><title>A peek into build provenance for Homebrew</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/05/14/a-peek-into-build-provenance-for-homebrew/</link><pubDate>Tue, 14 May 2024 09:00:05 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/05/14/a-peek-into-build-provenance-for-homebrew/</guid><description>Last November, we announced our collaboration with Alpha-Omega and OpenSSF to add build provenance to Homebrew. Today, we are pleased to announce that the core of that work is live and in public beta: homebrew-core is now cryptographically attesting to all bottles built in the official Homebrew CI. You […]</description></item><item><title>Announcing two new LMS libraries</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/04/26/announcing-two-new-lms-libraries/</link><pubDate>Fri, 26 Apr 2024 09:00:32 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/04/26/announcing-two-new-lms-libraries/</guid><description>The Trail of Bits cryptography team is pleased to announce the open-sourcing of our pure Rust and Go implementations of Leighton-Micali Hash-Based Signatures (LMS), a well-studied NIST-standardized post-quantum digital signature algorithm. If you or your organization are looking to transition to post-quantum support for digital signatures, both of these implementations have been […]</description></item><item><title>Cryptographic design review of Ockam</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/03/05/cryptographic-design-review-of-ockam/</link><pubDate>Tue, 05 Mar 2024 09:00:38 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/03/05/cryptographic-design-review-of-ockam/</guid><description>In October 2023, Ockam hired Trail of Bits to review the design of its product, a set of protocols that aims to enable secure communication (i.e., end-to-end encrypted and mutually authenticated channels) across various heterogeneous networks. A secure system starts at the design […]</description></item><item><title>Circomspect has been integrated into the Sindri CLI</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/02/26/circomspect-has-been-integrated-into-the-sindri-cli/</link><pubDate>Mon, 26 Feb 2024 09:00:02 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/02/26/circomspect-has-been-integrated-into-the-sindri-cli/</guid><description>Our tool Circomspect is now integrated into the Sindri command-line interface (CLI)! We designed Circomspect to help developers build Circom circuits more securely, particularly given the limited tooling support available for this novel programming framework. Integrating this tool into a development environment like that provided by Sindri is a significant step toward […]</description></item><item><title>Breaking the shared key in threshold signature schemes</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/02/20/breaking-the-shared-key-in-threshold-signature-schemes/</link><pubDate>Tue, 20 Feb 2024 09:30:37 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/02/20/breaking-the-shared-key-in-threshold-signature-schemes/</guid><description>Today we are disclosing a denial-of-service vulnerability that affects the Pedersen distributed key generation (DKG) phase of a number of threshold signature scheme implementations based on the Frost, DMZ21, GG20, and GG18 protocols. The vulnerability allows a single malicious participant to surreptitiously raise the threshold required to reconstruct the shared key, which […]</description></item><item><title>Cloud cryptography demystified: Amazon Web Services</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/02/14/cloud-cryptography-demystified-amazon-web-services/</link><pubDate>Wed, 14 Feb 2024 09:00:06 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/02/14/cloud-cryptography-demystified-amazon-web-services/</guid><description>This post, part of a series on cryptography in the cloud, provides an overview of the cloud cryptography services offered within Amazon Web Services (AWS): when to use them, when not to use them, and important usage considerations. Stay tuned for future posts covering other cloud services. At Trail of Bits, we […]</description></item><item><title>Chaos Communication Congress (37C3) recap</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/02/02/chaos-communication-congress-37c3-recap/</link><pubDate>Fri, 02 Feb 2024 09:00:01 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/02/02/chaos-communication-congress-37c3-recap/</guid><description>Last month, two of our engineers attended the 37th Chaos Communication Congress (37C3) in Hamburg, joining thousands of hackers who gather each year to exchange the latest research and achievements in technology and security. Unlike other tech conferences, this annual gathering focuses on the interaction of technology and society, covering such topics as politics, entertainment, […]</description></item><item><title>We build X.509 chains so you don’t have to</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/01/25/we-build-x-509-chains-so-you-dont-have-to/</link><pubDate>Thu, 25 Jan 2024 09:00:22 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/01/25/we-build-x-509-chains-so-you-dont-have-to/</guid><description>For the past eight months, Trail of Bits has worked with the Python Cryptographic Authority to build cryptography-x509-verification, a brand-new, pure-Rust implementation of the X.509 path validation algorithm that TLS and other encryption and authentication protocols are built on. Our implementation is fast, standards-conforming, and memory-safe, giving the Python ecosystem a modern […]</description></item><item><title>Celebrating our 2023 open-source contributions</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/01/24/celebrating-our-2023-open-source-contributions/</link><pubDate>Wed, 24 Jan 2024 09:00:22 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/01/24/celebrating-our-2023-open-source-contributions/</guid><description>At Trail of Bits, we pride ourselves on making our best tools open source, such as Slither, PolyTracker, and RPC Investigator. But while this post is about open source, it’s not about our tools… In 2023, our employees submitted over 450 pull requests (PRs) that were merged into non-Trail of Bits repositories. This demonstrates our […]</description></item><item><title>Tag, you’re it: Signal tagging in Circom</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/01/02/tag-youre-it-signal-tagging-in-circom/</link><pubDate>Tue, 02 Jan 2024 09:00:01 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/01/02/tag-youre-it-signal-tagging-in-circom/</guid><description>We at Trail of Bits perform security reviews for a seemingly endless stream of applications that use zero-knowledge (ZK) proofs. While fast new arithmetization and folding libraries like Halo2, Plonky2, and Boojum are rapidly gaining adoption, Circom remains a mainstay of ZK circuit design. We’ve written about Circom safety before in the […]</description></item><item><title>We’ve added more content to ZKDocs</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/12/26/weve-added-more-content-to-zkdocs/</link><pubDate>Tue, 26 Dec 2023 09:00:59 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/12/26/weve-added-more-content-to-zkdocs/</guid><description>We’ve updated ZKDocs with four new sections and additions to existing content. ZKDocs provides explanations, guidance, and documentation for cryptographic protocols that are otherwise sparingly discussed but are used in practice. As such, we’ve added four new sections detailing common protocols that previously lacked implementation guidance: The Inner Product Argument (IPA), which […]</description></item><item><title>Catching OpenSSL misuse using CodeQL</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/12/22/catching-openssl-misuse-using-codeql/</link><pubDate>Fri, 22 Dec 2023 09:00:35 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/12/22/catching-openssl-misuse-using-codeql/</guid><description>I’ve created five CodeQL queries that catch potentially potent bugs in the OpenSSL libcrypto API, a widely adopted but often unforgiving API that can be misused to cause memory leaks, authentication bypasses, and other subtle cryptographic issues in implementations. These queries—which I developed during my internship with my mentors, Fredrik Dahlgren and […]</description></item><item><title>A trail of flipping bits</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/12/18/a-trail-of-flipping-bits/</link><pubDate>Mon, 18 Dec 2023 08:30:16 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/12/18/a-trail-of-flipping-bits/</guid><description>Trusted execution environments (TEE) such as secure enclaves are becoming more popular to secure assets in the cloud. Their promise is enticing because when enclaves are properly used, even the operator of the enclave or the cloud service should not be able to access those assets. However, this leads to […]</description></item><item><title>Publishing Trail of Bits’ CodeQL queries</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/12/06/publishing-trail-of-bits-codeql-queries/</link><pubDate>Wed, 06 Dec 2023 08:30:25 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/12/06/publishing-trail-of-bits-codeql-queries/</guid><description>We are publishing a set of custom CodeQL queries for Go and C. We have used them to find critical issues that the standard CodeQL queries would have missed. This new release of a continuously updated repository of CodeQL queries joins our public Semgrep rules and Automated Testing Handbook in an effort […]</description></item><item><title>Adding build provenance to Homebrew</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/11/06/adding-build-provenance-to-homebrew/</link><pubDate>Mon, 06 Nov 2023 08:00:37 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/11/06/adding-build-provenance-to-homebrew/</guid><description>This is a joint post with Alpha-Omega—read their announcement post as well! We&amp;rsquo;re starting a new project in collaboration with Alpha-Omega and OpenSSF to improve the transparency and security of Homebrew. This six-month project will bring cryptographically verifiable build provenance to homebrew-core, allowing end users and companies to prove that Homebrew&amp;rsquo;s packages come from the official Homebrew CI/CD.</description></item><item><title>Don’t overextend your Oblivious Transfer</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/09/20/dont-overextend-your-oblivious-transfer/</link><pubDate>Wed, 20 Sep 2023 08:00:53 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/09/20/dont-overextend-your-oblivious-transfer/</guid><description>We found a vulnerability in a threshold signature scheme that allows an attacker to recover the signing key of threshold ECDSA implementations that are based on Oblivious Transfer (OT). A malicious participant of the threshold signing protocols could perform selective abort attacks during the OT extension subprotocol, recover the secret […]</description></item><item><title>A mistake in the bulletproofs paper could have led to the theft of millions of dollars</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/08/02/a-mistake-in-the-bulletproofs-paper-could-have-led-to-the-theft-of-millions-of-dollars/</link><pubDate>Wed, 02 Aug 2023 07:00:30 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/08/02/a-mistake-in-the-bulletproofs-paper-could-have-led-to-the-theft-of-millions-of-dollars/</guid><description>We discovered a critical vulnerability in Incognito Chain that would allow an attacker to mint arbitrary tokens and drain user funds. Incognito offers confidential transactions through zero-knowledge proofs, so an attacker could have stolen millions of dollars of shielded funds without ever being detected or identified. The vulnerability stemmed from an insecure […]</description></item><item><title>Real World Crypto 2023 Recap</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/05/16/real-world-crypto-2023-recap/</link><pubDate>Tue, 16 May 2023 09:54:43 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/05/16/real-world-crypto-2023-recap/</guid><description>Last month, hundreds of cryptographers descended upon Tokyo for the first Real World Crypto Conference in Asia. As in previous years, we dispatched a handful of our researchers and engineers to present and attend the conference. What sets RWC apart from other conferences is that it strongly emphasizes research, collaborations, and advancements in cryptography that […]</description></item><item><title>Circomspect has more passes!</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/03/21/circomspect-static-analyzer-circom-more-passes/</link><pubDate>Tue, 21 Mar 2023 08:00:24 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/03/21/circomspect-static-analyzer-circom-more-passes/</guid><description>TL;DR: We have released version 0.8.0 of Circomspect, our static analyzer and linter for Circom. Since our initial release of Circomspect in September 2022, we have added five new analysis passes, support for tags, tuples, and anonymous components, links to in-depth descriptions of each identified issue, and squashed a […]</description></item><item><title>Announcing a stable release of sigstore-python</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/01/13/sigstore-python/</link><pubDate>Fri, 13 Jan 2023 10:00:58 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/01/13/sigstore-python/</guid><description>Read the official announcement on the Sigstore blog as well! Trail of Bits is thrilled to announce the first stable release of sigstore-python, a client implementation of Sigstore that we’ve been developing for nearly a year! This work has been graciously funded by Google’s Open Source Security Team (GOSST), who we’ve also […]</description></item><item><title>Keeping the wolves out of wolfSSL</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/01/12/wolfssl-vulnerabilities-tlspuffin-fuzzing-ssh/</link><pubDate>Thu, 12 Jan 2023 08:00:17 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/01/12/wolfssl-vulnerabilities-tlspuffin-fuzzing-ssh/</guid><description>Trail of Bits is publicly disclosing four vulnerabilities that affect wolfSSL: CVE-2022-38152, CVE-2022-38153, CVE-2022-39173, and CVE-2022-42905. The four issues, which have CVSS scores ranging from medium to critical, can all result in a denial of service (DoS). These vulnerabilities have been discovered automatically using the novel protocol fuzzer tlspuffin. This blog post […]</description></item><item><title>Specialized Zero-Knowledge Proof failures</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/11/29/specialized-zero-knowledge-proof-failures/</link><pubDate>Tue, 29 Nov 2022 07:30:56 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/11/29/specialized-zero-knowledge-proof-failures/</guid><description>Zero-knowledge (ZK) proofs are useful cryptographic tools that have seen an explosion of interest in recent years, largely due to their applications to cryptocurrency. The fundamental idea of a ZK proof is that a person with a secret piece of information (a cryptographic key, for instance) can prove something about the secret […]</description></item><item><title>We sign code now</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/11/08/sigstore-code-signing-verification-software-supply-chain/</link><pubDate>Tue, 08 Nov 2022 07:30:15 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/11/08/sigstore-code-signing-verification-software-supply-chain/</guid><description>Sigstore announced the general availability of its free and ecosystem-agnostic software signing service two weeks ago, giving developers a way to sign, verify and protect their software projects and the dependencies they rely on. Trail of Bits is absolutely thrilled to be a part of the project, and we spoke about our […]</description></item><item><title>It pays to be Circomspect</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/09/15/it-pays-to-be-circomspect/</link><pubDate>Thu, 15 Sep 2022 00:00:43 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/09/15/it-pays-to-be-circomspect/</guid><description>In October 2019, a security researcher found a devastating vulnerability in Tornado.cash, a decentralized, non-custodial mixer on the Ethereum network. Tornado.cash uses zero-knowledge proofs (ZKPs) to allow its users to privately deposit and withdraw funds. The proofs are supposed to guarantee that each withdrawal can be matched against a […]</description></item><item><title>Themes from Real World Crypto 2022</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/05/03/themes-from-real-world-crypto-2022/</link><pubDate>Tue, 03 May 2022 07:00:04 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/05/03/themes-from-real-world-crypto-2022/</guid><description>Last week, over 500 cryptographers from around the world gathered in Amsterdam for Real World Crypto 2022, meeting in person for the first time in over two years. As in previous years, we dispatched a handful of our researchers and engineers to attend the conference, listen to talks, and schmooze observe the […]</description></item><item><title>Amarna: Static analysis for Cairo programs</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/04/20/amarna-static-analysis-for-cairo-programs/</link><pubDate>Wed, 20 Apr 2022 07:00:04 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/04/20/amarna-static-analysis-for-cairo-programs/</guid><description>We are open-sourcing Amarna, our new static analyzer and linter for the Cairo programming language. Cairo is a programming language powering several trading exchanges with millions of dollars in assets (such as dYdX, driven by StarkWare) and is the programming language for StarkNet contracts. But, not unlike other languages, it has its […]</description></item><item><title>The Frozen Heart vulnerability in PlonK</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/04/18/the-frozen-heart-vulnerability-in-plonk/</link><pubDate>Mon, 18 Apr 2022 07:00:01 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/04/18/the-frozen-heart-vulnerability-in-plonk/</guid><description>In part 1 of this blog post, we disclosed critical vulnerabilities that break the soundness of multiple implementations of zero-knowledge proof systems. This class of vulnerability, which we dubbed Frozen Heart, is caused by insecure implementations of the Fiat-Shamir transformation that allow malicious users to forge proofs for random statements. In part […]</description></item><item><title>The Frozen Heart vulnerability in Bulletproofs</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/04/15/the-frozen-heart-vulnerability-in-bulletproofs/</link><pubDate>Fri, 15 Apr 2022 07:00:52 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/04/15/the-frozen-heart-vulnerability-in-bulletproofs/</guid><description>In part 1 of this series, we disclosed critical vulnerabilities that break the soundness of multiple implementations of zero-knowledge proof systems. This class of vulnerability, which we dubbed Frozen Heart, is caused by insecure implementations of the Fiat-Shamir transformation that allow malicious users to forge proofs for random statements. In part 2, […]</description></item><item><title>The Frozen Heart vulnerability in Girault’s proof of knowledge</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/04/14/the-frozen-heart-vulnerability-in-giraults-proof-of-knowledge/</link><pubDate>Thu, 14 Apr 2022 07:00:32 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/04/14/the-frozen-heart-vulnerability-in-giraults-proof-of-knowledge/</guid><description>In part 1 of this series, we disclosed critical vulnerabilities that break the soundness of multiple implementations of zero-knowledge proof systems. This class of vulnerability, which we dubbed Frozen Heart, is caused by insecure implementations of the Fiat-Shamir transformation that allow malicious users to forge proofs for random statements. The vulnerability is […]</description></item><item><title>Coordinated disclosure of vulnerabilities affecting Girault, Bulletproofs, and PlonK</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/04/13/part-1-coordinated-disclosure-of-vulnerabilities-affecting-girault-bulletproofs-and-plonk/</link><pubDate>Wed, 13 Apr 2022 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/04/13/part-1-coordinated-disclosure-of-vulnerabilities-affecting-girault-bulletproofs-and-plonk/</guid><description>Trail of Bits is publicly disclosing critical vulnerabilities that break the soundness of multiple implementations of zero-knowledge proof systems, including PlonK and Bulletproofs. These vulnerabilities are caused by insecure implementations of the Fiat-Shamir transformation that allow malicious users to forge proofs for random statements. We’ve dubbed this class of vulnerabilities Frozen Heart. […]</description></item><item><title>Part 2: Improving crypto code in Rust using LLVM’s optnone</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/02/01/part-2-rusty-crypto/</link><pubDate>Tue, 01 Feb 2022 07:00:25 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/02/01/part-2-rusty-crypto/</guid><description>Let’s implement crypto! Welcome to the second part of our posts on the challenges of implementing constant-time Rust code. Part 1 discussed challenges with constant-time implementations in Rust and WebAssembly and how optimization barriers can mitigate risk. The Rust crypto community has responded with several approaches, and in this post, we will […]</description></item><item><title>Part 1: The life of an optimization barrier</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/01/26/part-1-the-life-of-an-optimization-barrier/</link><pubDate>Wed, 26 Jan 2022 07:00:35 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/01/26/part-1-the-life-of-an-optimization-barrier/</guid><description>Many engineers choose Rust as their language of choice for implementing cryptographic protocols because of its robust security guarantees. Although Rust makes safe cryptographic engineering easier, there are still some challenges to be aware of. Among them is the need to preserve constant-time properties, which ensure that, regardless of the input, code […]</description></item><item><title>Disclosing Shamir’s Secret Sharing vulnerabilities and announcing ZKDocs</title><link>https://miscreants.github.io/blog.trailofbits.com/2021/12/21/disclosing-shamirs-secret-sharing-vulnerabilities-and-announcing-zkdocs/</link><pubDate>Tue, 21 Dec 2021 07:00:04 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2021/12/21/disclosing-shamirs-secret-sharing-vulnerabilities-and-announcing-zkdocs/</guid><description>Trail of Bits is publicly disclosing two bugs that affect Shamir’s Secret Sharing implementation of Binance’s threshold signature scheme library (tss-lib) and most of its active forks. Here is the full list of affected repositories: Binance’s tss-lib Clover Network’s threshold-crypto Keep Network’s keep-ecdsa Swingby’s tss-lib THORchain’s tss-lib ZenGo X’s […]</description></item><item><title>Serving up zero-knowledge proofs</title><link>https://miscreants.github.io/blog.trailofbits.com/2021/02/19/serving-up-zero-knowledge-proofs/</link><pubDate>Fri, 19 Feb 2021 06:59:31 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2021/02/19/serving-up-zero-knowledge-proofs/</guid><description>Zero-knowledge (ZK) proofs are gaining popularity, and exciting new applications for this technology are emerging, particularly in the blockchain space. So we’d like to shine a spotlight on an interesting source of implementation bugs that we’ve seen—the Fiat Shamir transformation. A ZK proof can be either interactive, where the […]</description></item><item><title>Reverie: An optimized zero-knowledge proof system</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/12/14/reverie-an-optimized-zero-knowledge-proof-system/</link><pubDate>Mon, 14 Dec 2020 07:50:27 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/12/14/reverie-an-optimized-zero-knowledge-proof-system/</guid><description>Zero-knowledge proofs, once a theoretical curiosity, have recently seen widespread deployment in blockchain systems such as Zcash and Monero. However, most blockchain applications of ZK proofs make proof size and performance tradeoffs that are a poor fit for other use-cases. In particular, these protocols often require an elaborate trusted setup phase and optimize for proof […]</description></item><item><title>ECDSA: Handle with Care</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/06/11/ecdsa-handle-with-care/</link><pubDate>Thu, 11 Jun 2020 07:50:20 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/06/11/ecdsa-handle-with-care/</guid><description>The elliptic curve digital signature algorithm (ECDSA) is a common digital signature scheme that we see in many of our code reviews. It has some desirable properties, but can also be very fragile. For example, LadderLeak was published just a couple of weeks ago, which demonstrated the feasibility of key recovery with a side channel […]</description></item><item><title>Detecting Bad OpenSSL Usage</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/05/29/detecting-bad-openssl-usage/</link><pubDate>Fri, 29 May 2020 07:50:06 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/05/29/detecting-bad-openssl-usage/</guid><description>OpenSSL is one of the most popular cryptographic libraries out there; even if you aren’t using C/C++, chances are your programming language’s biggest libraries use OpenSSL bindings as well. It’s also notoriously easy to mess up due to the design of its low-level API. Yet many of these mistakes fall into […]</description></item><item><title>Verifying Windows binaries, without Windows</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/05/27/verifying-windows-binaries-without-windows/</link><pubDate>Wed, 27 May 2020 07:50:31 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/05/27/verifying-windows-binaries-without-windows/</guid><description>TL;DR: We’ve open-sourced a new library, μthenticode, for verifying Authenticode signatures on Windows PE binaries without a Windows machine. We’ve also integrated it into recent builds of Winchecksec, so that you can use it today to verify signatures on your Windows executables! As a library, μthenticode aims to be a breeze to integrate: It’s written […]</description></item><item><title>Reinventing Vulnerability Disclosure using Zero-knowledge Proofs</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/05/21/reinventing-vulnerability-disclosure-using-zero-knowledge-proofs/</link><pubDate>Thu, 21 May 2020 07:50:27 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/05/21/reinventing-vulnerability-disclosure-using-zero-knowledge-proofs/</guid><description>We, along with our partner Matthew Green at Johns Hopkins University, are using zero-knowledge (ZK) proofs to establish a trusted landscape in which tech companies and vulnerability researchers can communicate reasonably with one another without fear of being sabotaged or scorned. Over the next four years, we will push the state of the art in […]</description></item><item><title>Themes from Real World Crypto 2020</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/01/23/themes-from-real-world-crypto-2020/</link><pubDate>Thu, 23 Jan 2020 07:00:07 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/01/23/themes-from-real-world-crypto-2020/</guid><description>Over 642 brilliant cryptographic minds gathered for Real World Crypto 2020, an annual conference that brings together cryptographic researchers with developers implementing cryptography in the wild. Overall, RWC 2020 was an impressive conference that demonstrated some amazing work. Here we explore three major themes that emerged: Crypto bugs are everywhere…Whether it’s a somewhat unsurprising Bleichenbacher […]</description></item><item><title>Exploiting the Windows CryptoAPI Vulnerability</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/01/16/exploiting-the-windows-cryptoapi-vulnerability/</link><pubDate>Thu, 16 Jan 2020 11:28:34 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/01/16/exploiting-the-windows-cryptoapi-vulnerability/</guid><description>On Tuesday, the NSA announced they had found a critical vulnerability in the certificate validation functionality on Windows 10 and Windows Server 2016/2019. This bug allows attackers to break the validation of trust in a wide variety of contexts, such as HTTPS and code signing. Concerned? Get the important details and see if you’re vulnerable […]</description></item><item><title>How safe browsing fails to protect user privacy</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/10/30/how-safe-browsing-fails-to-protect-user-privacy/</link><pubDate>Wed, 30 Oct 2019 07:00:57 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/10/30/how-safe-browsing-fails-to-protect-user-privacy/</guid><description>Recently, security researchers discovered that Apple was sending safe browsing data to Tencent for all Chinese users. This revelation has brought the underlying security and privacy guarantees of the safe browsing protocol under increased scrutiny. In particular, safe browsing claims to protect users by providing them with something called k-anonymity. In this post we’ll show […]</description></item><item><title>Multi-Party Computation on Machine Learning</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/10/04/multi-party-computation-on-machine-learning/</link><pubDate>Fri, 04 Oct 2019 10:13:15 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/10/04/multi-party-computation-on-machine-learning/</guid><description>During my internship this summer, I built a multi-party computation (MPC) tool that implements a 3-party computation protocol for perceptron and support vector machine (SVM) algorithms. MPC enables multiple parties to perform analyses on private datasets without sharing them with each other. I defveloped a technique that lets three parties obtain the results of machine […]</description></item><item><title>Crypto 2019 Takeaways</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/09/11/crypto-2019-takeaways/</link><pubDate>Wed, 11 Sep 2019 06:50:16 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/09/11/crypto-2019-takeaways/</guid><description>This year’s IACR Crypto conference was an excellent blend of far-out theory and down-to-earth pragmatism. A major theme throughout the conference was the huge importance of getting basic cryptographic primitives right. Systems ranging from TLS servers and bitcoin wallets to state-of-the-art secure multiparty computation protocols were broken when one small sub-component was either chosen poorly […]</description></item><item><title>Rewriting Functions in Compiled Binaries</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/09/02/rewriting-functions-in-compiled-binaries/</link><pubDate>Mon, 02 Sep 2019 06:50:31 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/09/02/rewriting-functions-in-compiled-binaries/</guid><description>As a summer intern at Trail of Bits, I’ve been working on building Fennec, a tool to automatically replace function calls in compiled binaries that’s built on top of McSema, a binary lifter developed by Trail of Bits. The Problem Let’s say you have a compiled binary, but you […]</description></item><item><title>Better Encrypted Group Chat</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/08/06/better-encrypted-group-chat/</link><pubDate>Tue, 06 Aug 2019 06:50:24 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/08/06/better-encrypted-group-chat/</guid><description>Broadly, an end-to-end encrypted messaging protocol is one that ensures that only the participants in a conversation, and no intermediate servers, routers, or relay systems, can read and write messages. An end-to-end encrypted group messaging protocol is one that ensures this for all participants in a conversation of three or more people. End-to-end encrypted group […]</description></item><item><title>Seriously, stop using RSA</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/07/08/fuck-rsa/</link><pubDate>Mon, 08 Jul 2019 06:50:43 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/07/08/fuck-rsa/</guid><description>Here at Trail of Bits we review a lot of code. From major open source projects to exciting new proprietary software, we’ve seen it all. But one common denominator in all of these systems is that for some inexplicable reason people still seem to think RSA is a good cryptosystem to use. Let me save […]</description></item><item><title>State of the Art Proof-of-Work: RandomX</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/07/02/state/</link><pubDate>Tue, 02 Jul 2019 06:50:11 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/07/02/state/</guid><description>RandomX is a new ASIC and GPU-resistant proof-of-work (PoW) algorithm originally developed for Monero, but potentially useful in any blockchain using PoW that wants to bias towards general purpose CPUs. Trail of Bits was contracted by Arweave to review this novel algorithm in a two person-week engagement and provide guidance on alternate parameter selection. But […]</description></item><item><title>Leaves of Hash</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/06/17/leaves-of-hash/</link><pubDate>Mon, 17 Jun 2019 06:50:58 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/06/17/leaves-of-hash/</guid><description>Trail of Bits has released Indurative, a cryptographic library that enables authentication of a wide variety of data structures without requiring users to write much code. Indurative is useful for everything from data integrity to trustless distributed systems. For instance, developers can use Indurative to add Binary Transparency to a package manager — so users […]</description></item><item><title>Performing Concolic Execution on Cryptographic Primitives</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/04/01/performing-concolic-execution-on-cryptographic-primitives/</link><pubDate>Mon, 01 Apr 2019 07:50:55 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/04/01/performing-concolic-execution-on-cryptographic-primitives/</guid><description>For my winternship and springternship at Trail of Bits, I researched novel techniques for symbolic execution on cryptographic protocols. I analyzed various implementation-level bugs in cryptographic libraries, and built a prototype Manticore-based concolic unit testing tool, Sandshrew, that analyzed C cryptographic primitives under a symbolic and concrete environment. Sandshrew is a first step […]</description></item><item><title>What Application Developers Need To Know About TLS Early Data (0RTT)</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/03/25/what-application-developers-need-to-know-about-tls-early-data-0rtt/</link><pubDate>Mon, 25 Mar 2019 09:00:23 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/03/25/what-application-developers-need-to-know-about-tls-early-data-0rtt/</guid><description>TLS 1.3 represents the culmination of over two decades of experience in deploying large-scale transport security. For the most part it simplifies and improves the security of TLS and can act as a drop-in replacement for TLS 1.2. However, one new feature in the protocol represents a significant security risk to some existing applications: TLS […]</description></item><item><title>What do La Croix, octonions, and Second Life have in common?</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/01/02/what-do-la-croix-octonions-and-second-life-have-in-common/</link><pubDate>Wed, 02 Jan 2019 06:50:33 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/01/02/what-do-la-croix-octonions-and-second-life-have-in-common/</guid><description>This year for CSAW CTF, Trail of Bits contributed two cryptography problems. In the first problem, you could combine two bugs to break DSA much like the Playstation 3 firmware hackers. The other challenge–-weirder and mathier–-was split into two parts: one for the qualifiers, one in finals. This challenge, &amp;ldquo;Holywater,&amp;rdquo; was some of the most fun I&amp;rsquo;ve ever had making a CTF problem.</description></item><item><title>CSAW CTF Crypto Challenge: Breaking DSA</title><link>https://miscreants.github.io/blog.trailofbits.com/2018/12/17/csaw-ctf-crypto-challenge-breaking-dsa/</link><pubDate>Mon, 17 Dec 2018 06:50:42 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2018/12/17/csaw-ctf-crypto-challenge-breaking-dsa/</guid><description>The Trail of Bits cryptographic services team contributed two cryptography CTF challenges to the recent CSAW CTF. Today we’re going to cover the easier one, titled “Disastrous Security Apparatus – Good luck, ‘k?” This problem involves the Digital Signature Algorithm (DSA) and the way an apparently secure algorithm can be made entirely insecure through surprising […]</description></item><item><title>We crypto now</title><link>https://miscreants.github.io/blog.trailofbits.com/2018/11/07/we-crypto-now/</link><pubDate>Wed, 07 Nov 2018 06:50:17 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2018/11/07/we-crypto-now/</guid><description>Building and using cryptographic libraries is notoriously difficult. Even when each component of the system has been implemented correctly (quite difficult to do), improperly combining these pieces can lead to disastrous results. Cryptography, when rolled right, forms the bedrock of any secure application. By combining cutting-edge mathematics and disciplined software engineering, modern crypto-systems guarantee data and communication privacy.</description></item><item><title>A Guide to Post-Quantum Cryptography</title><link>https://miscreants.github.io/blog.trailofbits.com/2018/10/22/a-guide-to-post-quantum-cryptography/</link><pubDate>Mon, 22 Oct 2018 06:50:12 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2018/10/22/a-guide-to-post-quantum-cryptography/</guid><description>For many high-assurance applications such as TLS traffic, medical databases, and blockchains, forward secrecy is absolutely essential. It is not sufficient to prevent an attacker from immediately decrypting sensitive information. Here the threat model encompasses situations where the adversary may dedicate many years to the decryption of ciphertexts after their collection. One potential way forward […]</description></item><item><title>Introduction to Verifiable Delay Functions (VDFs)</title><link>https://miscreants.github.io/blog.trailofbits.com/2018/10/12/introduction-to-verifiable-delay-functions-vdfs/</link><pubDate>Fri, 12 Oct 2018 06:50:10 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2018/10/12/introduction-to-verifiable-delay-functions-vdfs/</guid><description>Finding randomness on the blockchain is hard. A classic mistake developers make when trying to acquire a random value on-chain is to use quantities like future block hashes, block difficulty, or timestamps. The problem with these schemes is that they are vulnerable to manipulation by miners. For example, suppose we are trying to run an […]</description></item><item><title>Fault Analysis on RSA Signing</title><link>https://miscreants.github.io/blog.trailofbits.com/2018/08/14/fault-analysis-on-rsa-signing/</link><pubDate>Tue, 14 Aug 2018 12:39:52 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2018/08/14/fault-analysis-on-rsa-signing/</guid><description>This spring and summer, as an intern at Trail of Bits, I researched modeling fault attacks on RSA signatures. I looked at an optimization of RSA signing that uses the Chinese Remainder Theorem (CRT) and induced calculation faults that reveal private keys. I analyzed fault attacks at a low level rather than in […]</description></item><item><title>You could have invented that Bluetooth attack</title><link>https://miscreants.github.io/blog.trailofbits.com/2018/08/01/bluetooth-invalid-curve-points/</link><pubDate>Wed, 01 Aug 2018 07:05:38 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2018/08/01/bluetooth-invalid-curve-points/</guid><description>A serious bluetooth bug has received quite a bit of attention lately. It’s a great find by Biham and Newman. Given BLE’s popularity in the patch-averse IoT world, the bug has serious implications. And yet, it’s remarkably clean and simple. Unlike many elliptic curve bugs, an average human can totally understand the bug and how […]</description></item><item><title>Start using the Secure Enclave Crypto API</title><link>https://miscreants.github.io/blog.trailofbits.com/2016/06/28/start-using-the-secure-enclave-crypto-api/</link><pubDate>Tue, 28 Jun 2016 07:50:42 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2016/06/28/start-using-the-secure-enclave-crypto-api/</guid><description>tl;dr – Tidas is now open source. Let us know if your company wants help trying it out. When Apple quietly released the Secure Enclave Crypto API in iOS 9 (kSecAttrTokenIDSecureEnclave), it allowed developers to liberate their users from the annoyance of strong passwords or OAuth. That is, if the developers could make do without […]</description></item><item><title>Apple can comply with the FBI court order</title><link>https://miscreants.github.io/blog.trailofbits.com/2016/02/17/apple-can-comply-with-the-fbi-court-order/</link><pubDate>Wed, 17 Feb 2016 02:42:34 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2016/02/17/apple-can-comply-with-the-fbi-court-order/</guid><description>Earlier today, a federal judge ordered Apple to comply with the FBI’s request for technical assistance in the recovery of the San Bernadino gunmen’s iPhone 5C. Since then, many have argued whether these requests from the FBI are technically feasible given the support for strong encryption on iOS devices. Based on my initial reading of […]</description></item><item><title>Let’s Encrypt the Internet</title><link>https://miscreants.github.io/blog.trailofbits.com/2016/01/05/lets-encrypt-the-internet/</link><pubDate>Tue, 05 Jan 2016 07:50:59 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2016/01/05/lets-encrypt-the-internet/</guid><description>We’re excited to announce our financial support for Let’s Encrypt, the open, automated and free SSL Certificate Authority (CA) that went into public beta on December 3. With so much room for improvement in the CA space, Let’s Encrypt offers a refreshing, promising vision of encrypting the web. Expensive SSL certificates are holding back Internet […]</description></item><item><title>Hardware Side Channels in the Cloud</title><link>https://miscreants.github.io/blog.trailofbits.com/2015/07/21/hardware-side-channels-in-the-cloud/</link><pubDate>Tue, 21 Jul 2015 07:50:01 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2015/07/21/hardware-side-channels-in-the-cloud/</guid><description>At REcon 2015, I demonstrated a new hardware side channel which targets co-located virtual machines in the cloud. This attack exploits the CPU’s pipeline as opposed to cache tiers which are often used in side channel attacks. When designing or looking for hardware based side channels – specifically in the cloud – I analyzed a […]</description></item><item><title>Analyzing the MD5 collision in Flame</title><link>https://miscreants.github.io/blog.trailofbits.com/2012/06/11/analyzing-the-md5-collision-in-flame/</link><pubDate>Mon, 11 Jun 2012 15:59:47 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2012/06/11/analyzing-the-md5-collision-in-flame/</guid><description>One of the more interesting aspects of the Flame malware was the MD5 collision attack that was used to infect new machines through Windows Update. MD5 collisions are not new, but this is the first attack discovered in the wild and deserves a more in-depth look. Trail of Bits is uniquely qualified to perform this […]</description></item></channel></rss>