5 ms·
> In the late 1990s the development platform ASF Software supplied several online poker providers, such as Planet Poker, with card-shuffling algorithms. The pla
by alexey-salmin 1y ago
> In the late 1990s the development platform ASF Software supplied several online poker providers, such as Planet Poker, with card-shuffling algorithms. The platform even posted the algorithm on its website as proof that the game was reliably programmed.
What amazes me is the level of overconfidence the developers of the broken algorithm had to post it online. I mean it's not that the probability theory was a novel and unexplored field at the time.
- caminante 1y agoNot sure "overconfidence" applies as you might be stretching the author's unfounded narrative. This is more impressive than the alternatives: 1. Security through obscurity. 2. Increased financial liability due to #1.
- alexey-salmin 1y agoImagine you proudly present to the public your obviously flawed version of the algorithm even though the correct version is known for decades. If only you've read a single book on the topic. If that's not overconfidence then it's hard to find what is.
- caminante 1y agoYou're just restating your initial claim and not addressing the issue I raised with the latter.
- alexey-salmin 1y agoWhat is the issue? Not at all clear from your comment. You're saying above it's better than security by obscurity but it's beside the point.
- caminante 1y ago> but it's beside the point Why is it beside the point? You haven't established their intent for gross negligence and give no charity to the fact this was 30 years ago (pre-Wikipedia and the search breadth we have today). Since then, people have continued to expose severe RNG design flaws in other systems designed by very smart people. It happens...
- alexey-salmin 1y ago30 years ago it wasn't dark ages. Wikipedia didn't exist but books on probability theory and statistics did. When you do a shuffling algorithm in a sensitive context (money or security), you have prove that it returns all the possible permutations with equal probability plus put lower bounds on the amount of entropy you need from the underlying RNG. If you're unable to prove it, you shouldn't move forward with the algorithm. Any irregularities in the output distribution can be exploited. This is textbook knowledge pioneered in early encryption works and perfected by the time WWII ended. Evidently the effort to prove correctness was never made. Now the original article can indeed misrepresent or omit important facts. I'm definitely open to reconsider my conclusion if more facts become available. However "there was no Wikipedia" isn't one of them, it doesn't count as an excuse not to do your job properly. If it turned out, for example, that "ASF Software" wasn't even aware that their shuffling algorithm was used to shuffle cards and just shipped it along with 200 other basic algorithms as a some sort of "better standard library", this would change the situation. However from the quick googling it seems that their product wasn't a standard library, it was specifically software for Texas Hold'em. This is a "you had one job" kind of situation. > Since then, people have continued to expose severe RNG design flaws in other systems designed by very smart people. It happens... Absolutely, but we're not talking frontiers of Computer Science here. * If you seed your RNG with at most 86 million unique values, you get at most 86 million unique random sequences out of it. * If your code should have M possible equiprobable outcomes, it has N equiprobable outcomes, and N doesn't divide M, you're in trouble.
- caminante 1y ago> 30 years ago it wasn't dark ages... I didn't say or imply books didn't exist. You can't credibly say it was as readily available, and I promise you that people are still making these mistakes, today. > When you do a shuffling algorithm in a sensitive context (money or security), you have prove that it returns all the possible...If you're unable to prove it, you shouldn't move forward with the algorithm. Ideally, of course! This is a really high standard that I'm afraid isn't enforced in a lot of commercial or even sensitive applications. 86 million permutations is probably good enough and even if someone was clever enough to synch clocks and narrow to 200k permutations, then I'm not convinced there was actually any harm. Do you have any proof of harm? And there are plenty of smart people in the 90s and beyond not realizing that relying a system clock to seed values is attackable. These guys, to their credit, patched their system by openly providing their algorithms. Even if their clients had been harmed, they'd published the algorithm so that their "sophisticated" clients could audit the algorithm. > I'm definitely open to reconsider my conclusion if more facts become available. This is circular as you're taking the article's narrative at face value without getting any primary sources confirming gross negligence or "arrogance" as you imply.
- 48terry 1y ago...They posted their algorithm as a way to prove it was reliable. Someone pointed out it wasn't reliable. They revised the algorithm. What's the problem here?
- alexey-salmin 1y agoThey were selling this algorithm for money and evidently didn't use any of that money to hire a single statistician to validate it. The mistake they've made isn't obscure and doesn't require a thousand pairs of eyes to catch, just one. Imagine paying to a professional plumber, he installs the toilet upside down and then posts the photos online for the community to check his work.