Home » Interview Questions » String Interview Questions » Caesar Cipher

Caesar Cipher


()

The Caesar Cipher technique is one of the earliest technique of encryption.

That is,

Ex(x) = (x + n)mod26
Here, for each letter in the given text it is replaced by a letter some fixed number of positions down the alphabet. If n = 1, replace A with by B, B would become C and so on.

Here, a = 0, b = 1, ……. z = 25

Example

Text : “ABCD”
Shift : 2

Output : “DEFG”

Time complexity : O(n)

Algorithm

Here a string of lower case or upper case letters is Text and integer between   – 0 – 25 is Shift

1. Traverse the input string.

2. Take one character at a time, for each character transform it as per the rules.

3. Return the final string.

C++ Program

#include <bits/stdc++.h>

using namespace std;
 
string transform(string Text, int Shift)
{
    string output = "";
    for (int i=0; i<Text.length(); i++)
    {
        if (isupper(Text[i]))//upper case
        {
            output = output + char(int(Text[i]+Shift-65)%26 +65);
        }
        else//lower case
        {
            output = output + char(int(Text[i]+Shift-97)%26 +97);
        }
    }
    return output;
}
 
//Main function
int main()
{
    string Text="AbCdEf";
    int Shift = 4;
    cout<<"Text: "<<Text<<endl;
    cout<<"Shift: "<<Shift<<endl;
    cout<<"Output: "<<transform(Text, Shift);
    return 0;
}

Try It

 

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote Count

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?

READ  String Compression
Array Interview Questions
Graph Interview Questions
LinkedList Interview Questions
String Interview Questions
Tree Interview Questions