Function Repository Resource:

# ChaoDecipher

Decipher a Chaocipher-enciphered string

Contributed by: Sander Huisman
 ResourceFunction["ChaoDecipher"][string,{αp,αp}] deciphers string using the plain text alphabet αp and the cipher alphabet αc.

## Details and Options

The alphabets αp and αc should be a permutation of the letters "A"–"Z".
Any other letter than "a"–"z" and "A"–"Z" in string is ignored.
The output is in capital letters.
ResourceFunction["ChaoDecipher"] works by decoding each character in string (example: "AVSWQBHMEJT") using the following steps:
The character "A" is looked up in the cipher alphabet (bottom). One finds the corresponding letter "M" in the plain alphabet (top), so "A" is decoded to "M":
Both alphabets are shifted to the left such as to bring the red letters to the front:
The plain alphabet (top) is shifted one more to the left:
Move the 3rd letter of the plain alphabet (top) and the 2nd letter of the cipher alphabet (bottom) to the 14th position:
Continue with the next letter using the new alphabets:

## Examples

### Basic Examples (2)

Decipher a piece of text using unshuffled plain and cipher alphabets:

 In[1]:=
 Out[1]=

Decode a string that returns a "constant" string:

 In[2]:=
 Out[2]=

### Scope (1)

Use random plain and cipher alphabets:

 In[3]:=
 Out[5]=

### Properties and Relations (2)

The resource function ChaoCipher can be used to encipher a string. First encode a piece of string:

 In[6]:=
 Out[8]=

Now we can decipher it with ChaoDecipher:

 In[9]:=
 Out[9]=

SHuisman

## Version History

• 1.0.0 – 01 August 2019