How to Encrypt /usr/dict/words in About a Second




We present an implementation of the Data Encryption Standard on the Connection Machine architecture. The DES encryption algorithm is ideally suited to the Connection Machine because it consists of bit serial operations, and thousands of encryptions can be done in parallel, independently of one another. Thus, our code encrypts passwords about ten times faster than the fastest competition that we know about.

In addition, the nature of the Connection Machine’s architecture is such that some of the optimizations that make DES run much faster on conventional architectures have no effect on the performance of the Connection Machine. Our comparison of a simple implementation along with one that uses many optimizations illustrates this fact.