KotlinJava

## Homework: Rot 13 Encryption

Created By: learncs.online Staff
/ Version: 2020.9.0

Encryption is an ancient practice of trying to conceal information by scrambling it. Modern encryption techniques are incredibly strong and mathematically sound. But in the past, simpler and more primitive methods were used.

Let's implement a form of encryption known as a Caesar Cipher, sometimes also known as Rot-13 encryption. (Rot for rotation, and 13 for one amount that you might rotate.) Here is how it works. Given a `String` and an amount to rotate, we replace each character in the `String` with a new character determined by rotating the original character through a given rotation `String`. For example, given the rotation `String` "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ", "ABC" rotated 3 would be "DEF", and rotated -1 would be " AB". (Note the space at the end of the rotation `String`.)

Declare and implement a function called `encrypt` that, given a `String` and an `int` amount, returns the passed `String` "encrypted" by rotating it the given amount. ("Encrypted" is in scare quotes because this is not by any means a strong method of encryption!) Use the rotation `String` provided above. If the passed `String` is `null` you should return `null`. Note that rotation may be negative, which will require some additional care.

### Related Lessons

Stuck? You may find these lessons helpful: