Three researchers in Israel have described how they were able to extract a 4096-bit RSA encryption key by listening to the noises made by the computer’s hardware whilst it crunched the numbers. Adi Shamir (he is the ‘S’ in RSA), Daniel Genkin and Eran Tromer have published a research paper describing the technique on a Tel Aviv University server.

 

Components in PCs, particularly those associated with switched power supply circuits give out a hiss or whine which changes with the load current. The processor current draw is partly dependant on the type of operation it is performing so a correlation can be inferred. They ran a version of GnuPG (a cross-platform crypto engine which supports several encryption methods besides RSA) and fed it with a specially prepared sequence of encrypted text. The text was chosen to produce numerical cancellations in GnuPG’s modular exponentiation algorithm. This causes the special value zero to occur frequently in the algorithm’s innermost loop where it affects control flow. According to their paper, a single iteration of that loop is too fast for direct acoustic observation but the chosen cipher text ensures that the effect is repeated and amplified many thousands of times resulting in a gross leakage which is discernable in the acoustic spectrum over hundreds of milliseconds.

 

They used a parabolic mounted microphone to record the sounds at a distance of 13 feet, and were also successful using a mobile phone’s microphone one foot from the computer. The report findings do not identify a weakness in the RSA algorithm. They highlight how important it is for workers who routinely handle sensitive material to use TEMPEST shielded computers which also attenuate unintentional audio emissions coming from the computer hardware.