Third coursework slides - part 1

advertisement
Computer Security
coursework 3
(part 1)
Dr Alexei Vernitski
Aims of the coursework
• Learn more about:
– Checksums
– Luhn checksum as an example of an error
detection algorithm
– Birthday attacks
Assignment (slide 1)
• Implement Luhn checksum in Python. Do not
write your own code; find a working code on
the web.
• Luhn checksum was not intended to be a
cryptographic checksum; this is why it will be
a convenient object for us to use as a target of
an attack.
Assignment (slide 2)
• Use a birthday attack to find one even number and one
odd number having the same Luhn checksum, as
follows
– Produce 4 random even numbers in the range between 10
and 99
– Produce 4 random odd two-digit numbers in the range
between 10 and 99
– Calculate Luhn checksums of these 8 numbers
– With a high probability, you will have one even number
and one odd number which have the same checksum. Find
these two numbers and print these numbers and their
checksum
– If you have not found a checksum match, repeat the
experiment
What to submit?
• Submit a ZIP file containing two files:
1. A Python file for Part 1 of Coursework 3
2. A Python file for Part 2 of Coursework 3
• Please submit one file, and please submit a
ZIP file , it makes opening your assignment
easier for me
• Please include your name and registration
number as a comment in your Python code, it
makes entering marks easier for me
How shall I mark your code?
• Your code should do the following:
– Generate four random even numbers (in the range
between 10 and 99)
– Generate four random odd numbers (in the range
between 10 and 99)
– Find their Luhn checksums and compare them
– Print one pair (or all pairs) of an even number and
an odd number having the same value of Luhn
checksum. Also print the value of the checksum.
– You should have a loop in your code to repeat the
experiment if a matching pair has not been found.
Programming
• I attempted the coursework and wrote my
solution in Python
– My complete code (in addition to the
implementation of Luhn checksum, which I took
from the web) contains 9 lines
– It took me approximately 20 minutes to write it
– You may need up to 1 hour to complete the
assignment if you need to learn how to generate
random numbers in Python, how to work with lists
in Python, etc.
Labs
• Before the submission date of each piece of
coursework, we shall have a lab on Monday
• The purpose of the lab is:
– to help you to write your code, in case you have
any difficulties
– to give you an opportunity to demonstrate your
code to me
No collaboration
• This is an individual assignment
• I shall look for signs of collaboration and
plagiarism
Download