This is not a duplicate of Entropy measurement from shuffled cards, as this concerns use of cards as a cryptographic entropy source, rather than calculating entropy from some number of cards.
The Solitaire cipher from Cryptonomicon makes use of a deck of cards to encipher messages. However, it is considered insecure, and is likely impractical for actual cryptographic uses.
However, a deck of cards does have a large amount of entropy, and unlike electronically generated randomness, the randomness of a properly shuffled deck is nearly infalliable*. The entropy of a deck of cards is $\log_2(52!)$, or 225.58 bits, which approaches the Landauer limit and is well beyond anything we will ever be able to brute force. On the other hand, the order of a deck of cards is not a stream of bits, and is not easy to quickly process with a computer (a specialized deck reader and shuffler machine will be needed.)
My question is: How can random bits be extracted from a shuffled deck of cards? Does this have any practical value at all?
So far, I've come up with the following procedure:
-OCR the deck, producing a string like
JH3CAS0D...
to represent "Jack of Hearts, 3 of Clubs, Ace of Spades, 10 of Diamonds... and so on".-Take the SHA-512 hash of this string. For the sake of the example, I came up with: bfda311f6e9f6ad06825c9dc07fbbffb98ff86556a8e6fd7ac835b58f0c5eee04155db4e63f748a6c2b0b7c15e558b0e6c7e8222760283869904a2e485ef2d04
-Take the SHA-512 hash of the last 256 bits of the first hash, and append that to the first hash.
-Repeat step 3 as many times as needed to create an infinite stream.
*Barring cases such as improper shuffling or shuffling a default/stacked/known deck only once.
/dev/random
, you can simply SHA(dark OCR camera image) and don't bother with the cards at all. You'll get waaay more than 256 bits for AES. $\endgroup$