rosenblog
About Work Github
  • Can You Slop Out High-Assurance Cryptography?

    Posted Oct 20, 2026

    I wrote and formally verified a Rust cryptography library, then had an LLM optimize it. Is it still high-assurance cryptography?

    An obviously AI image of two coworkers eating burgers. They look insane. The logos of Rust and Lean are superimposed on the burgers.
  • A Bookmarklet to Download Zoom Recordings

    Posted Sep 15, 2020

    I share a simple bookmarklet that downloads recorded Zoom videos from the Zoom cloud.

    Zoom Rec. ⬇️
  • Hash Functions are not (Quantum) Random Oracles, but only Technically

    Posted Mar 01, 2020

    In this post, we define the Random Oracle Model (ROM) and the Quantum ROM (QROM), and give some examples of their uses and their flaws. We show that the QROM is unsound in the same way that the ROM is, and we conclude that that's OK.

    The definition of a quantum random oracle
  • Supersingular Isogeny Key Exchange for Not-Quite Beginners

    Posted Jan 08, 2020

    I recently read a great introductory paper on Supersingular Isogeny Diffie-Hellman (SIDH) by Craig Costello and wanted to summarize just the math of it (with some simplifications) for myself. Hopefully this summary is clear enough to also be useful to people who aren't myself.

    The 3-isogeny graph for p=431
  • Better Encrypted Group Chat

    Posted Jul 10, 2019

    Making end-to-end encrypted group chat both efficient and secure is difficult. In this article, I explain why it's so difficult and present a new protocol that attempts to solve this problem.

    Ratchet tree with new secrets
  • Siderophile: Expose your Crate's Unsafety

    Posted Jul 01, 2019

    This marks the release of `siderophile`—a tool for quantifying the unsafety of all the functions, expressions, methods, etc. in your Rust crate.

    Sample siderophile output
  • Confidential Transactions from Cryptographic Primitives

    Posted Jun 07, 2019

    Bitcoin today publicly reveals how much Bitcoin is sent in every transaction. Some cryptocurrencies wish to make these values private by default, but this comes with some mathematical challenges. We explain here what it takes to construct confidential transactions, assuming a basic background in cryptography and algebra.

    A Borromean ring signature of two rings
RSS Feed link

Everything on this website is licensed by Michael Rosenberg under the CC BY 4.0. Go nuts. Also here are the licenses of non-original content you see.