In this way, the players need only to compute encryption for the cards that are actually used in the game, plus some overhead for the collisions that is small as long as the number of cards needed is much less than the size of the deck.
Note that the random number generation is secure as long as any one player is generating valid random numbers.