See: http://cryptome.org/csp/spy002/spy002.htm