Shufflix: Frequently Asked Questions

How does Shufflix prevent that the same hands are used twice?

Every once in a while, hands from one tournament show up in another tournament.  This is always embarrassing to the tournament organizers.  Such a mishap occurred at the Junior Teams World Championships in Brazil in August 2001.  At this event, the same hands were accidentally used for two different sessions.

This mishap usually does not happen because the software in use has generated the same sequence of hands in two different runs.  Instead, the accident is invariably caused after the hands have been generated by the dealing software.  This can happen in several ways, e.g.:

The dealing software in itself cannot guarantee against mishaps like these, but it can incorporate features that support administrative procedures that make these accidents unlikely.

This is the procedure used at the DBf (Danish Bridge Federation) to guard against using a sequence of hands for a session where it was not intended:

  1. When the hands are dealt, the operator has explicitly named the tournament, session, and planned playing date as part of the input to the dealing process.
  2. This tournament identification appears on printed hand records.
  3. As part of the process of distributing boards to the playing table, the director verifies a board from each set of boards against the hand records.
  4. The tournament director also verifies that the session listed on the hand records is actually the session about to be played.

If a set of boards accidentally has been delivered to a session without being properly duplicated, this problem is expected to be discovered at step (3).  And if a set of boards has accidentally been reused for a session that it was not intended for, this problem is expected to be discovered at step (4).

Like all procedures for human work, this procedure is not infallible.  In practice, however, it reduces the frequency of the mishaps considerably.

back to top

Well, Shufflix could have generated the same run of boards twice anyway, right?

Wrong. There are two ways that Shufflix can generate the same sequence of boards. Shufflix cannot get into a rut like that.  For Shufflix to generate the same boards in the same way on two different runs, the following start conditions have to be identical: The concepts in italics above correspond to the recommendation in NIST Special Publication 800-90A Revision 1: Recommendation for Random Number Generation Using Deterministic RBGs (June 2015).

These start conditions guarantee that the same board sequence will not be generated except by pure chance.

back to top

So what happens if the operator always gives the same identification string?

Well, in this case the operator is making himself vulnerable to human error in the subsequent handling of the boards, as described in another question above.  Experience shows that within 10 years of operation - often much sooner - some human error is going to cause the same boards to be reused by accident.

However, two different runs of Shufflix will always generate different sequences, as described above.

So the conclusion would have to be that if the same Shufflix sequence shows up twice, this really is because the result of the same run of Shufflix has been used twice by accident.

back to top

Is human error also the cause of reuse of sequences for other dealing programs?

Almost certainly. Other dealing programs used for serious tournaments have huge numbers of different possible sequences that they can generate.  Hans van Staverens Bigdeal generates 2160 equally probable sequences for each installation.

back to top

Can the operator guess the hand sequence produced by Shufflix in advance?

No.  To do so, he would initially have to guess 128 unpredictable random bits.  That is infeasible.

back to top

Can the Shufflix programmer guess the hand sequence produced by Shufflix in advance?

No.  To do so, he would initially have to guess 128 unpredictable random bits.  That is infeasible.

back to top

But the Shufflix programmer can cheat in the code, right?

Presumably. However, the code is provided on request for all sceptics to read. And, the code is not very complicated nor very voluminous. That should give some kind of assurance that the programmer did not cheat.

back to top

Can the operator rig the cards?

Yes, in several ways:
  1. He can alter the output of the Shufflix run.
  2. He can mock up a sequence of hands that looks as if it was produced by Shufflix.
  3. He can run thousands of deals and select the most interesting one for the event. 
Shufflix supports an audit process that makes it possible to reveal whether anyone has rigged the cards. Shufflix provides a checksum (cryptographic hash) along with each deal sequence produced, and a web application to verify the checksum later. The audit process is as follows:
  1. Representatives for the participants are present when Shufflix is used to create the deals for the event.
  2. The representatives note the checksums of all the deals made. The checksums can be published too.
  3. After the event, the checksums of the actual deals used are verified.
Note that this procedure does not affect the basic integrity of Shufflix: The sequence of deals are as unbiased and unpredictable as ever, and it is cryptographically infeasible to determine the contents of the deals from the checksums.

This procedure is probably mostly of theoretical interest. In practice, the operator is going to part of a trusted organization with internal mutual checks.

back to top

How does Shufflix guard against snoopers on the Internet?

Shufflix uses the HTTPS protocol, which protects the transmission by means of encryption. This is the same mechanism that is used to protect bankning transactions on the internet. 

back to top

Why can't someone else read my deals directly on the Shufflix server?

You yourself can access the deals because an access code for the deals is embedded in the encrypted response you get from Shufflix when your boards are dealt.

Shufflix cleans up old deals continually.  Therefore, even if you don't press the delete button, Shufflix will eventually remove the files that contain your deals.

back to top

Is every different bridge board possible in every sequence generated?

Certainly.  There are around 296 different ways a bridge board can be dealt.  And there are 2128 different ways that Shufflix can generate a sequence of boards for any given input.  Since 2128 / 296 = 232, that yields an average of around 232 different ways that any sequence for a session can start with any deal.  232 is around 4 billion.

back to top
Version 2017-10-30 / jbc