Search for a tool
Affine Cipher

Tool to decrypt/encrypt with Affine automatically. The Affine cipher uses a encrypting function with additions and multiplication (as the mathematical affine function) which convert a letter (of value x in a 26 letters alphabet) into another letter with value (ax + b) modulo 26.

Results

Affine Cipher -

Tag(s) : Cryptography, Substitution Cipher

dCode and you

dCode is free and its tools are a valuable help in games, puzzles and problems to solve every day!
You have a problem, an idea for a project, a specific need and dCode can not (yet) help you? You need custom development? Contact-me!

Team dCode read all messages and answer them if you leave an email (not published). It is thanks to you that dCode has the best Affine Cipher tool. Thank you.

# Affine Cipher

## Affine Encoder

Tool to decrypt/encrypt with Affine automatically. The Affine cipher uses a encrypting function with additions and multiplication (as the mathematical affine function) which convert a letter (of value x in a 26 letters alphabet) into another letter with value (ax + b) modulo 26.

### How to encrypt using Affine cipher

Encryption uses a classic alphabet, and two integers, called coefficients or keys A and B.

Example: Encrypt DCODE with the alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ and keys A=5, B=3.

For each letter of the alphabet is associated to the value of its position in the alphabet (start at 0).

Example: A=0, B=1,..., Z=25. It is possible to use A=1, ..., Y=25, Z=0 with the alphabet ZABCDEFGHIJKLMNOPQRSTUVWXY (not recommended).

For each letter of value $$x$$ of the plain text, is associated a value $$y$$, resulting of the affine function $$y = A \times x + B \mod 26$$ (with $$26$$ the alphabet size). For each value $$y$$, corresponds a letter with the same position in the alphabet, it is the ciphered letter.

Example:

 Plain letter $$x$$ $$y$$ Cipher letter D 3 $$5 \times 3 + 3 = 18$$ S O 14 $$5 \times 14 + 3 = 73 = 21 \mod 26$$ V

The Affine cipher text is the replacement of the letters by the new ones.

Example: DCODE is crypted SNVSX

### How to decrypt Affine cipher

Affine decryption requires to know the two keys A and B and the alphabet.

Example: Decrypt the ciphered message SNVSX with keys A=5 and B=3

For each letter of the alphabet corresponds the value of its position in the alphabet.

Example: The alphabet ABCDEFGHIJKLMNOPQRSTUVWXYZ, starting at 0 gives A=0, B=1, ..., Z=25. There is also A=1, ..., Y=25 and Z=0 with the alphabet ZABCDEFGHIJKLMNOPQRSTUVWXY.

For each letter of value $$y$$ of the message, corresponds a value $$x$$, result of the inverse function $$x = A' \times (y-B) \mod 26$$ (with $$26$$ the alphabet size)

The value $$A'$$ is an integer such as $$A \times A' = 1 \mod 26$$ (with $$26$$ the alphabet size). To find $$A'$$, calculate a modular inverse.

Example: A coefficient $$A'$$ for $$A = 5$$ with an alphabet size of $$26$$ is $$21$$ because $$5 \times 21 = 105 \equiv 1 \mod 26$$.

Example: For S ($$y=18$$), $$x = A' \times (18-B) = 21*(18-3) \equiv 315 \mod 26 = 3$$

For each value $$x$$, corresponds a letter with the same position in the alphabet: the coded letter.

Example: For S ($$x=3$$) corresponds the letter at position 3: D.

The plain text is the replacement of all characters with calculated new letters.

Example: The original plain text is DCODE.

### How to recognize an Affine ciphertext?

A message encrypted by Affine has a coincidence index close to the plain text language's one.

### How to decipher Affine without coefficient?

To crack Affine, it is possible to bruteforce all A and B coefficients. Use the Brute-force attack option.

If the alphabet is 26 characters long, then A coefficient has only 12 possible values, and B has 26 values, so there are only 312 test to try.

### How to compute A' value?

Calculate the modular inverse of A, modulo the length of the alphabet.

### How to compute B' value?

B' has the same value as B.

### What are the A' values?

The value of A' depends on A but also on the alphabet's length, if it is a classic one, it is 26 characters long. The values of A' are then:

 A = 1 A' = 1 A = 3 A' = 9 A = 5 A' = 21 A = 7 A' = 15 A = 9 A' = 3 A = 11 A' = 19 A = 15 A' = 7 A = 17 A' = 23 A = 19 A' = 11 A = 21 A' = 5 A = 23 A' = 17 A = 25 A' = 25

### When Affine have been invented ?

No date of known author.

### Why is there a constraint on the value of A?

The Bezout's theorem indicates that A' only exists if A and 26 (alphabet length) are coprime. This limits A values to 1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 et 25 (if the alphabet is 26 characters long)

### Can I use a key A not coprime with 26?

Yes, but an automatic decryption process becomes impossible, a single ciphered letter will have multiple plain letters possible.

### Can I use a negative value for A?

Yes, but it exists a positive corresponding value, a value of A = -1 is equals to a value of A = 25 (because 25 = -1 mod 26).

### Is there a limitation on B value?

No, B can take any value.