The Absentminded Crypto Kit is an extensible general purpose cryptographic toolkit for multiparty secure computation, built atop Obliv-C. At present it supports big-integer math, fast oblivious RAM and other oblivious data structures, AES and other symmetric ciphers, and miscellaneous algorithms for searching, sorting, and solving certain graph problems.
The eventual goal of the project is to provide a comprehensive set of cryptographic algorithms and primitives for use in MPC research.
It is said that really talented street photographers can focus, frame, and fire their Leicas by touch alone, without ever looking through the viewfinder or raising the cameras above their waists. Modern smartphone cameras are ubiquitous and high quality, and as such, they open up an immense opportunity. The software that drives them, however, has remained fiddly, slow, and inaccurate; it often prioritizes toy features over usability, and prefers to look like a traditional camera over behaving like one. No cellphone camera yet has ever come close to the elegance of a classic Leica: to be useable with eyes shut. With Camerosity, I attempt to close the gap.
The Cryptonomicon (named with apologies to Neil Stephenson) is a cryptographic dictionary: a compendium of basic, rigorously defined cryptographic concepts. I created it for my own benefit during the course of a cryptography class taught by Daniel Wichs, and provide it here for the benefit of other students who, like myself, have a hard time keeping their definitions straight.
In addition to the projects presented here, code written in support of Computer Science research is available on the Research page, and a number of tools and self-contained algorithm implementations that I have used for artistic purposes and as components of other projects are available on Bitbucket or as Gists.
During the course of another project, it became necessary to generate a large number of uniform colors, differentiated by hue. Such colors can easily be chosen in the CIELCHab colorspace (the polar coordinate transform of CIELab), which has the useful properties of being both perceptually uniform and manipulable in a natural way. The Chroma and Luminance channels correspond approximately to what we think of as Saturation and Lightness. Perception is a standalone tool for working in CIELCHab, which also includes a gamut mapping function. In the future, I hope to add 3D colorspace display and CIECAM02 chromatic adaptation.
A pump, doomed to fail, the dynamics of its demise recorded forever in concrete. After nearly two years, this piece is still slowly dessicating.
Fishtank, Submersible Pump, Tubing, Concrete Mix, Water
Jack Williams, 2016
An object that actively claims the space in which it resides. It counts up the seconds since last it was moved, recording its long-term interaction with the gallery and patrons, and tempting the viewer to break with the standard ideology of art appreciation.
Suitcase, Microcontroller, LCD
Jack Williams, 2017