wiki:StudentTasksProposals

Version 59 (modified by Matthäus Wander, 11 years ago) (diff)

--

Open tasks

This page lists open tasks which can be performed by students with no previous experience with CT2. The proposed tasks are grouped into the following categories:

  • Thesis -- tasks which may be suitable for a bachelor, master or diploma thesis.
  • Project -- tasks which probably require an effort of a couple of weeks, but which do not qualify as a thesis topic. Tasks may be combined to a single project if one task proves to be less comprehensive than expected.
  • Week -- tasks which can be performed within one or at most two weeks, for example as homework or as test task to figure out whether a candidate is qualified to perform major CT2 tasks.

Note: The grouping is a rough estimation to collect ideas. Before assigning a task it's the tutor's duty to verify whether the task actually is suitable for the student.

Thesis

Project

  • HexEditor (#11)
  • Authoring tool for online help (#4)
  • Enhance the frequency test with a tabular presentation (similar to CT1) and a comparative feature: two text-inputs should be compared, the primary one is displayed as a chart, and the color of each bar is green if it matches the second input and red if not (and the entire color-span inbetween for matching values from good to bad). In case no secondary input is provided, standard english or german should be used for comparision
  • TextEditor (AvalonEdit)
  • Fuzzy string search (Example, Wikipedia)
  • Enhance existing WordPatterns plugin (see comments in source code)
  • Build wrapper around BouncyCastle C#, or maybe around Crypto++ (latter is more powerful, but C++)
  • Statistical tests for randomness (see NIST), maybe a new random number generator (see existing one first), see also 1, 2, 3, 4, 5, 6, 7
  • Measure password strength
  • Google Search (Input: Text search string, Output: Hit count)
  • Man-in-the-Middle-Plugin to modify traversing data
  • Improve SimpleEditor to resemble the classical interface of CrypTool 1

Week

  • Create foreach plugin (takes array input, outputs single objects)

Assigned tasks

  • Network sniffer (#32): Matthäus Wander, Uni Due
  • Full Internationalization / Localization (#127): Sven Rech, Florian Marchal
  • Lorenz SZ42 encryption: Implement and analyze. Integrate in CT2 a C# version of the ADA code of the winner from here. Assigned to: Wilmer Daza
  • Visualization and advanced cryptanalysis of Enigma: Julian Weyers

Finished tasks

  • ArrayIndexer (retrieve one object via numeric index from an array): Christian Arnold, Uni Due
  • LengthOf (get length of string or array): Christian Arnold, Uni Due
  • Check whether the plugin templates work: Matthäus Wander, Uni Due
  • Create plugin similar to Substring (or enhance Substring) which cuts CryptoolStream and/or byte[] (see CRC32-sample for usage scenario): CT2 Team Transposition, Uni Due
  • Create ButtonTrigger plugin which fires a bool output when user clicks a buttonj: CT2 Team Transposition, Uni Due
  • Create regular expression plugin(s), for example match and replace (see System.Text.RegularExpressions): CT2 Team Transposition, Uni Due
  • Combine Stream/String converters (add byte[] type): CT2 Team Distributed Cryptanalysis, Uni Due
  • Create all cost functions used in enigma as plugins (i.e. entropy, log2-trigrams..): CT2 Teams Distributed Cryptanalysis & Transposition, Uni Due
  • MD5 collider: Holger Pretzsch, Uni Due
  • Nihilist: Fabian Enkler
  • Vigenère-Autokey: Dennis Nolte, Uni Due
  • Concept for (semi-)automatic plugin testing: Matthäus Wander, Uni Due