wiki:StudentTasksProposals

Version 27 (modified by Matthäus Wander, 12 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

  • MD6 implementation (Spec)
  • Visualization and advanced cryptanalysis of Enigma
  • Create a simple editor, which resembles the classical interface of CrypTool 1.
  • SIGABA encryption and visualization
  • Any hash function from SHA-3 contest, for the weak ones preferably with an attack sample (overview)
  • Vigenere-Autokey and cryptanalysis

Project

  • Concept for (semi-)automatic plugin testing
  • 64 Bit support (see also #9)
  • Network sniffer (#32)
  • HexEditor (#11)
  • Replace commercial WPF components with open source ones (Dock, Ribbon, Navigation)
  • Authoring tool for online help (#4)
  • Full Internationalization / Localization (related to #63)
  • 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

Week

currently none

Assigned tasks

  • 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 Team Distributed Cryptanalysis, 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
  • MD5 collider: Holger Pretzsch, Uni Due

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