Please write your Name and Student ID at the top of the page.

**[2 points]**What does it mean that an encryption scheme is "semantically secure"? (Only one answer, please)- It is impossible to decrypt a message
- The only information that we can efficiently compute from a cyphertext is the length of the plaintext
- The only information that we can efficiently compute is the lenght of the cyphertext
- It is unfeasible to decrypt a cyphertext unless we know the lenght of the plaintext

**[3 points]**Please describe briefly how the public key encryption can be used for authenticationThe party P encrypts a message with his private key. Every other party Q who receives the message can decrypt it by using P's public key, and Q can be sure that it was sent by P (authentication). In other words, P's private key is used as a signature by P.

Note: Authentication is one of the possible uses of public key encription. The other standard way to use the public key is based on the idea that the sender encripts the message with the receiver's public key, and the receive's decripts it with his own private key. In this way we achieve secrecy, but not authentication of origin (at least, not unless we do something else)

**[2 points]**What is the general problem of secure multi-party computation? (only one answer, please)- To compute a function f(x
_{1},x_{2},...,x_{n}), where for each i the input x_{i}is provided by the party P_{i}, in such a way that x_{i}is kept secret to any other P_{j}. - To compute a function f(x
_{1},x_{2},...,x_{n}) in such a way that each x_{i}is kept secret to all parties - To exchange a secret f(x
_{1},x_{2},...,x_{n}) between all parties P_{1},P_{2},...,P_{n}in such a way that no adversary can intercept it - To generate a public key known to all and only the intended parties
P
_{1},P_{2},...,P_{n}by using a function of the form f(x_{1},x_{2},...,x_{n}).

- To compute a function f(x
**[1 point]**In which case the problem of secure multi-party computation is trivial? (only one answer, please)- If there is a trusted third party which can calculate
x
_{1},x_{2},...,x_{n} - If there is a trusted third party which can generate a private key for any pair
of parties (P
_{i},P_{j}) - If the function f(x
_{1},x_{2},...,x_{3}) is feasible - If there is a trusted third party which can get
x
_{1},x_{2},...,x_{n}from P_{1},P_{2},...,P_{n}and then calculate f(x_{1},x_{2},...,x_{3}).

- If there is a trusted third party which can calculate
x
**[2 points]**What is a semi-honest party (only one answer, please)- A party which cheats only once in a while
- A party which keeps trace of all its intermediate computations
- A party which will not cheat unless he knows that someone else is cheating
- A party which tries to find out information about the other parties, but without malicious intentions