There is a communication protocol that I believe creates the equivalent of a one time pad, with the downside that the secret message must be transferred multiple times. The protocol is so simple that I imagine that it has a name but I can't find a protocol which matches its description.
- A client C wants to send a password P of L bytes to a Server S.
A function Z(P,M) exists whereby both P and M are L bytes and
Z(P,M)= P[i] xor M[i]; for all i < L
Thus the protocol would work as follows:
- C generates a random string of L bytes called CM. C sends to S:
- S generates a random string of L bytes called SM. S sends to C:
- C reapplies the CM mask to Q1. C sends to S
- S reapplies the SM mask to Q2. Q gets P from
The protocol is taking advantage of the fact that the
xor operation is both associative and commutative.