Java代写:ECTE331 Implement Simplified DES

代写实现DES算法,实现加解密。

Requirement

The assignment should be a type written report on the development of your modules. Source code and compiled Java classes must also be submitted in the submission drop box.

The electronic type written report proper should be no more than ten (10) A4 pages. Font size should be a minimum of 10 point font. In this written report is expected all of the explanation. The flow chart or pseudo code and class relationship drawing should be in figure form and is not included in the 10 page limit. References should be at the end (please use some or you will lose marks) and will not be included in the 10 page limit. Students may use appendices for extra pages but these should be referenced inside the report proper. Students are reminded technical reports have headings.

Assignment Marking Schema

Working code section:

Marks awarded (out of 3) What for?
0.00 - 1.00 mark Code that might work but poorly documented
1.01 - 2.00 marks Code that might work but well documented(used comments that make sense when read by someone who did not write the code)
2.01 - 3.00 marks Code that clearly works (have compile evidence and clear working test values) and has output values that answer the assignment task

Detailed functional flow chart or pseudo code of your designed system and class relationship drawing using individual student id:

Marks awarded (out of 1) What for?
0.0 - 0.2 mark Flow chart of Pseudo code provided but poorly documented or too sparse in detail to be useful, no diagram or poorly provided diagram of class relationships
0.21 - 0.60 marks Code that might work but well documented (used comments that make sense when read by someone who did not write the code)
0.61 - 1.0 marks Code that clearly works (have compile evidence and clear working test values) and has output values that answer the assignment task

The next 6 marks are for how well you explain the code that you wrote (which you should have a thorough understanding of). How well it is in terms of object oriented coding as distinct from non object oriented coding (ie does your class(es) design make sense and you can in well written english explain your class/method selections using the class relationship drawing), if the examiner gets the impression that you did not write the code because the explanation makes no or very little sense marks will be rapidly deducted. Exceeding the 10 page limit in this section will result in the excess pages being unread (use an Appendix if needed):

Marks awarded (out of 6) What for?
0.0 - 1.0 marks No evidence in the written explanations that this is code you authored, no references, no attempt to explain code mechanisms and interrelationships, very poor grammar, and those sentences written have no context or relationship with the presented code and solutions; USED some other students ID in your code for no explainable reason. Report has no headings or headings that make no relevant sense.
1.01 - 2.0 marks Some explanation of code, has references, a poor attempt made to explain code mechanisms and interrelationships, poor grammar in places, some sentences have no context but some do make sense in the report, report has headings that make sense.
2.01 - 4.0 marks A good explanation of code, has at least 5 references (most relevant), an adequate attempt made to explain code mechanisms and interrelationships, grammar is good, all sentences are in context, report uses headings effectively, some spelling mistakes and slight issues with readability. Essentially an average attempt at the assigned activity has been demonstrated.
4.01 - 6.0 marks A thorough and concise explanation of all code used in assignment. All interrelationships thoroughly and concisely described. Uses headings effectively and uniquely appropriate to the assignment. All test vectors or code demonstrations are explained and any special coding examples of unique application examples are explained thoroughly. Clear indication that where work is used from sources it is thoroughly referenced. There are at least 7 or more academic references which use IEEE referencing standard. All figures are numbered and have captions and are referenced well in the report on the assignment. The report makes sense and shows a high level of understanding of the assignments question and purpose. This all is contained inside the page limit of the report and/or appendixes are used and appropriately referenced inside the report.

Here is an example of Pseudo code:

1
2
3
4
5
6
7
8
9
Set up loop initial values (could be statement A)
Test if loop variable less than loop_maximum_count
If not
execute statement D
execute statement C
increment loop_counter
return to loop decision point
if reached maximum count value then exit loop
start next sequence of code

Note that you normally do not do this kind of detail in a larger program as illustrated in Figures 1 and 2. These are just to illustrate what is meant by the two program flow document techniques. You should research the technique you wish to use if not previously familiar with it.

Assignment Project

Using the Simplified DES algorithm detailed in Lecture 1 of ecte331, develop a set of classes that allow the input of text phrases and encrypt these, showing encrypted outputs and then also decrypt these encrypted ciphers, showing all phases of encryption / decryption. Use your student id to generate the keys by using the last 3 non-zero digits of your student number. For example if your student number is 9200215 you would use the digits 215 to form the encryption key. Taking these digits change them into hex equivalents. Here this key would become:

0010 0001 0101

This provides a 12 digit encryption key. This then is truncated to the last 10 digits to give:

10 0001 0101

If the first digit of the resulting 10 digit key is not a 1, flip it to a ‘1’. In this case it does not need flipping as it is already a ‘1’.

The S-DES technique is fully described in lecture 1. Use this and other sources if needed.