# Enigma Cipher Implementation: Part 4: Combinatorics

Posted in Enigma

In this, the fourth article in a series on implementing the Enigma cipher in Java, we use some big number libraries to explore the combinatorics of the Enigma encryption scheme and better understand the Enigma's strengths and weaknesses.

## The Key Space

Basically, what the Enigma did was to encrypt each character of a message one …

# Enigma Cipher Implementation: Part 3: Enigma in Java Without Objects

Posted in Enigma

As the title suggests, we're continuing with the third in a series of posts exploring a verb-oriented approach to programming - in an attempt to free ourselves from the fetishization of objects, we are attempting to learn how to use languages against their will.

This is all inspired by Steve Yegge's 2006 blog post, "Execution in the Kingdom of Nouns," an excellent read that inspired me to explore the subject more deeply.

## Java Pseudocode

In the last post, we ran through the pseudocode for an Enigma machine based entirely upon Strings, iterators, and integer indexes, leading to a vastly simpler abstraction …

# Enigma Cipher Implementation: Part 2: Pseudocode

Posted in Enigma

This is the second of several posts walking through an implementation of the Enigma cipher in code.

Thanks to the website of the late Tony Sale for providing a wealth of detailed, accurate information entirely free of graduate level mathematics, and includes some very clear examples for luddites like me who need everything spelled out really clearly.

## The Goal

The goal of analyzing the Enigma machine is to better understand the workings of a device that played an important role in the history of computing. It is also an excellent system to better understand some of the design decisions we …

# Enigma Cipher Implementation: Part 1: How It Works

Posted in Enigma

This is the first of several posts that will walk through an implementation of the Enigma cipher in code.

Thanks to the website of the late Tony Sale for providing a wealth of detailed, accurate information entirely free of graduate level mathematics, and includes some very clear examples for luddites like me who need everything spelled out really clearly.

There is also a Wikipedia article offering detailed information about the mathematical cryptanalysis of the Enigma, and covering some of the strengths and weaknesses of the machine: Cryptanalysis of the Enigma.

## Background

The Enigma machine was a device used by the …