downloadbrowseBUBlic's ElGamal keygenme #1

Download ElGamal_keygenme_1_by_BUBlic.zip, 132 kb (password: crackmes.de)
Browse contents of ElGamal_keygenme_1_by_BUBlic.zip

Do you find RSA boring while you still can't get ECC?
Here is a very basic emplementation of the discrete logarithm problem in ElGamal.
Have fun.

Disallowed:
-patching
-bruteforcing in the keygen
-crc32 reversing

Difficulty: 4 - Needs special knowledge
Platform: Windows
Language: C/C++

Published: 10. Apr, 2006
Downloads: 846

Rating

Votes: 4
Crackme is quite bad.

Rate this crackme:

Send a message to BUBlic »

View profile of BUBlic »

Solutions

Solution by HMX0101, published 21. oct, 2008; download (30 kb), password: crackmes.de or browse.

HMX0101 has not rated this crackme yet.

Submit your solution »

Discussion and comments

m@rio_crk
12. Apr 2006
uff at least! ;) You made me confused there for a lil' bit, (you cannot make serial for every name in this crackme) Anyway.. you made really nice work with this kgnme.
Cheers :)
pdrill
17. Apr 2006
Elgamal??, CRC cant be greater that p-1. (is this a bug?). Only first time will the change base function work when it's init with 6. (is this also a bug?)
jB_
18. Apr 2006
Strange implementation of ElGamal encryption. ElGamal security relies on discrete logarithm problem. In your implementation you don't have to compute it. It is a pity...
I guess the "Change base" function is really bugged, I don't see why this could be coded on purpose.
pDrill : CRC "can't" or "can" be greater than p-1? It is shifted, so it is 24 bit max, this is ok.
BUBlic
Author
18. Apr 2006
Hi guys, I'm sorry for that one. It was my very first attempt to code a keygenme base on the DLP, but as I've seen now it doesn't. Maybe its still good to learn a bit about modular arithmetics (especially d=ab^c mod p). Indeed the last days I learnd a lot, and a better one *promised* will follow.
pdrill
19. Apr 2006
Hi, I hop I dont spoil any thing by posting this but the only thing you have to do is to compute "serial = crc * 91C7C9 mod E476A3" and convert to your input type. (91C7C9 = 638297^-1 mod E476A3). If CRC gets greater than p-1 you cant make a key for that name. And for some names the CRC will get greater. Like "Name: Stanley". (You should always reduce it mod p to avoid this.)
jB_
19. Apr 2006
Oups pDriLl you're right with the CRC. And your solution is ok. BUBlic I wait for the next one. Take your time =)

You may leave your comment, thoughts and discuss this crackme with other reversers here.
Acting childish will not be tolerated.
HTML and such will be left as-is, so don't try.