In my free time, I write an algorithm for fun (and it may be the best hobby I had so far).

Currently, the output this algorithm produces is indistinguishable. I ran multiple analysis process and asked two mathematicians to double check that part (no definite answer but pretty good so far).

But the inherent problem is that the algorithm takes two shared secrets that we obtains via two DH with 4096 bit.

If it is very solid for a high number of possibilities, I crafted a case where the two shared secrets are below 10. And.. it is weak. No matter if we pass that in a kdf. We can deduce it anyway (public code).

Since the rest of the algorithm depends on those two values, an attacker can access all the information by following the algorithm flow.


How could I spice it up so that even low values are as hard as a better pair?


  • no public key infrastructure

  • once we have the two shared secrets, we can only send one packet to the other party, and it has to be enough.(Part of the fun)

  • the message inside is pseudo random

Edit: I added random values that defeats weak pair so that you don't know when to stop. but it breaks one of my constraints: now, I need 2 exchanges per side. So, for now, I will submit my algo to my friends again and see what comes out.


closed as unclear what you're asking by Maarten Bodewes Feb 2 at 23:36

Please clarify your specific problem or add additional details to highlight exactly what you need. As it's currently written, it’s hard to tell exactly what you're asking. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    $\begingroup$ Can you please narrow the scope of your question to a single question that can be definitively answered? "How could I spice it up" is not a good format for our site. Your question could easily be perceived as unclear what you're asking, too broad, and a review of an entire (unspecified) cryptographic design, and it could end up being closed for a combination of these reasons. $\endgroup$ – Ella Rose Feb 1 at 14:08
  • $\begingroup$ @EllaRose I understand, let me a couple of hours so that I can improve my question when outside my job $\endgroup$ – Kroma Feb 1 at 15:17
  • $\begingroup$ I've put the question on hold as the protocol is unclear, and since you haven't been able to ask a specific question on it. Generally the secrets created by a single DH should be strong enough for your scheme to be fully secure; if you haven't managed that yet then you have some work to do. $\endgroup$ – Maarten Bodewes Feb 2 at 23:38