jcryptool / crypto

JCrypTool Crypto Plug-ins
https://www.cryptool.org
Eclipse Public License 1.0
68 stars 39 forks source link

Visual plugin: SPHINCS+ fixes #300

Open simlei opened 4 years ago

simlei commented 4 years ago

Original issue: https://github.com/jcryptool/crypto/issues/287#issuecomment-605438817

Textual:

I1)

sphincs+

I2)

sphincs+_empty

simlei commented 4 years ago

The problem visible in I1) seem not fixable under linux.

https://github.com/jcryptool/crypto/blob/4d0070a0a8c2d10af5895d13d1650857c08ed481/org.jcryptool.visual.sphincsplus/src/org/jcryptool/visual/sphincsplus/ui/SphincsPlusForsView.java#L131-L132

with only the first line, it works. with both lines, SWT crashes, complaining about a color being disposed. No involvement of any org.jcryptool code, so I see this as a bug in the ZEST graph framework.

The graph nests another graph in a container, the GraphContainer instance -- this is unique in our code base (Huffman coding has a good ZEST visualization but not with this detail).

Possible solutions:

1) remove visualization. 2) keep visualization, but replace container with a more standard means of drawing the graph. Idea: replace containers with a single node and upon selection, show inner graph in a widget on the right.

simlei commented 4 years ago

background threads were removed in 4d0070a but the cpu load seems to be high still under linux. it is entirely possible that the ZEST visualization as it contains error is constantly trying to log these on redraw into the error log and the cascading problems with that cause this high load. Will have to try under windows, but only after graph revamp or removal.

simlei commented 4 years ago

Preliminary solution for this plugin is in branch https://github.com/jcryptool/crypto/tree/i300_sphincsplus_graphrework but it will have to sit there for a while until completion (3rd tab not changed at all yet), I'll get around to it in ca. 2 weeks.