KF5006 Applied Programming Ceaser Cipher Assignment
[ad_1]
KF5006 Applied Programming Ceaser Cipher Assignment
Knowledge & Understanding:
- Demonstrate knowledge and critical understanding of the essential facts, concepts, principles, theories, challenges and techniques for developing software applications in the fields of Cybersecurity, Computer Forensics or Computer Networking.
- Apply knowledge and understanding of techniques and tools to solve complex computer- based problems.
Intellectual / Professional skills & abilities:
- Identify and analyse problems and select and apply effective methods and tools for their solution.
- Use a range of tools, knowledge and technologies in the development of computing applications.
- Design, build, test and evaluate a prototype product or service for a specific computing problem domain.
Personal Values Attributes:
- Effectively communicate information and analysis, using professional documentation techniques.
Assessment criteria and deliverables required:
- Code Documentation (15 marks)
- Code Functionality and style (45 marks)
A more detailed marks breakdown can be found on page 6.
KF5006 Applied Programming Ceaser Cipher Assignment
Introduction
Over the course of semester 1 and 2 you have been introduced to the following:
1) C++ programming. 2) Code Organisation across files. 3) Code style and a style guide for this module. 4) A systematic methodology for designing functions. 5) Tools for debugging code. 6) The memory structure of a running program. 7) Buffer overflows. 8) Memory allocation on the stack and the heap. 9) Object oriented programming.
During the lab sessions you have had significant exposure to the tools and techniques that you will need to fulfil the requirements of this assignment. You are to use this knowledge to design a piece of software that is professionally documented and tested, and will run without modification on a lab PC with the Ubuntu 16.04 operating system installed.
Software Specification tasks:
NOTE: All code should comply with the KF5006 style guide as provided on the e- learning platform.
As you should be aware from the labs you have completed in class, the Caesar cipher is a simple cipher that encrypts each alphabetic character within some text to another alphabetic character shifted a number of characters along the alphabet. The shift is determined by a key which needs to be shared between the encryption and decryption process (or does it?).
The challenge is to create a program that can analyse the encrypted text to determine the most frequent characters. For example the following encrypted text:
Yhaoly aohu ylxbpypun hss klzpylk mbujapvuhspaf il ibpsa puav aol shunbhnl’z jvyl,
Can be analysed using the counts of the individual characters, from this we can learn a little bit about the original text. For example the following character counts are taken from the encrypted text above:
l occurs 8 times p occurs 7 times a occurs 7 times h occurs 6 times u occurs 6 times y occurs 6 times
If we know that the original text was English then we can make some assumptions based on letter frequency analysis. Figure 1 shows the letter count taken from the analysis of 3,563,505,777,820 words taken from the google corpus data and presented here:
KF5006 Applied Programming Ceaser Cipher Assignment
Need Help with a similar Assignment?
The post KF5006 Applied Programming Ceaser Cipher Assignment appeared first on homeworkcrew.
[ad_2]
Source link