Marks retrieve bob private key task
2. Return alpha^n1 beta^n2 (mod p)
Ultimately, you will need to implement a function that takes a string
and returns a number that is in [1; p-1]
expressed in hexadecimal notation. Note that, we will use the C notation starting with prex 0x.
/* Predefined Functions */
/**********************************/
V = [];
for(i = 1, length(S),
return(subst(Pol(V),x,128))}
\\list of symbols used for hexadecimal notation
if(nb == 0, return(x0),
w = "";
w = concat(symbol[i+1], w);
);
/* Setup */
/**********************************/
/**********************************/
/* Task 1. [15 marks] */
/**********************************/
Find a password whose digest is equal to "0x5E636E5B93C88C" using the hash function defined with the parameters above
t = 32
p = 3146217623
/**********************************/
Find a collision (i.e. two different integers < 2^(2*t-2) which evaluate to the same value) for the hash function defined with the following parameters:
/**********************************/
/* Part B - Elliptic Curve Crypto */
p = 591906931561661
a = 53530791695143
Alice's public key : PA = nA*P = [441673626742891, 393658091332851]
Bob's private key: nB = ?
/* Task 5. [15 marks] */
/**********************************/
/* Task 6. [25 marks] */
/**********************************/
/* Task 7. [5 marks] */
/**********************************/
Retrieve Charlie's private key
Hint for Task 2
This can be verified by computing ellorder(E, P)