Coder Social home page Coder Social logo

jcryptool / crypto Goto Github PK

View Code? Open in Web Editor NEW
67.0 25.0 37.0 190.38 MB

JCrypTool Crypto Plug-ins

Home Page: https://www.cryptool.org

License: Eclipse Public License 1.0

HTML 13.89% Java 85.38% CSS 0.15% TeX 0.58%
jcryptool java cryptography e-learning crypto eclipse rcp

crypto's People

Contributors

antidote2 avatar be4 avatar brunovernay avatar cfwramaekers avatar cgierlinger avatar charlottemagister avatar cschnepf2 avatar denniswalter avatar dschadow avatar eduard951 avatar fboehl avatar felck avatar feritdogan avatar fgrebe avatar flix- avatar gknocke avatar grthor avatar kalliope avatar lettyvthrons avatar lukro2011 avatar mirayinel avatar mmacala avatar ocir avatar patzil avatar rohb avatar schaeferm avatar simlei avatar sird avatar tassadarius avatar tforneberg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

crypto's Issues

Multipartite Key Exchange: UI Changes

  1. A reset button is missing
  2. Broadcast PK(i) is not working, if Embedding degree k = 2 is chosen.
  3. The description in "Step 3" is not helpful. A description what will be computed would be better. The formula should be written in a mathematical representation.
  4. The "Details" box and the "Parameter summary" box consists of different notations: This should be unified
  5. One Textfield for each value would increase the readability
  6. The boxes "Definitions and notations" and "Details" should be swapped

Number Shark: Course of the game table should highlight last row

The course of the game table should always highlight the last row. After starting a game, the first row is not selected immediately; from the second row on, selection is always one step behind. Using undo/redo, the last row is correctly selected.

Selection is required to automatically scroll down.

Viterbi: UI Changes

  1. Viterbi Analysis tab: It is possible to insert text into the output text boxes in result
  2. Running-key-encryption tab: Rezising the window damages the layout if a large text is in a textarea because the textarea adjusts its size to the text.

Sudoku-Solver: UI Changes

1. The input validation works properly but will be skipped when loading the information from a file. A character within the string crashes the whole program. Done by @grthor on 14.12.18 with 16b7ac5
2. The plug-in doesn't distinguish between computed values and user entries. So, the user is able to remove a given value. Also the user cannot distinguish between his own (maybe incorrect) values and the given ones. I suggest to print given values bold and unchangable. The user can not edit given values when in Solve mode. This option is useful in edit mode. Edited on December 16, 2018 by @grthor
3. It would be very nice to be able to restart a Sudoku. Clearing the Sudoku removes all entries and one cannot start the same Sudoku twice. Done by @grthor on January 7, 2019 with #200
4. Normal Sudoku tab: The buttons are not sorted well. The first one ist the button "Solve", the most important --- the "Standard Puzzle" button --- is the 4th one. Also the buttons should be devided in groups. "Show Possible", "Load Puzzle" and "Save Puzzle" are options, "Solve", "Autofill" and "Clear" are actions. "Standard Puzzle" should be the first button. "Show Possible" should be realized as two radio buttons or one checkbox. Done on December 30, 2018 by @grthor with #198
5. Killer Sudoku tab: The "Clear" button does not clear marked fields. Even after restarting a game the fields stay marked and cannot be removed anymore. Done by @grthor on January 7, 2019 with #200
6. Killer Sudoku tab: It is possible to mark fields which belongs to another area. Done by @grthor on January 27, 2019 with #203
7. If one starts a standard puzzle, elements of one area are always connected. This is not a requirement for creating an own Sudoko. But if the areas are not connected there is no possibility to find out which elements belong to one area. Was already done.
8. Inserting an element updates the possibilities, removing does not. Then not only the suggestions are missing, die input validation fails, too Done
9. Creating an own Sudoku us not seperated enough from solving an existing sudoku. E.G. Creating an area ist deactivated, if a standard Sudoku is started. But it is still possible to add the BoxRule. While creating a Sudoku, inserting values is also not deactivated. This is anoying because one has to aim with the cursor inside a box. Done by @grthor on January 27, 2019 with #203
10. Creating a Sudoko which is not solvable is very easy. The "Solve" action has no errorchecking to detect this and JCrypTool will freeze. Creating a normal sudoku has errorchecking mechanisms.
11. Killer Sudoku tab: The Box Rule is not working Done by @grthor on January 27, 2019 with #203.
12. Hexadecimal Sudoku: Changes caused by the Button in "Strategies" should be highlighted. In 256 input fields it is impossible to recognize all changes. Done by @grthor on January 27, 2019 with #203.
13. Killer Sudoku tab: All inserted values should be uppercase. A mix of lowercase and uppercase letters is confusing. Done by @grthor on january 7, 2019 with #200

Grille: UI Changes

It seems this plug-in has basic computational problems to encrypt data. Maybe changes in the algorithm itself are needed to guarantee properly functionality.

  1. The size of Keygrille should be between 3 and 10, but manually it is possible to insert smaller/bigger numbers. A size of 1 freezes the whole program.
  2. Changing the size will reset Steps", but the new size is not setted correctly: After clicking "Start" (for the second time), the Keygrille will be resetted to its previous values instead of computing further steps with the new Keygrille. Changing the plaintext instead of the Keygrille, the plug-in behaves as expected.
  3. Changing from Encryption to Decryption will copy the content of the plaintext box to the ciphertext box instead of transferring the ciphertext.
  4. The plug-in has computational problems to encrypt, if the size of the Keygrille is odd.
    "StringIndexOutOfBoundsException: String index out of range:"
  5. Clicking on the "Start" button several times (Operation: Decryption) rotates the Keygrille and each click changes the result.

Graph Isomorphism: UI Changes

  1. The Information Box has to be next to the pictures, because both areas show new information during runtime. At least the Information box should be above the buttons "Reset", "Rerun" and "Run several Times".
  2. The German message "Bob verifiziert die Antwort von Alice: H = h(G_b)." is cutted after "H = h(G".
  3. The German message "Alice wählt ein Bit aus a aus {0,1} und eine Permutation g. Dann schickt sie einen Graphen H (= g(G_a)) an Bob." has an incorrect syntax. The formula is: "H = g(G_a)".

Shamir's Secret Sharing: UI Changes

  1. Settings --> Coefficients: When all chosen coefficients are zero, a deadlock is reached.
  2. Parameter box: The value p should be greater than n (p > n). That is incorrect. Is has to be (p > r)
    3. Parameter box: The last element of the polynome formula is ar x^r, which is wrong. It has to be a_r x^r
    4. The lines "Graph" and "Settings" are not necessary and their labels are misleading.
    5. No reset button
    6. The "Select" button should be disabled when the values "p" and "s" are empty
    7. The "Select all" and "Deselect all" buttons don't have good places. While using the graphic mode the buttons "Select all" and "Deselect all" controls the checkboxes on the other side of the window. These buttons have to be below the "Shares" box in both modes.
    8. The "Reconstruct" button should be within the "Reconstruction" box, not within the "shares" box.
    9. Reconstructon: If the numerical mode is used and the reconstruction failes the final message doesn't fit into its box. Also there is no reason why this message has a different position as the position in the graphical mode.

edited as of #44 (comment)
--simlei

Magic Door: UI Changes

  1. Placing the "Information" box next to "Action Flow" --- or at least above the buttons "Reset", "Rerun" and "Run several times" ---would improove the layout.
  2. The descriptions are to less detailed. The user doesn't know what the algorithm is trying to archive.
  3. If Alice is in the wrong room, she should change her position. But another click on "Change room?" causes a second room change. The picture doesn't change by changing the position twice, the description text will be wrong and Alice cannot be verified. Alice must not change the room twice.

Data Encryption Standard: UI Changes

This issue consists of some suggestions in order to improve the usability of "Data Encryption Standard".

  1. The result of "Algorithm Study" is printed within the Input Box, "Fixed Point Study" prints the result below the output table and "S-Box Study" prints the result next to the output table. The outputs should be on the same position. For example in the bottom of the Output box.
  2. The results should be in a copyable form.

RSA Cryptosystem: UI Changes

  1. Encryption: The encryption doesn't work if "Alice Whitehead Public Key" is chosen.
  2. The import functionallity allows to import a public key when a private key is needed (e.g. keytransfer from encryption to decryption). This causes a warning but the key remain unchanged.
  3. Decryption --> Key selection: Choosing a too small p and q results a warning, but the "Finish" button is still enabled.
  4. Decryption --> Key selection: The exponent e can be inserted manually but "d" is not computed until one clicks on a value within the list. If one types a values and then presses enter the value is not taken over.
  5. Decryption --> Key selection: Changing the size of the window once large prime numbers are chosen damages the layout
  6. Decryption --> Enter text: The input validation doesn't block doubled spaces.
  7. Decryption: The result is in an ASCII representation. Changing the options in order to get a decimal or hex representation has no effect.

Elliptic Curve Calculations: UI Changes

Just one little remark: The labels x and y in the boxes "Point P" and "Point Q" are not positioned well - probably inandvertent. I suggest to place these labels next to their input fields.

Multipartite Key Exchange - Exception with Broadcast PK(i)

Open the Multipartite Key Exchange view. Select the radio "2 (large parameters)" in "Settings - Embedding degree k". Click the Generate button and then Broadcast PK(i). The second button results in an exception:

!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.StackOverflowError
at de.flexiprovider.ec.ECPRNG.generateSeed(ECPRNG.java:219)
at de.flexiprovider.ec.ECPRNG.generateSeed(ECPRNG.java:219)
...

Visuals: Add restart visual icons where missing

Each plugin shall have a restart icon to reset all settings and start again, see Verifiable Secret Sharing visual

The icon is still missing in the following visuals:
-Chinese Remainder Theorem
-Differential Power Analysis
-Diffie-Hellman key (only wrong icon is being used)
-ElGamal Cryptosystem
-Elliptic Curve Calculations
-Extended Euclidean
-Feige Fiat Shamir
-Fiat Shamir
-Graph Isomorphismn
-Grille
-Homomorphic Encryption
-Inner State of the Data Encryption Standards
-Kleptography
-Magic Door
-Multipartite Key Exchange
-RSA Cryptographic System
-Shamirs Secret Sharing
-Simple Power analysis against RSA
-Viterbi

Diffie-Hellman Key Exchange: UI Changes

  1. The domain parameters doesn't change if "c2tnb431r1" is chosen (Curve type F(2^m), Curve size Large).
    When a lagre curve size is activated, it is possible to insert zero or a negative number for Alice' and Bob's secret. This causes program errors.
  2. The information pop-ups are very annoying. I suggest to add a description box in the excess space in the right instead.
  3. The button "Choose random curve" changes its position while changing the curve size.
  4. The value of G doesn't change when changing the curve size from large to small.
  5. An open bracket is missing when large numbers are used (Public patrameters box --> Generator G).

Feige Fiat Shamir/Fiat Shamir: UI Changes

This plugin needs basic changes to reach user-friendliness:

Input values:
A 10 digit number is not recognized as a correct value
The whole program freezes when choosing 2 as an input value
The output "n" is wrong, it prints just the first digit

Generate Primenumbers pop-up:
This pop-up has no headline
No input limitation in inputfields "Minimum level" and "Maximum level": The plug-in is not working when inserting -3 and -1, or 0 and 1 for example.
When using error pop-ups, a message like "Error.UPPER_LOWER" is not acceptable.
The Labels have to be improved, too. E.g. "Prime numberp" --> "Prime number p"
When choosing the option "Both equal" the labels "minimum level" and "maximum level" in the box Primenumberq the labels will be overwritten instead of the input fields
Some statements are inkorrekt: E.g. "sum of upper limits > 30" --> "Sum of upper limits >= 30", "The sum of the maximum levels must be less then 30" --> "The sum of the maximum levels exponents must be less than 30"

Basic layout:
(Feige Fiat Shamir only) The list "Amount of entries in a vector" is in a bad place, because it influences the steps above. This list belongs above "Action Flow"
The "Information" box should be positioned next to "Action Flow". There is no reason why these 4 buttons take that much space.
There are some senseless boxes as for example the box around the value n, or the box around the buttons.
The space between the elements and their content is not unified.

Run several times pop-up:
The Option "Alice knows the Secret" is useless, as the result is 100% independent from the amount of reruns.
The measured propability is clearly not correct. When the Amount of reruns is 1, the outout is "0 times right" in almost each run.
(Feige Fiat Shamir only) The "run several times" button should be disabled when clicking on "Reset"

Provide context help for Vigenère-Breaker

The Vigenère-Breaker plug-in lacks of context help support. Provide at least some context help for the Algorithms view menu entry and fill the contextHelpId attribute of the org.jcryptool.core.operations.analysis extension point.

Kleptography: UI Changes

1. A reset possibility is missing
2. Most text areas have the same height as a regular text field. So then,
3. In the box "Standard cryptosystem values" there are some buttons optional ("Gernerate primes P and Q instead of filling out these fields manually) and some represent different decisions, regarding the next steps (Gernerate all at once or generate step by step). This setting is not user-friendly. I suggest to add a "Step by step" button next to "Generate all at once". This button then enables the "Gernerate primes P and Q" button.
4. Method "Attack 1": After "Safe public key and ciphertext" is done, all options up to "Generate P and Q" should be disabled in order to force the user to choose a new prime.
5. Method "Attack 1": The tab "Attacking fixed P" has a quite different setting. The buttons are seperated from the values and the description changes its position from right to left. The layouts should be at least similar.
6. Method "Attack 1" --> Tab "Attacking fixed P": The used buttons should be disabled.
7. "Back to Key Generation and Encryption" is not a part of the computation steps and therefore there has to be at least a newline between "Back to Key Generation and Encryption" and "Decrypt ciphertexts".
8. "Attack 2" and "Attack 3" have no visualization and these attacks are not performed. I think these two options should be removed.

Classic crypto: Unification of pre-operation text filtering

Two methods of text preprocessing before the cryptographic operation starts, exist: On the first wizard page of each algorithm the option is offered (and selected by standard) to filter characters from the input text that are not part of the plain text alphabet. if this option is not selected, non-alphabetic characters will occur unchanged at their original positions in the output. This text transformation is represented in the classic algorithm data object as a boolean. This method is an important part of the algorithm, because it guarantees, that only alphabetic characters are submitted to the algorithm engine.

The second method is part of the default pre-operation text transformations, which can be accessed from wizard page two of the classic algorithm wizards. It offers the functionality to filter the text by a specified alphabet or to leave it unchanged. This method is more "soft" than the first one, because it does neither interfere with the first method, nor is it meant to guarantee an "encryptability" of the text.

Several reasons exist, that the first method of filtering characters should be changed:

  • Deselecting the first filtering option will impair the security of the output of nearly every algorithm, since plain text characters are revealed at their original positions
  • algorithm configuration overload: For securing that a decryption does decrypt a text correctly, the user has to select the first filtering option the same way it was done at encryption, which complicates the process

Suggestion: try to remove this filtering option, and filter characters by default. Some related changes like a cipher text alphabet in addition to the plain text alphabet would be due, too.

Ant Colony: UI Changes

This issue consists of some suggestions in order to improve the usability of "Ant Colony"

Important changes:

  1. Input validation in input fields "Plaintext" and "Ciphertext": The filter does not work for some special chars (e.g. ï). This causes an ArrayIndexOutOfBoundsException. The Input field "Ciphertext" should only accept valid ciphertext chars (A-Z).
  2. Changing the parameters "Apha", "Beta" or "Evap" while the animation is running destroyes the animation
  3. If "Animation" is activated the text in "Ant no 7 decrypts text to:" doen't refresh if option "only one step per click" is activated.
  4. The Button "New ant" is activated bevore the current ant has started
  5. The output in "Ant no x decrypts text to" doesn't make sense bevore the cycle is finished. Show results only if the cycle is finished
  6. If "Plaintext" is empty the "Start analysis" button is deactivated. Changing to the "Analyze a given ciphertext" option doesn't reactivate the button.

Transposition analysis: UI changes

  • Text read-in/read-out options available in the main User interface (not just the text wizard)
  • Switching the pre-analysis text transformation on/off is now possible in the main interface (not just the text wizard)
  • Warning indicates when a ciphertext may note be solvable with the transposition analysis: This happens when a text was encrypted with column-wise read-out of the transposition table after transposing the columns, and when the table was fully filled with characters (e. g. 13 character plaintext, column count 5 => in the last row, 2 spots are free, and no filling up with placeholders). The analysis of such ciphers is a bit more difficult then the other single-round columnar transposition ciphers, because the right solution cannot be seen easily with the naked eye. I won't go into too much detail here, but the transposition of the empty spots in the last row and the column-wise read-out produce columns of different lengths which are appended and without the right key, the lengths of these read-out columns cannot be reproduced. The difference of the column lengths is 1 at maximum but this suffices to make the text hard to decipher; so I decided it is may not be in the scope of this plugin to decipher such texts

Viterbi: UI corrections

Viterbi visualization UI is not identical in German and English and some buttons/ radios do have a confusing description.

Number Shark: provide redo functionality

Number Shark already contains an undo functionality. Implement redo functionality to redo all undone steps as long as no new user action is executed. The Shark Meal menu item needs a new icon, use this icon for the redo menu item.

Simple Power Analysis: UI Changes

  1. The clear button does not reset the private key. If the private key d is not changed, the buttons "Insecure execute" and "Secure execute" remain disabled
  2. The description, which is devided in 4 (!) parts are too detailed. Some parts as for example the C code can be removed. Also the textboxes should be combined to one or two text boxes.
  3. The length of the scroll bar in the box "Part 6" is static and should depend on the length of the visualitzation
  4. The space between elements and their boxes is not unified.
  5. It is possible to insert text in the textbox "Countermeasure".
  6. The descriptions have to be improved, especially the representations of values and formulas.
    Examples:
    -->The value "Res" is not a mathematical representation of a value.
    -->Indexes are some times subscripted, somtines written with underscores and somtimes using both.

XML Security: Sign arbitrary detached files

Extend the XML Signature wizard and enable users, to sign more than one detached file at once. E.g. with a list in which files can be added and removed. Any file can be signed, not only XML documents.

Chinese Remainder Theorem

This issue consists of some suggestions in order to improve the usability of "Chinese Remainder Theorem".

Important:
A "Reset" button is missing
The "Help" button in the "Verify Input" pop-up doesn't work

Nice to have:
The German translation in "Verify Input" is cutted after "Eingabe übernehmen mit dem Button". The text "<Übernehmen>." is missing
It is only possible to paste a one digit number

ElGamal Cryptosystem: UI Changes

  1. Missing errorchecking: Key generation --> New key pair --> p
    p should be grater than 256, but a lower value doesn't deactivate the "continue" button.
  2. When "Alice Whitehead" is used in the "Encrypt" tab, the output format is different: The hex values are not separated by spaces. This my be a problem if the user copies the text to another tab (e.g. "Decrypt) where the input values have to be seperated with spaces.
  3. The input field in the Pop-up Decrypt --> "Enter Text" allows to insert multiple spaces in a row. Then, the input verification failes.
  4. The Key "Alice Whitehead..Private Key" in "Encrypt" and "Sign" cannot be chosen.
  5. The input text in the "Decrypt" tab accepts lower case characters, which causes ArrayIndexOutOfBoundExeptions.
  6. The text output in the calculations box is damaged in the german version.
  7. The text input in "Verify" is damaged. The lines doesn't wrap and pasting in the second text box is also damaged
  8. It is possible to export a (public) key (Encrypt, Verify) and import it to "Decrypt" or "Sign". This doesn't make sense as these computations need the private key and the result cannot be computed.
  9. The Button "Key selection" in "Encrypt" an "Verify" cannot be pressed multiple times like in "Decrypt" or "Sign".
  10. The texoutput in the "Calculations" box should also be in a text field so that its output fits into the box.
  11. During reset the "Step x from y" text should also be resetted
  12. "Alice Whitehead..Public Key" causes problems in the step by step calculation. For some reason the program skips 2 steps.

Homomorphic Encryption: UI Changes

  1. Gentry and Helevi --> First(Second) Operand: Cutting out the input values with "ctrl + x" causes this error: "Cut" did not complete normally. Please see the log for more information.
    For input string: ""
  2. Gentry and Helevi --> Modulus: The Headline of the Box is wrong. "Choose first operand" instead of "choose modulus" is printed.
  3. RSA --> Key: The suggestion is missing
  4. RSA --> Key: A warning appers if N is not the product of two prime numbers but the "Finish" button is still enabled
  5. RSA --> Decrypt result: After prime numbers are inserted, the list for the exponents will be generated. Changing the window size now destroyes the layout because the length of the drop down list changes

XML Security: Update all cheat sheets

Update all cheat sheets to match the new workflow in JCrypTool. Make the cheat sheets as interactive as possible, giving the user the possibility to experiment with the described functionality.

DSA not visible in Algorithms view

The DSA entry is not always visible in the Algorithms view. In palette view, the entry is missing most of the time; in tree view, it is visible at all times. The plug-in is active, it must be a problem with the palette view presentation.

It is available via Algorithms menu all the time.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.