In the 80s, the NSA was a major customer of supercomputers. https://www.nsa.gov/Portals/70/documents/news-features/declassified-documents/cryptologic-quarterly/NSA_and_the_Supercomputer.pdf discusses this, including the lamentation that the industry was moving from the old vector supercomputers to new massively parallel models, as they had legacy software valued at $3 billion, which was not necessarily designed to run well on massively parallel machines.

What exactly did they use supercomputers for? In particular, those vector machines from vendors like Cray, were designed to crunch floating-point numbers. It doesn't jump out at me that this is useful for cryptography, which would seem to require bit shuffling rather than number crunching. At first glance, it seems like a Cray would be wasted on cryptography, achieving no more performance than a cheaper machine like a DEC.

What am I missing?

  • 4
    Floating point is useful for statistics, and statistics is very useful in cryptography as well as other spooky things like traffic analysis. – RETRAC Oct 29 '20 at 0:06
  • 4
    One thing they did was make matrices of who contacted whom, and then do linear algebra to generate social graphs of the organizations they were monitoring. – Davislor Oct 29 '20 at 3:57

Your assumption that Cray computers were designed solely for floating point operations is incorrect. The Cray 2, at least, supported a variety of integer and logical operations in its vector processors, including population count, which I understand is the critical operation for high performance cryptographic operations. See page 6 of this document for a list of supported operations.

  • 1
    One institution ran CRAY's version of UNIX on one (a later one than a II machine) and had a whole bunch of x11 terminals connected to it as a general working computer for scientists. It worked fairly well, including doing reports and calculations. UNIX world had an article about this. – Stefan Skoglund Jan 14 at 0:09
  • I found a newsletter from Argonne: in 1991 they had as a demonstration and test installed an NCD17C color X11 terminal. Applications on ANL's CRAY X-MP/18 were able to use that terminal as a display server. Though by 1991, that machine had begun to be old. – Stefan Skoglund Jan 14 at 22:16

The NSA used vector processing because it lets you parallelize attacks on a symmetric cipher. This is because a single instruction operates on multiple data in different vectors. As an example, COPACOBANA is a vector architecture that breaks DES by brute force, which is exactly how the NSA would have used a vector processor. However, this would still have been out of the capability of the Cray at the time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.