Last time we took a look at the various sources to find codes provided by Ingress. In today’s article, we are going to take a look at some of the ciphers used to solve these codes.

# Passcode Formats

But first, let’s take a look at the various passcode formats currently (May 2016) available so we know what to aim for when attempting solves.

## Investigation Blog & WOTD

Passcodes for the investigation blog and JoJo’s Word of the Day fall under this format:

`#xxx#keywordx#x#x`

In this case, `#`

represents the numbers `2`

through `9`

, `0`

and `1`

are not included. `x`

represents most of the letters from `a`

through `z`

, with the notable exception of the letters `i`

and `l`

. We will discuss keywords below.

## Ingress Report

The Ingress Report has codes hidden within the annotations of the video. They come in two varieties: the same format as the Investigation Blog (see above) and the forever passcodes (passcodes that have a much higher redeem limit).

`keyword#xx##xx#`

The numbers `0`

to `9`

are valid for these types of passcodes, letters are still everything from `a`

to `z`

except `i`

and `l`

.

## Anomaly Media

Anomaly media codes have the following format:

`xxxxxxxx#keyword#`

The same restrictions for the Investigation/WOTD passcodes applies to Anomaly media passcodes, `a-z`

(except `i`

and `l`

), and `2-9`

.

# Keywords

Having a good keyword list is essential when solving for passcodes. One of the more advanced passcode solving techniques involve guessing what potential keywords that could be hiding in the code to help figure out how to begin solving.

We have compiled a list of known keywords and are constantly updating it whenever we notice a new one. Glyphs are also used as keywords and we’ve extracted a list from our friends over at Glyphtionary.com. You can see our list at:

https://github.com/ingresscodes/keywords

`keywords.txt`

is the list of generic keywords

`glyphs.txt`

is the list of glyphs courtesy of Glyphtionary.com

`sorted.txt`

is a merge of both `keywords.txt`

and `glyphs.txt`

Feel free to send changes if you have a new keyword that is confirmed.

# Ciphers

## Caesar or ROT cipher

The Caesar or ROT (rotate) cipher involves shifting a letter a fix number of positions down the alphabet. The most common cipher of this type is ROT 13, meaning shifting 13 letters down the 26 letter alphabet.

`CIPHER => PVCURE`

Looking at the alphabetical positions of the numbers

`C (3) + 13 = P (16)`

`I (9) + 13 = V (22)`

`P (16) + 13 = C (29 ≡ 3)`

`H (8) + 13 = U (21)`

`E (5) + 13 = R (18)`

`R (18) + 13 = E (31 ≡ 5)`

Notice how for `P (16)`

and `R (18)`

, when adding 13 to its position, equals a number greater than 26, it wraps around `Z (26)`

back to `A (27 ≡ 1)`

and goes up from there.

ROT doesn’t have to always be 13, it can work with any number. `CODE`

ROT 2:

`CODE => EQFG`

ROT can also work with negative numbers. `CODE`

ROT -2:

`CODE => AMBC`

ROT also works on numbers, remember that numbers are only from 0 to 9, so after 9, it wraps back to 0. `1357`

ROT 17:

`1357 => 8024`

If a code is using this cipher, it won’t tell you which ROT to use, you will have to try them all (trying 13 first is a good idea). If a given code has numbers that are out of range for the passcode type, chances are it could be using a ROT cipher. If all 4 numbers are within the right range and the keyword looks good, there’s a good chance it will be a valid passcode.

Try to see if you can find which ROT the following codes are using, you can use Rumkin.com for help with ROT, note that not all web tools will apply ROT to numbers. As always, passcodes featured on this site are always Fully Redeemed.

`2erc0ntragl1z4j`

`6efj3sedifyhuh6m5e`

## Atbash

The atbash cipher substitutes the first letter of the alphabet for the last, second letter for the second last, etc. A becomes Z, B becomes Y, etc. Running atbash on `ATBASH`

:

`ATBASH => ZGYZHS`

Atbash also works with numbers though there are discrepancies about including the `0`

or not for this “alphabet”.

Without `0`

:

`123456789 => 987654321`

With `0`

:

`123456789 => 876543210`

See if you can figure these out, here’s Rumkin.com’s Atbash tool, we will be making a post of our favourite websites in the next tutorial. Again, not all websites will apply atbash to numbers.

`5lsx4kfivi2j0q`

`2gap6yozxpwvea4q1v`

## Transposition Cipher

Transposition ciphers typically involve transposing the code onto a rectangle and reading it in another orientation to reveal a code. Knowing the length of the code and the multiples of that length will help in figuring out the possible lengths and widths of the rectangle.

`25u3`

`hirs`

`jme8`

`qpfw`

The length of the code is 16 characters, which have multiples: 2×8, 4×4, 8×2. Let’s look at all of them:

### 2×8

`25`

`u3`

`hi`

`rs`

`jm`

`e8`

`qp`

`fw`

### 4×4

`25u3`

` hirs`

` jme8`

` qpfw`

### 8×2

`25u3hirs`

` jme8qpfw`

[hint]

Remember the format of the passcodes.

[/hint]

`xgo9tf3uh36olnc`

[hint]

`gluon`

[/hint]

In the next article, we’ll be looking at various online tools that will apply these ciphers and many others.

Pingback: Getting started with decoding – // ingress.codes()

Pingback: Wargames – Aegis Nova (May 28) – // ingress.codes()