Using Rule 107.1c to Steal US Government Secrets

107.1c. If a rule or ability instructs a player to choose "any number," that player may choose any positive number or zero.

Magic doesn't have any upper limit on the numbers it uses, which can lead to some fun shenanigans. But this rule says something even stronger; not just that there's no upper bound, but that we can choose any number whatsoever, with no restrictions on what or how.Well, 107.1a restricts it to "not fractions", whatever that's supposed to mean. A fraction is a type of numeral, not a type of number; see my article on Magic Math for the difference. But probably what this intends to say is that non-integers are prohibited.

The most well-known consequence is that people can choose silly numbers for infinite combos to outdo each other, like Graham's Number or 3↑↑↑3. (In fact you don't need infinite combos for this; combining Wheel of Misfortune with Platinum Emperion results in every player needing to choose a number larger than the others.)

More interesting things can be done too. Prinrin in the RulesGuru Discord server came up with a widely stolen shared game state that uses this rule to win if and only if the twin prime conjecture is true, even making it into Scientific American. (For a precise writeup if you're not in the server, see dastardly plagiarist well-meaning popularizer u/its-summer-somewhere's writeup on Reddit.)

Others have used this to do the same for the Goldbach Conjecture, to force your opponent to fund arbitrarily large datacenters, and more.

But we can do better. By combining this rule with Magic's tournament policy, we can obtain any private information from our opponent.

The first step is to recall the definition of a "number". We normally represent numbers in decimal notation, like 56 or 0.25 or whatever. But decimals can't handle every number; trying to write out 1/3 in decimal would take an infinite number of digits! So instead we use the equation itself, and call that a "fraction". For larger numbers we might use exponentiation, calling that "scientific notation"; or any number of other systems for even larger numbers. For numbers that must be conveniently incremented, we can use tally notation. Etc.

The key here is that a valid "number" is equivalent to a valid definition. When working with rare numbers that nobody's ever seen before, mathematicians will often discard standardized notations and simply provide a custom explanation of the number they're talking about. And as Scott Aaronson pointed out in his famous article, much of mathematics can be thought of as developing more and more advanced techniques to name numbers.

So if, in a game of Magic, I were to choose "my opponent's phone number", that is a valid number according to the rules of Magic! (Provided they have exactly one phone number.)

XKCD 704

But a problem remains: How do I actually use that number? If I wanted to call it, I would need to enter it into a keypad in decimal form. So simply being able to name the number is not enough; we need more information. (In general, when we talk about "finding out" what a number is, like getting an upper or lower bound on some quantity, what we mean is "converting it into a more convenient representation".)

Only my opponent knows their phone number in decimal. But they probably won't want to tell me, because I'm the sort of person who writes articles like this one. So I'll have to make them tell me.

My first thought was to turn to section 4.1 of the Magic Tournament Rules:

Players must answer completely and honestly any specific questions pertaining to free information.

Free information includes "the number and type of any counter that isn't defined as status information", so all we need to do is assemble an infinite combo that puts +1/+1 counters on my opponent's creature equal to their phone number, and then ask how many counters are on the creature. Right?

Unfortunately, no. If "your phone number" is a valid number to announce for the combo, then "my phone number" is an equally valid answer to the question! We'll have to get cleverer.

Since we can't rely on our opponent answering any of our questions in decimal notation, we need a more concrete way to derive it: the game engine itself. If my opponent's creature has a toughness of 0, they have to move it into their graveyard. And we can lower their creature's toughness by a known number of points at a time until it dies. Here's the plan:

Gilded Lotus, Tidewater Minion, and Rings of Brighthearth give us infinite mana of every color and infinite untaps of any permanent. Forbidden Orchard can give them a 1/1 creature token, and Dragon Blood plus Gnarled Effigy can increase or decrease its toughness by any number.

We will now use binary search to determine our opponent's phone number. Create a token and add +1/+1 counters equal to their phone number, then add 249 -1/-1 counters and watch to see if it dies. (The loop rules are a little ambiguous as to whether it's legal to announce a shortcut that may not be legal to complete due to the target dying before you finish adding counters. We can avoid this penalty risk by untapping the Gnarled Effigy in response to its ability, putting all 249 activations onto the stack before any resolve.)

If it doesn't die, add another 248. If it did die, make a new token, bring it back to the previous toughness, then add only 248 -1/-1 counters this time. Each time it stays alive write down a 1, and each time it dies write down a 0. Repeat, decreasing the exponent by 1 each time, until you're down to a single counter. You now have their phone number spelled out in binary. (Trivial to convert to decimal; just use Alex Churchill's Magic microcontroller to make the game do it for you.)

Note that because this sequence involves a decision tree, it is illegal to shortcut the whole thing. You can shortcut each instance of adding some number of counters, but the decision of when to make a new token and how many counters to add has to be made manually. This is why we're using binary search; you only need to run this for 1 less than log base 2 of the number of possibilities; 49 iterations.Because phone numbers are capped at 15 digits by the E.164 standard, which means the number of possibilities is 1016, and the next power of 2 above that is 250. In practice almost all phone numbers are shorter than that, so you could use an entropy encoding to improve efficiency further. (Or, if you know what country your opponent is from, just cap it at the 10 or 11 digits that most countries use.) This is (barely) within the realm of reasonable game actions in one turn and will not get you penalized for slow play. (Compare to decks like KCI and High Tide.)

Since all data is representable numerically, this method theoretically works to acquire any information. Want to read the embarrassing romantic novel your opponent has been working on since they were 15? Just say you're putting counters on their creature equal to the text of the novel as represented in the UTF-8 character encoding. However, for a number that large it would take upwards of a million iterations to get the full text of the novel, so you might run into slow play penalties. There are some ways to get around this, but they all involve un-cards, so it's probably best to stick to smaller numbers for now.

There is one last hurdle: If the player values their information more than winning the game, they can always concede before you finish decrypting it. But this is solvable by turning to the hottest new format: cEDH. Since tactical concessions can be disruptive in a multiplayer game, many tournaments include a rule that players may only concede in a main phase of their own turn. Pull off this combo on your turn, and your opponent will be helpless.

From here, it should be simple to put the remaining pieces together. JD Vance used to play Magic: The Gathering, and still may from time to time with his kids. Sometimes he'll generously share top secret information with the public of his own free will, but if he doesn't feel like doing that at the moment, all you need to do is get him into a game of cEDH.


With thanks to Thomas Eisen for posing the original question that made me think of this.

RSS feed