Editing
Final Report 2011
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==CipherGUI== ''A centralised cipher analysis tool implementing multiple ciphers with an interactive and easy-to-use interface.'' ===Concept=== The CipherGUI was a concept developed by the team that was initially not part of the objectives but became a major section of the project with encouragement from the project supervisor. The significant amount of research and time spent creating software in order to investigate each cipher’s relation to the Somerton Code in the Cipher Analysis section provided a unique opportunity to create a lasting product that could take advantage of this work, in the form of a Graphical User Interface (GUI) merging multiple ciphers into one centralised intuitive application. ===Technical Challenges=== The following technical challenges were identified for the CipherGUI. # Merge multiple ciphers intuitively # Providing interactive functionality # Implementing hand-designed ciphers Merging multiple ciphers into one centralised tool with an easily understood interface created challenges. Ciphers are inherently different to each other, presenting alternative interfaces to the outside world. They use different algorithms and accept different key types, returning results in different structures. Another challenge was providing interactive functionality, referring to allowing the user to choose key values or keywords (where appropriate) and providing feedback in the form of real time analysis tools. Converting older ciphers designed for use by hand into software form also provided difficulties. ===Design=== The key design feature to meet these technical challenges was the use of a modular design approach. This allowed multiple ciphers to be easily integrated into the central tool through just five lines of code. The issue of providing interactive functionality to ciphers with inherently different interfaces was solved through the allocation of a unique central panel set by each individual cipher, enabling descriptions, instructions, different key entry types and graphical aids. Real-time letter frequency graphs were also included to provide an analysis tool as well as dynamic tables and cipher alphabets. Zoom features on larger graphical aids were also designed. Other design decisions included restricting language used to Java as this was the language project members had experience in and the use of the freeware [http://www.eclipse.org/downloads/ Eclipse IDE] minimising budget impact. [[File:CipherGUI_Concept_Map.png||450px|center|GUI Concept Map]] <center>'''Figure 8 - CipherGUI Concept Map'''</center> Another advantage of the modular structure of the CipherGUI software is that additional cipher methodology can be easily integrated in the future providing there is conformity to the established connection interface used by all exisitng individual cipher implementations. A conceptual software map is shown in Figure 8. ===Implementation=== A modular implementation approach was taken in which, once the base functionality of the CipherGUI was coded, each cipher could be easily integrated by setting the encryption and decryption algorithms and building the unique central panel as described above. Figure 9, below, shows a screenshot of the working application. A large selection of ciphers is available via the dropdown list above the unique central panel, with areas designated for plaintext, ciphertext and frequency plots. The screenshot shows the Playfair Cipher in use. The user of the program has specified the input key “Music” and the cipher-square in the central panel has updated to reflect this choice of keyword. Letter frequencies of the ciphertext and plaintext are displayed in the graphs. <center>[[File:Working CipherGUI.png|Working CipherGUI]]</center> <center>'''Figure 9 - CipherGUI display panel'''</center> ===Testing=== With the modular design, testing on cipher implementations was also done in a modular manner. Research from the cipher investigation stage provided comparative examples and boundary cases were also considered. The simple modular design meant there were few issues encountered during testing. The Testing phase also included successful cross-platform compatibility testing between Unix, Windows and Apple operating systems.
Summary:
Please note that all contributions to Derek may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Derek:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Tools
What links here
Related changes
Special pages
Page information