# Problem with Encryption Protocol

I have a question about a encryption protocol, if it is good or not.

Bob and Alice communicate over an insecure channel( a possible attacker can listen). An expert suggests the following protocol to confirm that they have the same segret key without revealing this segret key to an opponent.

1) Alice creates a random string (called R) of bit, as long as the key.

2) Alice calculates the exclusive OR of R with her key and send the result to Bob (on the insecure channel)

3) Bob calculates the exclusive OR of the value he received from Alice with his key and send the result (called S) to Alice

4) Alice compare the received value (called S) with the string generated at the beginning (called R)

5) If R = S, than Alice has verified that Bob has the same key

The question is: do we have problems with this protocol or not? Explain.

If someone could help it would be greatly appreciated

-
You are supposed to do at least a tiny bit of own work while asking homework/exam questions. – Deer Hunter Jun 1 '13 at 16:08
Yeah I know, in fact I already resolved it :) I only wanted to know your opinions! – user26602 Jun 1 '13 at 16:30
@user26602 If you've already "answered" it, post your answer as an answer to the question. If you're wanting a response to your solution, you should have included it in the question and asked a question about it. – Kitsune Jun 1 '13 at 17:48
BBZZZZZRRRRTTT!! `I have a question about a encryption protocol, if it is good or not.` Stop right there. You should not be implementing your own cryptographic protocol, especially if you don't know what you're doing. In fact, the first rule of crypto is: `Don't roll your own crypto.` – AviD Jun 2 '13 at 10:13

## 2 Answers

This protocol seems to be badly broken. I assume it's some sort of homework?

Consider: by communicating with Bob over an insecure channel, Alice gives to Eve (the eavesdropper) the value of `<R XOR K>`. Then Bob, by the same token, gives Eve the value of `R`.

What do you think can Eve do now that she has both `R` and `<R XOR K>`?

-
Yes it's an homework, but i resolved anyway. thanks :) – user26602 Jun 1 '13 at 16:29

If you both have the same secret key, why do you need to confirm if the opposing party has the secret key? Just encrypt the message and send it along.

Please do not roll your own crypto. Stick to existing schemes.

-
Probably because he means an authentication protocol, or a key exchange protocol, or something else besides encryption protocol. – AviD Jun 2 '13 at 10:14