Tool to decrypt / encrypt with Vic. The Vic cipher (named after a Soviet spy named Victor) is a figure attached to the Nihilists, combining several cryptographic techniques.

VIC Cipher - dCode

Tag(s) : Poly-Alphabetic Cipher, Substitution Cipher

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!

A suggestion ? a feedback ? a bug ? an idea ? *Write to dCode*!

Vic encryption starts with the creation of a grid called **Straddling Checkerboard** generated from a deranged alphabet (see below on how to create it)

__Example:__ The following grid (with the numbers 2 and 6 and an upside-down deranged alphabet complemented by . and /)

\ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|

. | / | Z | Y | X | W | V | U | |||

2 | T | S | R | Q | P | O | N | M | L | K |

6 | J | I | H | G | F | E | D | C | B | A |

Each character is then associated with its coordinates (line, column), so the plain message can then be coded numerically by following these associations.

__Example:__ The text VICTOR is coded 8,61,67,20,25,22 or 86167202522 (by concatenation)

The **Vic cipher** may end there, but an over-encryption is possible by using a numeric key that will be added, digit after digit, modulo 10.

__Example:__ The key 0248 is used, the over-encrypted code becomes 88547240546 via the calculation:

Cipher message | 8 | 6 | 1 | 6 | 7 | 2 | 0 | 2 | 5 | 2 | 2 |

Key (repeated) | 0 | 2 | 4 | 8 | 0 | 2 | 4 | 8 | 0 | 2 | 4 |

Addition (mod 10) | 8 | 8 | 5 | 4 | 7 | 4 | 4 | 0 | 5 | 4 | 6 |

A final step, optional, is to convert the numbers obtained into letters, via the checkerboard / grid.

If the last digit corresponds to a line identifier of the grid, then add another digit randomly to make this last step possible. The consequence is that the decoded message will have a superfluous extra letter.

__Example:__ 8 => V, 5 => X, etc. (the last digit 6 does not exist, but, for example, 60 exists) to get the final message VVXYWYY.XYJ

The Vic decryption requires to know the grid (or checkerboard) used during the encryption.

__Example:__

\ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|

P | I | A | B | C | D | E | F | |||

1 | G | H | J | K | L | M | N | O | Q | R |

4 | S | T | U | V | W | X | Y | Z | . | / |

The encrypted message may be in numeric or alphabetic form (depending on the optional steps selected during encryption).

If the message is alphabetic, then convert it to numeric via the grid (row, column coordinates) otherwise skip this step

__Example:__ The message DMPBDBFEU is then translated to 71505759842

If the encryption used a numeric key, then subtract it digit after digit, via a subtraction modulo 10.

__Example:__ The key 314 was used, the result of the subtraction is then 40247328417 via the calculation:

Cipher message | 7 | 1 | 5 | 0 | 5 | 7 | 5 | 9 | 8 | 4 | 8 |

Key (repeated) | 3 | 1 | 4 | 3 | 1 | 4 | 3 | 1 | 4 | 3 | 1 |

Subtraction (mod 10) | 4 | 0 | 1 | 7 | 4 | 3 | 2 | 8 | 4 | 1 | 7 |

Transcribe the numeric code into letters via the grid using the coordinates (line, column) to get the plain message.

__Example:__ 40 => S, 17 => O, 43 => V, 2 => I, 8 => E, 41 => T, 7 => D soit SOVIET (+D, the last letter is a residue)

The grid / checkerboard contains an alphabet of 28 characters over 3 rows and 10 columns marked with numerical coordinates. By default, the 28 characters are ABCDEFGHIJKLMNOPQRSTUVWXYZ and the characters . (dot) and / (slash) in a random or predefined order (refer to the generation of deranged alphabets). The column coordinates ranges from 0 to 9 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) and the coordinates of the rows ranges from 0 to 2 (0, 1, 2), but it is common not to display the 0 and to use 2 others numbers instead of 1 and 2 to make encryption more complex. The grid is filled with the 28 characters, that is 1 character per box except for the coordinates 0,1 and 0,2 (where '0, x' are the figures chosen previously for the line numbers).

__Example:__ The alphabet AZERTYUIOPQSDFGHJKLMWXCVBN./ combined with the numbers 3 and 7 make it possible to create the grid

\ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|---|

A | Z | E | R | T | Y | U | I | |||

3 | O | P | Q | S | D | F | G | H | J | K |

7 | L | M | W | X | C | V | B | N | . | / |

This grid makes it possible to generate associations between numbers (coordinate line, column) and characters, these associations are used for the encryption and the decryption.

__Example:__ Z is associated with 1 (the characters of the first line are associated with a number), B is associated with 76 (the characters of the other lines have 2 digits)

A message encrypted by Vic is either numeric or alphabetic (+ the two characters . and /).

If the message is numeric and without key, it contains 2 digits that have a higher occurrence frequency than the others (the 2 digits of the grid).

If the message is alphabetical, it contains 8 characters with a frequency higher than the others (those of the first line of the grid).

The story of this cipher is in part linked to a microfilm found in a coin by a Brooklyn newspapers' boy who had never been deciphered until a Russian spy, named Reino Häyhänen, described its encryption system to the FBI. Any reference to a microfilm, New York or a newspaper delivery man is a clue.

The knowledge of the grid is almost indispensable, the number of grid possibilities is of the order of 10^30. Brute force attack is therefore deprecated, unless the grid is generated from a single common keyword.

The key can be bruteforced if it is short, the number of attempt is 10^(key size).

The **Vic cipher** has several optional steps, depending on their application, the results may be different.

The **Vic cipher** being of Russian origin, it is often associated with the nihilist cipher of which it is itself considered as a variant.

Vic use was established in the 1950s, its first traces date back to 1953 where US intelligence associated it with the Russian spy Reino Häyhänen, known as Victor.

dCode retains ownership of the online 'VIC Cipher' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any 'VIC Cipher' algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any 'VIC Cipher' function (calculate, convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (Python, Java, PHP, C#, Javascript, Matlab, etc.) and no data download, script, copy-paste, or API access for 'VIC Cipher' will be for free, same for offline use on PC, tablet, iPhone or Android ! dCode is free and online.

Please, check our dCode Discord community for help requests!

NB: for encrypted messages, test our automatic cipher identifier!

- VIC Cipher Decoder
- Vic Cipher Encoder
- How to encrypt using Vic cipher?
- How to decrypt Vic cipher?
- How to generate the Vic grid/checkerboard?
- How to recognize a Vic ciphertext?
- How to decipher Vic without grid?
- How to decipher Vic without key?
- What are the variants of the Vic cipher?
- When Vic have been invented ?

vic,victor,nihilist,russian,spy,checkerboard,hayhanen,microfilm

Source : https://www.dcode.fr/vic-cipher

© 2021 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.

Feedback

▲
Thanks to your feedback and relevant comments, dCode has developed the best 'VIC Cipher' tool, so feel free to write! Thank you!