Write My Paper Button

WhatsApp Widget

IoT Systems Security | My Assignment Tutor

Module: IoT Systems Security Module code: UFCF8P-15-M1Assessment Specification Document: Random NumbersGeneratorsModule AssementTable 1 summarizes the module assessment component and their respective ratios.Table 1: Module Assessment Weighting percentage between componentsComp A: 60Comp B: 40Comp A: E-portfolioElement WeightA.1 Individual E-portfolio24% (40% of the component, i.e., 24 of 60)A.2 Group Work (Demo and E-portfolio)36% (60% of the component)Comp … Continue reading “IoT Systems Security | My Assignment Tutor”

Module: IoT Systems Security Module code: UFCF8P-15-M1Assessment Specification Document: Random NumbersGeneratorsModule AssementTable 1 summarizes the module assessment component and their respective ratios.Table 1: Module Assessment Weighting percentage between componentsComp A: 60Comp B: 40Comp A: E-portfolioElement WeightA.1 Individual E-portfolio24% (40% of the component, i.e., 24 of 60)A.2 Group Work (Demo and E-portfolio)36% (60% of the component)Comp B:Element WeightGroup Presentation40 (100% of the component) SpecificationThis is related to component A.1 of the module assessment, with an overall ratio of 24% of themodule assessment. It consists in implementing a simple random number generator using therand() function of “stdlib.h” and writing test programs to assess its quality.The quality of random numbers generation has always been a source of concern. Nowadays, wegenerally use pseudo-random computer generated numbers and these are vital to cyber securityand encryption. These numbers are not truly random, but rather a set of these numbers shoulddisplay the property of randomness. In this task we are NOT seeking generating real randomnumbers but just interested in investigating the distribution of pseudo random numbersgenerated by rand() function.Module: IoT Systems Security Module code: UFCF8P-15-M2The tests you are going to implement were suggested by Kendall & Babbington-Smith over aseries of papers published in 1938/39. These tests obviously predate computer generatedrandom numbers but are ways of assessing the randomness of a set of numbers.The rand() function returns a pseudo-random integer between 0 and RAND_MAX, which hisis defined in stdlib.h. You should not replace it with a constant since its value may vary withimplementations.We need to rescale this value and fit it between 0 and 10 (0 included, 10 excluded). This can beachieved by multiplying by 10 and dividing by RAND_MAX. To ensure that the generated integernumbers is one digit in decimal, i.e., strictly less than 10, we need to divide by (RAND_MAX+1).Please use the following to generate a single pseudo random number between 0 (included) and10.randon_number = (int) (10.0*rand()/(RAND_MAX + 1.0));Write a single code, randTest.c, that uses the instruction above to generate every singlenumber and implements all the tests given in table 2. In the runtime, however, only a single(selected) test will be performed, and the result will be displayed on the screen. E.g., suppose theexecutable file is named, ranTest.out, if in the runtime one wants the first test, they justhave to type “ranTest.out 1”, if the second, “ranTest.out 2”, etc. In other words, asingle character parameter is used after the file name for that. You need to use the parsingcommand line arguments through the main function.Module: IoT Systems Security Module code: UFCF8P-15-M3Table 2: Tests TestDeception1. Mean testCalculate the mean of 1000 random numbers. the result should be close to 4.5.2. Frequency testTabulate the percentage of each digit 0 through 9 in 10,000 generated numbers.These should each be close to 10%.3. Serial testGenerate 10,000 pairs of numbers. Tabulate the frequency of each pair, 00, 01,02,….., 99. This time we would expect roughly 1% in each category.4. Poker testGenerate four digits at a time, and repeat 1000 time (a thousand sets of 4 digits).Tabulate the sets as: i) all the same (e.g. 4444), ii) 3 digits the same (e.g. 4443, 3444or 4344), iii) two pairs (e.g. 4334, 4433), iv) one pair (e.g. 4324 or4342), or v) noneidentical. In theory we would expect frequencies of 1, 36, 27, 432 & 504 respectivelyfor a thousand sets of numbers (i.e. 4000 digits). You will not necessarily get thoseexact numbers.5. Pocker Test using afileGenerate 4000 random digits and save them in a text (using ASCII coding), wherecharacters are separated by spaces. Repeat the poker test by reading the numbersfrom the file. DeliverablesFor this part (Part A.1: individual E-portfolio), please upload a single .c source file. Please nameit randTest.c, that is clearly organized and well commented on the Blackboard. Instructionson submission will be given in due time.You will need to submit your work via Blackboard by Thursday 6th May 2021.Module: IoT Systems Security Module code: UFCF8P-15-M4Marking criteriaThe total mark will be out of 24 points, which is split among the question as follows:• test 1: 2 points (pass or fail),• test 2: 4 points (pass or fail),• test 3: 4 points (pass or fail),• test 4: 5 points, 1pt for each frequency (of each class).• test 5: 5 points, 2.5pt for saving the generated numbers in a file, and then 0.5 for eachclass.• code quality: 4 points.Note that for you to get the maximum mark on each test you need to show that the randomnumbers are correctly generating and matching the distribution. Matching the distribution doesnot mean reaching the exact theoretical values given in the table, those are just indicative. To getpoints for “the quality of the code”, it should be easy to follow, commented, modular (use offunctions for repetitive actions), and all functions with clear headers.

Don`t copy text!
WeCreativez WhatsApp Support
Our customer support team is here to answer your questions. Ask us anything!
???? Hi, how can I help?