Intuitively, let's say I write a very early version of a (say) gcc, but insert code so that if the compiler detects that it's compiling a login program, it inserts logic into the binary so that "kt" can always login without a password. For this to survive beyond the next rebuild, the compiler also has to detect when it's compiling itself and insert the same logic. This 'Trojan horse' can survive as long as people keep compiling your compiler in itself, but is never detectable from looking at any later version of the source code.
So you need to trust each version of the compiler (assembler, linker, microcode) you are using all the way back in history. The claim of the PhD and the 2005 paper is that you can verify the integrity of a compiler using another compiler that you do trust, all the way back in history.
The apocryphal story is that Ken Thompson actually did this with an early Unix compiler. Here's his very short original paper: