Hello, I am Minsun Kim, studying Cryptography and playing CTFs as name soon_haari
with CyKor
and Super Guesser
.
I read the following papers with great interest.
I understood multiple attacks exist for the Tropical Signature, and only the attack from 4.6 Re-hashing an honest signature
survived after patching.
I would like to propose another attack which survives every constraints from the latest verification, and yet very simple.
I downloaded the files from https://yx7.cc/files/tropical-attack.tar.gz, and added tropical-attack/forge3.py
which is an implementation of my attack.
Let me give you a brief explanation of my attack.
Tropical polynomial division
was explained in More forging (and patching) of tropical signatures. It is pretty obvious that result of division is not unique after some tests.
However, the following properties always hold.
-
$(R / S) \otimes S = R$ . -
$R \otimes S$ is always divisible by$S$ , however the result is more likely not$R$ .
And the division algorithm was used to check if both
I thought this fact was very interesting, and try to use it generating random signature that can pass the verification.
And the challenge is to generate
$H = \textnormal{hash}(m)$ $S_1 \otimes S_2 = M \otimes N \otimes H \otimes H$ - And some more including both
$S_1, S_2$ should be divisable by$H$
I first generated random (2 * d, 2 * r)
, and
And defined
I will define
When I put value of
Then what will happen if
We can see that the multiplication also succeeds, and the generated
The regeneration of
After that, the signature of
This attack always succeeds for any kind of
I think the property 1 and 2 during division is very interesting. I hope to study deep about it and maybe use it in a CTF someday,
Thanks for Reading!!