K = M = C = {0, 1}^n
c = E(k, m) = k xor m
m = D(k, c) = k xor c
where c in C, k in K, m in M
OTP has perfect secrecy because |k| = |m|.
How do we understand the statement?
We can give a simple example.
K = M = C = {0, 1}^2
Below is the table of the OTP cipher.
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3oB0t2QCotjFbWjQIZiFGEFA1rPGxO39woNDveyBXyjC8OjEWMBrRFNEs0CCAP4v0kQ3f16h8f3rsA4oLiY1rUTE1xrK4TRYbQwykEoO69z12iN8qK9yL7iBF3A6dqL23KdAT1bHeQFo/s400/%25E8%259E%25A2%25E5%25B9%2595%25E5%25BF%25AB%25E7%2585%25A7+2016-10-15+%25E4%25B8%258B%25E5%258D%25887.12.58.png)
We focus on c = 11 to guess the probability of m where k is a uniform random variable.
Pr[E(k, 00) = 11] = 1/4
Pr[E(k, 01) = 11] = 1/4
Pr[E(k, 10) = 11] = 1/4
Pr[E(k, 11) = 11] = 1/4
It describes that the OTP is perfect secrecy because
Pr[E(k, m) = c] = 1/4, for all c in C,
where k is a uniform random variable.
-Count
No comments:
Post a Comment