We note here two cases where programs inadvertently disclosed information in their computing patterns.

A recent paper suggests that in a hyper threaded Intel processor, a program that uses the secret key pair of a RSA key pair inadvertently leaves clues in the cache that may be used by another program to gain information about the key. The inner loop of RSA key usage is something like:
for(j = 0; j<1024; ++j) {x := x*x%m; if(b[j]) x := x*y%m;}
The operators “*” and “%” require 1024 bit operands of course.

Every bit of information gleaned this way can cut the cost of a brute force attack by a factor of two. This is serious.

In about 1956 computer operators at the Livermore weapons laboratory (UCRL) found that transistor radios near the computers would emit sounds that reflected what the computer was doing. This practice was discouraged at first but it was soon discovered that the operator soon learned the sound of the production programs when they had gotten into unproductive modes, such as tight loops resulting from a hardware or software error.

What information could be gleaned from such signals was unclear, but one production job involved a Cartesian grid over a physical classified geometric configuration. The program passed over this grid in the simple nested DO loop. The code sequence in the inner loop depended on the material at that grid element. A program with access to this extraneous signal should be able to create a map of the geometry.

Soon this came to the attention of the professional security types and, according to some, were the initial steps towards tempest evaluations of computers.