Sha256: 7af018bcd09b8e6b147b4004c69c44fc0b30c387b79467a30aafb90381675475

Contents?: true

Size: 1.11 KB

Versions: 139

Compression:

Stored size: 1.11 KB

Contents

Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.

The Caesar cipher is a simple shift cipher that relies on
transposing all the letters in the alphabet using an integer key
between `0` and `26`. Using a key of `0` or `26` will always yield
the same output due to modular arithmetic. The letter is shifted
for as many values as the value of the key.

The general notation for rotational ciphers is `ROT + <key>`.
The most commonly used rotational cipher is `ROT13`.

A `ROT13` on the Latin alphabet would be as follows:

```text
Plain:  abcdefghijklmnopqrstuvwxyz
Cipher: nopqrstuvwxyzabcdefghijklm
```

It is stronger than the Atbash cipher because it has 27 possible keys, and 25 usable keys.

Ciphertext is written out in the same formatting as the input including spaces and punctuation.

## Examples

- ROT5  `omg` gives `trl`
- ROT0  `c` gives `c`
- ROT26 `Cool` gives `Cool`
- ROT13 `The quick brown fox jumps over the lazy dog.` gives `Gur dhvpx oebja sbk whzcf bire gur ynml qbt.`
- ROT13 `Gur dhvpx oebja sbk whzcf bire gur ynml qbt.` gives `The quick brown fox jumps over the lazy dog.`

Version data entries

139 entries across 139 versions & 1 rubygems

Version Path
trackler-2.2.1.180 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.179 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.178 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.177 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.176 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.175 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.174 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.173 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.172 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.171 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.170 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.169 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.167 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.166 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.165 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.164 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.163 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.162 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.161 problem-specifications/exercises/rotational-cipher/description.md
trackler-2.2.1.160 problem-specifications/exercises/rotational-cipher/description.md