QED 14: Equivocation

Share:

Listens: 0

Q.E.D. Code

Technology


Claude Shannon followed up one incredibly important paper with a second of even greater significance. In Communication Theory of Secrecy Systems, he analyzes cryptosystems based on the probabilities of certain plaintext messages given an intercepted cyphertext. Understanding this form of analysis will help us to design more effective systems. The Lambda Calculus computes using nothing but symbol replacement. If we are going to run programs like a computer, we need to express conditional branches. We can represent the value "true" as a function λa.λb.a. In other words, the function that returns the first of two arguments. Similarly, the value "false" is represented by the function λa.λb.b. To create a conditional "if-else" statement, capture two branches and then apply the third argument to select between them: λa.λb.λc.c a b. Suppose that you needed to reach an agreement among several people by passing messages. Now suppose that some of those people could not be trusted. Under what conditions could you find a protocol to reach an agreement? Leslie Lamport, Robert Shostak, and Marshall Pease studied the Byzantine Generals problem to determine how to design algorithms for distributed systems.