Some guy with a name like Akon posted a challenge to the hackers out there. He made key decoder program. His challenge was for programmers to come up with a key generator to match his decoder program. One C++ and one header file were provided as the source of the decoder. This sounded like a simple challenge. However the algorithm within the provided code was difficult to follow. A couple sample working keys were provided to help with the challenge. And a hint was provided that this was a well known encryption algorithm.
I consider myself a relatively experienced C programmer. There was not any C programming language issues I had. I could understand what the code was doing. However like I mentioned earlier, the algorithm was complex. It was too hard for me to keep everything in my head to follow the algorithm.
There was a big discussion in the comments of Reddit about this challenge. Somebody with security insight identified this decoder as decrypting 12345678 under RSA with two public keys. Thus the goal was to factor one of those keys. You could also add one of those keys to a working existing key. I got the feeling that the algorithm in the decoder was a PK algorithm.
Once the RSA was identified, people commented that RSA uses much larger prime numbers than used in this decoder. Thus it should be easier to crack and provide a key generator. The comments led into a general discussion on security. Some people talked about the use of key servers by companies. It was recommended that zero and the letter O should be mapped to the same number to make things easier. It was also mentioned that a dongle cannot guarantee security. This is because a hacker can create a dongle emulator.
Good-fast-cheap. Pick two. - I got invited to a meeting with the customer today. There was a problem in production. And the customer wanted answers. When it came time, I explained wha...