0% found this document useful (0 votes)
476 views4 pages

CSE1011-Lab 1: Implement The Ceaser Cipher Technique

The document describes implementing the Caesar cipher and Playfair cipher encryption techniques in C++. It includes code snippets to encrypt and decrypt messages using the Caesar cipher by shifting each letter by a key. It also includes code for the Playfair cipher that defines a 5x5 matrix of letters, encodes pairs of letters based on their positions in the matrix, and provides an example encryption of the message "Balloon".

Uploaded by

Yashasvi Prakash
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
476 views4 pages

CSE1011-Lab 1: Implement The Ceaser Cipher Technique

The document describes implementing the Caesar cipher and Playfair cipher encryption techniques in C++. It includes code snippets to encrypt and decrypt messages using the Caesar cipher by shifting each letter by a key. It also includes code for the Playfair cipher that defines a 5x5 matrix of letters, encodes pairs of letters based on their positions in the matrix, and provides an example encryption of the message "Balloon".

Uploaded by

Yashasvi Prakash
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

CSE1011- Lab 1

YASHASVI KOCHERLAKOTA

16BCE2069

Implement the ceaser cipher technique.


ENCRYPTION
#include<stdio.h>
int main()
{
char message[100], ch;
int i, key;
printf("Enter a message to encrypt: ");
gets(message);
printf("Enter key: ");
scanf("%d", &key);
for(i = 0; message[i] != '\0'; ++i){
ch = message[i];
if(ch >= 'a' && ch <= 'z'){
ch = ch + key;
if(ch > 'z'){
ch = ch - 'z' + 'a' - 1;
}
message[i] = ch;
}
else if(ch >= 'A' && ch <= 'Z'){
ch = ch + key;
if(ch > 'Z'){
ch = ch - 'Z' + 'A' - 1;
}
message[i] = ch;
}
}printf("Encrypted message: %s", message);
return 0;
}
DECRYPTION
#include<stdio.h>
int main()
{
char message[100], ch;
int i, key;
printf("Enter a message to decrypt: ")
gets(message);
printf("Enter key: ");
scanf("%d", &key);
for(i = 0; message[i] != '\0'; ++i){
ch = message[i];
if(ch >= 'a' && ch <= 'z'){
ch = ch - key;
if(ch < 'a'){ch = ch + 'z' - 'a' + 1;
}
message[i] = ch;
}
else if(ch >= 'A' && ch <= 'Z'){
ch = ch - key;
if(ch < 'A'){
ch = ch + 'Z' - 'A' + 1;
}
message[i] = ch;
}
printf("Decrypted message: %s", message);
return 0;
}

Implement the Playfair cipher technique.


#include<iostream>
#include<vector>
using namespace std;
void get_pos(char, int&, int&);
void same_row(int, vector<char>&, int, int);
void same_column(int, vector<char>&, int, int);
void diff_col_row(int, int, vector<char>&, int, int);
void encode(vector<char>, int);
void get_input(vector<char>&);
void convert_string(vector<char>&, vector<char>&);
const char encoder[5][5]={{'A','B','C','D','E'},
{'F','G','H','I','K'},
{'L','M','N','O','P'},
{'Q','R','S','T','U'},
{'V','W','X','Y','Z'}};
void get_pos(char p, int& r, int& c)
{
if (p < 'J')
{
r = (p - 65) / 5;
c = (p - 65) % 5;
}
else if (p > 'J')
{
r = (p - 66) / 5;
c = (p - 66) % 5;
}
return;
}
void same_row(int r, vector<char>& code, int c1, int c2)
{
code.push_back(encoder[r][(c1 + 1) % 5]);
code.push_back(encoder[r][(c2 + 1) % 5]);
return;
}
void same_column(int c, vector<char>& code, int r1, int r2)
{
code.push_back(encoder[(r1 + 1) % 5][c]);
code.push_back(encoder[(r2 + 1) % 5][c]);
return;
}
void diff_col_row(int r1, int c1, vector<char>& code, int r2, int c2)
{
code.push_back(encoder[r1][c2]);
code.push_back(encoder[r2][c1]);
return;
}
void encode(vector<char> msgx, int len)
{
vector<char> code;
int i = 0, j = 0;
int r1, c1, r2, c2;
while (i < len)
{
get_pos(msgx[i], r1, c1);
i++;
get_pos(msgx[i], r2, c2);
if (r1 == r2)
{
same_row(r1, code, c1, c2);
}
else if (c1 == c2)
{
same_column(c1, code, r1, r2);
}
else
{
diff_col_row(r1, c1, code, r2, c2);
}
i++;
}
cout<<"\nCODE: ";
for (j = 0;j < code.size();j++)
{
cout<<code[j];
}
return;
}
void get_input(vector<char>& a)
{
char c;
while (1)
{
c = getchar();
if (c >= 97 && c <= 122)
c- =32;
if (c == '\n')
break;
else if (c==' ')
continue;
else if (c == 'J')
a.push_back('I');
a.push_back(c);
}
return;
}
void convert_string(vector<char>& msg, vector<char>& msgx)
{
int i, j;
i = j = 0;
while (i < msg.size())
{
msgx.push_back(msg[i]);
i++;
if (i == msg.size())
{
msgx.push_back('X');
break;
}
if (msg[i] == msgx[j])
{
msgx.push_back('X');
j++;
}
else if(msg[i] != msgx[j])
{
j++;
msgx.push_back(msg[i]);
i+ = 1;
}
j++;
}
}
int main()
{
vector<char> msg;
vector<char> msgx;
int i, j;
cout<<"Enter Message to Encrypt:";
get_input(msg);
convert_string(msg, msgx);
int len = msgx.size();
cout<<"\n\n";
for (i = 0;i < len;i++)
cout<<msgx[i];
encode(msgx, len);
return 0;
}
OUTPUT :
Enter Message to Encrypt : Balloon
CODE : CBNVMPPO

You might also like