I am building a cryptographic El Gamal implementation on the Cardano Blockchain for a poker game. Each hand the players generate a DH 64 bit keys and shuffle the cards together via homomorphic encryption and some non interactive zero knowledge proof. Now due to the limits of the size of a transaction the safe primes for the modulus is limited to 64 bits.

Now my question is, how secure is this encryption and how fast can one brute force this? I could not find any literature that quantified this, only that it is certainly possible in some reasonable time. A normal poker round where 5 cards are draw normally take not longer than 5 minutes so that the lower bound for the time. Is it even possible to create an bounding argument?

I found this answer on stack (1) but that did not enlighten me as I am not a cryptographer. I tried to read the linked paper by Lenstra-Verheul but it completly went over my head.

  • 2
    $\begingroup$ This website solves such problems in under 5 minutes on my desktop. $\endgroup$
    – Daniel S
    Apr 6, 2022 at 21:53

1 Answer 1


A 64-bit key size for any discrete logarithm algorithm is completely insecure. A 1024-bit finite-field Diffie-Hellman group provides 80-bit security, and that is generally considered inadequate for all but the most constrained devices when online.

Even if you used ECDH here, which provides much more security and performance per bit in the key size, the security strength would be about $ 2^{32} $, since most elliptic curves provide security equal to about half the number of bits in size. $ 2^{32} $ is computable on a laptop in a few seconds, so this would be trivially forgeable to virtually the entire Internet immediately. You can imagine how the finite-field version would fare in comparison.

A secure implementation would require at least 128 bits of security, which would necessitate a 256-bit elliptic curve or a suitable 3072-bit prime.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.