Sei sulla pagina 1di 10

(Approved by UAC)

SAMPLE

UNIVERSITI KUALA

LUMPUR

ASSESSMENT BRIEF
COURSE DETAILS
CAMPUS
COURSE NAME
COURSE CODE
COURSE LEADER
LECTURER
YEAR/SEMESTER

UniKL MIIT
CRYPTOGRAPHY
IBB42203
DELINA BEH MEI YIN
DELINA BEH MEI YIN
2016/2

TITLE/NAME
WEIGHT
DATE/DEADLINE
COURSE
OUTCOME(S)

Lab 2 (group)
10 marks

ASSESSMENT DETAILS

INSTRUCTIONS

DELIVERABLES

CLO 3:
Analyse, review and demonstrate the use of existing cryptography
algorithms. (C6 )
Perform the following tasks:
1. Choose 5 source code from the options below.
2. Compile the source code
1. Demonstrate the output by group.

Pseudo-Random Numbers: Computers normally cannot generate really random numbers, but
frequently computers are used to generate sequences of pseudo-random numbers. These pseudorandom numbers are generated by some algorithm, but, for all practical purposes, they appear to be
actually random.
Option 1 (C#)
using System;
class Program
{
static int Main()
{
Random rndNumbers = new Random();
int rndNumber = rndNumbers.Next();
Console.WriteLine("Number: {0}", rndNumber);
return 0;
}
}
Here is an example of running the program:
Number: 1369872590
Press any key to continue . . .

(Approved by UAC)

Option 2 (C#)
using System;
class Program
{
static int Main()
{
Random rndNumbers = new Random();
int rndNumber = 0;
for (int nbr = 1; nbr < 9; nbr++)
{
rndNumber = rndNumbers.Next();
Console.WriteLine("Number: {0}", rndNumber);
}
return 0;
}
}
Here is an example of running the program:
Number: 1924504148
Number: 1257846191
Number: 424740120
Number: 1009211682
Number: 544356245
Number: 708951978
Number: 759684741
Number: 1325535324
Press any key to continue . . .

Option 3 (C#)
using System;
class Program
{
static int Main()
{
Random rndNumbers = new Random(20);
int rndNumber = rndNumbers.Next();
Console.WriteLine("Number: {0}", rndNumber);
return 0;
}
}
Here is one example of running the program:
Number: 375271809
Press any key to continue . . .

(Approved by UAC)
Option 4 (C#)
using System;
class Program
{
static int Main()
{
Random rndNumbers = new Random(20);
int rndNumber = 0;
for (int nbr = 1; nbr < 5; nbr++)
{
rndNumber = rndNumbers.Next();
Console.WriteLine("Number: {0}", rndNumber);
}
return 0;
}
}
Here is one example of running the program:
Number: 375271809
Number: 1472524622
Number: 1605850688
Number: 1776011503
Press any key to continue . . .

Option 5 (C#)
using System;
class Program
{
static int Main()
{
Random rndNumbers = new Random();
int rndNumber = 0;
for (int nbr = 1; nbr < 9; nbr++)
{
rndNumber = rndNumbers.Next(20);
Console.WriteLine("Number: {0}", rndNumber);
}
return 0;
}
}
Here is an example of running the program:
Number: 1
Number: 7
Number: 1
Number: 16

(Approved by UAC)
Number: 14
Number: 19
Number: 3
Number: 1
Press any key to continue . . .

Option 6 (C#)
using System;
class Program
{
static int Main()
{
Random rndNumbers = new Random();
int rndNumber = 0;
for (int nbr = 1; nbr < 9; nbr++)
{
rndNumber = rndNumbers.Next(6, 18);
Console.WriteLine("Number: {0}", rndNumber);
}
return 0;
}
}

Here is an example of running the program:


Number: 17
Number: 9
Number: 8
Number: 15
Number: 10
Number: 9
Number: 13
Number: 11
Press any key to continue . . .
Option 7 (Java)
import java.util.Random;
/** Generate 10 random integers in the range 0..99. */
public final class RandomInteger {
public static final void main(String... aArgs){
log("Generating 10 random integers in range 0..99.");
//note a single Random object is reused here
Random randomGenerator = new Random();
for (int idx = 1; idx <= 10; ++idx){
int randomInt = randomGenerator.nextInt(100);
log("Generated : " + randomInt);
}

(Approved by UAC)
log("Done.");
}
private static void log(String aMessage){
System.out.println(aMessage);
}
}
Example run of this class:
Generating 10 random integers in range 0..99.
Generated : 44
Generated : 81
Generated : 69
Generated : 31
Generated : 10
Generated : 64
Generated : 74
Generated : 57
Generated : 56
Generated : 93
Done.
Option 8 (C++)
/*Steven Billington
January 17, 2003
Ranexample.cpp
Program displays three random integers.
*/
/*
Header: iostream
Reason: Input/Output stream
Header: cstdlib
Reason: For functions rand and srand
Header: time.h
Reason: For function time, and for data type time_t
*/
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main()
{
/*
Declare variable to hold seconds on clock.
*/
time_t seconds;
/*
Get value from system clock and
place in seconds variable.
*/
time(&seconds);
/*

(Approved by UAC)
Convert seconds to a unsigned
integer.
*/
srand((unsigned int) seconds);
/*
Output random values.
*/
cout<< rand() << endl;
cout<< rand() << endl;
cout<< rand() << endl;
return 0;
}
Expected output:
Program displays 3 random integers.

Example 9 (Java)
This example generates random integers in a specific range.

import java.util.Random;
/** Generate random integers in a certain range. */
public final class RandomRange {
public static final void main(String... aArgs){
log("Generating random integers in the range 1..10.");
int START = 1;
int END = 10;
Random random = new Random();
for (int idx = 1; idx <= 10; ++idx){
showRandomInteger(START, END, random);
}
log("Done.");
}
private static void showRandomInteger(int aStart, int aEnd, Random aRandom){
if ( aStart > aEnd ) {
throw new IllegalArgumentException("Start cannot exceed End.");
}
//get the range, casting to long to avoid overflow problems
long range = (long)aEnd - (long)aStart + 1;
// compute a fraction of the range, 0 <= frac < range
long fraction = (long)(range * aRandom.nextDouble());
int randomNumber = (int)(fraction + aStart);
log("Generated : " + randomNumber);
}
private static void log(String aMessage){
System.out.println(aMessage);
}

(Approved by UAC)
}
An example run of this class:
Generating random integers in the range 1..10.
Generated : 9
Generated : 3
Generated : 3
Generated : 9
Generated : 4
Generated : 1
Generated : 3
Generated : 9
Generated : 10
Generated : 10
Done.

Option 10 (JAVA)
public class MainClass
{
public static void main(String[] args)
{
Random random = new Random();
//Generating random integers using Random class
for(int i = 0; i < 5; i++)
{
System.out.println("Random Integers : "+random.nextInt());
}
System.out.println("-----------------------------");
//Generating random doubles using Random class
for(int i = 0; i < 5; i++)
{
System.out.println("Random Doubles : "+random.nextDouble());
}
System.out.println("-----------------------------");
//Generating random booleans using Random class
for(int i = 0; i < 5; i++)
{
System.out.println("Random booleans : "+random.nextBoolean());
}

(Approved by UAC)

}
}
Output :
Random Integers : 238886529
Random Integers : 1463682739
Random Integers : -1247541726
Random Integers : 34314299
Random Integers : 1658793122

Random Doubles : 0.7443798462870127


Random Doubles : 0.8382139571324086
Random Doubles : 0.9680505961503302
Random Doubles : 0.5623901155047567
Random Doubles : 0.37285000690287773

Random booleans : false


Random booleans : true
Random booleans : false
Random booleans : false
Random booleans : false
Note : Integers generated are in the range of -231 and 231-1. Generated doubles are in the
range from 0.0 to 1.0.

Option 11 (JAVA)
public class MainClass
{
public static void main(String[] args)
{
//Generating random doubles using Math.random()
for(int i = 0; i < 5; i++)
{
System.out.println("Random Doubles : "+Math.random());
}
}
}
Output :
Random Doubles : 0.7783847001873636
Random Doubles : 0.3895881606319488
Random Doubles : 0.4798586710671108
Random Doubles : 0.6203717760219122
Random Doubles : 0.7460629328768049

(Approved by UAC)

Option 12 (JAVA)
public class MainClass
{
public static void main(String[] args)
{
//Generating random integers between 0 and 50 using Random class
System.out.println("Random integers between 0 and 50 using Random class :");
Random random = new Random();
for (int i = 0; i < 5; i++)
{
System.out.println(random.nextInt(50));
}
//Generating random integers between 0 and 50 range using Math.random()
System.out.println("Random integers between 0 and 50 using Math.random() :");
for (int i = 0; i < 5; i++)
{
System.out.println((int)(Math.random() * 50));
}
//Generating random integers between 0 and 50 using ThreadLoclaRandom
System.out.println("Random integers between 0 and 50 using ThreadLocalRandom :");
for (int i = 0; i < 5; i++)
{
System.out.println(ThreadLocalRandom.current().nextInt(0, 50));
}
}
}
Output :
Random integers between 0 and 50 using Random class :
16
12
30
26
17
Random integers between 0 and 50 using Math.random() :
12
43
42
32

(Approved by UAC)

45
Random integers between 0 and 50 using ThreadLocalRandom ():
12
40
16
17
3

Potrebbero piacerti anche