Thomas Langerak

23 Mar 2015

An encrypter and decrypter installation. Key is based on a chess game. One needs to replay the chess game to decipher the message.

Project:

The start of the project was me thinking, well I like cryptography and trying to think of concepts around this. When this did not really succeeded I thought: well I like chess as well. After a few minutes I concluded that I could combine both to create something fun and not necessarily functional.

I am going to make a chess game out of Perspex in which the black squares are see through and the white squares have a laser-engraved/sandblasted kind of look. I will illuminate the white tiles by using a beamer from underneath. This beamer will also be used to visualize the message and the process of encrypting and decrypting.

The movement of the pieces will be tracked by an RasberryPi camera detecting IR. The bottom of each piece will be IR reflective. Since one does not need to know which is piece is which (since they always start out at the same position), one can just track moves and by doing so know the position on the board of each individual piece.

As said above I will use the white/opaque squares to beam something on. This something is the message that will be encrypted/decrypted. I want to visualize the stage of this encryption/decryption by making the message more/less clear. I still have to figure out the details and aesthetics of this.

wp_20150323_23_14_51_pro

Process

  1. Get OFX on raspberry pi working
  2. Create chessboard (projector and hardware)
  3. Program computer vision to track chess pieces
  4. Store location of pieces
  5. Check location with stored
    1. If Yes make message bit more clear
    2. If No BANG! Start over
  6. I also should work on the visualization sometime

Questions with regard to project:

What to encrypt/decrypt?
A random written message

How to input what should be encrypted?
Marker on chessboard -> Picture -> Erase it?

Will the encryption and decryption happen at the same location?
For this assignment yes.

How to output the message?
User the projector to display it on the chessboard?

How to visualize the process?
How to encrypt it?
I don’t really need it do I?

Should I automate the opponent?

Lot of work, not necessary, but better… Only when I have time
How to “end” the encryption process and start the decryption process?

Hardware:

Adafruit:

Raspberry Pi 2 – Model B – ARMv7 with 1G RAM PID: 2358
Raspberry Pi NoIR Camera Board – Infrared-sensitive Camera PID: 1567
SD/MicroSD Memory Card (4 GB SDHC) PID: 102 bigger
Super-bright 5mm IR LED (25 pack) – 940nm PID: 388
Miniature WiFi (802.11b/g/n) Module: For Raspberry Pi and more PID: 814

$102.75

Chessboard:

Laser engraved acrylic
Sides
Chess pieces

$30

Golan:

Screen
Keyboard
Projector + IR filter?
HDMI cable
Money??

Receive: $150

Software:

See Research.

Rasbian Wheezy (Linux)
OpenFrameworks
Cross-compiling
Hell

Research:

OpenFrameworks on Raspberry PI:
home :                  http://openframeworks.cc/setup/raspberrypi/
setup:                   http://www.openframeworks.cc/setup/raspberrypi/Raspberry-Pi-Getting-Started.html
workflow:           http://openframeworks.cc/setup/raspberrypi/Raspberry-Pi-Workflow-Overview.html
cross-compiler: http://www.openframeworks.cc/setup/raspberrypi/Raspberry-Pi-Cross-compiling-guide.html
distcc:                   http://www.openframeworks.cc/setup/raspberrypi/Raspberry-Pi-DISTCC-guide.html
samba:                 http://www.openframeworks.cc/setup/raspberrypi/Raspberry-Pi-SMB.html
Setup:                   http://www.creativeapplications.net/tutorials/how-to-use-openframeworks-on-the-raspberrypi-tutorial/
cross-compiler:                 http://visualgdb.com/tutorials/raspberry/crosscompiler/

Cryptography:
History:                http://en.wikipedia.org/wiki/History_of_cryptography
Scytale:                http://en.wikipedia.org/wiki/Scytale
Vigenere:            http://en.wikipedia.org/wiki/Vigen%C3%A8re_cipher
Chess:                   http://en.wikipedia.org/wiki/Grille_%28cryptography%29