Spring 2015





Preparation for Recitation on Trusting Trust

Read Reflections on Trusting Trust (Note: In this version, figure 2.2 should be labeled 2.1 and vice versa). This is one of our shortest readings—only three pages—but do not be deceived by its brevity. It is surprisingly deep and requires a lot of thinking to get your head around, but once you figure it out it is fascinating. Plus, you will know something that most people who haven't read this paper are quite clueless about.

This paper is probably best ingested by reading it carefully (your first reaction may be "What was that all about?"), discussing it in a small group, and then going back to read it again. Then discuss it in recitation, then read it a third time. On one of those three readings, you will probably say to yourself "Oh, now I get it!".

The paper emphasizes how difficult it is to be sure that you know what your software actually does. One way to avoid treacherous software would be to write all your software yourself. Although this approach would in principle solve the problem, it is overwhelmingly impractical. One has no choice but to rely on, and thus trust, software from other sources.

Before coming to recitation, please answer the following questions:

Two programmers, Alice and Bob, want to buy the latest version of the Microsoft C compiler. Alice searches the Internet for the lowest price and downloads the compiler from a web site on some island in the Pacific Ocean. Bob buys a CD that claims to contain the same compiler from the local computer store.

  1. Who and what must Alice trust to believe that she received a compiler without Trojan horses?
  2. How about Bob?

Questions or comments regarding 6.033? Send e-mail to the 6.033 staff at .

Top // 6.033 home //