Venetian Cryptographies: Progress Report 3

In the previous report, we discussed the wiki with information on medieval cryptographers and cryptography, the beginnings of our implementation of a graphical cryptographic device (Alberti’s cipher disk), other algorithms and ciphers we intended to implement, and had begun to develop some background workings of the final web implementation.

Subsequently, a lot of work has been done on coding a backend for the final platform on which the project will be presented.

The resulting backend is built with the CodeIgniter framework. CodeIgniter is a lightweight MVC (Model View Controller) framework for the PHP programming language, which allows for faster development due to the fact that a lot of useful features are readily available. Initially we had planned to use the Ruby on Rails framework, but decided to use CodeIgniter instead, in order to avoid overheads that would have been encountered should we have chosen  the former.

The frontend template is based on the Twitter Bootstrap framework, which allowed us to avoid tiresome HTML style declarations and simplified multiple tasks related to web-page layout. The Alberti device as well as the other algorithms we are using  and demonstrating (polyalphabetic ciphers described in works of Leon Batista Alberti, Johannes Trithemius, Giovan Batista Belaso, and Blaise de Vigenère) will be implemented directly at the client side using JavaScript and the jQuery library. The frontend template is reused for all these implementations and is dynamically generated based on the respective algorithm or device.

The Alberti cipher disk presented in the previous report has been integrated with the new platform we developed. Moreover, a module for exercises has been implemented: after reading a description of an algorithm or device, a user will be offered to solve simple (and not so simple) exercises to strengthen his understanding. The provided answer is then sent and checked on the server, after which they are given feedback.

A small demonstration of the current version is given below.

Alberti Cipher Disk & Exercise Demo

An implementation of the tabula recta, a table that facilitates encryption with polyalphabetic ciphers is also integrated in a similar manner:

Tabula Recta
Tabula Recta

The wiki has been filled with as much information as we have managed to find on Venetian (and medieval in general) cryptographers, as well as the devices and algorithms they developed. This will be used to construct a timeline that aggregates the most relevant of the accumulated information into a user friendly and readable format, representing the development of cryptography over the course of time. We have decided to go for a static implementation of the timeline, predominantly for use in the presentation.


We are keeping pace with the milestones set forward in the original project plan, although as has been mentioned in previous reports there have been some changes to our intended focus and content (shift from only Venetian to medieval cryptography, and some alterations in our implementations). The remaining time will be used for finalizing and polishing our implementation of devices and algorithms, building a timeline from the wiki data, and preparing a poster for the final project presentation.