Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Visual plugin: SPHINCS+ fixes #300

Open
simlei opened this issue Apr 23, 2020 · 3 comments
Open

Visual plugin: SPHINCS+ fixes #300

simlei opened this issue Apr 23, 2020 · 3 comments
Assignees
Milestone

Comments

@simlei
Copy link
Member

simlei commented Apr 23, 2020

Original issue: #287 (comment)

  • Prio Medium/high: visualizations are broken under Linux and would confuse the user.

  • Medium: context help

  • The visualizations on linux are broken, s. I1). Sphincs without the plus seems to not have these problems with the same kind of visualization. Fix: remove thread and replace it with suitable SWT idioms for tracking scrolling, dragging

  • text field below description in I2) has no content, I am not sure what it does.

  • see: SPHINCS+ CPU load #258

  • see: SPHINCS visualization misbehaves #270

Textual:

  • Online Help:
    • below the first "remark" there is a solitary dot. remove.

I1)

sphincs+

I2)

sphincs+_empty

@simlei simlei added this to the Final 1.0.0 milestone Apr 23, 2020
@simlei simlei self-assigned this Apr 27, 2020
@simlei
Copy link
Member Author

simlei commented Apr 27, 2020

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

GraphContainer container_1 = new GraphContainer(graph, SWT.NONE, "ROOT-Node");
GraphContainer container_2 = new GraphContainer(graph, SWT.NONE, "ROOT-Node");

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
Copy link
Member Author

simlei commented Apr 27, 2020

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
Copy link
Member Author

simlei commented Apr 30, 2020

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.

simlei added a commit that referenced this issue Aug 22, 2020
    fix bug that cut off ARC4 wizard page controls
    re-enable shamir's TitleAndDescription
    add message if graph cannot be correctly displayed; reintroduce random
    remove unnecessary randomness in Shamir's coefficient gen
    fix Shamir's Secret Sharing hover with better Tooltip
    Merge branch 'shamirHoverEtc' into develop
    Merge branch 'develop' of https://github.com/jcryptool/crypto into develop
    Allow the challenge blue button selection be cancelled by ESC
    	Previously you had to go through all the process.
    	I also tried to allow the reset button, but it seems to tightly
    	coupled to work properly without major code changes.
    debug output added to show the faulty order of MouseTrackListener calls
    correct line break
    #300 disable treeview tabs for GTK (Linux) as a minimally-viable measure
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant