Let’s try (and fail) to break RSA blind signatures today! Google One recently released a VPN service, with the goal of protecting users’ privacy as they browse the web (explainer, implementation). One interesting detail is that it uses RSA Blind Signing to decouple a user’s authentication (signing) from their internet browsing (redemption), so that users have a stronger guarantee that their online activity won’t be tied back to their identity. I was the cryptography reviewer for this project, so I took the opportunity to understand how RSA Blind Signatures work. In this writeup, I’ll first give a brief primer on…


In this post, I will explain how the Bulletproofs zero knowledge proof protocol works, as well as talk about the confidential asset protocol and confidential smart contract language we are building using Bulletproofs.

This post is a condensed version of previous talks and blog posts and our Bulletproofs library documentation. It has also been featured in the MIT Digital Currency Review.


Zero-knowledge range proofs are a key building block for confidential transaction systems, such as Confidential Transactions for Bitcoin, Chain’s Confidential Assets, and many other protocols. Range proofs allow a verifier to ensure that secret values, such as asset amounts…

We are excited to share our progress on extending our Bulletproofs implementation with a constraint system API which enables zero-knowledge proofs of arbitrary statements.

In our previous article, we announced a pre-release of Bulletproofs 1.0, the Rust implementation of range proofs. We (Cathie Yun, Henry de Valence and Oleg Andreev) have been working on extending it to support proving arbitrary statements in zero knowledge using a constraint system, which we would like to share with you today. …

Range proof multi-party computation aggregation protocol in a nutshell

At Chain, we’ve been working on a pure-Rust library for Bulletproofs, which we described in a previous post. Our initial release only proved single ranges, but Bulletproofs allow aggregated range proofs. These harness the logarithmic size of the inner-product protocol to create a proof for m values that is smaller and faster to verify than m individual proofs.

The aggregation is performed by a multi-party computation protocol involving multiple parties and one dealer. Each party has a secret value and wishes to create a range proof aggregated with the others, revealing only a commitment to the secret value and not…

Efo (שם)

Efo means “where” in Hebrew.

Ambika is from Connecticut. Eric is from Canada. Jessica is from Washington D.C. I’m from California.

On the first day at one of our schools, the principal introduces the four of us to one of the administrators. We introduce ourselves. He then asks where we’re from, and we reply “Boston”, since we’re all currently attending MIT. He asks again — “no, where are you FROM?” Assuming he means where we lived before college, I say, “California. San Francisco.” He shakes his head, frustrated, and points to me. “China?”. He points to Ambika: “India?”…

Krav Maga (קְרַב מַגָּע)

Krav Maga means “contact combat” in Hebrew, and is an Israeli self-defense system developed for the IDF (Israeli Defense Forces). It is known for its real-world usefulness, such as in street-fighting, and simultaneous attack and defense moves.

The summer before college, I enrolled in a month-long krav maga training program because I wanted to know how to defend myself, and krav seemed like the most practical training method. I attended workshops on weekdays, after long hours of working at a biotech company. I loved the experience, but felt that the gym focused more on getting a…

Autobus (אוטובוס)

Autobus means “bus” in Hebrew — pretty easy to remember!

Before we departed to Israel from MIT, all the MISTI-Israel students attended a day-long retreat to learn more about the Israeli culture, history, and language. We learned about the Zionist movement, about the history and current division of Jerusalem, what it meant that the West Bank and Gaza were contended territories. Most importantly to the MISTI program, we were drilled in where we weren’t allowed to go — the Old City on Fridays, the West Bank, Gaza, any of the bordering countries except Jordan — and what we…

Shabbat (שַׁבָּת)

Shabbat means “rest” in Hebrew. Shabbat is also the name for the Jewish day of rest, which falls on the seventh day of the week. It is observed from before sunset on Friday to after sunset on Saturday; observant Jews refrain from work activities and spend time relaxing with family and friends. Shabbat honors the story of the biblical creation of the world, how God rested on the seventh day after his hard work. I also heard shabbat used in reference to electronic devices — at Lady Davis, the I.T. …

Shvit-ha (שְׁבִיתָה)

Shvit-ha (pronunciation provided by me, so take it with a grain of salt) means “strike” in Hebrew.

In typical Israeli fashion, students in Israel are very vocal about what they think and what they want. It turns out, they are also organized enough to follow through and get what they want, as well. On our second day of teaching at Lady Davis high school (13.1.15, in Israeli date notation), the students gave us a little current events lesson. They told us that very recently, a student had drowned during a high school field trip, and the family had…

Ratz (רץ)

Ratz means “to run” in Hebrew.

I get to know a place by running through, around, within it. I’ve done countless laps around the Colosseum and between ancient churches in Rome, navigating the cobblestoned streets and ducking under graceful archways. I did repeats on the steps of the Sydney opera house, drawing confused looks from passerby but ignoring them to take in the beautiful architecture from all angles. I’ve mapped out San Francisco with my feet, and know all the hidden gems of Golden Gate Park and the Presidio. I was looking forward to doing the same for…

Cathie Yun

Cryptographer, climber, explorer. Previously working on ZK proofs at Chain/Interstellar, now on Google’s cryptography security team.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store