The encrypted online chat service Cryptocat is urging users to install a new version, following the revelation that its encryption could be cracked by brute force.

Making the announcement here, Cryptocat says the vulnerability existed in the way key pairs were generated. It claims that the bug existed in any 2.0 version prior to 2.0.42, a period of seven months.

Steve Thomas, who describes the bug here, gives the issue a longer lifetime, saying his Decryptocat software “cracks the ECC public keys generated by Cryptocat versions 1.1.147 through 2.0.41” – from October 2011 to June 2013. And while Cryptocat has thanked him for his input, his assessment is less polite: “Cryptocat is run by people that don't know crypto, make stupid mistakes, and not enough eyes are looking at their code to find the bugs.”

His lengthy critique goes on: “The bug that lasted 347 days was the confusion between a string and an array of integers. This made the ECC private keys ridiculously small because they passed a string of decimal digits into a function expecting an array of 17, 15 bit integers. Each character was considered an element in the array. So each of those "15 bit integers" were only the values 0 to 9 (3.32 bits). Also the least significant 3 bits are zeroed giving you a key space of 2*10^16 (2^54.15).”

The bug only applied to group chats, Cryptocat asserts, not one-on-one chats, and its SSL keys were not compromised.

“For some reason, there are rumors that our SSL keys were compromised. To the best of our knowledge, this is not the case. All Cryptocat data still passed over SSL, and that offers a small layer of protection that may help with this issue. Of course, it does not in any way save from the fact that due to our blunder, seven months of conversations were easier to crack,” the group says. “We are continuing in the process of auditing all aspects of Cryptocat’s development.” ®