Storing binary information in taking part in playing cards. Web page 1
Utilizing taking part in playing cards to retailer hidden information:
The implied card technique for
encoding information into taking part in playing cards
Introduction:
That is a proof of my technique of storing messages and information in a deck of taking part in playing cards. The strategy encodes binary bits into the playing cards, often leading to many extra bits of knowledge being saved than there are playing cards. Relying on the character of the actual bits being encoded, it will possibly retailer from 52 to 1,378 bits of knowledge. I don’t know if this technique already exists, however I have never seen it wherever else. The strategy can be used to encode letters of the alphabet (English or in any other case) in a method that, on common, fewer than two playing cards are wanted to symbolize one letter. In additional simple strategies, these can be inconceivable. My technique additionally implies that the information may be encrypted inside the playing cards to the safety degree of a one-time pad. The idea can be utilized exterior of the world of playing cards in any assortment of things that has a set order, reminiscent of numbers or the letters of the alphabet.
[Note from 2016: When I first thought of the idea, I didn’t really put much thought into the non-card uses of the Implied Card concept. Now, I think that that using it with plain numbers is actually the most interesting aspect. See the last section for this, here.]Having a imprecise understanding of binary will assist in understanding the next explanations. The premise of my concepts deal with every card as a binary “bit”. On this method, every card represents both a one or a zero.
The way it works:
There are two associated strategies: the Fundamental Implied Card Methodology and the Recursive Implied Card Methodology. The Fundamental Implied Card Methodology is extra simple to encode and decode with, however has a barely decrease capability for storing information.
The Fundamental Implied Card Methodology:
This technique entails having a set order for a pack of playing cards. Every card’s place within the pack represents a 1 or 0. If the cardboard is absent from its place, then there’s an implied 0; if the cardboard is current, it represents a 1. As we all know the order of the pack, we will inform if a card is absent. For example, if the second card of a pack is absent, however the first, third and fourth are current, then the binary bits represented are 1, 0, 1, 1.
If we put the eliminated playing cards in the back of the pack as we do the encoding, then we will use these playing cards once more once they subsequent come round. The beforehand absent playing cards may have their very own calculable order, and we will proceed to know which playing cards are absent from their appropriate place during the pack.
The extra zeroes there are in our binary quantity, the less playing cards we might want to encode it. A zero bit doesn’t cut back the variety of playing cards accessible for additional numbers.
The Fundamental Methodology used to encoding letters of the alphabet:
If we map the 26 letters of the English alphabet, ordered by frequency, on to 5-bit binary numbers ordered by the variety of ones in them, we will encode textual content pretty effectively. To begin with, the letter “e” will probably be represented by 00000 and so each “e” will not cut back the variety of playing cards accessible to encode additional letters. The subsequent commonest letters will use the fewest quantity of playing cards. Paradoxically, if we use 7-bit binary numbers to encode playing cards, regardless of utilizing longer numbers, we’ll find yourself utilizing fewer playing cards and having the ability to retailer longer messages. It’s because all of the letters of the alphabet may be represented by binary numbers containing two or fewer ones in them. All of the zeroes will probably be reused for later letters.
The Recursive Implied Card Methodology:
That is an extension to the Fundamental Methodology, and may encode much more binary numbers. It takes benefit of the truth that it’s potential to infer which playing cards had been used to symbolize ones within the first a part of an encoded pack earlier than the purpose the place the “absent” playing cards had been reused. We do that by analyzing the state of the pack after the purpose the place the playing cards had been reused. As we will work out the primary a part of the pack, we don’t really need these playing cards to be within the ultimate pack for it nonetheless to be decoded accurately. Due to this fact, these playing cards can be utilized once more to symbolize extra binary numbers. A proportion of *these* reused playing cards can, once more, have their existence and place deduced from later playing cards, which once more implies that they don’t must be there, they usually too can be utilized once more. We will preserve reusing playing cards on this method for a number of iterations relying on the character of the binary numbers being encoded into the playing cards.
Encryption:
The 2 strategies may be decoded by anybody who understands the encoding technique. Nevertheless, any decoding depends on realizing the unique order of the pack of playing cards. With out realizing the unique order of the playing cards, it will be inconceivable to decode them. If the playing cards are shuffled earlier than the encoding begins, the encoded information will find yourself being encrypted to the extent of a one-time pad. The one strategy to get better the information can be to know the unique order. A technique of maintaining a report of the unique order is to duplicate it with a second pack of playing cards earlier than the encoding begins.
Utilizing the strategies exterior of the world of playing cards:
The strategies work not solely with taking part in playing cards, but in addition with any sequence of things which have an implied set order. For instance: numbers, the alphabet, alphabetised phrases, piles of cash and so forth.
Factors concerning the strategies:
– There’s solely a set variety of potential permutations of playing cards in a pack (the factorial of 52). Some folks have prompt that the utmost theoretical variety of bits that might be encoded right into a pack of playing cards is 225 (really 225.581 = log2(52!)). Nevertheless, the Implied strategies’ skill to encode information varies significantly in accordance with the character of the bits being encoded. With out recursion, this varies from 52 bits (ensuing within the pack of playing cards being in its unique order) all the way in which as much as 1,378 bits (ensuing within the pack being in reverse order).
– If the quantity we’re encoding consists fully of ones, the pack can solely include 52 bits. As there are not any zeroes, no playing cards may be reused. We can not use the Recursive Methodology both, as there’s nowhere to separate the pack.
– On numerous web sites linking right here, folks have talked about Bruce Schneier’s “Solitaire” concept as featured within the e-book “Cryptonomicon” by Neal Stephenson. My and Bruce Schneier’s strategies are unrelated, save for the very fact they each use playing cards and can be utilized for encryption. My technique shops information *inside* a deck of playing cards, while his makes use of the deck as a key to encrypt information stored elsewhere. His technique is extra helpful if you wish to encrypt a number of information, whereas mine might be extra helpful if you wish to smuggle a shorter hidden message with none risk of detection. Though I used to be conscious that Bruce Schneier had invented a card encryption system, I did not actually perceive what it did till after I had thought this up and determined to verify I wasn’t simply copying him.
– I am solely conscious of two correct flaws within the primary or recursive strategies:
1: If there are a number of 0 bits encoded on the very finish of the pack, then these can find yourself being decoded as nonsense or not being decoded in any respect. If there are ten playing cards left within the encoding and we wish to encode 10 consecutive 0 bits, we’d cross all of them to the again of the pack the place they’d find yourself in precisely the identical place as earlier than. Due to this fact, to keep away from this, the encoding generally has to cease whereas there are nonetheless unused playing cards left.
2: If there are playing cards that stay unused on the finish of the pack, they are going to be decoded as ones. When decoding textual content, it’s apparent that we have now reached the tip of the message, however when decoding binary numbers of an unsure size, there are conditions when it would turn out to be complicated – it may not be clear if the tip of the message is all ones or if we have now completed the message. One strategy to cut back this drawback is to work in 4-bit (or larger) teams fairly than with particular person bits. If we work with 4-bit numbers, and there are three playing cards left on the finish of the pack, then we all know for certain to disregard them. Another choice, if we’re utilizing set bit size numbers, is to pick out a selected quantity to behave as an escape character.
The remainder of these pages give an intensive clarification of the Implied Card Methodology with numerous examples.