Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 15

1.

Similarities:

 Data from both RAM and HDD must be copied to another source to secure the original copy.
 In a HDD, disk images (bit-for-bit representations of actual HDD data) are mounted with an
image mounter software, so that the contents can be analysed using Windows Explorer.
 Similarly, a Ram Dump, i.e. an instantaneous RAM Snapshot, is loaded onto a pen drive,
which can then be analysed using software.

Differences:

 To ensure the data remains in its original state in a HDD, the device which it is connected to
shouldn’t be turned on, as the boot-up process may overwrite data.
 However, when obtaining a RAM Dump, the computer should not be turned off, as RAM is
volatile, and all RAM data would be lost if the computer is switched off.
 Disk images can be analysed using Windows Explorer after being mounted, but specialised
software must be used to analyse RAM contents.

Word count for Question 1 is 150 words.

Parth Shah TM112 - TMA03 E395923X


2ai.)

>> show flashcard

Assign names to show difficulty of each list, i.e. easy_keys_list and hard_keys_list.

If the user presses ‘e’, then user_input is set to ‘e’

If the user presses ‘h’, then user_input is set to ‘h’

>If user_input equals ‘e’

then choose a random entry from the easy glossary and set ‘level’ to easy_glossary.

>If user_input equals ‘h’

then choose a random entry from the hard glossary and set ‘level’ to hard_glossary.

Print the respective glossary list value, using the value generated from the random entry, and the
‘level’ variable.

In response to the user pressing return, print the definition of that entry

2aii.)
def show_flashcard():
""" Show the user a random key and ask them
to define it. Show the definition
when the user presses return.
"""

easy_keys_list = list(easy_glossary)
hard_keys_list = list(hard_glossary)

if user_input == 'e':
""" To randomise the words in the list. """
random_key = choice(easy_keys_list)
level = easy_glossary

elif user_input =='h':


random_key = choice(hard_keys_list)
level = hard_glossary

""" Shows user random key from the difficulty level they
chose."""

Parth Shah TM112 - TMA03 E395923X


print('Define: ', random_key)
input('Press return to see the definition')
print(level[random_key])

2aiii.)

Test Case: Input: Output:


Display ‘easy’ word >>> user_input = ‘e’ Define: word1
>>> show_flashcard() Press return to see the definition
Enter definition1
Display ‘hard’ word >>> user_input = ‘h’ Define: word5
>>> show_flashcard() Press return to see the definition
Enter Definition5

2aiv.)

Test Case: Input: Output:

Define: word2
‘e’
Display ‘easy’ word Press return to see the definition
Return
definition2
Define: word4
‘h’
Display ‘hard’ word Press return to see the definition
Return
definition4

‘a’
Invalid Option You need to enter either e or h or q.
Return

‘q’
Quit Program Program Quits
Return

Parth Shah TM112 - TMA03 E395923X


Parth Shah TM112 - TMA03 E395923X
2av.)
# Q2.py
# TMA03 19J Question 2

"""
This flashcard program allows the user to ask for a glossary entry.
In response, the program randomly picks an entry from all glossary
entries. It shows the entry. After the user presses return, the
program shows the definition of that particular entry.
The user can repeatedly ask for an entry and also
has the option to quit the program instead of seeing
another entry.
"""

from random import *

# Set up 'easy' and 'hard' glossaries

easy_glossary = {'word1':'definition1',
'word2':'definition2',
'word3':'definition3'}

hard_glossary = {'word4':'definition4',
'word5':'definition5',
'word6':'definition6'}

# Modify this function for part aii.

def show_flashcard():
""" Show the user a random key and ask them
to define it. Show the definition
when the user presses return.

Parth Shah TM112 - TMA03 E395923X


"""

easy_keys_list = list(easy_glossary)
hard_keys_list = list(hard_glossary)

if user_input == 'e':
""" To randomise the words in the list. """
random_key = choice(easy_keys_list)
level = easy_glossary

elif user_input =='h':


random_key = choice(hard_keys_list)
level = hard_glossary

""" Shows user random key from the difficulty level they
chose."""
print('Define: ', random_key)
input('Press return to see the definition')
print(level[random_key])

# The interactive loop. Modify this for part aiv.

exit = False

while not exit:

user_input = input('Enter s to show a flashcard and q to quit:


')
if user_input == 'q':
exit = True

elif user_input == 's':

Parth Shah TM112 - TMA03 E395923X


while not exit:

""" User won't have to start back from beginning


each time there is an invalid input. """

user_input = input('Enter e to show an easy glossary, or


h to show a hard glossary, or q to quit: ')

if user_input == 'q':
exit = True

elif user_input == 'e' or user_input =='h':


show_flashcard()

else:
print('You need to enter either e or h or q.')
else:
print('You need to enter either s or q.')

Parth Shah TM112 - TMA03 E395923X


2avi.)

Notebook:

Entry 1:

Setting up the easy and hard glossaries, and using the list() function to
Task:
randomise the glossary.
Renamed glossaries and assigned variables to each glossary for easy
How: reference. Then converted each glossary into a list to make it easier to
randomise. Then learned the significance of the choice() function.
Sections 2.2.1, and 2.2.2 from TM112 Block 3 Part Two Textbook. I found
Resources: the examples and the activities to be useful, as it allowed me to understand
how to use the choice() function.
Initially I copied the print statement code twice, for each of the if
statements. Then I thought that I could try and optimise my program as it
did not look like the most efficient solution. So, I assigned the variable
Difficulties: ‘level’ to each glossary, and I put the print statement after the if statement.
The print statement code is just used once, along with the ‘level’ variable,
which tells which glossary should be printed. I was able to cut down on
unnecessary lines of code.
I became confused with the addition of the dictionary and initially thought
that I may need to learn some other functions to manipulate data inside the
Lessons Learnt: dictionary, but I learned that the keys of the dictionary can be converted
into a list, and then using those key numbers, the contents of the dictionary
can be extracted.

Entry 2:

Learning how the interactive loop works and making sense of the
Task:
template code.
I went through each line of the code and tried to understand what each line
translated to in the program. Experimenting with various ideas, and by
How:
using trial and error, I was finally able to settle on the code which met the
desired specification.
Sections 2.3 from TM112 Block 3 Part Two Textbook. I found the
explanation of Pattern 2.1 – The Interactive Loop especially useful as it
Resources:
allowed me to see a detailed breakdown of how the interactive loop
worked.
I found it difficult to not let the program revert back to the start each time
there was an invalid input. In other words, I wanted the program to revert
back to the last step only, if there was an invalid input. For example, if the
program asked to enter ‘e’ or ‘h’, and if the user entered ‘j’, I wanted the
Difficulties: program to ask the user again to enter those values instead of going back to
the beginning and asking the user to press ‘s’ to show a flashcard.

By adding another while loop inside the if statement, I was able to make the
program work.
I learned that I could set a condition and have my program to continue
Lessons Learnt: looping infinitely until that condition is met, using Boolean values with a
variable.

Parth Shah TM112 - TMA03 E395923X


Entry 3:

Testing the program, debugging any issues, and cleaning up any redundant
Task:
code.
Went through each line of code and tried to implement more efficient
solutions to try and reduce unnecessary lines of code. Spent a lot of time
How:
trying to ensure that my program met the specifications, so had no issues
when I was testing it.
I used this website: https://www.pythonforbeginners.com/basics/python-
Resources:
docstrings, to understand what a docstring was.
One of the questions asked to write a suitable ‘docstring’ for the function,
Difficulties: but I did not know what it was. So, I had to research what it was, and try to
implement it in my code.
At first, I could not understand what Task 2aiii.) wanted me to do, but then I
realised that even after exiting the program, I could still enter variable
Lessons Learnt:
values and call functions, and the results would be displayed. I did not know
that this would be possible.

2b.)

There should be an option for a mixed mode, containing words from both the easy glossary, and the
hard glossary. This would require algorithmic changes in the show_flashcard(), and additions to the
interactive loop code.

Additional algorithm steps needed:

>> show flashcard

>If user chooses mixed, then set ‘user_input’ to ‘m’ and combine both glossary dictionaries into one
large glossary dictionary.

Convert this dictionary into a list

Generate random key values

Use the random key values to select random definitions from the large mixed glossary dictionary,
and use ‘level’ variable to print appropriate word and definition.

In response to the user pressing return, print the definition of that entry.

Interactive loop code:

Add input for ‘m’ (mixed), and in that case, set user_input to ‘m’.

Word Count for Question 2b is 125 words.

Parth Shah TM112 - TMA03 E395923X


3a.)

The fingerprints that are collected will be translated into a long chain of indecipherable numbers,
directly at the source, so no fingerprints will be transmitted anywhere. This process is called
‘hashing.’ So, only a series of numbers, which are incredibly hard to crack, will be sent from your
computer to the bank’s website. In addition to hashing, a process called salting adds a portion of
additional data to the fingerprint data before it is hashed. Having a random set of numbers within
the fingerprint data makes it even tougher to crack. On top of this, the hash codes that the bank will
receive will be encrypted, and then stored in the server for added security, using a unique
encryption key, that only the bank knows about. Every time you log in with a fingerprint, an
acknowledgement text message will be sent to your mobile phone, as a measure of two-factor-
authentication.

Word Count for Question 3a is 150 words.

3bi.)

There are 2n possible keys available, where n represents the number of bits.

For a 10-bit system, there are 210 keys available.

210 = 1024 possible keys.

3bii.)

There are 2n possible keys available, where n represents the number of bits.

For a 16-bit system, there are 216 keys available.

216 = 65536 possible keys.

3biii.)

Adding one bit to the length doubles the number of possible keys, so between 2 10 and 216, there is a
difference of 6 bits.

The number of possible keys is increased by 26. 26 = 64

The 16-bit system is 64 times more secure than the 10-bit system.

Parth Shah TM112 - TMA03 E395923X


4.)

With the addition of end-to-end encryption in WhatsApp, iMessage and Signal, criminals who used
SMS and e-mail to communicate, are switching to instant messaging applications to protect their
communications from being intercepted by intelligence agencies. Criminals are using encryption to
their advantage because it allows them to communicate safely without being caught by anyone.
This, of course, is raising great concerns for law enforcements across the world.

Companies behind instant messaging apps are being pressurised from government officials to create
a ‘backdoor,’ which would allow them to see encrypted messages that criminals and terrorists send.
However, creating a backdoor in a secure system introduces security risks, as the system develops
weak points, prone to attacks by hackers. Due to the large international presence of these
companies, providing a version of the software with a backdoor to one country, means that the
software could be leaked and used by hackers, to access the systems of users in other countries.
Many argue that ‘backdoors’ are a bad idea, as it is difficult to trust that only the government will
use it. It weakens the overall security of the system.

I believe companies should co-operate with government and allow ‘backdoors’ into their systems
but should make sure that the overall security has minor impact. It is becoming increasingly easy for
criminals and terrorists to communicate their plans without being noticed, and I don’t believe that
the security of normal day-to-day communications should be prioritised over helping the
government tackle on terrorism and crime.

Reference:

BBC News. (2018). Australia passes encryption-breaking laws. [online] Available at:
https://www.bbc.co.uk/news/world-australia-46463029 [Accessed 7 Mar. 2020].

Word Count for Question 4 is 250 words.

Parth Shah TM112 - TMA03 E395923X


5a.)

The DPA 2018 defines ‘personal data’ as:

“any information relating to an identified or identifiable living individual.”

As the spreadsheet which Arthur edited contained customer names and addresses, this information
is directly related to a living individual. Therefore, that spreadsheet contains ‘personal data’
according to the DPA 2018.

Word Count for Question 5a is 48 words.

5b.)

Despite the laptop not being locked, by opening someone else’s laptop and modifying their files
without their knowledge, Arthur gains unauthorised access to the computer.

Arthur’s plan revolved around Sarah not knowing that the spreadsheet has been modified, and Sarah
subconsciously sending the spreadsheet forward knowing that only she had access to it.

Arthur plotted revenge against Sarah and knew that if Sarah found out what he was doing, his plan
would fail. This implies that Arthur knew that Sarah would not have authorised his actions.

Therefore, Arthur has commited a Section 1 offence, as all three requirements are met:

1. Gaining access to a computer, and


2. Not being authorised to do so, and
3. Being aware that their actions are not authorised by the computer owner.

Word Count for Question 5b is 128 words.

5c.)

Arthur has commited a Section 3 offence, because he intentionally modified the spreadsheet to
damage Sarah’s reputation, and tried to cause harm for both the business and its customers.
Although his plan failed, the crime lies in his intention for causing the harm, and not the success of
the plan itself. By changing the data to create confusion and problems within the delivery and
invoice team, and also to take revenge against Sarah, it proves that Arthur had malicious intents, and
therefore he has commited a Section 3 offence.

Word count for Question 5c is 89 words.

Parth Shah TM112 - TMA03 E395923X


6.)

Importance of Digital Understanding

Since starting the TM112 module in September, on many occasions I see something in my daily life,
which directly links to something I recently learned from the textbook. Whether it be seeing
technology related articles in the news, or experiencing something from just casually using my
computer, studying this module has helped me develop a greater digital understanding. From
learning the internal structure of HDDs and SSDs, to learning about the number of legislations
designed to protect humans from IT misuse; there are many aspects of this block that initially
surprised me and inspired me to research further.

For example, Activity 4.19 detailed an animation of how Apple’s end-to-end encryption works.
Despite being an avid user of iMessage, I had no clue that each of the messages I send and receive
goes through an extremely complicated process of encryption within seconds. The thing I found
most surprising was that Apple’s servers have to delete each message, as soon as the recipient
receives it. Furthermore, Apple can only hold the message for a maximum of 30 days, after which it
has to permanently delete it if the recipient’s phone is still unreachable. From just this activity, I was
able to learn the significance of privacy and security in IT, and how companies have to design robust
mechanisms to assure their customers, in an increasingly digital world prone to attacks.

Having basic knowledge about how some IT concepts work inspires me to learn further and seek
interest in how technology is evolving around the world. While surfing on the internet, I came across
an article which explained that lasers can be used to manipulate MEMS microphones in smart home
devices like Alexa and Google Home. This sparked my interest because in Block 2, I had learned
about the use of MEMS (micro-electric-mechanical-sensor) in accelerometers; the sensor which
determines shaking and tilting in your phone. However, in this case, the researchers from Michigan
University were using laser lights to simulate a signal to the MEMS microphones of the smart
devices. But from what I had learned, I thought that MEMS sensors could only be used in
accelerometers and gyroscopes. Although I have some surface-level knowledge of MEMS sensors
from Unit 3.2.3 in Block 2, I could not understand how the light from a laser could be translated into
sound waves that microphones in smart-home devices are programmed to reply to.

Regardless, reading that article again made me reflect on things which I learned in Block 3.
Microphones appear to be impenetrable in terms of security, and so too did the Clipper Chip before
launch. However, just like the researchers found out, there is always some sort of loophole in any
system. Studying TM112 has given me knowledge in several areas of computing. Through every
chapter I learn, I am building my digital understanding and opening my brain to build connections
with what I am currently learning, to what is traditionally being used in common electronic devices
throughout the world.

Bibliography:

End-to-End Messages. (2018). [Video] TM112 - Activity 4.19 Video: The Open University.

TM112 - Introduction to computing and information technology 2 - Block 2. (2018). Milton Keynes:
The Open University, pp.137-139.

TM112 - Introduction to computing and information technology 2 - Block 3. (2018). Milton Keynes:
The Open University, pp.212-218, 220.

Parth Shah TM112 - TMA03 E395923X


O'Donnell, L. (2019). Alexa, Siri, Google Smart Speakers Hacked Via Laser Beam. [online]
Threatpost.com. Available at: https://threatpost.com/alexa-siri-google-smart-speakers-hacked-via-
laser-beam/149860/ [Accessed 7 Mar. 2020].

Word Count: 500 words.

Parth Shah TM112 - TMA03 E395923X


7a.)

7b.)
I enjoyed answering Questions 14 and 19, because it involved completing a paragraph about
a specific concept by filling in the blanks. More specifically, I liked the fact that you could
arrange the words in different ways until you reached something which made sense. This
helped me understand those concepts in greater detail. Also, I found Question 10 very
interesting to do because it asked to write a program that which the computer would test
and then determine if it passed or not. It was a challenging question, testing my
programming abilities from what I have learned from these modules.
Word count for Question 7b is 100 words.

Parth Shah TM112 - TMA03 E395923X

You might also like