Slide 1
Cloud Security by Professor Xun Yi
1
Deadline: October 18 (Friday) 11:59 pm
Steps to Complete
Complete the codes as required
Demonstrate to your Lab Instructor
Zip all files including report & upload on Canvas
Assignment Assessment
Assignment (10 marks)
8 marks for implementation;
4 marks for Keccak-f[25], and 4 marks for ElGamal.
2 marks for report;
Screenshots of demo.
In-lab demonstration (week 12);
Submit your codes and report on Canvas.
Due date: 11:59pm, 18/Oct/2019.
Assignment Demonstration
When?
From week 11 – week 12
Where?
Demonstrate to your lab instructor
How?
5 minutes (2mins for brief introduction, 2mins for demonstration, 1min for Q&A)
When?
Week 12
Where and How?
Lab Instructor
Cloud Security by Professor Xun Yi
3
3
In-Lab Demo Time and Location
In-lab demonstration (week 12);
Monday (Oct. 14), Time: 2:30-4:30, Loc: 14.10.31;
Wednesday (Oct. 16), Time: 4:30-6:30, Loc: 14.10.30;
Thursday (Oct. 17), Time: 7:30-9:30, Loc:14.10.31;
If extra session is required, it will be arranged on Friday (Oct. 18);
Details will be announced on Canvas on Thursday night.
4
4
In-Lab Demo
Cloud Security by Professor Xun Yi
5
5 mins for each student, including
Introduction 1 min
What functionalities you have implemented?
Programming languages/libraries you have used?
Demonstration 2 mins
Q&A 2 mins
Report
Keccak-f[25] (4 Points)
Keccak-f[25] permutation function, including 12 rounds of the following functions:
for (var i=0; i<12; i++){
θ step mapping π step mapping χ step mapping ι step mapping;
}
User interface:
Input is a 5-by-5 matrix with binary elements;
Outputs of step mappings in the first round, each of them is a 5-by-5 matrix;
Final output after 12 rounds, where the output is a 5-by-5 matrix.
Cloud Security by Professor Xun Yi
6
6
User input
Cloud Security by Professor Xun Yi
7
7
step mapping (1 point)
Cloud Security by Professor Xun Yi
8
Column parity ;
Combining operation
effect
Demonstrates understanding of above functions whenever necessary.
8
step mapping (1 point)
Cloud Security by Professor Xun Yi
9
Lane permutation .
Demonstrates understanding of above functions whenever necessary.
9
step mapping (1 point)
Cloud Security by Professor Xun Yi
10
Bitwise NOT operation [x+1,y] on each bit of B[x+1,y];
Bitwise AND operation ;
Bitwise XOR operation .
Demonstrates understanding of above functions whenever necessary.
10
ι step mapping (1 point)
Cloud Security by Professor Xun Yi
11
Choose corresponding Round Constants (RC) for each round;
RC[0] for the 1st round, …, RC[11] for the 12th round.
Extract the first hexadecimal digit of each RC.
E.g., RC[2] = 0x800000000000808A extract “8” convert to “1000” “1”.
Bitwise XOR operation with A[0,0] only.
Demonstrates understanding of above functions whenever necessary.
11
Final output after 12 rounds
Cloud Security by Professor Xun Yi
12
for (var i=0; i<12; i++){
θ step mapping π step mapping χ step mapping ι step mapping;
}
document.getElementById(Final Matrix).value = final result.
12
ElGamal (4 points)
Cloud Security by Professor Xun Yi
13
Implement ElGamal including:
Key generation,
Encryption,
Decryption,
Multiplication over encrypted.
13
Key generation (1 point)
Cloud Security by Professor Xun Yi
14
User inputs: the prime modulus P (=809), the generator G (=89), the prime order Q (=101);
Randomly generated private key x, verify if 1