floresuprm:

Reading the Agrippa Code

Twelve days after launching the Agrippa Challenge on July 10, 2012, Quinn Dupont made the official announcement that it had been “cracked.”

It was even easy, for those with the right kind of training in programming, mathematics, and cryptography– as becomes apparent from the published submissions. The link above leads to a great resource with fascinating analyses that help readers understand how the poem was encrypted and decrypted, as well as its self-destruct mechanism. So now that we know how it works, what do we do with that information?

We read it, of course. Since we are closer to the text (as discussed in previous postings on Agrippa) and can integrate the code into the reading.

In looking at some of the design choices made by the anonymous programmer, it seems that Agrippa’s “cryptographical weakness” leads to greater artistic strength. Like the flimsy locks one can find on diaries, the encryption used in this poem is more symbolic than safe. Its mechanisms are tied to strategies in the poem as a whole. For example, the use of genetic code informs two meaningful choices by the programmer:

  1. The use of 3-character blocks in the encryption of the text, weakens the encoding, allowing the encryption key to be discovered through a simple mathematical “brute-force attack.” This corresponds to the number of letters in the word “DNA:” an important motif for heredity in a poem centered on a photo album belonging to the speaker’s father.
  2. Genetics are also used to “destroy” the program by writing a fixed CTAG sequence (the bases of DNA) over 6,000 bytes of the program (see Bryan Carnes’ explanation), rendering it inoperable. Because it is fixed, however, the corrupted program can be “uncorrupted” and played again.

It is curious that genetic sequences are used to obfuscate and hide the text from the readers, when the purpose of such codes is to pass along information to future generations. The biological impulse to reproduce is echoed in the urge to photograph, preserve, and document one’s life in a photo album– as the speaker’s father has done through both biological and photographic mechanisms. For William Gibson, Dennis Ashbaugh, the anonymous programmer, and Kevin Begos, Jr. to remix biological, photographic, printing, and programming mechanisms in a poem (one of the oldest mnemonic technologies) is to design a work for more prolific reproduction than a drosophila fruit fly (see “The DNA Code”), especially after presenting the hacker community with such an open challenge.

The fact that the text of the poem is encoded to begin with, simply highlights something true of all digital and analog texts: they are always already encoded. Writing is a code, as are alphabets, natural languages, binary code, ASCII codes, high-level programming languages (like Macintosh Common Lisp used to program Agrippa), compiled assembly languages, and machine languages. This is also true in the analog world, as Martha Nell Smith demonstrated so well her in exploring Emily Dickinson’s manuscripts and their printings. From this perspective, the performance of a text, a.k.a. the act of reading, can be understood as a decoding into language, thought, experience.

To read some final thoughts on the cracked Agrippa code, copy and paste the following text into this JavaScript implementation of the Agrippa encryption program and decode it.

936E3D76CA13BA18F46AAD62C92FDE97829E88F8F0FDAA84
F4EC7DB4A5C3BA18F46A2B3B683357EDC21380B6C452F1E6
EEA313BA18F46A3DFAE7F5940AB6C4B1EA4CF2AF350C001E
6EC38495FD948DA4FA07F4790EC0677EA8BF7421CA351E44
F10534BA089DF7F9F0F7F9F07E2800